bug 328243 - disband the browser shim, move locale to locales dir, move theme to themes dir. r=annie.sullivan@gmail.com

This commit is contained in:
beng%bengoodger.com 2006-02-24 21:41:34 +00:00
Родитель 49ea86279d
Коммит 5fd0faee5b
49 изменённых файлов: 1676 добавлений и 60 удалений

Просмотреть файл

@ -11,5 +11,9 @@
%charsetDTD;
<!ENTITY % findBarDTD SYSTEM "chrome://global/locale/findbar.dtd" >
%findBarDTD;
#ifdef MOZ_PLACES
<!ENTITY % placesDTD SYSTEM "chrome://browser/locale/places/places.dtd">
%placesDTD;
#endif
]>

Просмотреть файл

@ -48,6 +48,9 @@
<stringbundle id="bundle_shell" src="chrome://browser/locale/shellservice.properties"/>
<stringbundle id="bundle_findBar" src="chrome://global/locale/findbar.properties"/>
<stringbundle id="bundle_preferences" src="chrome://browser/locale/preferences/preferences.properties"/>
#ifdef MOZ_PLACES
<stringbundle id="placeBundle" src="chrome://browser/locale/places/places.properties"/>
#endif
</stringbundleset>
<commandset id="globalEditCommandSet"
@ -161,6 +164,11 @@
<command id="Tools:Extensions" oncommand="BrowserOpenExtensions('extensions');"/>
<command id="Tools:Themes" oncommand="BrowserOpenExtensions('themes');"/>
<command id="Tools:Sanitize" oncommand="gBrowserGlue.sanitize(window || null);"/>
#ifdef MOZ_PLACES
#include ../../components/places/content/commands.inc
<command id="Browser:ShowBookmarks" oncommand="PlacesBrowserShim.showBookmarks();"/>
<command id="Browser:ShowHistory" oncommand="PlacesBrowserShim.showHistory();"/>
#endif
</commandset>
<broadcasterset id="mainBroadcasterSet">

Просмотреть файл

@ -12,8 +12,17 @@ menuitem.spell-suggestion {
font-weight:bold;
}
#noPreviewAvailable
{
#noPreviewAvailable {
background-color: white !important;
font-size: 12px !important;
}
#bookmarksBarContent {
-moz-binding: url("chrome://browser/content/places/toolbar.xml#places-bar");
overflow: hidden;
}
menupopup[type="places"] {
-moz-binding: url("chrome://browser/content/places/menu.xml#places-menupopup");
}

Просмотреть файл

