Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 Webview (<webview>) as a custom element that wraps a | 5 // This module implements Webview (<webview>) as a custom element that wraps a |
| 6 // BrowserPlugin object element. The object element is hidden within | 6 // BrowserPlugin object element. The object element is hidden within |
| 7 // the shadow DOM of the Webview element. | 7 // the shadow DOM of the Webview element. |
| 8 | 8 |
| 9 var DocumentNatives = requireNative('document_natives'); | 9 var DocumentNatives = requireNative('document_natives'); |
| 10 var GuestViewInternal = | 10 var GuestViewInternal = |
| 11 require('binding').Binding.create('guestViewInternal').generate(); | 11 require('binding').Binding.create('guestViewInternal').generate(); |
| 12 var IdGenerator = requireNative('id_generator'); | 12 var IdGenerator = requireNative('id_generator'); |
| 13 var ChromeWebView = require('chromeWebViewInternal').ChromeWebView | 13 var ChromeWebView = require('chromeWebViewInternal').ChromeWebView |
| 14 // TODO(lazyboy): Rename this to WebViewInternal and call WebViewInternal | 14 // TODO(lazyboy): Rename this to WebViewInternal and call WebViewInternal |
| 15 // something else. | 15 // something else. |
| 16 var WebView = require('webViewInternal').WebView; | 16 var WebView = require('webViewInternal').WebView; |
| 17 var ChromeWebView = require('chromeWebViewInternal').ChromeWebView | |
|
lazyboy
2014/09/11 20:02:04
Accidental change? line #13 already includes this.
lfg
2014/09/11 21:17:20
Yes -- and they are not needed anymore, since cont
| |
| 17 var WebViewEvents = require('webViewEvents').WebViewEvents; | 18 var WebViewEvents = require('webViewEvents').WebViewEvents; |
| 18 var guestViewInternalNatives = requireNative('guest_view_internal'); | 19 var guestViewInternalNatives = requireNative('guest_view_internal'); |
| 19 | 20 |
| 20 var WEB_VIEW_ATTRIBUTE_AUTOSIZE = 'autosize'; | 21 var WEB_VIEW_ATTRIBUTE_AUTOSIZE = 'autosize'; |
| 21 var WEB_VIEW_ATTRIBUTE_MAXHEIGHT = 'maxheight'; | 22 var WEB_VIEW_ATTRIBUTE_MAXHEIGHT = 'maxheight'; |
| 22 var WEB_VIEW_ATTRIBUTE_MAXWIDTH = 'maxwidth'; | 23 var WEB_VIEW_ATTRIBUTE_MAXWIDTH = 'maxwidth'; |
| 23 var WEB_VIEW_ATTRIBUTE_MINHEIGHT = 'minheight'; | 24 var WEB_VIEW_ATTRIBUTE_MINHEIGHT = 'minheight'; |
| 24 var WEB_VIEW_ATTRIBUTE_MINWIDTH = 'minwidth'; | 25 var WEB_VIEW_ATTRIBUTE_MINWIDTH = 'minwidth'; |
| 25 var AUTO_SIZE_ATTRIBUTES = [ | 26 var AUTO_SIZE_ATTRIBUTES = [ |
| 26 WEB_VIEW_ATTRIBUTE_AUTOSIZE, | 27 WEB_VIEW_ATTRIBUTE_AUTOSIZE, |
| (...skipping 978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1005 window.addEventListener('readystatechange', function listener(event) { | 1006 window.addEventListener('readystatechange', function listener(event) { |
| 1006 if (document.readyState == 'loading') | 1007 if (document.readyState == 'loading') |
| 1007 return; | 1008 return; |
| 1008 | 1009 |
| 1009 registerBrowserPluginElement(); | 1010 registerBrowserPluginElement(); |
| 1010 registerWebViewElement(); | 1011 registerWebViewElement(); |
| 1011 window.removeEventListener(event.type, listener, useCapture); | 1012 window.removeEventListener(event.type, listener, useCapture); |
| 1012 }, useCapture); | 1013 }, useCapture); |
| 1013 | 1014 |
| 1014 /** | 1015 /** |
| 1016 * Implemented when the ChromeWebView API is available. | |
| 1017 * @private | |
| 1018 */ | |
| 1019 WebViewInternal.prototype.maybeGetChromeWebViewEvents = function() {}; | |
| 1020 | |
| 1021 /** | |
| 1015 * Implemented when the experimental API is available. | 1022 * Implemented when the experimental API is available. |
| 1016 * @private | 1023 * @private |
| 1017 */ | 1024 */ |
| 1018 WebViewInternal.prototype.maybeGetExperimentalEvents = function() {}; | 1025 WebViewInternal.prototype.maybeGetExperimentalEvents = function() {}; |
| 1019 | 1026 |
| 1020 /** | 1027 /** |
| 1021 * Implemented when the experimental API is available. | 1028 * Implemented when the experimental API is available. |
| 1022 * @private | 1029 * @private |
| 1023 */ | 1030 */ |
| 1024 WebViewInternal.prototype.maybeGetExperimentalPermissions = function() { | 1031 WebViewInternal.prototype.maybeGetExperimentalPermissions = function() { |
| 1025 return []; | 1032 return []; |
| 1026 }; | 1033 }; |
| 1027 | 1034 |
| 1028 /** | 1035 /** |
| 1029 * Calls to show contextmenu right away instead of dispatching a 'contextmenu' | |
| 1030 * event. | |
| 1031 * This will be overridden in web_view_experimental.js to implement contextmenu | |
| 1032 * API. | |
| 1033 */ | |
| 1034 WebViewInternal.prototype.maybeHandleContextMenu = function(e, webViewEvent) { | |
| 1035 var requestId = e.requestId; | |
| 1036 // Setting |params| = undefined will show the context menu unmodified, hence | |
| 1037 // the 'contextmenu' API is disabled for stable channel. | |
| 1038 var params = undefined; | |
| 1039 ChromeWebView.showContextMenu(this.guestInstanceId, requestId, params); | |
| 1040 }; | |
| 1041 | |
| 1042 /** | |
| 1043 * Implemented when the experimental API is available. | 1036 * Implemented when the experimental API is available. |
| 1044 * @private | 1037 * @private |
| 1045 */ | 1038 */ |
| 1046 WebViewInternal.prototype.setupExperimentalContextMenus = function() {}; | 1039 WebViewInternal.prototype.setupExperimentalContextMenus = function() { |
| 1040 }; | |
| 1047 | 1041 |
| 1048 exports.WebView = WebView; | 1042 exports.WebView = WebView; |
| 1049 exports.WebViewInternal = WebViewInternal; | 1043 exports.WebViewInternal = WebViewInternal; |
| OLD | NEW |