Title: [119713] trunk/Source/WebKit/blackberry
Revision
119713
Author
[email protected]
Date
2012-06-07 05:59:54 -0700 (Thu, 07 Jun 2012)

Log Message

[BlackBerry] Add enable credential autofill and enable form autofill feature control in WebSetting
https://bugs.webkit.org/show_bug.cgi?id=88513

Patch by Jonathan Dong <[email protected]> on 2012-06-07
Reviewed by Rob Buis.

RIM PR: #163391
Implemented credential autofill setting and form autofill setting.

Internally reviewed by Leo Yang <[email protected]>.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::autofillTextField):
(BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
(BlackBerry::WebKit::WebPage::clearCredentials):
(BlackBerry::WebKit::WebPage::clearAutofillData):
(BlackBerry::WebKit::WebPage::clearNeverRememberSites):
* Api/WebSettings.cpp:
(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::isCredentialAutofillEnabled):
(BlackBerry::WebKit::WebSettings::setCredentialAutofillEnabled):
(BlackBerry::WebKit::WebSettings::isFormAutofillEnabled):
(BlackBerry::WebKit::WebSettings::setFormAutofillEnabled):
* Api/WebSettings.h:
* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::textFieldDidEndEditing):
(WebCore::EditorClientBlackBerry::textDidChangeInTextField):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (119712 => 119713)


--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-06-07 12:56:04 UTC (rev 119712)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-06-07 12:59:54 UTC (rev 119713)
@@ -313,6 +313,9 @@
 
 void WebPage::autofillTextField(const string& item)
 {
+    if (!d->m_webSettings->isFormAutofillEnabled())
+        return;
+
     d->m_autofillManager->autofillTextField(item.c_str());
 }
 
@@ -2157,7 +2160,7 @@
 #endif
 
 #if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-    if (!m_webSettings->isPrivateBrowsingEnabled())
+    if (m_webSettings->isCredentialAutofillEnabled() && !m_webSettings->isPrivateBrowsingEnabled())
         credentialManager().autofillAuthenticationChallenge(protectionSpace, username, password);
 #endif
 
@@ -2165,7 +2168,7 @@
 
 #if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
     Credential credential(username, password, CredentialPersistencePermanent);
-    if (!m_webSettings->isPrivateBrowsingEnabled() && isConfirmed)
+    if (m_webSettings->isCredentialAutofillEnabled() && !m_webSettings->isPrivateBrowsingEnabled() && isConfirmed)
         credentialManager().saveCredentialIfConfirmed(this, CredentialTransformData(url, protectionSpace, credential));
 #else
     Credential credential(username, password, CredentialPersistenceNone);
@@ -5285,19 +5288,22 @@
 void WebPage::clearCredentials()
 {
 #if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-    credentialManager().clearCredentials();
+    if (d->m_webSettings->isCredentialAutofillEnabled())
+        credentialManager().clearCredentials();
 #endif
 }
 
 void WebPage::clearAutofillData()
 {
-    AutofillManager::clear();
+    if (d->m_webSettings->isFormAutofillEnabled())
+        AutofillManager::clear();
 }
 
 void WebPage::clearNeverRememberSites()
 {
 #if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-    credentialManager().clearNeverRememberSites();
+    if (d->m_webSettings->isCredentialAutofillEnabled())
+        credentialManager().clearNeverRememberSites();
 #endif
 }
 

Modified: trunk/Source/WebKit/blackberry/Api/WebSettings.cpp (119712 => 119713)


--- trunk/Source/WebKit/blackberry/Api/WebSettings.cpp	2012-06-07 12:56:04 UTC (rev 119712)
+++ trunk/Source/WebKit/blackberry/Api/WebSettings.cpp	2012-06-07 12:59:54 UTC (rev 119713)
@@ -55,6 +55,8 @@
 DEFINE_STATIC_LOCAL(String, BlackBerryViewportWidth, ("BlackBerryViewportWidth"));
 DEFINE_STATIC_LOCAL(String, BlackBerryZoomToFitOnLoadEnabled, ("BlackBerryZoomToFitOnLoadEnabled"));
 DEFINE_STATIC_LOCAL(String, BlackBerryFullScreenVideoCapable, ("BlackBerryFullScreenVideoCapable"));
