gecko-dev/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_placesTitleNoUpdate.js
Ehsan Akhgari ed5a2ed7ba Bug 852017 - Clean up the private browsing browser-chrome tests; jdm
--HG--
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_DownloadLastDirWithCPS.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_DownloadLastDirWithCPS.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_certexceptionsui.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_certexceptionsui.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_concurrent.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_concurrent.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_concurrent_page.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_concurrent_page.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_cookieacceptdialog.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_cookieacceptdialog.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_cookieacceptdialog.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_cookieacceptdialog.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_crh.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_crh.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_downloadLastDir.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_downloadLastDir.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_downloadLastDir_c.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_downloadLastDir_c.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_downloadLastDir_toggle.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_downloadLastDir_toggle.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_geoprompt.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_geoprompt.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_geoprompt_page.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_geoprompt_page.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_lastpbcontextexited.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_lastpbcontextexited.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_localStorage.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_localStorage.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_localStorage_before_after.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_localStorage_before_after.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_localStorage_before_after_page.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_localStorage_before_after_page.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_localStorage_before_after_page2.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_localStorage_before_after_page2.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_localStorage_page1.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_localStorage_page1.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_localStorage_page2.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_localStorage_page2.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_nonbrowser.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_nonbrowser.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_openLocationLastURL.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_openLocationLastURL.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_opendir.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_opendir.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_openlocation.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_openlocation.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_placesTitleNoUpdate.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_placesTitleNoUpdate.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_placesTitleNoUpdate.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_placesTitleNoUpdate.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_placestitle.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_placestitle.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_popupblocker.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_popupblocker.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_protocolhandler.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_protocolhandler.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_protocolhandler_page.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_protocolhandler_page.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_theming.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_theming.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_ui.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_ui.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_urlbarfocus.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_urlbarfocus.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_windowtitle.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_windowtitle.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_windowtitle_page.html => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_windowtitle_page.html
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_zoom.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_zoom.js
rename : browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_zoomrestore.js => browser/components/privatebrowsing/test/browser/browser_privatebrowsing_zoomrestore.js
rename : browser/components/privatebrowsing/test/browser/perwindow/head.js => browser/components/privatebrowsing/test/browser/head.js
rename : browser/components/privatebrowsing/test/browser/perwindow/popup.html => browser/components/privatebrowsing/test/browser/popup.html
rename : browser/components/privatebrowsing/test/browser/perwindow/title.sjs => browser/components/privatebrowsing/test/browser/title.sjs
extra : rebase_source : 08fa25127187a0f6c56fcf39c38b8fa7a0dc4b88
2013-03-18 17:13:05 -04:00

123 lines
3.8 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Test to make sure that the visited page titles do not get updated inside the
// private browsing mode.
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/PlacesUtils.jsm");
function test() {
waitForExplicitFinish();
const TEST_URL = "http://mochi.test:8888/browser/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_placesTitleNoUpdate.html"
const TEST_URI = Services.io.newURI(TEST_URL, null, null);
const TITLE_1 = "Title 1";
const TITLE_2 = "Title 2";
let selectedWin = null;
let windowsToClose = [];
let tabToClose = null;
let testNumber = 0;
let historyObserver;
registerCleanupFunction(function() {
PlacesUtils.history.removeObserver(historyObserver, false);
windowsToClose.forEach(function(aWin) {
aWin.close();
});
gBrowser.removeTab(tabToClose);
});
waitForClearHistory(function () {
historyObserver = {
onTitleChanged: function(aURI, aPageTitle) {
switch (++testNumber) {
case 1:
afterFirstVisit();
break;
case 2:
afterUpdateVisit();
break;
}
},
onBeginUpdateBatch: function () {},
onEndUpdateBatch: function () {},
onVisit: function () {},
onDeleteURI: function () {},
onClearHistory: function () {},
onPageChanged: function () {},
onDeleteVisits: function() {},
QueryInterface: XPCOMUtils.generateQI([Ci.nsINavHistoryObserver])
};
PlacesUtils.history.addObserver(historyObserver, false);
tabToClose = gBrowser.addTab();
gBrowser.selectedTab = tabToClose;
whenPageLoad(window, function() {});
});
function afterFirstVisit() {
is(PlacesUtils.history.getPageTitle(TEST_URI), TITLE_1, "The title matches the orignal title after first visit");
let place = {
uri: TEST_URI,
title: TITLE_2,
visits: [{
visitDate: Date.now() * 1000,
transitionType: Ci.nsINavHistoryService.TRANSITION_LINK
}]
};
PlacesUtils.asyncHistory.updatePlaces(place, {
handleError: function () do_throw("Unexpected error in adding visit."),
handleResult: function () { },
handleCompletion: function () {}
});
}
function afterUpdateVisit() {
is(PlacesUtils.history.getPageTitle(TEST_URI), TITLE_2, "The title matches the updated title after updating visit");
testOnWindow(true, function(aWin) {
whenPageLoad(aWin, function() {
executeSoon(afterFirstVisitInPrivateWindow);
});
});
}
function afterFirstVisitInPrivateWindow() {
is(PlacesUtils.history.getPageTitle(TEST_URI), TITLE_2, "The title remains the same after visiting in private window");
waitForClearHistory(finish);
}
function whenPageLoad(aWin, aCallback) {
aWin.gBrowser.selectedBrowser.addEventListener("load", function onLoad() {
aWin.gBrowser.selectedBrowser.removeEventListener("load", onLoad, true);
aCallback();
}, true);
aWin.gBrowser.selectedBrowser.loadURI(TEST_URL);
}
function testOnWindow(aPrivate, aCallback) {
whenNewWindowLoaded({ private: aPrivate }, function(aWin) {
selectedWin = aWin;
windowsToClose.push(aWin);
executeSoon(function() { aCallback(aWin) });
});
}
function waitForClearHistory(aCallback) {
let observer = {
observe: function(aSubject, aTopic, aData) {
Services.obs.removeObserver(this, PlacesUtils.TOPIC_EXPIRATION_FINISHED);
aCallback();
}
};
Services.obs.addObserver(observer, PlacesUtils.TOPIC_EXPIRATION_FINISHED, false);
PlacesUtils.bhistory.removeAllPages();
}
}