@ -725,6 +725,9 @@ function BrowserStartup()
document.documentElement.setAttribute("height", defaultHeight);
}
#ifdef MOZ_PLACES
PlacesBrowserShim.init();
#endif
setTimeout(delayedStartup, 0);
}
@ -864,8 +867,10 @@ function delayedStartup()
document.getElementById("PersonalToolbar")
.controllers.appendController(BookmarksMenuController);
#else
/*
var bookmarksBar = document.getElementById("bookmarksBarContent");
bookmarksBar.init();
*/
#endif
// called when we go into full screen, even if it is
@ -1841,11 +1846,13 @@ function getShortcutOrURI(aURL, aPostDataRef)
try {
var shortcutURL = null;
#ifdef MOZ_PLACES
/*
var bookmarkService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
.getService(nsCI.nsINavBookmarksService);
var shortcutURI = bookmarkService.getURIForKeyword(aURL);
if (shortcutURI)
shortcutURL = shortcutURI.spec;
*/
#else
shortcutURL = BMSVC.resolveKeyword(aURL, aPostDataRef);
#endif
@ -1857,9 +1864,11 @@ function getShortcutOrURI(aURL, aPostDataRef)
var cmd = aURL.substr(0, aOffset);
var text = aURL.substr(aOffset+1);
#ifdef MOZ_PLACES
/*
shortcutURI = bookmarkService.getURIForKeyword(cmd);
if (shortcutURI)
shortcutURL = shortcutURI.spec;
*/
#else
shortcutURL = BMSVC.resolveKeyword(cmd, aPostDataRef);
#endif
@ -2242,6 +2251,7 @@ function SetPageProxyState(aState)
function PageProxySetIcon (aURL)
{
#ifdef MOZ_PLACES
/*
// Save this favicon in the favicon service
if (aURL) {
var faviconService = Components.classes["@mozilla.org/browser/favicon-service;1"].
@ -2250,6 +2260,7 @@ function PageProxySetIcon (aURL)
.getService(Components.interfaces.nsIIOService).newURI(aURL, null, null);
faviconService.setAndLoadFaviconForPage(gBrowser.currentURI, uri, false);
}
*/
#endif
if (!gProxyFavIcon)
@ -6238,3 +6249,690 @@ var FeedHandler = {
}
}
};
#ifdef MOZ_PLACES
var PlacesBrowserShim = {
_bms: null, // Bookmark Service
_lms: null, // Livemark Service
_hist: null, // History Service
_ios: null, // IO Service, useful for making nsIURI objects
_strings: null, // Localization string bundle
// XXXben: these should die
_currentURI: null, // URI of the bookmark being modified
_assignableFolderResult: null, // root of user-writable folders
MAX_INDENT_DEPTH: 6, // maximum indentation level of "tag" display
init: function PBS_init() {
this._bms =
Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
getService(Ci.nsINavBookmarksService);
this._lms =
Cc["@mozilla.org/browser/livemark-service;1"].
getService(Ci.nsILivemarkService);
this._hist =
Cc["@mozilla.org/browser/nav-history-service;1"].
getService(Ci.nsINavHistoryService);
this._ios =
Cc["@mozilla.org/network/io-service;1"].
getService(Ci.nsIIOService);
this._strings = document.getElementById("placeBundle");
// Override the old addLivemark function
//BookmarksUtils.addLivemark = function(a,b,c,d) {PlacesBrowserShim.addLivemark(a,b,c,d);};
// XXXben - wrong
var addBookmarkCmd = document.getElementById("Browser:AddBookmarkAs");
addBookmarkCmd.setAttribute("oncommand", "PlacesBrowserShim.addBookmark()");
// XXXben - why isn't this done by the binding?
var newMenuPopup = document.getElementById("bookmarksMenuPopup");
var query = this._hist.getNewQuery();
query.setFolders([this._bms.bookmarksRoot], 1);
var options = this._hist.getNewQueryOptions();
options.setGroupingMode([Ci.nsINavHistoryQueryOptions.GROUP_BY_FOLDER], 1);
options.expandQueries = true;
var result = this._hist.executeQuery(query, options);
newMenuPopup._result = result;
newMenuPopup._resultNode = result.root;
this._registerEventHandlers();
window.controllers.appendController(PlacesController);
PlacesController.topWindow = window;
PlacesController.tm = PlacesTransactionManager;
},
/**
* This method creates a query for the set of assignable folders.
* This only needs to be created once; when closed (using
* root.containerOpen = false) and reopened, the results will be regenerated
* if the data has changed since the close.
* XXXben - why is this done during startup?!
*/
_initAssignableFolderResult: function PBS__initAssignableFolderRoot() {
var query = this._hist.getNewQuery();
query.setFolders([this._bms.placesRoot], 1);
var options = this._hist.getNewQueryOptions();
options.setGroupingMode([Ci.nsINavHistoryQueryOptions.GROUP_BY_FOLDER], 1);
options.excludeItems = true;
this._assignableFolderResult = this._hist.executeQuery(query, options);
},
addBookmark: function PBS_addBookmark() {
var selectedBrowser = getBrowser().selectedBrowser;
this._bookmarkURI(this._bms.bookmarksRoot, selectedBrowser.currentURI,
selectedBrowser.contentTitle);
},
_bookmarkURI: function PBS__bookmarkURI(folder, uri, title) {
this._bms.insertItem(folder, uri, -1);
this._bms.setItemTitle(uri, title);
},
showHistory: function PBS_showHistory() {
this._showPlacesView("chrome://browser/content/places/places.xul?history");
},
showBookmarks: function PBS_showBookmarks() {
this._showPlacesView("chrome://browser/content/places/places.xul?bookmarks");
},
/**
* This method shows the given URI string in whatever form we've decided
* is appropriate for the "Places" UI. (It is intended to be used only for
* displaying the Places chrome.)
*/
_showPlacesView: function PBS__showPlacesView(uriString) {
var tab = getBrowser().addTab(uriString);
getBrowser().selectedTab = tab;
},
addLivemark: function PBS_addLivemark(url, feedURL, title, description) {
// XXXas TODO -- put in nice confirmation dialog.
this._lms.createLivemark(this._bms.toolbarRoot,
title,
this._makeURI(url),
this._makeURI(feedURL),
-1);
},
/**
* Makes an nsIURI object from a string containing a URI.
*/
_makeURI: function PBS__makeURI(urlString) {
ASSERT(urlString, "_makeURI called with an empty or undefined string parameter");
return this._ios.newURI(urlString, null, null);
},
/**
* Gets the URI that the visible browser tab is rendering.
*
* @returns a string containing the URI currently being shown
*/
_getCurrentLocation: function PBS__getCurrentLocation() {
return getBrowser().selectedBrowser.webNavigation.currentURI;
},
/**
* This method updates the state of navigation buttons (i.e. bookmark, feeds)
* which depend on the location and contents of the current page.
*/
_updateControlStates: function PBS__updateControlStates() {
var bookmarkButton = document.getElementById("places-bookmark");
if (bookmarkButton) {
if (this._bms.isBookmarked(this._getCurrentLocation()))
bookmarkButton.label = this._strings.getString("locationStatusBookmarked");
else
bookmarkButton.label = this._strings.getString("locationStatusNotBookmarked");
}
var feedButton = document.getElementById("places-subscribe");
if (feedButton) {
if (gBrowser.selectedBrowser.feeds)
feedButton.removeAttribute("disabled");
else
feedButton.setAttribute("disabled", "true");
}
},
/**
* Register the event handlers that Places needs to update its state.
*/
_registerEventHandlers: function PBS_registerEventHandlers() {
var self = this;
function onPageShow(e){
self.onPageShow(e);
}
// XXXben comment out until we figure out what's up with tboxes.
//getBrowser().addEventListener("pageshow", onPageShow, true);
function onTabSwitch(e) {
self.onTabSwitch(e);
}
getBrowser().mTabBox.addEventListener("select", onTabSwitch, true);
},
/**
* Prepares the bookmark properties dialog for display; should be called
* from the dialog's onload handler with a reference to the dialog's
* DOM window object.
*/
prepareBookmarkDialog: function PBS_prepareBookmarkDialog(dialogWindow) {
this.populateProperties(dialogWindow.document);
this.sizeAndPositionBookmarkDialog(dialogWindow);
},
sizeAndPositionBookmarkDialog: function PBS_sizeAndPositionBookmarkDialog(childWindow) {
var urlbar = document.getElementById("urlbar");
var editUrlbar = childWindow.document.getElementById("edit-urlbar");
var newx = Math.max(0, urlbar.boxObject.x + window.screenX - editUrlbar.boxObject.x);
var newy = urlbar.boxObject.y + window.screenY - editUrlbar.boxObject.y;
childWindow.moveTo(newx, newy);
var childDoc = childWindow.document;
var tagbox = childDoc.getElementById("tagbox");
tagbox.style.overflow="auto";
var pio = childDoc.getElementById("places-info-options");
var pig = childDoc.getElementById("places-info-grid");
childDoc.documentElement.getButton("accept").hidden=true;
var newHeight = pio.boxObject.y + pio.boxObject.height + 5;
childWindow.resizeTo(childWindow.innerWidth, newHeight);
},
/**
* This method should be called when the location currently being
* rendered by a browser changes (loading new page or forward/back).
*/
onPageShow: function PBS_onPageShow(e) {
if (e.target && e.target.nodeName == "#document") {
this._updateControlStates();
}
},
/**
* This method should be called when the user switches active tabs.
*/
onTabSwitch: function PBS_onTabSwitch(e) {
if (e.target == null || e.target.localName != "tabs")
return;
this._updateControlStates();
},
///////////////// ALL THIS NEEDS TO MOVE TO SEPARATE DIALOG SCRIPT FILE! --->
/**
* This method should be called when the bookmark button is clicked.
*/
onBookmarkButtonClick: function PBS_onBookmarkButtonClick() {
this._currentURI = this._getCurrentLocation();
if (this._bms.isBookmarked(this._currentURI)) {
this.showBookmarkProperties();
} else {
this._bms.insertItem(this._bms.bookmarksRoot, this._currentURI, -1);
this._updateControlStates();
}
},
populateProperties: function PBS_populateProperties(document, location, title) {
if (!location) {
location = this._currentURI;
title = this._currentTitle;
}
var nurl = document.getElementById("edit-urlbar");
var titlebox = document.getElementById("edit-titlebox");
nurl.value = location.spec;
titlebox.value = title;
var tagArea = document.getElementById("tagbox");
while (tagArea.hasChildNodes()) {
tagArea.removeChild(tagArea.firstChild);
}
var elementDict = {};
var root = this._assignableFolderResult.root; //Root is always a container.
root.containerOpen = true;
this._populateTags(root, 0, tagArea, elementDict);
root.containerOpen = false;
var categories = this._bms.getBookmarkFolders(location, {});
this._updateFolderTextbox(document, location);
var length = 0;
for (key in elementDict) {
length++;
}
for (var i=0; i < categories.length; i++) {
var elm = elementDict[categories[i]];
elm.setAttribute("selected", "true");
}
},
/**
* This method shows the bookmark properties dialog. If bookmarkURI
* is undefined, the dialog with display properties for the URI of the
* most recently displayed page; if it is set to an nsIURI object, it
* will display properties for the bookmark identified by that URI.
* The URI used should already have been bookmarked using _bookmarkURI().
*/
showBookmarkProperties: function PBS_showBookmarkProperties(bookmarkURI) {
if (bookmarkURI) {
this._currentURI = bookmarkURI;
}
ASSERT(this._bms.isBookmarked(this._currentURI), "showBookmarkProperties() was called on a URI that hadn't been bookmarked: " + this._currentURI.spec);
this._currentTitle = this._bms.getItemTitle(this._currentURI);
window.openDialog("chrome://browser/content/places/bookmarkProperties.xul", "bookmarkproperties", "width=600,height=400,chrome,dependent,modal,resizable");
},
/**
* This method is called to exit the Bookmark Properties panel.
*
* @param aSaveChanges boolean, should be true if changes performed while
* the panel was active should be saved
* @param document the document containing the fields needing to be saved
*/
hideBookmarkProperties:
function PBS_hideBookmarkProperties(saveChanges, document) {
if (saveChanges) {
var titlebox = document.getElementById("edit-titlebox");
this._bms.setItemTitle(this._currentURI, titlebox.value);
var urlbox = document.getElementById("edit-urlbar");
if (urlbox.value != this._currentURI.spec) {
// TODO delete existing bookmark, create new one with same folder/locations
}
}
this._updateControlStates();
},
/**
* This method deletes the bookmark corresponding to the URI stored
* in _currentURI. _currentURI represents the URI that the Bookmark
* Properties panel is currently viewing/editing. Therefore, this method
* is only relevant in when the Bookmark Properties panel is active.
*/
deleteBookmark: function PBS_deleteBookmark() {
if (!this._currentURI)
return;
var folders = this._bms.getBookmarkFolders(this._currentURI, {});
if (folders.length == 0)
return;
this._bms.beginUpdateBatch();
for (var i = 0; i < folders.length; i++) {
this._bms.removeItem(folders[i], this._currentURI);
}
this._bms.endUpdateBatch();
},
/**
* This method implements the "Show all bookmarks" action
* in the Bookmark Properties dialog.
*/
dialogShowBookmarks: function PBS_dialogShowBookmarks(dialogWindow) {
this.hideBookmarkProperties(true, dialogWindow.document);
dialogWindow.close();
this.showBookmarks();
},
/**
* This method implements the "Delete Bookmark" action
* in the Bookmark Properties dialog.
*/
dialogDeleteBookmark: function PBS_dialogDeleteBookmark(dialogWindow) {
this.deleteBookmark();
this.hideBookmarkProperties(false, dialogWindow.document);
dialogWindow.close();
},
/**
* This method implements the "Done" action
* in the Bookmark Properties dialog.
*/
dialogDone: function PBS_dialogDone(dialogWindow) {
this.hideBookmarkProperties(true, dialogWindow.document);
dialogWindow.close();
},
/**
* This method sets the contents of the "Folders" textbox in the
* Bookmark Properties panel.
*
* @param document the document containing the textbox element
* @param uri an nsIURI object representing the current bookmark's URI
*/
_updateFolderTextbox: function PBS__updateFolderTextbox(document, uri) {
var folderTextbox = document.getElementById("places-folder-list");
folderTextbox.value = this._getFolderNameListForURI(uri);
},
/**
* This method gets the list of folders that contain the current bookmark.
*
* @param aURI a nsIURI object representing the URI of the current bookmark
*
* @returns a comma-separated list of folder names in string form
*/
_getFolderNameListForURI: function PBS__getFolderNameListForURI(uri) {
var folders = this._bms.getBookmarkFolders(uri, {});
var results = [];
for (var i = 0; i < folders.length; i++) {
results.push(this._bms.getFolderTitle(folders[i]));
}
return results.join(", ");
},
/**
* Recursively populates the tag-like set of clickable folders.
*
* @param aContainer a reference to an nsINavHistoryContainerResultNode
* (whose) containerOpen property is set to true) representing
* the roote of the bookmark folder tree
* @param aDepth the current iteration depth -- pass this 0 at the top level.
* This only affects the visual indentation level of the tag display.
* @param aParentElement a vbox element into which the tags will be populated
* @param aElementDict a dictionary mapping folder IDs to element references
* to be populated in this method
*
* @returns none
*/
_populateTags:
function PBS__populateTags (container, depth, parentElement, elementDict) {
ASSERT(container.containerOpen, "The containerOpen property of the container parameter should be set to true before calling populateTags(), and then set to false again afterwards.");
var row = null;
for (var i = 0; i < container.childCount; i++) {
var childNode = container.getChild(i);
if (childNode.type != childNode.RESULT_TYPE_FOLDER)
continue;
var childFolder =
childNode.QueryInterface(Ci.nsINavHistoryFolderResultNode);
childFolder.containerOpen = true;
// If we can't alter it, no use showing it as an option.
// childFolder.childrenReadOnly currently returns wrong answer for
// livemarks (joe@retrovirus.com 2006-02-14)
// if (childFolder.childrenReadOnly) {
if (this._bms.getFolderReadonly(childFolder.folderId)) {
childFolder.containerOpen = false;
continue;
}
if (childFolder.hasChildren) {
row = document.createElement("hbox");
row.setAttribute("class", "l" + depth);
var tag = this._createTagElement(childFolder, false);
elementDict[childFolder.folderId] = tag;
tag.setAttribute("isparent", "true");
row.appendChild(tag);
parentElement.appendChild(row);
row = null;
var nextDepth = depth + 1;
// We're limiting max indentation level here.
if (nextDepth > this.MAX_INDENT_DEPTH)
nextDepth = this.MAX_INDENT_DEPTH;
this._populateTags(childFolder, nextDepth, parentElement, elementDict);
} else {
if (row == null) {
row = document.createElement("description");
row.setAttribute("class", "l" + depth);
parentElement.appendChild(row);
} else {
// we now know that there must"ve been a tag before us on the same row
var separator = document.createElement("label");
separator.setAttribute("value", eval("\"\\u2022\"")); // bullet
separator.setAttribute("class", "tag-separator");
row.appendChild(separator);
}
var tag = this._createTagElement(childFolder, false);
elementDict[childFolder.folderId] = tag;
row.appendChild(tag);
}
childFolder.containerOpen = false;
}
},
/**
* This method creates a XUL element to represent a given Bookmark
* folder node.
*
* @param aNode an nsINavHistoryFolderResultNode object
* @param aIsSelected boolean, true if the given folder is currently selected
*
* @return a new XUL element corresponding to aNode
*/
_createTagElement: function PBS_createTagElement(node, isSelected) {
var tag = document.createElement("label");
tag.setAttribute("value", node.title);
tag.setAttribute("folderid", node.folderId);
tag.setAttribute("selected", "" + isSelected);
var self = this;
function onClick(e) {
self.tagClicked(e);
}
tag.addEventListener("command", onClick, false);
// We need the click event handler until we change the element from labels
// to something like checkboxes.
tag.addEventListener("click", onClick, false);
tag.setAttribute("class", "tag");
return tag;
},
/**
* This method should be called when a tag element generated by
* _createTagElement is clicked by the user.
*/
tagClicked: function PBS_tagClicked(event) {
var tagElement = event.target;
var folderId = parseInt(tagElement.getAttribute("folderid"));
if (tagElement.getAttribute("selected") == "true") {
this._bms.removeItem(folderId, this._currentURI);
tagElement.setAttribute("selected", "false");
} else {
this._bms.insertItem(folderId, this._currentURI, -1);
tagElement.setAttribute("selected", "true");
}
this._updateFolderTextbox(tagElement.ownerDocument, this._currentURI);
},
};
/**
* This is a custom implementation of nsITransactionManager. We do not chain
* or aggregate the default implementation because the order in which
* transactions are performed and undone is important to the user experience.
* There are two classes of transactions - those done by the browser window
* that contains this transaction manager, and those done by the embedded
* Places page. All transactions done in either part of the UI are recorded
* here, but ones performed by actions taken in the Places page affect the
* Undo/Redo menu items and keybindings in the browser window only when the
* Places page is the active tab. This is to prevent the user from accidentally
* undoing/redoing their changes while the Places page is not selected, and the
* user not noticing.
*
* When the Places page is navigated away from, the undo items registered for
* it are destroyed and the ability to undo those actions ceases.
*/
var PlacesTransactionManager = {
_undoItems: [],
_redoItems: [],
hidePageTransactions: true,
_getNextVisibleIndex: function PTM__getNextVisibleItem(list) {
if (!this.hidePageTransactions)
return list.length - 1;
for (var i = list.length - 1; i >= 0; --i) {
if (!list[i].pageTransaction)
return i;
}
return -1;
},
updateCommands: function PTM__updateCommands() {
CommandUpdater.updateCommand("cmd_undo");
CommandUpdater.updateCommand("cmd_redo");
},
doTransaction: function PTM_doTransaction(transaction) {
transaction.doTransaction();
this._undoItems.push(transaction);
this._redoItems = [];
this.updateCommands();
},
undoTransaction: function PTM_undoTransaction() {
var index = this._getNextVisibleIndex(this._undoItems);
ASSERT(index >= 0, "Invalid Transaction index");
var transaction = this._undoItems.splice(index, 1)[0];
transaction.undoTransaction();
this._redoItems.push(transaction);
this.updateCommands();
},
redoTransaction: function PTM_redoTransaction() {
var index = this._getNextVisibleIndex(this._redoItems);
ASSERT(index >= 0, "Invalid Transaction index");
var transaction = this._redoItems.splice(index, 1)[0];
transaction.redoTransaction();
this._undoItems.push(transaction);
this.updateCommands();
},
clear: function PTM_clear() {
this._undoItems = [];
this._redoItems = [];
this.updateCommands();
},
beginBatch: function PTM_beginBatch() {
},
endBatch: function PTM_endBatch() {
},
get numberOfUndoItems() {
return this.getUndoList().numItems;
},
get numberOfRedoItems() {
return this.getRedoList().numItems;
},
maxTransactionCount: -1,
peekUndoStack: function PTM_peekUndoStack() {
var index = this._getNextVisibleIndex(this._undoItems);
ASSERT(index >= 0, "Invalid Transaction index");
return this._undoItems[index];
},
peekRedoStack: function PTM_peekRedoStack() {
var index = this._getNextVisibleIndex(this._redoItems);
ASSERT(index >= 0, "Invalid Transaction index");
return this._redoItems[index];
},
_filterList: function PTM__filterList(list) {
if (!this.hidePageTransactions)
return list;
var transactions = [];
for (var i = 0; i < list.length; ++i) {
if (!list[i].pageTransaction)
transactions.push(list[i]);
}
return transactions;
},
getUndoList: function PTM_getUndoList() {
return new TransactionList(this._filterList(this._undoItems));
},
getRedoList: function PTM_getRedoList() {
return new TransactionList(this._filterList(this._redoItems));
},
_listeners: [],
AddListener: function PTM_AddListener(listener) {
this._listeners.push(listener);
},
RemoveListener: function PTM_RemoveListener(listener) {
for (var i = 0; i < this._listeners.length; ++i) {
if (this._listeners[i] == listener)
this._listeners.splice(i, 1);
}
},
QueryInterface: function PTM_QueryInterface(iid) {
if (iid.equals(Ci.nsITransactionManager) ||
iid.equals(Ci.nsISupports))
return this;
throw Cr.NS_ERROR_NOINTERFACE;
}
};
function TransactionList(transactions) {
this._transactions = transactions;
}
TransactionList.prototype = {
get numItems() {
return this._transactions.length;
},
itemIsBatch: function TL_itemIsBatch(index) {
return false;
},
getItem: function TL_getItem(index) {
return this._transactions[i];
},
getNumChildrenForItem: function TL_getNumChildrenForItem(index) {
return 0;
},
getChildListForItem: function TL_getChildListForItem(index) {
return null;
},
QueryInterface: function TL_QueryInterface(iid) {
if (iid.equals(Ci.nsITransactionList) ||
iid.equals(Ci.nsISupports))
return this;
throw Cr.NS_ERROR_NOINTERFACE;
}
};
#endif

