summaryrefslogtreecommitdiffstats
path: root/extensions/renderer/resources
diff options
context:
space:
mode:
authorfsamuel <fsamuel@chromium.org>2015-03-31 12:36:42 -0700
committerCommit bot <commit-bot@chromium.org>2015-03-31 19:37:47 +0000
commit1d0802e4dca790f345603fe6c1454244ae732eaf (patch)
tree374ebc5f763959ed74f4d8d3add0cbd1fdf961eb /extensions/renderer/resources
parent95837d57de06d2f2217705c076b8538806052765 (diff)
downloadchromium_src-1d0802e4dca790f345603fe6c1454244ae732eaf.zip
chromium_src-1d0802e4dca790f345603fe6c1454244ae732eaf.tar.gz
chromium_src-1d0802e4dca790f345603fe6c1454244ae732eaf.tar.bz2
GuestView: Only update contentWindow on attach if not null
If BrowserPlugin goes away (e.g. display:none) then queued callbacks will be executed undefined parameters so that guest_view.js' queue can advance. We need to make sure that we don't clear the contentWindow in this case so that it is possible to continue messaging the guest after display:none. BUG=471757 Review URL: https://codereview.chromium.org/1050603002 Cr-Commit-Position: refs/heads/master@{#323088}
Diffstat (limited to 'extensions/renderer/resources')
-rw-r--r--extensions/renderer/resources/guest_view/guest_view.js7
1 files changed, 4 insertions, 3 deletions
diff --git a/extensions/renderer/resources/guest_view/guest_view.js b/extensions/renderer/resources/guest_view/guest_view.js
index 433d69b..27368a4 100644
--- a/extensions/renderer/resources/guest_view/guest_view.js
+++ b/extensions/renderer/resources/guest_view/guest_view.js
@@ -143,12 +143,13 @@ GuestViewImpl.prototype.attachImpl = function(
// callback, handle potential attaching failure, register an automatic detach,
// and advance the queue.
var callbackWrapper = function(callback, contentWindow) {
- this.contentWindow = contentWindow;
-
// Check if attaching failed.
- if (!this.contentWindow) {
+ if (!contentWindow) {
this.state = GUEST_STATE_CREATED;
this.internalInstanceId = 0;
+ } else {
+ // Only update the contentWindow if attaching is successful.
+ this.contentWindow = contentWindow;
}
this.handleCallback(callback);