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

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: Rebase 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..767f7c277a2223e2ac3afad4229e0890b1961c69
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/extension_options/embed_self/options.js
@@ -0,0 +1,43 @@
+// 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('done');
+ break;
+
+ 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) {
+ chrome.runtime.sendMessage({
+ expected: 42,
+ actual: change.test.newValue,
+ description: 'onStorageChanged'
+ });
+ });
+
+ chrome.storage.local.set({'test': 42}, function() {
+ chrome.storage.local.get('test', function(storage) {
+ chrome.runtime.sendMessage({
+ expected: 42,
+ actual: storage.test,
+ description: 'onSetAndGet'
+ });
+ });
+ });
+ }
+});

Powered by Google App Engine
This is Rietveld 408576698