Просмотреть файл

@ -110,6 +110,9 @@
#include browser-context.inc
#ifdef MOZ_PLACES
#include ../../components/places/content/context.inc
#endif
</popupset>
# The hacky hidden tree used by the Go menu to build items.
@ -266,7 +269,20 @@
tooltiptext="&throbber.tooltip;"/>
</toolbaritem>
#ifndef MOZ_PLACES
#ifdef MOZ_PLACES
<toolbarbutton id="bookmarksBarShowPlaces"
oncommand="PlacesBrowserShim.showHistory()"/>
<toolbaritem flex="1" id="bookmarksBarContainer">
<hbox id="bookmarksBarContent" flex="1" context="placesContext"/>
</toolbaritem>
<toolbarbutton id="places-bookmark"
label="&location.status.not_bookmarked;"
tooltiptext="&location.status.bookmark.tooltip;"
oncommand="PlacesBrowserShim.onBookmarkButtonClick();"/>
<toolbarbutton id="places-subscribe"
label="&feed.subscribe.label;"
tooltiptext="&feed.subscribe.tooltip;"/>
#else
<toolbaritem id="personal-bookmarks" title="&bookmarksItem.title;" flex="1"
class="chromeclass-directories">
<stack id="bookmarks-stack" flex="1" style="min-width:0px; width:0px; overflow: hidden;"
@ -402,7 +418,12 @@
<toolbarset id="customToolbars" context="toolbar-context-menu"/>
#ifndef MOZ_PLACES
#ifdef MOZ_PLACES
<toolbar id="bookmarksToolbar"
defaultset="bookmarksBarShowPlaces,bookmarksBarContainer"
toolbarname="&places.toolbar.label;"
customizable="true"/>
#else
<toolbar id="PersonalToolbar" class="chromeclass-directories" iconsize="small"
customizable="true" defaultset="personal-bookmarks" mode="icons"
toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"

Просмотреть файл

@ -42,7 +42,9 @@
<script type="application/x-javascript" src="chrome://global/content/findBar.js"/>
<script type="application/x-javascript" src="chrome://global/content/printUtils.js"/>
<script type="application/x-javascript" src="chrome://browser/content/utilityOverlay.js"/>
#ifndef MOZ_PLACES
#ifdef MOZ_PLACES
<script type="application/x-javascript" src="chrome://browser/content/places/controller.js"/>
#else
<script type="application/x-javascript" src="chrome://browser/content/bookmarks/bookmarks.js"/>
<script type="application/x-javascript" src="chrome://browser/content/bookmarks/bookmarksMenu.js"/>
#endif

Просмотреть файл

@ -56,10 +56,8 @@ EXTRA_PP_COMPONENTS = \
$(NULL)
DIRS = \
bookmarks \
dirprovider \
migration \
history \
preferences \
shell \
sidebar \
@ -67,6 +65,8 @@ DIRS = \
ifdef MOZ_PLACES
DIRS += places
else
DIRS += history bookmarks
endif
DIRS += build

Просмотреть файл