+DEFINE_STATIC_LOCAL(String, BlackBerryCredentialAutofillEnabled, ("BlackBerryCredentialAutofillEnabled"));
+DEFINE_STATIC_LOCAL(String, BlackBerryFormAutofillEnabled, ("BlackBerryFormAutofillEnabled"));
 DEFINE_STATIC_LOCAL(String, SpatialNavigationEnabled, ("SpatialNavigationEnabled"));
 DEFINE_STATIC_LOCAL(String, WebKitDatabasePath, ("WebKitDatabasePath"));
 DEFINE_STATIC_LOCAL(String, WebKitDatabasesEnabled, ("WebKitDatabasesEnabled"));
@@ -165,6 +167,8 @@
     settings->m_private->setBoolean(BlackBerryUserScalableEnabled, true);
     settings->m_private->setBoolean(BlackBerryZoomToFitOnLoadEnabled, true);
     settings->m_private->setBoolean(BlackBerryFullScreenVideoCapable, false);
+    settings->m_private->setBoolean(BlackBerryCredentialAutofillEnabled, false);
+    settings->m_private->setBoolean(BlackBerryFormAutofillEnabled, false);
 
     settings->m_private->setInteger(WebKitDefaultFontSize, 16);
     settings->m_private->setInteger(WebKitDefaultFixedFontSize, 13);
@@ -772,5 +776,25 @@
     m_private->setBoolean(BlackBerryFullScreenVideoCapable, enable);
 }
 
+bool WebSettings::isCredentialAutofillEnabled() const
+{
+    return m_private->getBoolean(BlackBerryCredentialAutofillEnabled);
+}
+
+void WebSettings::setCredentialAutofillEnabled(bool enable)
+{
+    return m_private->setBoolean(BlackBerryCredentialAutofillEnabled, enable);
+}
+
+bool WebSettings::isFormAutofillEnabled() const
+{
+    return m_private->getBoolean(BlackBerryFormAutofillEnabled);
+}
+
+void WebSettings::setFormAutofillEnabled(bool enable)
+{
+    return m_private->setBoolean(BlackBerryFormAutofillEnabled, enable);
+}
+
 } // namespace WebKit
 } // namespace BlackBerry

Modified: trunk/Source/WebKit/blackberry/Api/WebSettings.h (119712 => 119713)


--- trunk/Source/WebKit/blackberry/Api/WebSettings.h	2012-06-07 12:56:04 UTC (rev 119712)
+++ trunk/Source/WebKit/blackberry/Api/WebSettings.h	2012-06-07 12:59:54 UTC (rev 119713)
@@ -226,6 +226,12 @@
     bool fullScreenVideoCapable() const;
     void setFullScreenVideoCapable(bool);
 
+    bool isCredentialAutofillEnabled() const;
+    void setCredentialAutofillEnabled(bool);
+
+    bool isFormAutofillEnabled() const;
+    void setFormAutofillEnabled(bool);
+
 private:
     WebSettingsPrivate* m_private;
     WebSettings();

