Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2354)

Unified Diff: extensions/renderer/resources/guest_view/web_view/web_view_iframe.js

Issue 1165773004: Extract the element implementation logic to function mods in <webview>. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@qui
Patch Set: Clean up Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/renderer/resources/guest_view/web_view/web_view_iframe.js
diff --git a/extensions/renderer/resources/guest_view/web_view/web_view_iframe.js b/extensions/renderer/resources/guest_view/web_view/web_view_iframe.js
new file mode 100644
index 0000000000000000000000000000000000000000..fe0eb27c3fe3509e37e2bc570a0dc5a507d9647e
--- /dev/null
+++ b/extensions/renderer/resources/guest_view/web_view/web_view_iframe.js
@@ -0,0 +1,30 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This module implements provides OOPIF overrides for WebView (<webview>).
+// See web_view.js for details.
+
+var IdGenerator = requireNative('id_generator');
+var WebViewImpl = require('webView').WebViewImpl;
+// NOTE: Do not remove these, we implicitly depend on these in
+// --site-per-process.
+var GuestViewIframe = require('guestViewIframe');
+var GuestViewIframeContainer = require('guestViewIframeContainer');
+
+WebViewImpl.prototype.attachWindow$ = function(opt_guestInstanceId) {
+ // If |opt_guestInstanceId| was provided, then a different existing guest is
+ // being attached to this webview, and the current one will get destroyed.
+ if (opt_guestInstanceId) {
+ if (this.guest.getId() == opt_guestInstanceId) {
+ return true;
+ }
+ this.guest.destroy();
+ this.guest = new GuestView('webview', opt_guestInstanceId);
+ }
+
+ var generatedID = IdGenerator.GetNextId();
+ // We do have a plugin to set our instance id, so do it here.
+ this.onInternalInstanceID(generatedID);
+ return true;
+};

Powered by Google App Engine
This is Rietveld 408576698