@ -1,5 +1,4 @@
browser.jar:
% overlay chrome://browser/content/browser.xul chrome://browser/content/places/browserShim.xul
* content/browser/places/places.xul (content/places.xul)
content/browser/places/places.js (content/places.js)
content/browser/places/places.xml (content/places.xml)
@ -9,23 +8,3 @@ browser.jar:
* content/browser/places/menu.xml (content/menu.xml)
content/browser/places/tree.xml (content/tree.xml)
* content/browser/places/controller.js (content/controller.js)
content/browser/places/browserShim.js (content-shim/browserShim.js)
* content/browser/places/browserShim.xul (content-shim/browserShim.xul)
content/browser/places/browserShim.css (content-shim/browserShim.css)
classic.jar:
skin/classic/browser/places/places.css (skin-win/places.css)
skin/classic/browser/places/default_favicon.png (skin-win/default_favicon.png)
skin/classic/browser/places/query.png (skin-win/query.png)
skin/classic/browser/places/bookmarks_menu.png (skin-win/bookmarks_menu.png)
skin/classic/browser/places/bookmarks_toolbar.png (skin-win/bookmarks_toolbar.png)
skin/classic/browser/places/livemark_item.png (skin-win/livemark_item.png)
skin/classic/browser/places/places-icon.png (skin-win/places-icon.png)
skin/classic/browser/places/toolbar_dropmarker.png (skin-win/toolbar_dropmarker.png)
skin/classic/browser/places/folder_drag_over.png (skin-win/folder_drag_over.png)
skin/classic/browser/places/bookmarkProperties.css (skin-win/bookmarkProperties.css)
en-US.jar:
locale/browser/places/places.dtd (locale/places.dtd)
locale/browser/places/places.properties (locale/places.properties)
locale/browser/places/default_places.html (locale/default_places.html)

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -115,8 +115,8 @@ static NS_DEFINE_CID(kParserCID, NS_PARSER_CID);
#define KEY_ICON_LOWER "icon"
#define KEY_SHORTCUTURL_LOWER "shortcuturl"
#define BOOKMARKS_MENU_ICON_URI "chrome://browser/skin/places/bookmarks_menu.png"
#define BOOKMARKS_TOOLBAR_ICON_URI "chrome://browser/skin/places/bookmarks_toolbar.png"
#define BOOKMARKS_MENU_ICON_URI "chrome://browser/skin/places/bookmarksMenu.png"
#define BOOKMARKS_TOOLBAR_ICON_URI "chrome://browser/skin/places/bookmarksToolbar.png"
static const char kWhitespace[] = " \r\n\t\b";

Просмотреть файл

@ -112,5 +112,5 @@ private:
PRBool* aHasData, PRTime* aExpiration);
};
#define FAVICON_DEFAULT_URL "chrome://browser/skin/places/default_favicon.png"
#define FAVICON_DEFAULT_URL "chrome://browser/skin/places/defaultFavicon.png"
#define FAVICON_ANNOTATION_NAME "favicon"

Просмотреть файл

@ -0,0 +1,228 @@
<!ENTITY places.title
"Places">
<!ENTITY places.toolbar.label
"Places Toolbar">
<!ENTITY cmd.find.label
"Find in Bookmarks/History...">
<!ENTITY cmd.find.accesskey
"F">
<!ENTITY cmd.export.label
"Export...">
<!ENTITY cmd.export.accesskey
"x">
<!ENTITY cmd.select_all.label
"Select All">
<!ENTITY cmd.select_all.accesskey
"A">
<!ENTITY cmd.select_all.key
"a">
<!ENTITY cmd.edit_cut.label
"Cut">
<!ENTITY cmd.edit_cut.accesskey
"t">
<!ENTITY cmd.edit_cut.key
"x">
<!ENTITY cmd.edit_copy.label
"Copy">
<!ENTITY cmd.edit_copy.accesskey
"C">
<!ENTITY cmd.edit_copy.key
"c">
<!ENTITY cmd.edit_paste.label
"Paste">
<!ENTITY cmd.edit_paste.accesskey
"P">
<!ENTITY cmd.edit_paste.key
"v">
<!ENTITY cmd.edit_delete.label
"Delete">
<!ENTITY cmd.edit_delete.accesskey
"D">
<!ENTITY cmd.open.label
"Open">
<!ENTITY cmd.open.accesskey
"O">
<!ENTITY cmd.open_window.label
"Open in a New Window">
<!ENTITY cmd.open_window.accesskey
"W">
<!ENTITY cmd.open_tab.label
"Open in a New Tab">
<!ENTITY cmd.open_tab.accesskey
"T">
<!ENTITY cmd.open_tabs.label
"Open in Tabs">
<!ENTITY cmd.open_tabs.accesskey
"s">
<!ENTITY cmd.show_infoWin.label
"Properties">
<!ENTITY cmd.show_infoWin.accesskey
"i">
<!ENTITY cmd.show_infoMac.label
"Get Info">
<!ENTITY cmd.show_infoMac.accesskey
"I">
<!ENTITY cmd.show_info.key
"i">
<!ENTITY cmd.rename.label
"Rename">
<!ENTITY cmd.rename.accesskey
"R">
<!ENTITY cmd.sortby_name.label
"Sort By Name">
<!ENTITY cmd.sortby_name.accesskey
"S">
<!ENTITY cmd.new_folder.label
"New Folder...">
<!ENTITY cmd.new_folder.accesskey
"F">
<!ENTITY cmd.new_separator.label
"New Separator">
<!ENTITY cmd.new_separator.accesskey
"S">
<!ENTITY cmd.reload.label
"Reload">
<!ENTITY cmd.reload.accesskey
"l">
<!ENTITY cmd.reload.key
"r">
<!ENTITY cmd.groupby_site.label
"Group by Site">
<!ENTITY cmd.groupby_site.accesskey
"S">
<!ENTITY cmd.groupby_page.label
"Group by Page">
<!ENTITY cmd.groupby_page.accesskey
"P">
<!ENTITY cmd.groupby_feed.label
"Group by Subscription">
<!ENTITY cmd.groupby_feed.accesskey
"S">
<!ENTITY cmd.groupby_post.label
"Group by Post">
<!ENTITY cmd.groupby_post.accesskey
"P">
<!ENTITY col.title.label
"Title">
<!ENTITY col.url.label
"Location">
<!ENTITY col.lastvisit.label
"Last Visit Date">
<!ENTITY col.visitcount.label
"Visit Count">
<!ENTITY search.label
"Search:">
<!ENTITY search.accesskey
"S">
<!ENTITY search.collection.label
"Current Collection Only">
<!ENTITY search.collection.accesskey
"C">
<!ENTITY search.all.label
"All Bookmarks and History">
<!ENTITY search.all.accesskey
"A">
<!ENTITY saveSearch.label
"Save">
<!ENTITY saveSearch.accesskey
"S">
<!ENTITY moreCriteria.label
"+">
<!ENTITY advancedSearch.onlybookmarked.label
"Search Bookmarks only">
<!ENTITY advancedSearch.match.label
"Match ">
<!ENTITY advancedSearch.all.label
"all">
<!ENTITY advancedSearch.any.label
"any">
<!ENTITY advancedSearch.rules.label
" of the following rules:">
<!ENTITY advancedSearch.subj_keyword.label
"Keywords">
<!ENTITY advancedSearch.subj_visited.label
"Visited">
<!ENTITY advancedSearch.subj_host.label
"Host">
<!ENTITY advancedSearch.subj_uri.label
"URI">
<!ENTITY advancedSearch.host_is.label
"is">
<!ENTITY advancedSearch.host_endswith.label
"ends with">
<!ENTITY advancedSearch.include.label
"include">
<!ENTITY advancedSearch.uri_is.label
"is">
<!ENTITY advancedSearch.uri_startswith.label
"starts with">
<!ENTITY advancedSearch.time_is.label
"on">
<!ENTITY advancedSearch.time_before.label
"before">
<!ENTITY advancedSearch.time_after.label
"after">
<!ENTITY advancedSearch.time_inlast.label
"in the last">
<!ENTITY advancedSearch.last_days.label
"days">
<!ENTITY advancedSearch.last_weeks.label
"weeks">
<!ENTITY advancedSearch.last_months.label
"months">
<!ENTITY advancedSearch.plus.label
"+">
<!ENTITY advancedSearch.minus.label
"-">
<!ENTITY advancedSearch.groupby.label
"Group by: ">
<!ENTITY advancedSearch.groupby_host.label
"host">
<!ENTITY advancedSearch.groupby_domain.label
"domain">
<!ENTITY advancedSearch.groupby_folder.label
"folder">
<!ENTITY advancedSearch.sortby.label
"Sort by: ">
<!ENTITY advancedSearch.sortby_title.label
"title">
<!ENTITY advancedSearch.sortby_date.label
"date">
<!ENTITY advancedSearch.sortby_visit.label
"visit count">
<!ENTITY advancedSearch.sortby_url.label
"url">
<!ENTITY advancedSearch.sortby_asc.label
"ascending">
<!ENTITY advancedSearch.sortby_desc.label
"descending">
<!ENTITY advancedSearch.max.label
"Maximum results: ">
<!ENTITY cmd.find.key
"f">
<!ENTITY feed.subscribe.label
"Feed">
<!ENTITY feed.subscribe.tooltip
"Subscribe">
<!ENTITY location.status.not_bookmarked
"Star (Off)">
<!ENTITY location.status.bookmarked
"Star (On)">
<!ENTITY location.status.bookmark.tooltip
"Add a Bookmark to this page">
<!ENTITY bookmark.property.panel.title
"Bookmark Properties">
<!ENTITY bookmark.property.title
"Title">
<!ENTITY bookmark.property.folders
"Folders">
<!ENTITY bookmark.property.folder_list
"Folder List">
<!ENTITY bookmark.property.location
"Bookmark Location">
<!ENTITY cmd.show_bookmarks.label
"See all bookmarks...">
<!ENTITY cmd.delete_bookmark.label
"Delete Bookmark">
<!ENTITY cmd.hide_bookmark_properties.label
"Done">

Просмотреть файл