Modified: trunk/Source/WebKit/blackberry/ChangeLog (119712 => 119713)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-06-07 12:56:04 UTC (rev 119712)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-06-07 12:59:54 UTC (rev 119713)
@@ -1,3 +1,37 @@
+2012-06-07  Jonathan Dong  <[email protected]>
+
+        [BlackBerry] Add enable credential autofill and enable form autofill feature control in WebSetting
+        https://bugs.webkit.org/show_bug.cgi?id=88513
+
+        Reviewed by Rob Buis.
+
+        RIM PR: #163391
+        Implemented credential autofill setting and form autofill setting.
+
+        Internally reviewed by Leo Yang <[email protected]>.
+
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPage::autofillTextField):
+        (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
+        (BlackBerry::WebKit::WebPage::clearCredentials):
+        (BlackBerry::WebKit::WebPage::clearAutofillData):
+        (BlackBerry::WebKit::WebPage::clearNeverRememberSites):
+        * Api/WebSettings.cpp:
+        (WebKit):
+        (BlackBerry::WebKit::WebSettings::standardSettings):
+        (BlackBerry::WebKit::WebSettings::isCredentialAutofillEnabled):
+        (BlackBerry::WebKit::WebSettings::setCredentialAutofillEnabled):
+        (BlackBerry::WebKit::WebSettings::isFormAutofillEnabled):
+        (BlackBerry::WebKit::WebSettings::setFormAutofillEnabled):
+        * Api/WebSettings.h:
+        * WebCoreSupport/EditorClientBlackBerry.cpp:
+        (WebCore::EditorClientBlackBerry::textFieldDidEndEditing):
+        (WebCore::EditorClientBlackBerry::textDidChangeInTextField):
+        * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+        (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
+        (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
+        (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
+
 2012-06-06  Antonio Gomes  <[email protected]>
 
         [BlackBerry] browser video player fullscreen mode (portrait) - Controls are off screen so cannot exit fullscreen

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp (119712 => 119713)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp	2012-06-07 12:56:04 UTC (rev 119712)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp	2012-06-07 12:59:54 UTC (rev 119713)
@@ -509,14 +509,18 @@
 
 void EditorClientBlackBerry::textFieldDidEndEditing(Element* element)
 {
-    if (HTMLInputElement* inputElement = element->toInputElement())
-        m_webPagePrivate->m_autofillManager->textFieldDidEndEditing(inputElement);
+    if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled()) {
+        if (HTMLInputElement* inputElement = element->toInputElement())
+            m_webPagePrivate->m_autofillManager->textFieldDidEndEditing(inputElement);
+    }
 }
 
 void EditorClientBlackBerry::textDidChangeInTextField(Element* element)
 {
-    if (HTMLInputElement* inputElement = element->toInputElement())
-        m_webPagePrivate->m_autofillManager->didChangeInTextField(inputElement);
+    if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled()) {
+        if (HTMLInputElement* inputElement = element->toInputElement())
+            m_webPagePrivate->m_autofillManager->didChangeInTextField(inputElement);
+    }
 }
 
 bool EditorClientBlackBerry::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp (119712 => 119713)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp	2012-06-07 12:56:04 UTC (rev 119712)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp	2012-06-07 12:59:54 UTC (rev 119713)
@@ -608,7 +608,8 @@
     }
 
 #if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-    if (!m_webPagePrivate->m_webSettings->isPrivateBrowsingEnabled())
+    if (m_webPagePrivate->m_webSettings->isCredentialAutofillEnabled()
+        && !m_webPagePrivate->m_webSettings->isPrivateBrowsingEnabled())
         credentialManager().autofillPasswordForms(m_frame->document()->forms());
 #endif
 }
@@ -706,9 +707,11 @@
 void FrameLoaderClientBlackBerry::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState> formState)
 {
     if (!m_webPagePrivate->m_webSettings->isPrivateBrowsingEnabled()) {
-        m_webPagePrivate->m_autofillManager->saveTextFields(formState->form());
+        if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled())
+            m_webPagePrivate->m_autofillManager->saveTextFields(formState->form());
 #if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-        credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, CredentialTransformData(formState->form()));
+        if (m_webPagePrivate->m_webSettings->isCredentialAutofillEnabled())
+            credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, CredentialTransformData(formState->form()));
 #endif
     }
 
@@ -719,9 +722,11 @@
 void FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent(PassRefPtr<FormState> prpFormState)
 {
     if (!m_webPagePrivate->m_webSettings->isPrivateBrowsingEnabled()) {
-        m_webPagePrivate->m_autofillManager->saveTextFields(prpFormState->form());
+        if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled())
+            m_webPagePrivate->m_autofillManager->saveTextFields(prpFormState->form());
 #if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-    credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, CredentialTransformData(prpFormState->form()));
+        if (m_webPagePrivate->m_webSettings->isCredentialAutofillEnabled())
+            credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, CredentialTransformData(prpFormState->form()));
 #endif
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to