summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authorbryeung@chromium.org <bryeung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 15:56:50 +0000
committerbryeung@chromium.org <bryeung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 15:56:50 +0000
commit9ab50d5da9cbeba58ace8db418b5d6e967ce7e87 (patch)
treed992b1912933736c4a7e35d226bb6a474183313d /chrome/test
parent950fc53a0029bb9fe0b7b3d32dbd48c838ca88ec (diff)
downloadchromium_src-9ab50d5da9cbeba58ace8db418b5d6e967ce7e87.zip
chromium_src-9ab50d5da9cbeba58ace8db418b5d6e967ce7e87.tar.gz
chromium_src-9ab50d5da9cbeba58ace8db418b5d6e967ce7e87.tar.bz2
Add a test for lazy extension event dispatch.
Test that events will be delivered to both a regular page and an event page even when the event page is not loaded. TEST=this BUG=none Review URL: https://chromiumcodereview.appspot.com/11066117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161583 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/background.js9
-rw-r--r--chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/manifest.json11
-rw-r--r--chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/page.html1
-rw-r--r--chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/runtest.js24
4 files changed, 45 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/background.js b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/background.js
new file mode 100644
index 0000000..2ffabf7
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/background.js
@@ -0,0 +1,9 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+chrome.bookmarks.onCreated.addListener(
+ function() {
+ window.called = true;
+ chrome.test.sendMessage('ready', function() {});
+ });
diff --git a/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/manifest.json b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/manifest.json
new file mode 100644
index 0000000..f96c2a4
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/manifest.json
@@ -0,0 +1,11 @@
+{
+ "name": "Lazy Event Dispatch To Tab",
+ "version": "0.1",
+ "manifest_version": 2,
+ "description": "test for event dispatch with an unloaded event page",
+ "background": {
+ "scripts": ["background.js"],
+ "persistent": false
+ },
+ "permissions": ["bookmarks"]
+}
diff --git a/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/page.html b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/page.html
new file mode 100644
index 0000000..79914d6
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/page.html
@@ -0,0 +1 @@
+<script src="runtest.js"></script>
diff --git a/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/runtest.js b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/runtest.js
new file mode 100644
index 0000000..570c636
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/lazy_background_page/event_dispatch_to_tab/runtest.js
@@ -0,0 +1,24 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+var called = false;
+function testReceivedEvent() {
+ chrome.test.assertTrue(called);
+
+ chrome.runtime.getBackgroundPage(
+ function(background_page) {
+ chrome.test.assertTrue(background_page.called);
+ chrome.test.succeed();
+ });
+}
+
+chrome.bookmarks.onCreated.addListener(
+ function() {
+ called = true;
+ });
+
+chrome.test.sendMessage('ready',
+ function(message) {
+ chrome.test.runTests([testReceivedEvent]);
+ });