Index: chrome/test/data/extensions/api_test/incognito/split/background.html |
=================================================================== |
--- chrome/test/data/extensions/api_test/incognito/split/background.html (revision 112170) |
+++ chrome/test/data/extensions/api_test/incognito/split/background.html (working copy) |
@@ -1,155 +1,6 @@ |
-<script> |
-var pass = chrome.test.callbackPass; |
-var assertEq = chrome.test.assertEq; |
-var assertTrue = chrome.test.assertTrue; |
- |
-var win, tab; |
-var inIncognitoContext = chrome.extension.inIncognitoContext; |
- |
-// Lifted from the bookmarks api_test. |
-function compareNode(left, right) { |
- //chrome.test.log("compareNode()"); |
- //chrome.test.log(JSON.stringify(left, null, 2)); |
- //chrome.test.log(JSON.stringify(right, null, 2)); |
- // TODO(erikkay): do some comparison of dateAdded |
- if (left.id != right.id) |
- return "id mismatch: " + left.id + " != " + right.id; |
- if (left.title != right.title) { |
- // TODO(erikkay): This resource dependency still isn't working reliably. |
- // See bug 19866. |
- // return "title mismatch: " + left.title + " != " + right.title; |
- chrome.test.log("title mismatch: " + left.title + " != " + right.title); |
- } |
- if (left.url != right.url) |
- return "url mismatch: " + left.url + " != " + right.url; |
- if (left.index != right.index) |
- return "index mismatch: " + left.index + " != " + right.index; |
- return true; |
-} |
- |
-// Listen to some events to make sure we don't get events from the other |
-// profile. |
- |
-chrome.tabs.onUpdated.addListener(function(id, info, tab) { |
- if (inIncognitoContext != tab.incognito) { |
- chrome.test.notifyFail( |
- "[FAIL] Split-mode incognito test received an event for " + |
- (tab.incognito ? "an incognito" : "a normal") + |
- " tab in the wrong profile."); |
- } |
-}); |
- |
-chrome.extension.onRequest.addListener( |
- function(request, sender, sendResponse) { |
- if (inIncognitoContext != sender.tab.incognito) { |
- chrome.test.notifyFail( |
- "[FAIL] Split-mode incognito test received a message from " + |
- (sender.tab.incognito ? "an incognito" : "a normal") + |
- " tab in the wrong profile."); |
- } |
-}); |
- |
-chrome.test.getConfig(function(config) { |
- chrome.test.runTests([ |
- function setupWindows() { |
- // The test harness should have set us up with 2 windows: 1 incognito |
- // and 1 regular. Since we are in split mode, we should only see the |
- // window for our profile. |
- chrome.windows.getAll({populate: true}, pass(function(windows) { |
- assertEq(1, windows.length); |
- |
- win = windows[0]; |
- tab = win.tabs[0]; |
- assertEq(inIncognitoContext, win.incognito); |
- })); |
- }, |
- |
- // Tests that we can update an incognito tab and get the event for it. |
- function tabUpdate() { |
- var newUrl = "about:blank"; |
- |
- // Prepare the event listeners first. |
- var done = chrome.test.listenForever(chrome.tabs.onUpdated, |
- function(id, info, tab) { |
- assertEq(tab.id, id); |
- assertEq(inIncognitoContext, tab.incognito); |
- assertEq(newUrl, tab.url); |
- if (info.status == "complete") |
- done(); |
- }); |
- |
- // Update our tab. |
- chrome.tabs.update(tab.id, {"url": newUrl}, pass()); |
- }, |
- |
- // Tests content script injection to verify that the script can tell its |
- // in incongnito. |
- function contentScriptTestIncognito() { |
- var testUrl = "http://localhost:PORT/files/extensions/test_file.html" |
- .replace(/PORT/, config.testServer.port); |
- |
- // Test that chrome.extension.inIncognitoContext is true for incognito |
- // tabs. |
- chrome.tabs.create({windowId: win.id, url: testUrl}, |
- pass(function(tab) { |
- chrome.tabs.executeScript(tab.id, |
- {code: 'chrome.extension.sendRequest({' + |
- ' inIncognitoContext: chrome.extension.inIncognitoContext' + |
- '});'}, |
- pass(function() { |
- assertEq(undefined, chrome.extension.lastError); |
- })); |
- })); |
- |
- var done = chrome.test.listenForever(chrome.extension.onRequest, |
- function(request, sender, sendResponse) { |
- assertEq(inIncognitoContext, request.inIncognitoContext); |
- sendResponse(); |
- done(); |
- }); |
- }, |
- |
- // Tests that we can receive bookmarks events in both extension processes. |
- function bookmarkCreate() { |
- // Each process will create 1 bookmark, but expects to see updates from |
- // the other process. |
- var nodeNormal = {parentId:"1", title:"normal", url:"http://google.com/"}; |
- var nodeIncog = {parentId:"1", title:"incog", url:"http://google.com/"}; |
- var node = inIncognitoContext ? nodeIncog : nodeNormal; |
- var count = 0; |
- var done = chrome.test.listenForever(chrome.bookmarks.onCreated, |
- function(id, created) { |
- node = (created.title == nodeNormal.title) ? nodeNormal : nodeIncog; |
- node.id = created.id; |
- node.index = created.index; |
- chrome.test.assertEq(id, node.id); |
- chrome.test.assertTrue(compareNode(node, created)); |
- if (++count == 2) { |
- chrome.test.log("Bookmarks created. Incognito=" + |
- inIncognitoContext); |
- done(); |
- } |
- }); |
- var message = |
- inIncognitoContext ? "waiting_incognito" : "waiting"; |
- chrome.test.sendMessage(message, pass(function() { |
- chrome.bookmarks.create(node, pass(function(results) { |
- node.id = results.id; // since we couldn't know this going in |
- node.index = results.index; |
- chrome.test.assertTrue(compareNode(node, results), |
- "created node != source"); |
- })); |
- })); |
- }, |
- |
- // Tests that we can set cookies in both processes. |
- function setDocumentCookie() { |
- document.cookie = "k=v"; |
- chrome.test.assertTrue(document.cookie.indexOf("k=v") != -1); |
- chrome.test.succeed(); |
- } |
- ]); |
- |
-}); |
- |
-</script> |
+<!-- |
+ * Copyright (c) 2011 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. |
+--> |
+<script src="background.js"></script> |