OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This module implements the attributes of the <webview> tag. | 5 // This module implements the attributes of the <webview> tag. |
6 | 6 |
7 var GuestViewInternal = | 7 var GuestViewInternal = |
8 require('binding').Binding.create('guestViewInternal').generate(); | 8 require('binding').Binding.create('guestViewInternal').generate(); |
9 var WebViewImpl = require('webView').WebViewImpl; | 9 var WebViewImpl = require('webView').WebViewImpl; |
10 var WebViewConstants = require('webViewConstants').WebViewConstants; | 10 var WebViewConstants = require('webViewConstants').WebViewConstants; |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
85 AllowTransparencyAttribute.prototype.handleMutation = function(oldValue, | 85 AllowTransparencyAttribute.prototype.handleMutation = function(oldValue, |
86 newValue) { | 86 newValue) { |
87 if (!this.webViewImpl.guest.getId()) { | 87 if (!this.webViewImpl.guest.getId()) { |
88 return; | 88 return; |
89 } | 89 } |
90 | 90 |
91 WebViewInternal.setAllowTransparency(this.webViewImpl.guest.getId(), | 91 WebViewInternal.setAllowTransparency(this.webViewImpl.guest.getId(), |
92 this.getValue()); | 92 this.getValue()); |
93 }; | 93 }; |
94 | 94 |
95 // Attribute that specifies whether transparency is allowed in the webview. | |
96 function AllowScalingAttribute(webViewImpl) { | |
97 BooleanAttribute.call( | |
98 this, WebViewConstants.ATTRIBUTE_ALLOWSCALING, webViewImpl); | |
99 } | |
100 | |
101 AllowScalingAttribute.prototype.__proto__ = BooleanAttribute.prototype; | |
102 | |
103 AllowScalingAttribute.prototype.handleMutation = function(oldValue, | |
104 newValue) { | |
Fady Samuel
2015/02/12 21:27:09
nit: alignment.
wjmaclean
2015/02/12 21:41:25
Done.
| |
105 if (!this.webViewImpl.guest.getId()) { | |
106 return; | |
107 } | |
108 | |
109 WebViewInternal.setAllowScaling(this.webViewImpl.guest.getId(), | |
110 this.getValue()); | |
111 }; | |
112 | |
95 // Attribute used to define the demension limits of autosizing. | 113 // Attribute used to define the demension limits of autosizing. |
96 function AutosizeDimensionAttribute(name, webViewImpl) { | 114 function AutosizeDimensionAttribute(name, webViewImpl) { |
97 WebViewAttribute.call(this, name, webViewImpl); | 115 WebViewAttribute.call(this, name, webViewImpl); |
98 } | 116 } |
99 | 117 |
100 AutosizeDimensionAttribute.prototype.__proto__ = WebViewAttribute.prototype; | 118 AutosizeDimensionAttribute.prototype.__proto__ = WebViewAttribute.prototype; |
101 | 119 |
102 AutosizeDimensionAttribute.prototype.getValue = function() { | 120 AutosizeDimensionAttribute.prototype.getValue = function() { |
103 return parseInt(this.webViewImpl.element.getAttribute(this.name)) || 0; | 121 return parseInt(this.webViewImpl.element.getAttribute(this.name)) || 0; |
104 }; | 122 }; |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
257 }; | 275 }; |
258 | 276 |
259 // ----------------------------------------------------------------------------- | 277 // ----------------------------------------------------------------------------- |
260 | 278 |
261 // Sets up all of the webview attributes. | 279 // Sets up all of the webview attributes. |
262 WebViewImpl.prototype.setupWebViewAttributes = function() { | 280 WebViewImpl.prototype.setupWebViewAttributes = function() { |
263 this.attributes = {}; | 281 this.attributes = {}; |
264 | 282 |
265 this.attributes[WebViewConstants.ATTRIBUTE_ALLOWTRANSPARENCY] = | 283 this.attributes[WebViewConstants.ATTRIBUTE_ALLOWTRANSPARENCY] = |
266 new AllowTransparencyAttribute(this); | 284 new AllowTransparencyAttribute(this); |
285 this.attributes[WebViewConstants.ATTRIBUTE_ALLOWSCALING] = | |
286 new AllowScalingAttribute(this); | |
267 this.attributes[WebViewConstants.ATTRIBUTE_AUTOSIZE] = | 287 this.attributes[WebViewConstants.ATTRIBUTE_AUTOSIZE] = |
268 new AutosizeAttribute(this); | 288 new AutosizeAttribute(this); |
269 this.attributes[WebViewConstants.ATTRIBUTE_NAME] = | 289 this.attributes[WebViewConstants.ATTRIBUTE_NAME] = |
270 new NameAttribute(this); | 290 new NameAttribute(this); |
271 this.attributes[WebViewConstants.ATTRIBUTE_PARTITION] = | 291 this.attributes[WebViewConstants.ATTRIBUTE_PARTITION] = |
272 new PartitionAttribute(this); | 292 new PartitionAttribute(this); |
273 this.attributes[WebViewConstants.ATTRIBUTE_SRC] = | 293 this.attributes[WebViewConstants.ATTRIBUTE_SRC] = |
274 new SrcAttribute(this); | 294 new SrcAttribute(this); |
275 | 295 |
276 var autosizeAttributes = [WebViewConstants.ATTRIBUTE_MAXHEIGHT, | 296 var autosizeAttributes = [WebViewConstants.ATTRIBUTE_MAXHEIGHT, |
277 WebViewConstants.ATTRIBUTE_MAXWIDTH, | 297 WebViewConstants.ATTRIBUTE_MAXWIDTH, |
278 WebViewConstants.ATTRIBUTE_MINHEIGHT, | 298 WebViewConstants.ATTRIBUTE_MINHEIGHT, |
279 WebViewConstants.ATTRIBUTE_MINWIDTH]; | 299 WebViewConstants.ATTRIBUTE_MINWIDTH]; |
280 for (var i = 0; autosizeAttributes[i]; ++i) { | 300 for (var i = 0; autosizeAttributes[i]; ++i) { |
281 this.attributes[autosizeAttributes[i]] = | 301 this.attributes[autosizeAttributes[i]] = |
282 new AutosizeDimensionAttribute(autosizeAttributes[i], this); | 302 new AutosizeDimensionAttribute(autosizeAttributes[i], this); |
283 } | 303 } |
284 }; | 304 }; |
OLD | NEW |