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: