Title: [121872] trunk/Source/WebKit/blackberry
Revision
121872
Author
[email protected]
Date
2012-07-04 15:06:39 -0700 (Wed, 04 Jul 2012)

Log Message

[BlackBerry] Implement device metrics for blackberry.
https://bugs.webkit.org/show_bug.cgi?id=90494
RIM PR #159034

Patch by Hanna Ma <[email protected]> on 2012-07-04
Reviewed by Rob Buis.

Implement calls to the application to change the device metrics for
the web inspector.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::applySizeOverride):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::setTextZoomFactor):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/InspectorClientBlackBerry.cpp:
(WebCore::InspectorClientBlackBerry::InspectorClientBlackBerry):
(WebCore::InspectorClientBlackBerry::canOverrideDeviceMetrics):
(WebCore):
(WebCore::InspectorClientBlackBerry::overrideDeviceMetrics):
(WebCore::InspectorClientBlackBerry::supportsFrameInstrumentation):
* WebCoreSupport/InspectorClientBlackBerry.h:
(InspectorClientBlackBerry):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (121871 => 121872)


--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-07-04 21:36:52 UTC (rev 121871)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-07-04 22:06:39 UTC (rev 121872)
@@ -6600,5 +6600,17 @@
     }
 }
 
+void WebPagePrivate::applySizeOverride(int overrideWidth, int overrideHeight)
+{
+    m_client->requestUpdateViewport(overrideWidth, overrideHeight);
 }
+
+void WebPagePrivate::setTextZoomFactor(float textZoomFactor)
+{
+    if (!m_mainFrame)
+        return;
+
+    m_mainFrame->setTextZoomFactor(textZoomFactor);
 }
+}
+}

Modified: trunk/Source/WebKit/blackberry/Api/WebPageClient.h (121871 => 121872)


--- trunk/Source/WebKit/blackberry/Api/WebPageClient.h	2012-07-04 21:36:52 UTC (rev 121871)
+++ trunk/Source/WebKit/blackberry/Api/WebPageClient.h	2012-07-04 22:06:39 UTC (rev 121872)
@@ -126,6 +126,8 @@
     virtual void scrollChanged(const Platform::IntPoint&) const = 0;
     virtual void zoomChanged(bool isMinZoomed, bool isMaxZoomed, bool isAtInitialZoom, double newZoom) const = 0;
 
+    virtual void requestUpdateViewport(int width, int height) = 0;
+
     virtual void setPageTitle(const unsigned short* title, unsigned titleLength) = 0;
 
     virtual Platform::Graphics::Window* window() const = 0;

Modified: trunk/Source/WebKit/blackberry/Api/WebPage_p.h (121871 => 121872)


--- trunk/Source/WebKit/blackberry/Api/WebPage_p.h	2012-07-04 21:36:52 UTC (rev 121871)
+++ trunk/Source/WebKit/blackberry/Api/WebPage_p.h	2012-07-04 22:06:39 UTC (rev 121872)
@@ -440,6 +440,9 @@
 
     void setInspectorOverlayClient(WebCore::InspectorOverlay::InspectorOverlayClient*);
 
+    void applySizeOverride(int overrideWidth, int overrideHeight);
+    void setTextZoomFactor(float);
+
     WebPage* m_webPage;
     WebPageClient* m_client;
     WebCore::Page* m_page;

Modified: trunk/Source/WebKit/blackberry/ChangeLog (121871 => 121872)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-07-04 21:36:52 UTC (rev 121871)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-07-04 22:06:39 UTC (rev 121872)
@@ -1,3 +1,29 @@
+2012-07-04  Hanna Ma  <[email protected]>
+
+        [BlackBerry] Implement device metrics for blackberry.
+        https://bugs.webkit.org/show_bug.cgi?id=90494
+        RIM PR #159034
+
+        Reviewed by Rob Buis.
+
+        Implement calls to the application to change the device metrics for
+        the web inspector.
+
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPagePrivate::applySizeOverride):
+        (WebKit):
+        (BlackBerry::WebKit::WebPagePrivate::setTextZoomFactor):
+        * Api/WebPage_p.h:
+        (WebPagePrivate):
+        * WebCoreSupport/InspectorClientBlackBerry.cpp:
+        (WebCore::InspectorClientBlackBerry::InspectorClientBlackBerry):
+        (WebCore::InspectorClientBlackBerry::canOverrideDeviceMetrics):
+        (WebCore):
+        (WebCore::InspectorClientBlackBerry::overrideDeviceMetrics):
+        (WebCore::InspectorClientBlackBerry::supportsFrameInstrumentation):
+        * WebCoreSupport/InspectorClientBlackBerry.h:
+        (InspectorClientBlackBerry):
+
 2012-07-03  Leo Yang  <[email protected]>
 
         [BlackBerry] Checkerboard shown when clicking on error page buttons

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp (121871 => 121872)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp	2012-07-04 21:36:52 UTC (rev 121871)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp	2012-07-04 22:06:39 UTC (rev 121872)
@@ -85,6 +85,23 @@
     m_webPagePrivate->m_client->clearCookies();
 }
 
+bool InspectorClientBlackBerry::canOverrideDeviceMetrics()
+{
+    return true;
+}
+
+void InspectorClientBlackBerry::overrideDeviceMetrics(int width, int height, float fontScaleFactor, bool)
+{
+    // Note: when width and height = 0, and fontScaleFactor = 1, this is the signal for restoring to default size.
+    m_webPagePrivate->applySizeOverride(width, height);
+    m_webPagePrivate->setTextZoomFactor(fontScaleFactor);
+}
+
+bool InspectorClientBlackBerry::supportsFrameInstrumentation()
+{
+    return true;
+}
+
 void InspectorClientBlackBerry::updateInspectorStateCookie(const String& cookie)
 {
     // If this is implemented, we should override and return true in InspectorStateClient::supportsInspectorStateUpdates().

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h (121871 => 121872)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h	2012-07-04 21:36:52 UTC (rev 121871)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h	2012-07-04 22:06:39 UTC (rev 121872)
@@ -53,6 +53,10 @@
     virtual bool canClearBrowserCookies() { return true; }
     virtual void paintInspectorOverlay(WebCore::GraphicsContext&);
 
+    virtual bool canOverrideDeviceMetrics();
+    virtual void overrideDeviceMetrics(int, int, float, bool);
+    virtual bool supportsFrameInstrumentation();
+
     virtual void updateInspectorStateCookie(const String&);
 
 private:
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to