Title: [114488] trunk
Revision
114488
Author
[email protected]
Date
2012-04-17 23:39:35 -0700 (Tue, 17 Apr 2012)

Log Message

[BlackBerry] Viewport metatag doesn't disable double-tap zoom
https://bugs.webkit.org/show_bug.cgi?id=84199

Patch by Jacky Jiang <[email protected]> on 2012-04-17
Reviewed by George Staikos.

Source/WebKit/blackberry:

PR: 148279
When we set "user-scalable=no" in viewport meta-tag and change any
other WebSettings, the WebPage can turn to be scalable.
This is a regression of the change master_32/SHA:fa0f8ee9. In that
change, we used setUserScalable(webSettings->isUserScalable())
in WebPagePrivate::didChangeSettings which was incorrect for non-DRT
case, as webSettings->isUserScalable() would always return true by
default.
Create a new API WebPage::setUserScalable which will be used in
DumpRenderTree.cpp.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setUserScalable):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
* Api/WebPage.h:

Tools:

Revert a part of the change master_32/SHA:fa0f8ee9 and use
WebPage::setUserScalable instead.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (114487 => 114488)


--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-04-18 06:36:30 UTC (rev 114487)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-04-18 06:39:35 UTC (rev 114488)
@@ -1575,6 +1575,11 @@
     return d->isUserScalable();
 }
 
+void WebPage::setUserScalable(bool userScalable)
+{
+    d->setUserScalable(userScalable);
+}
+
 double WebPage::currentScale() const
 {
     return d->currentScale();
@@ -5688,9 +5693,6 @@
     coreSettings->setDownloadableBinaryFontsEnabled(webSettings->downloadableBinaryFontsEnabled());
     coreSettings->setSpatialNavigationEnabled(m_webSettings->isSpatialNavigationEnabled());
 
-    // UserScalable should be reset by new settings.
-    setUserScalable(webSettings->isUserScalable());
-
     WebString stylesheetURL = webSettings->userStyleSheetString();
     if (stylesheetURL.isEmpty())
         stylesheetURL = webSettings->userStyleSheetLocation();

Modified: trunk/Source/WebKit/blackberry/Api/WebPage.h (114487 => 114488)


--- trunk/Source/WebKit/blackberry/Api/WebPage.h	2012-04-18 06:36:30 UTC (rev 114487)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.h	2012-04-18 06:39:35 UTC (rev 114488)
@@ -174,6 +174,7 @@
     bool pinchZoomAboutPoint(double scale, int x, int y);
 
     bool isUserScalable() const;
+    void setUserScalable(bool);
     double currentScale() const;
     double initialScale() const;
     double zoomToFitScale() const;

Modified: trunk/Source/WebKit/blackberry/ChangeLog (114487 => 114488)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-04-18 06:36:30 UTC (rev 114487)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-04-18 06:39:35 UTC (rev 114488)
@@ -1,3 +1,27 @@
+2012-04-17  Jacky Jiang  <[email protected]>
+
+        [BlackBerry] Viewport metatag doesn't disable double-tap zoom
+        https://bugs.webkit.org/show_bug.cgi?id=84199
+
+        Reviewed by George Staikos.
+
+        PR: 148279
+        When we set "user-scalable=no" in viewport meta-tag and change any
+        other WebSettings, the WebPage can turn to be scalable.
+        This is a regression of the change master_32/SHA:fa0f8ee9. In that
+        change, we used setUserScalable(webSettings->isUserScalable())
+        in WebPagePrivate::didChangeSettings which was incorrect for non-DRT
+        case, as webSettings->isUserScalable() would always return true by
+        default.
+        Create a new API WebPage::setUserScalable which will be used in
+        DumpRenderTree.cpp.
+
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPage::setUserScalable):
+        (WebKit):
+        (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
+        * Api/WebPage.h:
+
 2012-04-17  Mike Fenton  <[email protected]>
 
         [BlackBerry] Pattern matching should be applied to numbers

Modified: trunk/Tools/ChangeLog (114487 => 114488)


--- trunk/Tools/ChangeLog	2012-04-18 06:36:30 UTC (rev 114487)
+++ trunk/Tools/ChangeLog	2012-04-18 06:39:35 UTC (rev 114488)
@@ -1,3 +1,16 @@
+2012-04-17  Jacky Jiang  <[email protected]>
+
+        [BlackBerry] Viewport metatag doesn't disable double-tap zoom
+        https://bugs.webkit.org/show_bug.cgi?id=84199
+
+        Reviewed by George Staikos.
+
+        Revert a part of the change master_32/SHA:fa0f8ee9 and use
+        WebPage::setUserScalable instead.
+
+        * DumpRenderTree/blackberry/DumpRenderTree.cpp:
+        (BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
+
 2012-04-17  Dirk Pranke  <[email protected]>
 
         build-webkit: make ninja work with chromium linux

Modified: trunk/Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp (114487 => 114488)


--- trunk/Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp	2012-04-18 06:36:30 UTC (rev 114487)
+++ trunk/Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp	2012-04-18 06:39:35 UTC (rev 114488)
@@ -258,7 +258,6 @@
     settings->setFrameFlatteningEnabled(false);
     settings->setMaximumPagesInCache(0);
     settings->setPluginsEnabled(true);
-    settings->setUserScalable(true);
     // Apply new settings to current page, see more in the destructor of WebSettingsTransaction.
     WebSettingsTransaction webSettingTransaction(settings);
 
@@ -269,6 +268,7 @@
 
     m_page->setVirtualViewportSize(800, 600);
     m_page->resetVirtualViewportOnCommitted(false);
+    m_page->setUserScalable(true);
     m_page->setJavaScriptCanAccessClipboard(true);
 
     if (WebCore::Page* page = DumpRenderTreeSupport::corePage(m_page)) {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to