Title: [144200] trunk/Source/WebKit/blackberry
- Revision
- 144200
- Author
- [email protected]
- Date
- 2013-02-27 09:12:37 -0800 (Wed, 27 Feb 2013)
Log Message
[BlackBerry] The virtual keyboard hides part of Signing In dialog
https://bugs.webkit.org/show_bug.cgi?id=110836
Patch by Sean Wang <[email protected]> on 2013-02-27
Reviewed by Yong Li.
PR # 283427 Internally reviewed by Mike Fenton.
Store form credentials before _javascript_ "onSubmit" event and notify
webpage client to save credentials after that event since _javascript_
may check credentials and stop the submission in its event handler.
* WebCoreSupport/CredentialTransformData.cpp:
(WebCore::CredentialTransformData::CredentialTransformData):
(WebCore):
* WebCoreSupport/CredentialTransformData.h:
(CredentialTransformData):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):
Modified Paths
Diff
Modified: trunk/Source/WebKit/blackberry/ChangeLog (144199 => 144200)
--- trunk/Source/WebKit/blackberry/ChangeLog 2013-02-27 17:07:37 UTC (rev 144199)
+++ trunk/Source/WebKit/blackberry/ChangeLog 2013-02-27 17:12:37 UTC (rev 144200)
@@ -1,3 +1,27 @@
+2013-02-27 Sean Wang <[email protected]>
+
+ [BlackBerry] The virtual keyboard hides part of Signing In dialog
+ https://bugs.webkit.org/show_bug.cgi?id=110836
+
+ Reviewed by Yong Li.
+
+ PR # 283427 Internally reviewed by Mike Fenton.
+
+ Store form credentials before _javascript_ "onSubmit" event and notify
+ webpage client to save credentials after that event since _javascript_
+ may check credentials and stop the submission in its event handler.
+
+ * WebCoreSupport/CredentialTransformData.cpp:
+ (WebCore::CredentialTransformData::CredentialTransformData):
+ (WebCore):
+ * WebCoreSupport/CredentialTransformData.h:
+ (CredentialTransformData):
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
+ (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
+ * WebCoreSupport/FrameLoaderClientBlackBerry.h:
+ (FrameLoaderClientBlackBerry):
+
2013-02-27 Mike Fenton <[email protected]>
[BlackBerry] Accept key events even when composing region is active.
Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp (144199 => 144200)
--- trunk/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp 2013-02-27 17:07:37 UTC (rev 144199)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp 2013-02-27 17:12:37 UTC (rev 144200)
@@ -111,6 +111,14 @@
} // namespace
+CredentialTransformData::CredentialTransformData()
+ : m_userNameElement(0)
+ , m_passwordElement(0)
+ , m_oldPasswordElement(0)
+ , m_isValid(false)
+{
+}
+
CredentialTransformData::CredentialTransformData(HTMLFormElement* form, bool isForSaving)
: m_userNameElement(0)
, m_passwordElement(0)
Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h (144199 => 144200)
--- trunk/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h 2013-02-27 17:07:37 UTC (rev 144199)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h 2013-02-27 17:12:37 UTC (rev 144200)
@@ -29,6 +29,7 @@
struct CredentialTransformData {
// If the provided form is suitable for password completion, isValid() will
// return true;
+ CredentialTransformData();
CredentialTransformData(HTMLFormElement*, bool isForSaving = false);
CredentialTransformData(const KURL&, const ProtectionSpace&, const Credential&);
Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp (144199 => 144200)
--- trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp 2013-02-27 17:07:37 UTC (rev 144199)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp 2013-02-27 17:12:37 UTC (rev 144200)
@@ -772,16 +772,23 @@
{
// FIXME: Stub.
(m_frame->loader()->policyChecker()->*function)(PolicyUse);
+#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
+ if (m_formCredentials.isValid())
+ credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, m_formCredentials);
+#endif
}
void FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent(PassRefPtr<FormState> prpFormState)
{
+#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
+ m_formCredentials = CredentialTransformData();
+#endif
if (!m_webPagePrivate->m_webSettings->isPrivateBrowsingEnabled()) {
if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled())
m_webPagePrivate->m_autofillManager->saveTextFields(prpFormState->form());
#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
if (m_webPagePrivate->m_webSettings->isCredentialAutofillEnabled())
- credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, CredentialTransformData(prpFormState->form(), true));
+ m_formCredentials = CredentialTransformData(prpFormState->form(), true);
#endif
}
}
Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h (144199 => 144200)
--- trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h 2013-02-27 17:07:37 UTC (rev 144199)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h 2013-02-27 17:12:37 UTC (rev 144200)
@@ -19,6 +19,7 @@
#ifndef FrameLoaderClientBlackBerry_h
#define FrameLoaderClientBlackBerry_h
+#include "CredentialTransformData.h"
#include "DocumentLoader.h"
#include "Frame.h"
#include "FrameLoaderClient.h"
@@ -218,6 +219,9 @@
bool m_cancelLoadOnNextData;
bool m_wasProvisionalLoadTriggeredByUserGesture;
+#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
+ CredentialTransformData m_formCredentials;
+#endif
};
} // WebCore
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes