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

Unified Diff: chrome/test/data/extensions/api_test/extension_options/embed_self/options.js

Issue 378783002: Initial implementation of the <extensionoptions> GuestView tag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Restructure tests again Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/extension_options/embed_self/options.js
diff --git a/chrome/test/data/extensions/api_test/extension_options/embed_self/options.js b/chrome/test/data/extensions/api_test/extension_options/embed_self/options.js
new file mode 100644
index 0000000000000000000000000000000000000000..532b537543fb771b339e7793185731fe09b620c0
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/extension_options/embed_self/options.js
@@ -0,0 +1,42 @@
+// Copyright 2014 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.
+
+// This script is opened inside a <extensionoptions> guest view. When opened,
+// it sends a message back to the test page, which responds with which test case
+// it is running. The options page then runs the appropriate code for the
+// specified test case.
+chrome.runtime.sendMessage('ready', function(command) {
+ switch (command) {
+ case 'canCreateExtensionOptionsGuest':
+ // To confirm that the guest view has been successfully created,
+ // {pass: true} is added to every extension Window and broadcasts a
+ // message to the extension using runtime.sendMessage().
+ chrome.extension.getViews().forEach(function(view) {
+ view.pass = true;
+ });
+ chrome.runtime.sendMessage('hi');
not at google - send to devlin 2014/07/21 16:30:43 maybe send something less arbitrary-looking? like
ericzeng 2014/07/21 17:52:39 Done.
+ break;
not at google - send to devlin 2014/07/21 16:30:43 nit: new line after the break
ericzeng 2014/07/21 17:52:39 Done.
+ case 'guestCanAccessStorage':
+ // To test access to privileged APIs, the guest attempts to write to local
+ // storage. The guest relays the callbacks for storage.onChanged and
+ // storage.set to the test runner for verification.
+ chrome.storage.onChanged.addListener(function(change) {
not at google - send to devlin 2014/07/21 16:30:43 listenOnce
ericzeng 2014/07/21 17:52:39 For some reason, using listenOnce causes the the t
not at google - send to devlin 2014/07/21 17:58:59 ah right. it probably runs some testing functions,
+ chrome.runtime.sendMessage({
+ expected: 42,
+ actual: change.test.newValue,
not at google - send to devlin 2014/07/21 16:30:43 nice!
+ description: 'onStorage'
not at google - send to devlin 2014/07/21 16:30:43 nit: 'onChanged' maybe?
ericzeng 2014/07/21 17:52:39 onStorageChanged?
not at google - send to devlin 2014/07/21 17:58:58 sure
+ });
+ });
+
+ chrome.storage.local.set({'test': 42}, function() {
+ chrome.storage.local.get('test', function(storage) {
+ chrome.runtime.sendMessage({
+ expected: 42,
+ actual: storage.test,
+ description: 'onSetCallback'
not at google - send to devlin 2014/07/21 16:30:43 it would be more correct to call this 'onGetCallba
not at google - send to devlin 2014/07/21 16:31:28 or 'onSetAndGet'?
ericzeng 2014/07/21 17:52:39 Let's do onSetAndGet since the test is kind of ver
+ });
+ });
+ });
+ }
+});

Powered by Google App Engine
This is Rietveld 408576698