Revision control

Copy as Markdown

Other Tools

/* 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/. */
function Startup()
{
var urlbarHistButton = document.getElementById("ClearUrlBarHistoryButton");
var lastUrlPref = document.getElementById("general.open_location.last_url");
var locBarPref = document.getElementById("browser.urlbar.historyEnabled");
var isBtnDisabled = lastUrlPref.locked || !locBarPref.value;
try {
if (!isBtnDisabled && !lastUrlPref.hasUserValue) {
var file = GetUrlbarHistoryFile();
if (!file.exists())
isBtnDisabled = true;
else {
var connection = Services.storage.openDatabase(file);
isBtnDisabled = !connection.tableExists("urlbarhistory");
connection.close();
}
}
urlbarHistButton.disabled = isBtnDisabled;
}
catch(ex) {
}
var globalHistButton = document.getElementById("browserClearHistory");
var globalHistory = Cc["@mozilla.org/browser/nav-history-service;1"]
.getService(Ci.nsINavHistoryService);
if (!globalHistory.hasHistoryEntries)
globalHistButton.disabled = true;
}
function prefClearGlobalHistory()
{
const {PlacesUtils} = ChromeUtils.import("resource://gre/modules/PlacesUtils.jsm");
PlacesUtils.history.clear();
}
function prefClearUrlbarHistory(aButton)
{
document.getElementById("general.open_location.last_url").valueFromPreferences = "";
var file = GetUrlbarHistoryFile();
if (file.exists())
file.remove(false);
aButton.disabled = true;
}
function prefUrlBarHistoryToggle(aChecked)
{
var file = GetUrlbarHistoryFile();
if (file.exists())
document.getElementById("ClearUrlBarHistoryButton").disabled = !aChecked;
}