WebPasswordFormData::WebPasswordFormData(const WebFormElement& webForm) { RefPtr<HTMLFormElement> form = webForm.operator PassRefPtr<HTMLFormElement>(); Frame* frame = form->document()->frame(); if (!frame) return; PasswordFormFields fields; findPasswordFormFields(form.get(), &fields); // Get the document URL KURL fullOrigin(ParsedURLString, form->document()->documentURI()); // Calculate the canonical action URL String action = form->action(); if (action.isNull()) action = ""; // missing 'action' attribute implies current URL KURL fullAction = frame->loader()->completeURL(action); if (!fullAction.isValid()) return; // Determine the types of the password fields HTMLInputElement* password = 0; HTMLInputElement* oldPassword = 0; if (!locateSpecificPasswords(&fields, &password, &oldPassword)) return; assemblePasswordFormResult(fullOrigin, fullAction, fields.submit, fields.userName, oldPassword, password, this); }
CredentialTransformData::CredentialTransformData(HTMLFormElement* form) : m_userNameElement(0) , m_passwordElement(0) , m_isValid(false) { ASSERT(form); // Get the document URL KURL fullOrigin(ParsedURLString, form->document()->documentURI()); // Calculate the canonical action URL String action = form->action(); if (action.isNull()) action = ""; // missing 'action' attribute implies current URL KURL fullAction = form->document()->completeURL(action); if (!fullAction.isValid()) return; if (!findPasswordFormFields(form)) return; m_url = stripURL(fullOrigin); m_action = stripURL(fullAction); m_protectionSpace = ProtectionSpace(m_url.host(), m_url.port(), ProtectionSpaceServerHTTP, "Form", ProtectionSpaceAuthenticationSchemeHTMLForm); m_credential = Credential(m_userNameElement->value(), m_passwordElement->value(), CredentialPersistencePermanent); m_isValid = true; }
WebPasswordFormData::WebPasswordFormData(const WebFormElement& webForm) { RefPtr<HTMLFormElement> form = webForm.operator PassRefPtr<HTMLFormElement>(); PasswordFormFields fields; findPasswordFormFields(form.get(), &fields); // Get the document URL KURL fullOrigin = form->document().url(); // Calculate the canonical action URL String action = form->action(); if (action.isNull()) action = ""; // missing 'action' attribute implies current URL KURL fullAction = form->document().completeURL(action); if (!fullAction.isValid()) return; // Determine the types of the password fields HTMLInputElement* password = 0; HTMLInputElement* oldPassword = 0; if (!locateSpecificPasswords(&fields, &password, &oldPassword)) return; #if defined(S_FP_SIGNUP_POPUP_FIX) this->isSignUpPage = false; if(fields.passwords.size() > 1) { if ((fields.passwords[0]->value() == fields.passwords[1]->value()) && !fields.passwords[0]->value().isEmpty()) this->isSignUpPage = true; } #endif assemblePasswordFormResult(fullOrigin, fullAction, fields.submit, fields.userName, fields.alternateUserNames, oldPassword, password, this); }