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

Side by Side Diff: extensions/renderer/resources/guest_view/guest_view.js

Issue 845363004: <webview>, <appview> and <extensionoptions> can run in a detached state. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: SurfaceView fix Created 5 years, 11 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 unified diff | Download patch
OLDNEW
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 a wrapper for a guestview that manages its 5 // This module implements a wrapper for a guestview that manages its
6 // creation, attaching, and destruction. 6 // creation, attaching, and destruction.
7 7
8 var GuestViewInternal = 8 var GuestViewInternal =
9 require('binding').Binding.create('guestViewInternal').generate(); 9 require('binding').Binding.create('guestViewInternal').generate();
10 var GuestViewInternalNatives = requireNative('guest_view_internal'); 10 var GuestViewInternalNatives = requireNative('guest_view_internal');
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 this.handleCallback(callback); 179 this.handleCallback(callback);
180 return; 180 return;
181 } 181 }
182 182
183 if (this.state == GUEST_STATE_START) { 183 if (this.state == GUEST_STATE_START) {
184 // destroy() does nothing in this case. 184 // destroy() does nothing in this case.
185 this.handleCallback(callback); 185 this.handleCallback(callback);
186 return; 186 return;
187 } 187 }
188 188
189 // If this guest is attached, then detach it first.
190 if (!!this.internalInstanceId) {
191 GuestViewInternalNatives.DetachGuest(this.internalInstanceId);
192 }
193
189 GuestViewInternal.destroyGuest(this.id, 194 GuestViewInternal.destroyGuest(this.id,
190 this.handleCallback.bind(this, callback)); 195 this.handleCallback.bind(this, callback));
paulmeyer 2015/01/13 20:06:33 Spacing; it looks like that extra space was a mist
Fady Samuel 2015/01/13 20:10:34 Done.
191 196
192 this.contentWindow = null; 197 this.contentWindow = null;
193 this.id = 0; 198 this.id = 0;
194 this.internalInstanceId = 0; 199 this.internalInstanceId = 0;
195 this.state = GUEST_STATE_START; 200 this.state = GUEST_STATE_START;
196 }; 201 };
197 202
198 // Internal implementation of detach(). 203 // Internal implementation of detach().
199 GuestViewImpl.prototype.detachImpl = function(callback) { 204 GuestViewImpl.prototype.detachImpl = function(callback) {
200 // Check the current state. 205 // Check the current state.
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 }; 284 };
280 285
281 // Returns the ID for this guestview. 286 // Returns the ID for this guestview.
282 GuestView.prototype.getId = function() { 287 GuestView.prototype.getId = function() {
283 var internal = privates(this).internal; 288 var internal = privates(this).internal;
284 return internal.id; 289 return internal.id;
285 }; 290 };
286 291
287 // Exports 292 // Exports
288 exports.GuestView = GuestView; 293 exports.GuestView = GuestView;
OLDNEW
« no previous file with comments | « extensions/renderer/resources/guest_view/app_view.js ('k') | extensions/renderer/resources/guest_view/guest_view_container.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698