summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-13 20:56:48 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-13 20:56:48 +0000
commit39102af3f3d1f022f2f76d503708e10eda010611 (patch)
treebd3cf14b0dfc07d472dd3551932af0fe67013e6f /chrome/test
parent51fd0f1cdf914ad58a621467b7725b9e0900747a (diff)
downloadchromium_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.html17
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([