@ -0,0 +1,40 @@
deleteHost=Delete all from %S
deleteDomain=Delete entire domain %S
deleteHostNoSelection=Delete host
deleteDomainNoSelection=Delete domain
finduri-AgeInDays-is-0=Today
finduri-AgeInDays-is-1=Yesterday
finduri-AgeInDays-is=%S days ago
finduri-AgeInDays-isgreater=Older than %S days
finduri-Hostname-is-=(no host)
load-js-data-url-error=For security reasons, javascript or data urls cannot be loaded from the history window or sidebar.
noTitle=(no title)
localhost=(local files)
newFolderTitle=New Folder
newFolderMessage=Enter a name for the new folder:
newFolderDefault=New Folder
bookmarksMenuName=Bookmarks Menu
bookmarksToolbarName=Bookmarks Toolbar
bookmarksMenuEmptyFolder=(Empty)
bookmarksLivemarkLoading=Live Bookmark loading...
bookmarksLivemarkFailed=Live Bookmark feed failed to load.
findPlaceLabel=Find in Places...
findPageLabel=Find in This Page...
headerTextShowing=Showing
headerTextResultsFor=Search Results for
headerTextAdvancedSearch=Advanced Search
searchDefault=Search
lessCriteria.label=-
moreCriteria.label=+
locationStatusNotBookmarked=Star (Off)
locationStatusBookmarked=Star (On)

Просмотреть файл

