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

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

Issue 847893002: Implemented explicit resizing from guestview. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Another small 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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 } 73 }
74 74
75 // Map of possible errors for each action. For each action, the errors are 75 // Map of possible errors for each action. For each action, the errors are
76 // listed for states in the order: GUEST_STATE_START, GUEST_STATE_CREATED, 76 // listed for states in the order: GUEST_STATE_START, GUEST_STATE_CREATED,
77 // GUEST_STATE_ATTACHED. 77 // GUEST_STATE_ATTACHED.
78 var errors = { 78 var errors = {
79 'attach': [ERROR_MSG_NOT_CREATED, null, ERROR_MSG_ALREADY_ATTACHED], 79 'attach': [ERROR_MSG_NOT_CREATED, null, ERROR_MSG_ALREADY_ATTACHED],
80 'create': [null, ERROR_MSG_ALREADY_CREATED, ERROR_MSG_ALREADY_CREATED], 80 'create': [null, ERROR_MSG_ALREADY_CREATED, ERROR_MSG_ALREADY_CREATED],
81 'destroy': [null, null, null], 81 'destroy': [null, null, null],
82 'detach': [ERROR_MSG_NOT_ATTACHED, ERROR_MSG_NOT_ATTACHED, null], 82 'detach': [ERROR_MSG_NOT_ATTACHED, ERROR_MSG_NOT_ATTACHED, null],
83 'setAutoSize': [ERROR_MSG_NOT_CREATED, null, null] 83 'setSize': [ERROR_MSG_NOT_CREATED, null, null]
84 }; 84 };
85 85
86 // Check that the proposed action is a real action. 86 // Check that the proposed action is a real action.
87 if (errors[action] == undefined) { 87 if (errors[action] == undefined) {
88 window.console.error(errorPrefix + ERROR_MSG_INVALID_ACTION); 88 window.console.error(errorPrefix + ERROR_MSG_INVALID_ACTION);
89 return false; 89 return false;
90 } 90 }
91 91
92 // Report the error if the proposed action is found to be invalid for the 92 // Report the error if the proposed action is found to be invalid for the
93 // current state. 93 // current state.
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 205
206 GuestViewInternalNatives.DetachGuest( 206 GuestViewInternalNatives.DetachGuest(
207 this.internalInstanceId, 207 this.internalInstanceId,
208 this.handleCallback.bind(this, callback)); 208 this.handleCallback.bind(this, callback));
209 209
210 this.contentWindow = null; 210 this.contentWindow = null;
211 this.internalInstanceId = 0; 211 this.internalInstanceId = 0;
212 this.state = GUEST_STATE_CREATED; 212 this.state = GUEST_STATE_CREATED;
213 }; 213 };
214 214
215 // Internal implementation of setAutoSize(). 215 // Internal implementation of setSize().
216 GuestViewImpl.prototype.setAutoSizeImpl = function(autoSizeParams, callback) { 216 GuestViewImpl.prototype.setSizeImpl = function(sizeParams, callback) {
217 // Check the current state. 217 // Check the current state.
218 if (!this.checkState('setAutoSize')) { 218 if (!this.checkState('setSize')) {
219 this.handleCallback(callback); 219 this.handleCallback(callback);
220 return; 220 return;
221 } 221 }
222 222
223 GuestViewInternal.setAutoSize(this.id, autoSizeParams, 223 GuestViewInternal.setSize(this.id, sizeParams,
224 this.handleCallback.bind(this, callback)); 224 this.handleCallback.bind(this, callback));
225 }; 225 };
226 226
227 // The exposed interface to a guestview. Exposes in its API the functions 227 // The exposed interface to a guestview. Exposes in its API the functions
228 // attach(), create(), destroy(), and getId(). All other implementation details 228 // attach(), create(), destroy(), and getId(). All other implementation details
229 // are hidden. 229 // are hidden.
230 function GuestView(viewType, guestInstanceId) { 230 function GuestView(viewType, guestInstanceId) {
231 privates(this).internal = new GuestViewImpl(viewType, guestInstanceId); 231 privates(this).internal = new GuestViewImpl(viewType, guestInstanceId);
232 } 232 }
233 233
234 // Attaches the guestview to the container with ID |internalInstanceId|. 234 // Attaches the guestview to the container with ID |internalInstanceId|.
(...skipping 23 matching lines...) Expand all
258 258
259 // Detaches the guestview from its container. 259 // Detaches the guestview from its container.
260 // Note: This is not currently used. 260 // Note: This is not currently used.
261 GuestView.prototype.detach = function(callback) { 261 GuestView.prototype.detach = function(callback) {
262 var internal = privates(this).internal; 262 var internal = privates(this).internal;
263 internal.actionQueue.push(internal.detachImpl.bind(internal, callback)); 263 internal.actionQueue.push(internal.detachImpl.bind(internal, callback));
264 internal.performNextAction(); 264 internal.performNextAction();
265 }; 265 };
266 266
267 // Adjusts the guestview's sizing parameters. 267 // Adjusts the guestview's sizing parameters.
268 GuestView.prototype.setAutoSize = function(autoSizeParams, callback) { 268 GuestView.prototype.setSize = function(sizeParams, callback) {
269 var internal = privates(this).internal; 269 var internal = privates(this).internal;
270 internal.actionQueue.push(internal.setAutoSizeImpl.bind( 270 internal.actionQueue.push(internal.setSizeImpl.bind(
271 internal, autoSizeParams, callback)); 271 internal, sizeParams, callback));
272 internal.performNextAction(); 272 internal.performNextAction();
273 }; 273 };
274 274
275 // Returns the contentWindow for this guestview. 275 // Returns the contentWindow for this guestview.
276 GuestView.prototype.getContentWindow = function() { 276 GuestView.prototype.getContentWindow = function() {
277 var internal = privates(this).internal; 277 var internal = privates(this).internal;
278 return internal.contentWindow; 278 return internal.contentWindow;
279 }; 279 };
280 280
281 // Returns the ID for this guestview. 281 // Returns the ID for this guestview.
282 GuestView.prototype.getId = function() { 282 GuestView.prototype.getId = function() {
283 var internal = privates(this).internal; 283 var internal = privates(this).internal;
284 return internal.id; 284 return internal.id;
285 }; 285 };
286 286
287 // Exports 287 // Exports
288 exports.GuestView = GuestView; 288 exports.GuestView = GuestView;
OLDNEW
« no previous file with comments | « extensions/common/guest_view/guest_view_constants.cc ('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