diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 20:56:48 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 20:56:48 +0000 |
commit | 39102af3f3d1f022f2f76d503708e10eda010611 (patch) | |
tree | bd3cf14b0dfc07d472dd3551932af0fe67013e6f /chrome/test | |
parent | 51fd0f1cdf914ad58a621467b7725b9e0900747a (diff) | |
download | chromium_src-39102af3f3d1f022f2f76d503708e10eda010611.zip chromium_src-39102af3f3d1f022f2f76d503708e10eda010611.tar.gz chromium_src-39102af3f3d1f022f2f76d503708e10eda010611.tar.bz2 |
The code was assuming that the BalloonViewHost's lifetime would be managed by the views hierarchy, but it was only taking ownership of the BalloonViewHost's native_view.
This was manifesting as a crasher when the chrome://extensions page attempted to access an EFD whose RVH was dead.
BUG=40967
Review URL: http://codereview.chromium.org/1619012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44392 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/data/extensions/api_test/notifications/has_permission_manifest/background.html | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/chrome/test/data/extensions/api_test/notifications/has_permission_manifest/background.html b/chrome/test/data/extensions/api_test/notifications/has_permission_manifest/background.html index 4b43004..546460c 100644 --- a/chrome/test/data/extensions/api_test/notifications/has_permission_manifest/background.html +++ b/chrome/test/data/extensions/api_test/notifications/has_permission_manifest/background.html @@ -1,5 +1,6 @@ <script> var notification = null; +var chromeExtensionsUrl = "chrome://extensions/"; // Shows the notification window using the specified URL. // Control continues at onNotificationDone(). @@ -16,7 +17,21 @@ function onNotificationDone() { var views = chrome.extension.getViews(); chrome.test.assertEq(2, views.length); notification.cancel(); - chrome.test.succeed(); + + // This last step tests that crbug.com/40967 stays fixed. + var listener = function(tabId, changeInfo, tab) { + if (changeInfo.status != 'complete') + return; + // web_page1 loaded, open extension page to inject script + if (tab.url == chromeExtensionsUrl) { + console.log(chromeExtensionsUrl + ' finished loading.'); + chrome.tabs.onUpdated.removeListener(listener); + chrome.test.succeed(); + } + }; + + chrome.tabs.onUpdated.addListener(listener); + chrome.tabs.create({ url: chromeExtensionsUrl }); } chrome.test.runTests([ |