@ -1,42 +1,35 @@
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<TITLE>Bookmarks and History</TITLE>
<H1 PLACES_ROOT="true">Bookmarks and History</H1>
<DL><p>
<DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">Bookmarks Toolbar Folder</H3>
<DD>Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar
<DT><A HREF="place:beginTime=0&beginTimeRef=1&endTime=0&endTimeRef=2&sort=4&type=1">History</A>
<DD>Shows all browsing history
<DT><H3 BOOKMARKS_MENU="true">Bookmarks Menu</H3>
<DL><p>
<DT><A HREF="http://www.mozilla.org/products/firefox/central.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$GvPhC3">Getting Started</A>
<DT><A HREF="http://fxfeeds.mozilla.org/" LAST_MODIFIED="1094668003" FEEDURL="http://fxfeeds.mozilla.org/rss20.xml" ID="rdf:#$HvPhC3">Latest Headlines</A>
<DT><A HREF="http://www.mozilla.com/products/firefox/central.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$GvPhC3">Getting Started</A>
<DT><A HREF="http://fxfeeds.mozilla.com/" LAST_MODIFIED="1094668003" FEEDURL="http://fxfeeds.mozilla.com/rss20.xml" ID="rdf:#$HvPhC3">Latest Headlines</A>
</DL><p>
<HR>
<DT><H3 ID="rdf:#$6wPhC3">Quick Searches</H3>
<DD>Handy searches that can be performed in the addressbar
<DT><H3 PERSONAL_TOOLBAR_FOLDER="true">Bookmarks Toolbar</H3>
<DD>Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar
<DL><p>
<DT><A HREF="http://www.google.com/search?q=%s" SHORTCUTURL="google" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8A//3/AP39/wD6/f8A+P3/AP/8/wD9/P8A+vz/AP/7/wD/+v8A/vr/APz6/wD4+v8A+/n/APP5/wD/+P8A+vj/AO/4/wDm+P8A2fj/AP/3/wD/9v8A9vb/AP/1/wD69f8A9PT/AO30/wD/8/8A//L/APnx/wD28P8A///+APj//gD2//4A9P/+AOP//gD//f4A6f/9AP///AD2//wA8//8APf9/AD///sA/v/7AOD/+wD/+vsA9/X7APr/+gDv/voA///5AP/9+QD/+/kA+e35AP//+ADm//gA4f/4AP/9+AD0+/gA///3APv/9wDz//cA8f/3AO3/9wD/8fcA//32AP369gDr+vYA8f/1AOv/9QD/+/UA///0APP/9ADq//QA///zAP/18wD///IA/fzyAP//8QD///AA9//wAPjw8AD//+8A8//vAP//7gD9/+4A9v/uAP/u7gD//+0A9v/tAP7/6wD/+eoA///pAP//6AD2/+gA//nnAP/45wD38eYA/fblAP/25AD29uQA7N/hAPzm4AD/690AEhjdAAAa3AAaJdsA//LXAC8g1gANH9YA+dnTAP/n0gDh5dIADyjSABkk0gAdH9EABxDRAP/l0AAAJs4AGRTOAPPczQAAKs0AIi7MAA4UywD56soA8tPKANTSygD/18kA6NLHAAAjxwDj28QA/s7CAP/1wQDw3r8A/9e8APrSrwDCtqoAzamjANmPiQDQj4YA35mBAOmefgDHj3wA1qR6AO+sbwDpmm8A2IVlAKmEYgCvaFoAvHNXAEq2VgA5s1UAPbhQAFWtTwBStU0ARbNNAEGxTQA7tEwAObZIAEq5RwDKdEYAULhDANtuQgBEtTwA1ls3ALhgMQCxNzEA2FsvAEC3LQB0MCkAiyYoANZTJwDLWyYAtjMlALE6JACZNSMAuW4iANlgIgDoWCEAylwgAMUuIAD3Vh8A52gdALRCHQCxWhwAsEkcALU4HACMOBwA0V4bAMYyGgCPJRoA218ZAJM7FwC/PxYA0msVAM9jFQD2XBUAqioVAIAfFQDhYRQAujMTAMUxEwCgLBMAnxIPAMsqDgCkFgsA6GMHALE2BAC9JQAAliIAAFYTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AsbGxsbGxsbGxsbGxsbGxd7IrMg8PDw8PDw8PUBQeJXjQYE9PcKPM2NfP2sWhcg+BzTE7dLjbmG03YWaV4JYye8MPbsLZlEouKRRCg9SXMoW/U53enGRAFzCRtNO7mTiAyliw30gRTg9VbJCKfYs0j9VmuscfLTFbIy8SOhA0Inq5Y77GNBMYIxQUJzM2Vxx2wEmfyCYWMRldXCg5MU0aicRUms58SUVeRkwjPBRSNIfBMkSgvWkyPxVHFIaMSx1/0S9nkq7WdWo1a43Jt2UqgtJERGJ5m6K8y92znpNWIYS1UQ89Mmg5cXNaX0EkGyyI3KSsp6mvpaqosaatq7axsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" LAST_CHARSET="UTF-8" ID="rdf:#$7wPhC3">Google Quicksearch</A>
<DD>Type &quot;google &lt;search terms&gt;&quot; in the location bar to perform a Google search
<DT><A HREF="http://www.answers.com/main/ntquery?gwp=13&s=%s" SHORTCUTURL="dict" ID="rdf:#$8wPhC3">Answers.com Dictionary Quicksearch</A>
<DD>Type &quot;dict &lt;word&gt;&quot; in the location bar to perform a dictionary look-up
<DT><A HREF="http://www.google.com/search?q=stocks:%s" SHORTCUTURL="quote" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8A//3/AP39/wD6/f8A+P3/AP/8/wD9/P8A+vz/AP/7/wD/+v8A/vr/APz6/wD4+v8A+/n/APP5/wD/+P8A+vj/AO/4/wDm+P8A2fj/AP/3/wD/9v8A9vb/AP/1/wD69f8A9PT/AO30/wD/8/8A//L/APnx/wD28P8A///+APj//gD2//4A9P/+AOP//gD//f4A6f/9AP///AD2//wA8//8APf9/AD///sA/v/7AOD/+wD/+vsA9/X7APr/+gDv/voA///5AP/9+QD/+/kA+e35AP//+ADm//gA4f/4AP/9+AD0+/gA///3APv/9wDz//cA8f/3AO3/9wD/8fcA//32AP369gDr+vYA8f/1AOv/9QD/+/UA///0APP/9ADq//QA///zAP/18wD///IA/fzyAP//8QD///AA9//wAPjw8AD//+8A8//vAP//7gD9/+4A9v/uAP/u7gD//+0A9v/tAP7/6wD/+eoA///pAP//6AD2/+gA//nnAP/45wD38eYA/fblAP/25AD29uQA7N/hAPzm4AD/690AEhjdAAAa3AAaJdsA//LXAC8g1gANH9YA+dnTAP/n0gDh5dIADyjSABkk0gAdH9EABxDRAP/l0AAAJs4AGRTOAPPczQAAKs0AIi7MAA4UywD56soA8tPKANTSygD/18kA6NLHAAAjxwDj28QA/s7CAP/1wQDw3r8A/9e8APrSrwDCtqoAzamjANmPiQDQj4YA35mBAOmefgDHj3wA1qR6AO+sbwDpmm8A2IVlAKmEYgCvaFoAvHNXAEq2VgA5s1UAPbhQAFWtTwBStU0ARbNNAEGxTQA7tEwAObZIAEq5RwDKdEYAULhDANtuQgBEtTwA1ls3ALhgMQCxNzEA2FsvAEC3LQB0MCkAiyYoANZTJwDLWyYAtjMlALE6JACZNSMAuW4iANlgIgDoWCEAylwgAMUuIAD3Vh8A52gdALRCHQCxWhwAsEkcALU4HACMOBwA0V4bAMYyGgCPJRoA218ZAJM7FwC/PxYA0msVAM9jFQD2XBUAqioVAIAfFQDhYRQAujMTAMUxEwCgLBMAnxIPAMsqDgCkFgsA6GMHALE2BAC9JQAAliIAAFYTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AsbGxsbGxsbGxsbGxsbGxd7IrMg8PDw8PDw8PUBQeJXjQYE9PcKPM2NfP2sWhcg+BzTE7dLjbmG03YWaV4JYye8MPbsLZlEouKRRCg9SXMoW/U53enGRAFzCRtNO7mTiAyliw30gRTg9VbJCKfYs0j9VmuscfLTFbIy8SOhA0Inq5Y77GNBMYIxQUJzM2Vxx2wEmfyCYWMRldXCg5MU0aicRUms58SUVeRkwjPBRSNIfBMkSgvWkyPxVHFIaMSx1/0S9nkq7WdWo1a43Jt2UqgtJERGJ5m6K8y92znpNWIYS1UQ89Mmg5cXNaX0EkGyyI3KSsp6mvpaqosaatq7axsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" LAST_CHARSET="UTF-8" ID="rdf:#$9wPhC3">Stock Symbol Quicksearch</A>
<DD>Type &quot;quote &lt;symbol&gt;&quot; in the location bar to perform a stock symbol look-up
<DT><A HREF="http://en.wikipedia.org/wiki/Special:Search?search=%s" SHORTCUTURL="wp" ID="rdf:#$awPhC3">Wikipedia Quicksearch</A>
<DD>Type &quot;wp &lt;something&gt;&quot; in the location bar to look up something in Wikipedia, a free online encyclopedia.
<DT><A HREF="http://www.urbandictionary.com/define.php?term=%s" SHORTCUTURL="slang" ID="rdf:#$bwPhC3">Urban Dictionary</A>
<DD>Type &quot;slang &lt;word&gt;&quot; in the location bar to look up something in the people's slang dictionary
</DL><p>
<DT><H3 ID="rdf:#$ZvPhC3">Firefox and Mozilla Links</H3>
<DT><A HREF="place:annotation=livemark/feedURI">Subscriptions</A>
<DD>Shows all Subscribed Feeds
<DL><p>
<DT><A HREF="http://start.mozilla.org/firefox" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$.vPhC3">Firefox Start Page</A>
</DL><p>
<DT><H3>Firefox and Mozilla Links</H3>
<DL><p>
<DT><A HREF="http://start.mozilla.org/firefox" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1">Firefox Start Page</A>
<DT><A HREF="http://www.mozilla.org/products/firefox/central.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1">Firefox Central</A>
<DT><A HREF="http://addons.mozilla.org/?application=firefox" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="UTF-8" ID="rdf:#$0wPhC3">Themes and Extensions</A>
<DT><A HREF="http://getfirefox.com/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$+vPhC3">Firefox Product Page</A>
<DT><A HREF="http://www.mozilla.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$1wPhC3">The Mozilla web site</A>
<DT><A HREF="http://www.mozillazine.org/" ICON="data:image/x-icon;base64,AAABAAIAEBAAAAEAGABoAwAAJgAAABAQAAABACAAaAQAAI4DAAAoAAAAEAAAACAAAAABABgAAAAAAEADAAAAAAAAAAAAAAAAAAAAAAAA5/P/SlFSAAAAAAAAe4KEe4KEe4KEe4KEe4KErbK9OUFC3uPvSlFSKTAxa3Fz5/P/5+/31t/nCBAQtb7G5+/3e32Ee32Ee32Ee32Era61OUFCe32ESlFSpa61e32E5+/35+/35+/3e32EOTxC5+/3e32Ee32Ee32Ea21znJ6lOTxCe32EKSwxa21zAAAA5+/35+vvOTw5AAAAAAAAe317e317e317e317KSwpAAAAlJqc1tveOTw5OTw5e3175+vv5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn3uPe3uPe3uPe3uPe3uPec3lzSklK3uPe3uPe3uPe3uPe3uPe3uPe3uPe3uPe3uPe3t/W3t/W3t/W3t/W3t/WztPGvcO13t/W3t/W3t/W3t/W3t/W3t/W3t/W3t/W3t/W3tvO3tvO3tvOrbatnLrGlLK9hJ6le5KUa317UmFjQlVSOUlKOUlKSllSa3Vztbqt3tfG3tfGtbalQk1KKTQ5OVFSMUVKKTw5MUVCOU1KQlVSQl1aSmljWnVzY4qEc4aE1tO9hIp7MUVCOUlKOUlKMUlKOVFKQllSSmVaUnFrY4J7Y4qEa5aUc56cjLa1rbqtnKKUMUVCMUFCMUlKQllSSmVjWnVzWn17a46Mc5aUc56cc6KchKqtlL7Gpbq11s+1WnFrKTw5QllSUm1rWn17Y4qMa46Uc5qce6Kce6Kce6aljLa9nL7GrbKl1s+t1s+tUm1rQmFaY4qEc5aUe6KcWoacQm2Ue6Kle6aljLK1nMfOrcfGvbqc1sul1sul1sulpbathKqthKqthKqthKqte6athKq1nMPGpcfOrcvOvcetzsec1sec1sec1sec1seczsectcu9pcfWnMfOpcfOpcvWpc/WrcvGvcetzseczseUzseczseczseczseczseczsOUzsOUvcetrcfGrcfGtce9vcetzsOczsOUzsOUzsOUzsOUzsOUzsOUzsOUzsOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAADn8///SlFS/wAAAP8AAAD/e4KE/3uChP97goT/e4KE/3uChP+tsr3/OUFC/97j7/9KUVL/KTAx/2txc//n8///5+/3/9bf5/8IEBD/tb7G/+fv9/97fYT/e32E/3t9hP97fYT/ra61/zlBQv97fYT/SlFS/6Wutf97fYT/5+/3/+fv9//n7/f/e32E/zk8Qv/n7/f/e32E/3t9hP97fYT/a21z/5yepf85PEL/e32E/yksMf9rbXP/AAAA/+fv9//n6+//OTw5/wAAAP8AAAD/e317/3t9e/97fXv/e317/yksKf8AAAD/lJqc/9bb3v85PDn/OTw5/3t9e//n6+//5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/97j3v/e497/3uPe/97j3v/e497/c3lz/0pJSv/e497/3uPe/97j3v/e497/3uPe/97j3v/e497/3uPe/97j3v/e39b/3t/W/97f1v/e39b/3t/W/87Txv+9w7X/3t/W/97f1v/e39b/3t/W/97f1v/e39b/3t/W/97f1v/e39b/3tvO/97bzv/e287/rbat/5y6xv+Usr3/hJ6l/3uSlP9rfXv/UmFj/0JVUv85SUr/OUlK/0pZUv9rdXP/tbqt/97Xxv/e18b/tbal/0JNSv8pNDn/OVFS/zFFSv8pPDn/MUVC/zlNSv9CVVL/Ql1a/0ppY/9adXP/Y4qE/3OGhP/W073/hIp7/zFFQv85SUr/OUlK/zFJSv85UUr/QllS/0plWv9ScWv/Y4J7/2OKhP9rlpT/c56c/4y2tf+tuq3/nKKU/zFFQv8xQUL/MUlK/0JZUv9KZWP/WnVz/1p9e/9rjoz/c5aU/3OenP9zopz/hKqt/5S+xv+lurX/1s+1/1pxa/8pPDn/QllS/1Jta/9afXv/Y4qM/2uOlP9zmpz/e6Kc/3uinP97pqX/jLa9/5y+xv+tsqX/1s+t/9bPrf9SbWv/QmFa/2OKhP9zlpT/e6Kc/1qGnP9CbZT/e6Kl/3umpf+MsrX/nMfO/63Hxv+9upz/1sul/9bLpf/Wy6X/pbat/4Sqrf+Eqq3/hKqt/4Sqrf97pq3/hKq1/5zDxv+lx87/rcvO/73Hrf/Ox5z/1sec/9bHnP/Wx5z/1sec/87HnP+1y73/pcfW/5zHzv+lx87/pcvW/6XP1v+ty8b/vcet/87HnP/Ox5T/zsec/87HnP/Ox5z/zsec/87HnP/Ow5T/zsOU/73Hrf+tx8b/rcfG/7XHvf+9x63/zsOc/87DlP/Ow5T/zsOU/87DlP/Ow5T/zsOU/87DlP/Ow5T/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$2wPhC3">MozillaZine</A>
<DT><A HREF="http://store.mozilla.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/////AP///wD///8A////AP///wD///8Ag4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/1NTU/9TU1P////8A////AP///wD///8Ag4OD/83Nzf/09PT/8/Pz//Pz8//w8PD/7e3t/+np6f/n5+f/wcHB/4ODg//U1NT/////AP///wD///8A////AIODg//19fX/9fX1//T09P/09PT/8vLy/+7u7v/q6ur/6Ojo/+Tk5P+Dg4P/1NTU/////wD///8A////AP///wCDg4P/9vb2//b29v/19fX/9fX1//T09P/w8PD/7Ozs/+np6f/l5eX/g4OD/9TU1P////8A////AP///wD///8Ag4OD//f39//39/f/9vb2//b29v/19fX/8vLy/+3t7f/p6en/5ubm/4ODg//U1NT/////AP///wD///8A////AIODg//4+Pj/+Pj4/2t2x//39/f/T1y+//Pz8/92f8n/3d7m/+fn5/+Dg4P/1NTU/////wD///8A////ANTU1P+Dg4P/+vr6//r6+v8YKav/srjh/xgpq/+wtd7/GCmr/+3t7f/o6Oj/g4OD/9TU1P/U1NT/1NTU/4ODg/+Dg4P/g4OD//v7+//6+vr/QlC6/2x3yP+JkdL/a3XH/0JQuv/u7u7/6urq/4ODg/+Dg4P/g4OD/9TU1P+Dg4P//Pz8/6urq//8/Pz/+/v7/1Bdv/80Q7X/7e72/zRDtf9QXb//7+/v/+vr6/+kpKT/5+fn/4ODg//U1NT/g4OD//z8/P/S0tL//Pz8//z8/P9QXb//X2rE//z8/P9fasT/UF2///Hx8f/t7e3/xcXF/+jo6P+Dg4P/1NTU/4ODg//9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+vr6//f39//z8/P/7u7u/+vr6//p6en/g4OD/9TU1P+Dg4P//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//z8/P/4+Pj/9PT0//Dw8P/t7e3/6+vr/4ODg/////8A////AIODg/////////////////+Dg4P/g4OD/4ODg/+Dg4P/g4OD//b29v/y8vL/7+/v/4ODg/////8A////AP///wD///8Ag4OD/4ODg/+Dg4P/////AP///wD///8A////AP///wCDg4P/g4OD/4ODg/////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A8AcAAOADAADAAwAAwAMAAMADAADAAwAAwAMAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAIADAADHxwAA//8AAA==" LAST_CHARSET="ISO-8859-1" ID="rdf:#$3wPhC3">Mozilla Store</A>
<DT><A HREF="http://www.spreadfirefox.com/" LAST_CHARSET="UTF-8" ID="rdf:#$4wPhC3">Get Involved - Help spread Firefox!</A>
<DT><A HREF="http://addons.mozilla.org/?application=firefox" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="UTF-8">Themes and Extensions</A>
<DT><A HREF="http://getfirefox.com/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1">Firefox Product Page</A>
<DT><A HREF="http://www.mozilla.org/" LAST_VISIT="1133213523" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" LAST_CHARSET="UTF-8">The Mozilla web site</A>
<DT><A HREF="http://www.mozillazine.org/" ICON="data:image/x-icon;base64,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" LAST_CHARSET="ISO-8859-1">MozillaZine</A>
<DT><A HREF="http://store.mozilla.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/1NTU/9TU1P/U1NT/////AP///wD///8A////AP///wD///8Ag4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/1NTU/9TU1P////8A////AP///wD///8Ag4OD/83Nzf/09PT/8/Pz//Pz8//w8PD/7e3t/+np6f/n5+f/wcHB/4ODg//U1NT/////AP///wD///8A////AIODg//19fX/9fX1//T09P/09PT/8vLy/+7u7v/q6ur/6Ojo/+Tk5P+Dg4P/1NTU/////wD///8A////AP///wCDg4P/9vb2//b29v/19fX/9fX1//T09P/w8PD/7Ozs/+np6f/l5eX/g4OD/9TU1P////8A////AP///wD///8Ag4OD//f39//39/f/9vb2//b29v/19fX/8vLy/+3t7f/p6en/5ubm/4ODg//U1NT/////AP///wD///8A////AIODg//4+Pj/+Pj4/2t2x//39/f/T1y+//Pz8/92f8n/3d7m/+fn5/+Dg4P/1NTU/////wD///8A////ANTU1P+Dg4P/+vr6//r6+v8YKav/srjh/xgpq/+wtd7/GCmr/+3t7f/o6Oj/g4OD/9TU1P/U1NT/1NTU/4ODg/+Dg4P/g4OD//v7+//6+vr/QlC6/2x3yP+JkdL/a3XH/0JQuv/u7u7/6urq/4ODg/+Dg4P/g4OD/9TU1P+Dg4P//Pz8/6urq//8/Pz/+/v7/1Bdv/80Q7X/7e72/zRDtf9QXb//7+/v/+vr6/+kpKT/5+fn/4ODg//U1NT/g4OD//z8/P/S0tL//Pz8//z8/P9QXb//X2rE//z8/P9fasT/UF2///Hx8f/t7e3/xcXF/+jo6P+Dg4P/1NTU/4ODg//9/f3//f39//39/f/9/f3//f39//39/f/9/f3/+vr6//f39//z8/P/7u7u/+vr6//p6en/g4OD/9TU1P+Dg4P//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//z8/P/4+Pj/9PT0//Dw8P/t7e3/6+vr/4ODg/////8A////AIODg/////////////////+Dg4P/g4OD/4ODg/+Dg4P/g4OD//b29v/y8vL/7+/v/4ODg/////8A////AP///wD///8Ag4OD/4ODg/+Dg4P/////AP///wD///8A////AP///wCDg4P/g4OD/4ODg/////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A8AcAAOADAADAAwAAwAMAAMADAADAAwAAwAMAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAIADAADHxwAA//8AAA==" LAST_CHARSET="ISO-8859-1">Mozilla Store</A>
<DT><A HREF="http://www.spreadfirefox.com/" LAST_CHARSET="UTF-8">Get Involved - Help spread Firefox!</A>
</DL><p>
</DL><p>

