Title: [121364] trunk/Source/WebKit/chromium
Revision
121364
Author
[email protected]
Date
2012-06-27 14:00:59 -0700 (Wed, 27 Jun 2012)

Log Message

[chromium] Expose device scale factor in WebPluginContainer
https://bugs.webkit.org/show_bug.cgi?id=87874

Patch by Josh Horwich <[email protected]> on 2012-06-27
Reviewed by Adam Barth.

* public/WebPluginContainer.h:
(WebPluginContainer):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::deviceScaleFactor):
(WebKit):
(WebKit::WebPluginContainerImpl::pageScaleFactor):
(WebKit::WebPluginContainerImpl::pageZoomFactor):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (121363 => 121364)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-06-27 20:52:58 UTC (rev 121363)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-06-27 21:00:59 UTC (rev 121364)
@@ -1,3 +1,20 @@
+2012-06-27  Josh Horwich  <[email protected]>
+
+        [chromium] Expose device scale factor in WebPluginContainer
+        https://bugs.webkit.org/show_bug.cgi?id=87874
+
+        Reviewed by Adam Barth.
+
+        * public/WebPluginContainer.h:
+        (WebPluginContainer):
+        * src/WebPluginContainerImpl.cpp:
+        (WebKit::WebPluginContainerImpl::deviceScaleFactor):
+        (WebKit):
+        (WebKit::WebPluginContainerImpl::pageScaleFactor):
+        (WebKit::WebPluginContainerImpl::pageZoomFactor):
+        * src/WebPluginContainerImpl.h:
+        (WebPluginContainerImpl):
+
 2012-06-27  Robert Kroeger  <[email protected]>
 
         [chromium] out-of-order assert in WebViewImpl setDeviceScaleFactor

Modified: trunk/Source/WebKit/chromium/public/WebPluginContainer.h (121363 => 121364)


--- trunk/Source/WebKit/chromium/public/WebPluginContainer.h	2012-06-27 20:52:58 UTC (rev 121363)
+++ trunk/Source/WebKit/chromium/public/WebPluginContainer.h	2012-06-27 21:00:59 UTC (rev 121364)
@@ -98,6 +98,7 @@
         const WebURLRequest&, const WebString& target, bool notifyNeeded, void* notifyData) = 0;
 
     // Notifies that the zoom level has changed.
+    // Note, this does NOT affect pageScaleFactor or pageZoomFactor
     virtual void zoomLevelChanged(double zoomLevel) = 0;
 
     // Notifies whether the contents of the plugin are entirely opaque.
@@ -113,6 +114,10 @@
     virtual WebPlugin* plugin() = 0;
     virtual void setPlugin(WebPlugin*) = 0;
 
+    virtual float deviceScaleFactor() = 0;
+    virtual float pageScaleFactor() = 0;
+    virtual float pageZoomFactor() = 0;
+
 protected:
     ~WebPluginContainer() { }
 };

Modified: trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp (121363 => 121364)


--- trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp	2012-06-27 20:52:58 UTC (rev 121363)
+++ trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp	2012-06-27 21:00:59 UTC (rev 121364)
@@ -245,6 +245,30 @@
     }
 }
 
+float WebPluginContainerImpl::deviceScaleFactor()
+{
+    Page* page = m_element->document()->page();
+    if (!page)
+        return 1.0;
+    return page->deviceScaleFactor();
+}
+
+float WebPluginContainerImpl::pageScaleFactor()
+{
+    Page* page = m_element->document()->page();
+    if (!page)
+        return 1.0;
+    return page->pageScaleFactor();
+}
+
+float WebPluginContainerImpl::pageZoomFactor()
+{
+    Frame* frame = m_element->document()->frame();
+    if (!frame)
+        return 1.0;
+    return frame->pageZoomFactor();
+}
+
 bool WebPluginContainerImpl::supportsPaginatedPrint() const
 {
     return m_webPlugin->supportsPaginatedPrint();

Modified: trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.h (121363 => 121364)


--- trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.h	2012-06-27 20:52:58 UTC (rev 121363)
+++ trunk/Source/WebKit/chromium/src/WebPluginContainerImpl.h	2012-06-27 21:00:59 UTC (rev 121364)
@@ -116,6 +116,10 @@
     WebPlugin* plugin() { return m_webPlugin; }
     void setPlugin(WebPlugin*);
 
+    virtual float deviceScaleFactor();
+    virtual float pageScaleFactor();
+    virtual float pageZoomFactor();
+
     // Printing interface. The plugin can support custom printing
     // (which means it controls the layout, number of pages etc).
     // Whether the plugin supports its own paginated print. The other print
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to