Browse Source

Add new method to set layout-based zoom level limit

Paul Betts 8 years ago
parent
commit
e2649ce7d8

+ 5 - 0
atom/renderer/api/atom_api_web_frame.cc

@@ -92,6 +92,10 @@ void WebFrame::SetZoomLevelLimits(double min_level, double max_level) {
   web_frame_->view()->setDefaultPageScaleLimits(min_level, max_level);
 }
 
+void WebFrame::SetLayoutZoomLevelLimits(double min_level, double max_level) {
+  web_frame_->view()->zoomLimitsChanged(min_level, max_level);
+}
+
 v8::Local<v8::Value> WebFrame::RegisterEmbedderCustomElement(
     const base::string16& name, v8::Local<v8::Object> options) {
   blink::WebExceptionCode c = 0;
@@ -228,6 +232,7 @@ void WebFrame::BuildPrototype(
       .SetMethod("setZoomFactor", &WebFrame::SetZoomFactor)
       .SetMethod("getZoomFactor", &WebFrame::GetZoomFactor)
       .SetMethod("setZoomLevelLimits", &WebFrame::SetZoomLevelLimits)
+      .SetMethod("setLayoutZoomLevelLimits", &WebFrame::SetLayoutZoomLevelLimits)
       .SetMethod("registerEmbedderCustomElement",
                  &WebFrame::RegisterEmbedderCustomElement)
       .SetMethod("registerElementResizeCallback",

+ 1 - 0
atom/renderer/api/atom_api_web_frame.h

@@ -46,6 +46,7 @@ class WebFrame : public mate::Wrappable<WebFrame> {
   double GetZoomFactor() const;
 
   void SetZoomLevelLimits(double min_level, double max_level);
+  void SetLayoutZoomLevelLimits(double min_level, double max_level);
 
   v8::Local<v8::Value> RegisterEmbedderCustomElement(
       const base::string16& name, v8::Local<v8::Object> options);

+ 1 - 0
lib/browser/api/web-contents.js

@@ -100,6 +100,7 @@ WebContents.prototype.sendToAll = function (channel, ...args) {
 // Following methods are mapped to webFrame.
 const webFrameMethods = [
   'insertText',
+  'setLayoutZoomLevelLimits',
   'setZoomFactor',
   'setZoomLevel',
   'setZoomLevelLimits'

+ 1 - 0
lib/renderer/web-view/web-view.js

@@ -390,6 +390,7 @@ var registerWebViewElement = function () {
     'insertText',
     'send',
     'sendInputEvent',
+    'setLayoutZoomLevelLimits',
     'setZoomFactor',
     'setZoomLevel',
     'setZoomLevelLimits'