Просмотреть файл

@ -22,10 +22,15 @@
* locale/browser/searchDialog.dtd (%chrome/browser/searchDialog.dtd)
locale/browser/setDesktopBackground.dtd (%chrome/browser/setDesktopBackground.dtd)
locale/browser/shellservice.properties (%chrome/browser/shellservice.properties)
#ifdef MOZ_PLACES
locale/browser/places/places.dtd (%chrome/browser/places/places.dtd)
locale/browser/places/places.properties (%chrome/browser/places/places.properties)
#else
* locale/browser/bookmarks/bookmarks.dtd (%chrome/browser/bookmarks/bookmarks.dtd)
* locale/browser/bookmarks/addBookmark.dtd (%chrome/browser/bookmarks/addBookmark.dtd)
* locale/browser/bookmarks/bookmarks.properties (%chrome/browser/bookmarks/bookmarks.properties)
* locale/browser/bookmarks/bookmarksProperties.dtd (%chrome/browser/bookmarks/bookmarksProperties.dtd)
#endif
locale/browser/history/history.dtd (%chrome/browser/history/history.dtd)
locale/browser/migration/migration.dtd (%chrome/browser/migration/migration.dtd)
locale/browser/migration/migration.properties (%chrome/browser/migration/migration.properties)

Просмотреть файл

@ -29,6 +29,18 @@ classic.jar:
skin/classic/browser/Secure-background.gif
skin/classic/browser/Toolbar-small.png
skin/classic/browser/Toolbar.png
#ifdef MOZ_PLACES
skin/classic/browser/places/places.css (places/places.css)
skin/classic/browser/places/defaultFavicon.png (places/defaultFavicon.png)
skin/classic/browser/places/query.png (places/query.png)
skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
skin/classic/browser/places/livemarkItem.png (places/livemarkItem.png)
skin/classic/browser/places/placesIcon.png (places/placesIcon.png)
skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
skin/classic/browser/places/folderDragOver.png (places/folderDragOver.png)
skin/classic/browser/places/bookmarkProperties.css (places/bookmarkProperties.css)
#else
skin/classic/browser/bookmarks/addBookmark.css (bookmarks/addBookmark.css)
skin/classic/browser/bookmarks/bookmark-folder.png (bookmarks/bookmark-folder.png)
skin/classic/browser/bookmarks/bookmark-item.png (bookmarks/bookmark-item.png)
@ -45,6 +57,7 @@ classic.jar:
skin/classic/browser/bookmarks/folderarrow.png (bookmarks/folderarrow.png)
skin/classic/browser/preferences/Options.png (preferences/Options.png)
skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
#endif
icon.png
preview.png

Просмотреть файл

@ -0,0 +1,67 @@
#bookmarkproperties {
background-color: yellow;
}
.tag{
padding: 2px;
margin: 0px;
cursor: pointer;
}
#places-info-options {
font-size: 9pt;
}
#places-info-grid {
}
#tagbox {
padding: 5px;
}
.tag{
padding: 2px;
margin: 0px;
cursor: pointer;
}
.tag[selected="true"] {
background-color: red;
}
.tag[isparent="true"] {
font-weight: bold;
}
.tag:hover {
background-color: orange;
}
.l0 {
margin-left: 0px;
}
.l1 {
margin-left: 10px;
}
.l2 {
margin-left: 20px;
}
.l3 {
margin-left: 30px;
}
.l4 {
margin-left: 40px;
}
.l5 {
margin-left: 50px;
}
.l6 {
margin-left: 60px;
}

Двоичные данные
browser/themes/pinstripe/browser/places/bookmarksMenu.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 200 B

Двоичные данные
browser/themes/pinstripe/browser/places/bookmarksToolbar.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 224 B

Двоичные данные
browser/themes/pinstripe/browser/places/livemarkItem.png Executable file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,234 @@
/* Root View */
#placesView {
-moz-appearance: tabpanels;
margin: -10px;
padding: 8px 6px 6px 8px;
-moz-user-focus: ignore;
}
#splitter {
border: 0px;
width: 10px;
background-color: transparent;
}
/* Place List, Place Content */
.placesTree {
margin: 0px;
}
#placesList {
-moz-appearance: none;
width: 160px;
margin: 0px;
border: 0px;
}
#placesListContainer {
-moz-appearance: listbox;
margin: 7px 0px 7px 6px;
}
#placeContent {
-moz-appearance: none;
border: 0px;
}
#content {
margin: 7px 6px 7px 0px;
-moz-appearance: listbox;
}
treechildren::-moz-tree-image(title, container) {
padding-right: 2px;
margin: 0px 2px;
list-style-image: url("chrome://global/skin/icons/folder-item.png") !important;
-moz-image-region: rect(0px, 16px, 16px, 0px);
}
treechildren::-moz-tree-image(title, container) {
-moz-image-region: rect(0px, 32px, 16px, 16px);
}
treechildren::-moz-tree-image(title, open) {
-moz-image-region: rect(16px, 32px, 32px, 16px);
}
treechildren::-moz-tree-row(session-start) {
border-top:1px dotted ThreeDShadow;
}
/* FIXME this should make the date field invisible, but only does it for
unselected items and maybe won't work for different color schemes. */
treechildren::-moz-tree-cell-text(date, session-continue) {
color:white;
}
treechildren::-moz-tree-image(title, separator) {
list-style-image: none;
width: 0px !important;
height: 0px !important;
margin: 0px;
}
treechildren::-moz-tree-cell-text(title, separator) {
color: ThreeDShadow;
margin: 0px 5px;
}
treechildren::-moz-tree-cell-text(title, separator, selected, focus) {
color: HighlightText;
}
/* Command Bar */
.commands {
padding-bottom: 5px;
}
.commandGroupButton {
margin-left: 0px;
margin-top: 0px;
}
.commandGroupButton.first {
margin-right: -10px;
}
.commandGroupButton.last {
margin-left: 20px;
}
/* Title Bar */
#titlebar {
background-color: -moz-Dialog;
border-bottom: 2px solid;
-moz-border-bottom-colors: ThreeDHighlight ThreeDShadow;
}
#showingPrefix {
margin: 5px 0.33em 5px 8px;
}
#contentTitle {
margin: 5px 8px 5px 0px;
font-weight: bold;
}
/* Search Bar */
#searchbar {
margin: 6px -4px 0px 2px;
}
.small {
font-size: x-small;
min-width: 0px;
padding: 0px 4px 0px 4px;
margin: 0px;
border: 0px;
}
.small .button-text,
.small .button-box {
padding: 0px;
border: 0px;
}
#searchFilter {
padding: 0px;
}
#searchFilter[empty="true"] {
color: GrayText;
}
#searchFilter .textbox-input-box {
padding: 2px 2px 3px 4px;
}
.filterList {
-moz-appearance: none;
background-color: transparent;
border: 0px;
margin: 2px;
padding: 0px;
min-width: 0px;
width: 16px;
height: 16px;
list-style-image: url("chrome://browser/skin/Search-bar.png");
-moz-user-focus: ignore;
cursor: default;
}
.filterList .button-box {
border: 0px;
padding: 0px;
}
.filterList .button-menu-dropmarker {
margin: 9px -3px -4px 8px;
}
/* Calendar */
.history-calendar {
margin: 0px 0px 7px 6px;
}
.calendar-box {
-moz-appearance: listbox;
border:1px solid black;
background-color:white;
}
.calendar-header {
background-color:#EEE;
}
.calendar-month-jump {
cursor:pointer;
padding-left:6px;
padding-right:6px;
}
.calendar-month-jump:hover {
background-color:#DDD;
}
.calendar-grid {
padding-left:8px;
padding-right:8px;
padding-bottom:4px;
}
.calendar-grid label { /* everything in the calendar grid */
padding:4px;
margin:0px;
text-align:center;
font-size:80%;
}
.calendar-month-title {
text-align:center;
}
.calendar-day-header {
border-bottom:1px solid #888;
}
.calendar-day { /* just days (excluding the day headers) */
cursor:w-resize;
color:white;
background-color:white;
}
.calendar-day:hover {
background-color:#DDD;
}
.calendar-day[selected="true"] {
cursor:w-resize;
background-color:#8C8;
}
.calendar-day[selected="true"]:hover {
background-color:#6A6;
}
.calendar-day[month="this"] {
color:black;
}
.calendar-day[month="other"] {
color:#888;
}
.no-margin-button {
min-width:0em;
}

