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