- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / tabs / javascript_url_permissions / test.js
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 var assertEq = chrome.test.assertEq;
6 var pass = chrome.test.callbackPass;
7
8 chrome.test.getConfig(function(config) {
9   var javaScriptURL = "javascript:void(document.title='js-url-success')";
10
11   var fixPort = function(url) {
12     return url.replace(/PORT/, config.testServer.port);
13   };
14   var urlA = fixPort("http://a.com:PORT/extensions/test_file.html");
15   var urlB = fixPort("http://b.com:PORT/extensions/test_file.html");
16
17   chrome.tabs.create({ url: urlA }, function(tab) {
18     var firstTabId = tab.id;
19
20     chrome.tabs.create({ url: urlB }, function(tab) {
21       var secondTabId = tab.id;
22
23       chrome.test.runTests([
24         function javaScriptURLShouldFail() {
25           chrome.tabs.update(firstTabId, {url: javaScriptURL},
26               chrome.test.callbackFail('Cannot access contents of url ' +
27                    '"' + urlA + '". Extension manifest must request ' +
28                    'permission to access this host.'));
29         },
30
31         function javaScriptURLShouldSucceed() {
32           chrome.tabs.update(
33               secondTabId,
34               {url: javaScriptURL},
35               pass(function(tab) {
36             assertEq(secondTabId, tab.id);
37             assertEq('js-url-success', tab.title);
38           }));
39         }
40       ]);
41     });
42   });
43 });