Двоичные данные
browser/themes/pinstripe/browser/places/query.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 266 B

Двоичные данные
browser/themes/pinstripe/browser/places/toolbarDropMarker.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 174 B

Просмотреть файл

@ -20,11 +20,24 @@ classic.jar:
skin/classic/browser/Throbber-small.png
skin/classic/browser/Toolbar.png
skin/classic/browser/Toolbar-small.png
#ifdef MOZ_PLACES
skin/classic/browser/places/places.css (places/places.css)
skin/classic/browser/places/defaultFavicon.png (places/defaultFavicon.png)
skin/classic/browser/places/query.png (places/query.png)
skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
skin/classic/browser/places/livemarkItem.png (places/livemarkItem.png)
skin/classic/browser/places/placesIcon.png (places/placesIcon.png)
skin/classic/browser/places/toolbarDropMarker.png (places/toolbarDropMarker.png)
skin/classic/browser/places/folderDragOver.png (places/folderDragOver.png)
skin/classic/browser/places/bookmarkProperties.css (places/bookmarkProperties.css)
#else
skin/classic/browser/Bookmarks-folder.png
skin/classic/browser/bookmarks/addBookmark.css (bookmarks/addBookmark.css)
skin/classic/browser/bookmarks/bookmarksManager.css (bookmarks/bookmarksManager.css)
skin/classic/browser/bookmarks/Bookmarks-toolbar.png (bookmarks/Bookmarks-toolbar.png)
skin/classic/browser/preferences/Options.png (preferences/Options.png)
skin/classic/browser/preferences/preferences.css (preferences/preferences.css)
#endif
icon.png
preview.png

Просмотреть файл

@ -0,0 +1,67 @@
#bookmarkproperties {
background-color: yellow;
}
.tag{
padding: 2px;
margin: 0px;
cursor: pointer;
}
#places-info-options {
font-size: 9pt;
}
#places-info-grid {
}
#tagbox {
padding: 5px;
}
.tag{
padding: 2px;
margin: 0px;
cursor: pointer;
}
.tag[selected="true"] {
background-color: red;
}
.tag[isparent="true"] {
font-weight: bold;
}
.tag:hover {
background-color: orange;
}
.l0 {
margin-left: 0px;
}
.l1 {
margin-left: 10px;
}
.l2 {
margin-left: 20px;
}
.l3 {
margin-left: 30px;
}
.l4 {
margin-left: 40px;
}
.l5 {
margin-left: 50px;
}
.l6 {
margin-left: 60px;
}

Двоичные данные
browser/themes/winstripe/browser/places/bookmarksMenu.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 200 B

Двоичные данные
browser/themes/winstripe/browser/places/bookmarksToolbar.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 224 B

Просмотреть файл

Двоичные данные
browser/themes/winstripe/browser/places/livemarkItem.png Executable file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,235 @@
/* Root View */
#placesView {
-moz-appearance: tabpanels;
margin: -10px;
padding: 8px 6px 6px 8px;
-moz-user-focus: ignore;
}
#splitter {
border: 0px;
width: 10px;
background-color: transparent;
}
/* Place List, Place Content */
.placesTree {
margin: 0px;
}
#placesList {
-moz-appearance: none;
width: 160px;
margin: 0px;
border: 0px;
}
#placesListContainer {
-moz-appearance: listbox;
margin: 7px 0px 7px 6px;
}
#placeContent {
-moz-appearance: none;
border: 0px;
}
#content {
margin: 7px 6px 7px 0px;
-moz-appearance: listbox;
}
treechildren::-moz-tree-image(title, container) {
padding-right: 2px;
margin: 0px 2px;
list-style-image: url("chrome://global/skin/icons/folder-item.png") !important;
-moz-image-region: rect(0px, 16px, 16px, 0px);
}
treechildren::-moz-tree-image(title, container) {
-moz-image-region: rect(0px, 32px, 16px, 16px);
}
treechildren::-moz-tree-image(title, open) {
-moz-image-region: rect(16px, 32px, 32px, 16px);
}
treechildren::-moz-tree-row(session-start) {
border-top:1px dotted ThreeDShadow;
}
/* FIXME this should make the date field invisible, but only does it for
unselected items and maybe won't work for different color schemes. */
treechildren::-moz-tree-cell-text(date, session-continue) {
color:white;
}
treechildren::-moz-tree-image(title, separator) {
list-style-image: none;
width: 0px !important;
height: 0px !important;
margin: 0px;
}
treechildren::-moz-tree-cell-text(title, separator) {
color: ThreeDShadow;
margin: 0px 5px;
}
treechildren::-moz-tree-cell-text(title, separator, selected, focus) {
color: HighlightText;
}
/* Command Bar */
.commands {
padding-bottom: 5px;
}
.commandGroupButton {
margin-left: 0px;
margin-top: 0px;
}
.commandGroupButton.first {
margin-right: -10px;
}
.commandGroupButton.last {
margin-left: 20px;
}
/* Title Bar */
#titlebar {
background-color: -moz-Dialog;
border-bottom: 2px solid;
-moz-border-bottom-colors: ThreeDHighlight ThreeDShadow;
}
#showingPrefix {
margin: 5px 0.33em 5px 8px;
}
#contentTitle {
margin: 5px 8px 5px 0px;
font-weight: bold;
}
/* Search Bar */
#searchbar {
margin: 6px -4px 0px 2px;
}
.small {
font-size: x-small;
min-width: 0px;
padding: 0px 4px 0px 4px;
margin: 0px;
border: 0px;
}
.small .button-text,
.small .button-box {
padding: 0px;
border: 0px;
}
#searchFilter {
padding: 0px;
}
#searchFilter[empty="true"] {
color: GrayText;
}
#searchFilter .textbox-input-box {
padding: 2px 2px 3px 4px;
}
.filterList {
-moz-appearance: none;
background-color: transparent;
border: 0px;
margin: 2px;
padding: 0px;
min-width: 0px;
width: 16px;
height: 16px;
list-style-image: url("chrome://browser/skin/Search-bar.png");
-moz-user-focus: ignore;
cursor: default;
}
.filterList .button-box {
border: 0px;
padding: 0px;
}
.filterList .button-menu-dropmarker {
margin: 9px -3px -4px 8px;
}
/* Calendar */
.history-calendar {
margin: 0px 0px 7px 6px;
}
.calendar-box {
-moz-appearance: listbox;
border:1px solid black;
background-color:white;
}
.calendar-header {
background-color:#EEE;
}
.calendar-month-jump {
cursor:pointer;
padding-left:6px;
padding-right:6px;
}
.calendar-month-jump:hover {
background-color:#DDD;
}
.calendar-grid {
padding-left:8px;
padding-right:8px;
padding-bottom:4px;
}
.calendar-grid label { /* everything in the calendar grid */
padding:4px;
margin:0px;
text-align:center;
font-size:80%;
}
.calendar-month-title {
text-align:center;
}
.calendar-day-header {
border-bottom:1px solid #888;
}
.calendar-day { /* just days (excluding the day headers) */
cursor:w-resize;
color:white;
background-color:white;
}
.calendar-day:hover {
background-color:#DDD;
}
.calendar-day[selected="true"] {
cursor:w-resize;
background-color:#8C8;
}
.calendar-day[selected="true"]:hover {
background-color:#6A6;
}
.calendar-day[month="this"] {
color:black;
}
.calendar-day[month="other"] {
color:#888;
}
.no-margin-button {
min-width:0em;
}

Двоичные данные
browser/themes/winstripe/browser/places/placesIcon.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 271 B

Двоичные данные
browser/themes/winstripe/browser/places/query.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 266 B

Двоичные данные
browser/themes/winstripe/browser/places/toolbarDropMarker.png Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 174 B