Chromium Code Reviews| 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
|
| + }); |
| + }); |
| + }); |
| + } |
| +}); |