summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/palemoon/base/content/autocomplete.xml46
-rw-r--r--application/palemoon/base/content/browser.css40
-rw-r--r--application/palemoon/base/content/browser.xul4
-rw-r--r--application/palemoon/base/content/urlbarBindings.xml24
-rw-r--r--application/palemoon/components/feeds/FeedConverter.js2
-rw-r--r--application/palemoon/components/feeds/FeedWriter.js19
-rw-r--r--application/palemoon/themes/linux/autocomplete.css46
-rw-r--r--application/palemoon/themes/osx/autocomplete.css46
-rw-r--r--application/palemoon/themes/windows/autocomplete.css48
-rw-r--r--config/milestone.txt2
-rw-r--r--layout/base/nsCaret.cpp4
-rw-r--r--layout/style/nsStyleStruct.h11
-rw-r--r--old-configure.in4
-rw-r--r--security/nss/lib/softoken/sftkpwd.c4
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd2
-rw-r--r--toolkit/mozapps/extensions/internal/XPIProvider.jsm24
-rw-r--r--toolkit/mozapps/preferences/changemp.js12
-rw-r--r--toolkit/mozapps/preferences/changemp.xul7
18 files changed, 175 insertions, 170 deletions
diff --git a/application/palemoon/base/content/autocomplete.xml b/application/palemoon/base/content/autocomplete.xml
index 3cb80b19d..9291b205b 100644
--- a/application/palemoon/base/content/autocomplete.xml
+++ b/application/palemoon/base/content/autocomplete.xml
@@ -3,13 +3,13 @@
- 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/. -->
-<bindings id="autocompleteBindings"
+<bindings id="privateAutocompleteBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
- <binding id="autocomplete" role="xul:combobox"
+ <binding id="private-autocomplete" role="xul:combobox"
extends="chrome://global/content/bindings/textbox.xml#textbox">
<resources>
<stylesheet src="chrome://browser/content/autocomplete.css"/>
@@ -17,25 +17,25 @@
</resources>
<content sizetopopup="pref">
- <xul:hbox class="autocomplete-textbox-container" flex="1" xbl:inherits="focused">
+ <xul:hbox class="private-autocomplete-textbox-container" flex="1" xbl:inherits="focused">
<children includes="image|deck|stack|box">
- <xul:image class="autocomplete-icon" allowevents="true"/>
+ <xul:image class="private-autocomplete-icon" allowevents="true"/>
</children>
<xul:hbox anonid="textbox-input-box" class="textbox-input-box" flex="1" xbl:inherits="tooltiptext=inputtooltiptext">
<children/>
- <html:input anonid="input" class="autocomplete-textbox textbox-input"
+ <html:input anonid="input" class="private-autocomplete-textbox textbox-input"
allowevents="true"
xbl:inherits="tooltiptext=inputtooltiptext,value,type=inputtype,maxlength,disabled,size,readonly,placeholder,tabindex,accesskey,mozactionhint"/>
</xul:hbox>
<children includes="hbox"/>
</xul:hbox>
- <xul:dropmarker anonid="historydropmarker" class="autocomplete-history-dropmarker"
+ <xul:dropmarker anonid="historydropmarker" class="private-autocomplete-history-dropmarker"
allowevents="true"
xbl:inherits="open,enablehistory,parentfocused=focused"/>
- <xul:popupset anonid="popupset" class="autocomplete-result-popupset"/>
+ <xul:popupset anonid="popupset" class="private-autocomplete-result-popupset"/>
<children includes="toolbarbutton"/>
</content>
@@ -656,7 +656,7 @@
</handlers>
</binding>
- <binding id="autocomplete-result-popup" extends="chrome://browser/content/autocomplete.xml#autocomplete-base-popup">
+ <binding id="private-autocomplete-result-popup" extends="chrome://browser/content/autocomplete.xml#private-autocomplete-base-popup">
<resources>
<stylesheet src="chrome://browser/content/autocomplete.css"/>
<stylesheet src="chrome://global/skin/tree.css"/>
@@ -664,11 +664,11 @@
</resources>
<content ignorekeys="true" level="top" consumeoutsideclicks="never">
- <xul:tree anonid="tree" class="autocomplete-tree plain" hidecolumnpicker="true" flex="1" seltype="single">
+ <xul:tree anonid="tree" class="private-autocomplete-tree plain" hidecolumnpicker="true" flex="1" seltype="single">
<xul:treecols anonid="treecols">
- <xul:treecol id="treecolAutoCompleteValue" class="autocomplete-treecol" flex="1" overflow="true"/>
+ <xul:treecol id="treecolAutoCompleteValue" class="private-autocomplete-treecol" flex="1" overflow="true"/>
</xul:treecols>
- <xul:treechildren class="autocomplete-treebody"/>
+ <xul:treechildren class="private-autocomplete-treebody"/>
</xul:tree>
</content>
@@ -718,7 +718,7 @@
<body>
<![CDATA[
var col = document.createElement("treecol");
- col.setAttribute("class", "autocomplete-treecol");
+ col.setAttribute("class", "private-autocomplete-treecol");
for (var name in aAttrs)
col.setAttribute(name, aAttrs[name]);
this.treecols.appendChild(col);
@@ -866,7 +866,7 @@
</implementation>
</binding>
- <binding id="autocomplete-base-popup" role="none"
+ <binding id="private-autocomplete-base-popup" role="none"
extends="chrome://global/content/bindings/popup.xml#popup">
<implementation implements="nsIAutoCompletePopup">
<field name="mInput">null</field>
@@ -1010,14 +1010,14 @@ extends="chrome://global/content/bindings/popup.xml#popup">
</handlers>
</binding>
- <binding id="autocomplete-rich-result-popup" extends="chrome://browser/content/autocomplete.xml#autocomplete-base-popup">
+ <binding id="private-autocomplete-rich-result-popup" extends="chrome://browser/content/autocomplete.xml#private-autocomplete-base-popup">
<resources>
<stylesheet src="chrome://browser/content/autocomplete.css"/>
<stylesheet src="chrome://browser/skin/autocomplete.css"/>
</resources>
<content ignorekeys="true" level="top" consumeoutsideclicks="never">
- <xul:richlistbox anonid="richlistbox" class="autocomplete-richlistbox" flex="1"/>
+ <xul:richlistbox anonid="richlistbox" class="private-autocomplete-richlistbox" flex="1"/>
<xul:hbox>
<children/>
</xul:hbox>
@@ -1270,7 +1270,7 @@ extends="chrome://global/content/bindings/popup.xml#popup">
else {
// set the class at the end so we can use the attributes
// in the xbl constructor
- item.className = "autocomplete-richlistitem";
+ item.className = "private-autocomplete-richlistitem";
this.richlistbox.appendChild(item);
}
@@ -1322,7 +1322,7 @@ extends="chrome://global/content/bindings/popup.xml#popup">
</implementation>
</binding>
- <binding id="autocomplete-richlistitem" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
+ <binding id="private-autocomplete-richlistitem" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
<content>
<xul:hbox align="center" class="ac-title-box">
<xul:image xbl:inherits="src=image" class="ac-site-icon"/>
@@ -2015,16 +2015,16 @@ extends="chrome://global/content/bindings/popup.xml#popup">
</implementation>
</binding>
- <binding id="autocomplete-tree" extends="chrome://global/content/bindings/tree.xml#tree">
+ <binding id="private-autocomplete-tree" extends="chrome://global/content/bindings/tree.xml#tree">
<content>
<children includes="treecols"/>
- <xul:treerows class="autocomplete-treerows tree-rows" xbl:inherits="hidescrollbar" flex="1">
+ <xul:treerows class="private-autocomplete-treerows tree-rows" xbl:inherits="hidescrollbar" flex="1">
<children/>
</xul:treerows>
</content>
</binding>
- <binding id="autocomplete-richlistbox" extends="chrome://global/content/bindings/richlistbox.xml#richlistbox">
+ <binding id="private-autocomplete-richlistbox" extends="chrome://global/content/bindings/richlistbox.xml#richlistbox">
<implementation>
<field name="mLastMoveTime">Date.now()</field>
<field name="mouseSelectedIndex">-1</field>
@@ -2068,7 +2068,7 @@ extends="chrome://global/content/bindings/popup.xml#popup">
</handlers>
</binding>
- <binding id="autocomplete-treebody">
+ <binding id="private-autocomplete-treebody">
<implementation>
<field name="mLastMoveTime">Date.now()</field>
</implementation>
@@ -2093,7 +2093,7 @@ extends="chrome://global/content/bindings/popup.xml#popup">
</handlers>
</binding>
- <binding id="autocomplete-treerows">
+ <binding id="private-autocomplete-treerows">
<content>
<xul:hbox flex="1" class="tree-bodybox">
<children/>
@@ -2102,7 +2102,7 @@ extends="chrome://global/content/bindings/popup.xml#popup">
</content>
</binding>
- <binding id="history-dropmarker" extends="chrome://global/content/bindings/general.xml#dropmarker">
+ <binding id="private-history-dropmarker" extends="chrome://global/content/bindings/general.xml#dropmarker">
<implementation>
<method name="showPopup">
<body><![CDATA[
diff --git a/application/palemoon/base/content/browser.css b/application/palemoon/base/content/browser.css
index a72d77488..91ae9aa18 100644
--- a/application/palemoon/base/content/browser.css
+++ b/application/palemoon/base/content/browser.css
@@ -328,56 +328,54 @@ panel[noactions] > richlistbox > richlistitem[type~="action"] > .ac-url-box > .a
visibility: hidden;
}
-/* Override xul.css for autocomplete bindings and css */
-textbox[type="autocomplete"] {
+/* Private Autocomplete */
+textbox[type="private-autocomplete"] {
-moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete");
}
-panel[type="autocomplete"] {
+panel[type="private-autocomplete"] {
-moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-result-popup");
}
-panel[type="autocomplete-richlistbox"] {
- -moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-rich-result-popup");
+panel[type="private-autocomplete-richlistbox"] {
+ -moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-rich-result-popup");
}
-/* FIXME: bug 616258 */
-
-.autocomplete-tree {
- -moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-tree");
+.private-autocomplete-tree {
+ -moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-tree");
-moz-user-focus: ignore;
}
-.autocomplete-treebody {
- -moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-treebody");
+.private-autocomplete-treebody {
+ -moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-treebody");
}
-.autocomplete-richlistbox {
- -moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-richlistbox");
+.private-autocomplete-richlistbox {
+ -moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-richlistbox");
-moz-user-focus: ignore;
}
-.autocomplete-richlistbox > scrollbox {
+.private-autocomplete-richlistbox > scrollbox {
overflow-x: hidden !important;
}
-.autocomplete-richlistitem {
- -moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-richlistitem");
+.private-autocomplete-richlistitem {
+ -moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-richlistitem");
-moz-box-orient: vertical;
overflow: -moz-hidden-unscrollable;
}
-.autocomplete-treerows {
- -moz-binding: url("chrome://browser/content/autocomplete.xml#autocomplete-treerows");
+.private-autocomplete-treerows {
+ -moz-binding: url("chrome://browser/content/autocomplete.xml#private-autocomplete-treerows");
}
-.autocomplete-history-dropmarker {
+.private-autocomplete-history-dropmarker {
display: none;
}
-.autocomplete-history-dropmarker[enablehistory="true"] {
+.private-autocomplete-history-dropmarker[enablehistory="true"] {
display: -moz-box;
- -moz-binding: url("chrome://browser/content/autocomplete.xml#history-dropmarker");
+ -moz-binding: url("chrome://browser/content/autocomplete.xml#private-history-dropmarker");
}
.ac-ellipsis-after {
diff --git a/application/palemoon/base/content/browser.xul b/application/palemoon/base/content/browser.xul
index ea9c3f969..11c4f16f9 100644
--- a/application/palemoon/base/content/browser.xul
+++ b/application/palemoon/base/content/browser.xul
@@ -128,9 +128,11 @@
<!-- for search and content formfill/pw manager -->
<panel type="autocomplete" id="PopupAutoComplete" noautofocus="true" hidden="true"/>
+ <panel type="private-autocomplete" id="PopupAutoComplete" noautofocus="true" hidden="true"/>
<!-- for url bar autocomplete -->
<panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
+ <panel type="private-autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
<!-- for date/time picker. consumeoutsideclicks is set to never, so that
clicks on the anchored input box are never consumed. -->
@@ -427,7 +429,7 @@
title="&locationItem.title;" class="chromeclass-location" removable="true">
<textbox id="urlbar" flex="1"
placeholder=""
- type="autocomplete"
+ type="private-autocomplete"
autocompletesearch="urlinline history"
autocompletesearchparam="enable-actions"
autocompletepopup="PopupAutoCompleteRichResult"
diff --git a/application/palemoon/base/content/urlbarBindings.xml b/application/palemoon/base/content/urlbarBindings.xml
index 6b4350f99..75411f39b 100644
--- a/application/palemoon/base/content/urlbarBindings.xml
+++ b/application/palemoon/base/content/urlbarBindings.xml
@@ -17,32 +17,32 @@
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
- <binding id="urlbar" extends="chrome://browser/content/autocomplete.xml#autocomplete">
+ <binding id="urlbar" extends="chrome://browser/content/autocomplete.xml#private-autocomplete">
<content sizetopopup="pref">
<xul:hbox anonid="textbox-container"
- class="autocomplete-textbox-container urlbar-textbox-container"
+ class="private-autocomplete-textbox-container urlbar-textbox-container"
flex="1" xbl:inherits="focused">
<children includes="image|deck|stack|box">
- <xul:image class="autocomplete-icon" allowevents="true"/>
+ <xul:image class="private-autocomplete-icon" allowevents="true"/>
</children>
<xul:hbox anonid="textbox-input-box"
class="textbox-input-box urlbar-input-box"
flex="1" xbl:inherits="tooltiptext=inputtooltiptext">
<children/>
<html:input anonid="input"
- class="autocomplete-textbox urlbar-input textbox-input uri-element-right-align"
+ class="private-autocomplete-textbox urlbar-input textbox-input uri-element-right-align"
allowevents="true"
xbl:inherits="tooltiptext=inputtooltiptext,value,type,maxlength,disabled,size,readonly,placeholder,tabindex,accesskey"/>
</xul:hbox>
<children includes="hbox"/>
</xul:hbox>
<xul:dropmarker anonid="historydropmarker"
- class="autocomplete-history-dropmarker urlbar-history-dropmarker"
+ class="private-autocomplete-history-dropmarker urlbar-history-dropmarker"
allowevents="true"
xbl:inherits="open,enablehistory,parentfocused=focused"/>
<xul:popupset anonid="popupset"
- class="autocomplete-result-popupset"/>
+ class="private-autocomplete-result-popupset"/>
<children includes="toolbarbutton"/>
</content>
@@ -769,7 +769,7 @@
</binding>
<!-- Note: this binding is applied to the autocomplete popup used in the Search bar and in web page content -->
- <binding id="browser-autocomplete-result-popup" extends="chrome://browser/content/autocomplete.xml#autocomplete-result-popup">
+ <binding id="browser-autocomplete-result-popup" extends="chrome://global/content/bindings/autocomplete.xml#autocomplete-result-popup">
<implementation>
<method name="openAutocompletePopup">
<parameter name="aInput"/>
@@ -823,7 +823,7 @@
</implementation>
</binding>
- <binding id="urlbar-rich-result-popup" extends="chrome://browser/content/autocomplete.xml#autocomplete-rich-result-popup">
+ <binding id="urlbar-rich-result-popup" extends="chrome://browser/content/autocomplete.xml#private-autocomplete-rich-result-popup">
<implementation>
<field name="_maxResults">0</field>
@@ -990,9 +990,11 @@
document.getAnonymousElementByAttribute(this, "anonid", "cancel");
</field>
<field name="DownloadUtils" readonly="true">
- let utils = {};
- Components.utils.import("resource://gre/modules/DownloadUtils.jsm", utils);
- utils.DownloadUtils;
+ {
+ let utils = {};
+ Components.utils.import("resource://gre/modules/DownloadUtils.jsm", utils);
+ utils.DownloadUtils;
+ }
</field>
<method name="destroy">
diff --git a/application/palemoon/components/feeds/FeedConverter.js b/application/palemoon/components/feeds/FeedConverter.js
index 75115cc94..d0f573774 100644
--- a/application/palemoon/components/feeds/FeedConverter.js
+++ b/application/palemoon/components/feeds/FeedConverter.js
@@ -260,7 +260,7 @@ FeedConverter.prototype = {
}
chromeChannel.loadGroup = this._request.loadGroup;
- chromeChannel.asyncOpen(this._listener, null);
+ chromeChannel.asyncOpen2(this._listener);
}
finally {
this._releaseHandles();
diff --git a/application/palemoon/components/feeds/FeedWriter.js b/application/palemoon/components/feeds/FeedWriter.js
index 28cf582c2..cbb146564 100644
--- a/application/palemoon/components/feeds/FeedWriter.js
+++ b/application/palemoon/components/feeds/FeedWriter.js
@@ -9,6 +9,7 @@ const Cr = Components.results;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://gre/modules/NetUtil.jsm");
const FEEDWRITER_CID = Components.ID("{49bb6593-3aff-4eb3-a068-2712c28bd58e}");
const FEEDWRITER_CONTRACTID = "@mozilla.org/browser/feeds/result-writer;1";
@@ -1137,16 +1138,14 @@ FeedWriter.prototype = {
var nullPrincipal = Cc["@mozilla.org/nullprincipal;1"].
createInstance(Ci.nsIPrincipal);
- var resolvedURI = Cc["@mozilla.org/network/io-service;1"].
- getService(Ci.nsIIOService).
- newChannel2("about:feeds",
- null,
- null,
- null, // aLoadingNode
- nullPrincipal,
- null, // aTriggeringPrincipal
- Ci.nsILoadInfo.SEC_NORMAL,
- Ci.nsIContentPolicy.TYPE_OTHER).URI;
+ // this channel is not going to be openend, use a nullPrincipal
+ // and the most restrctive securityFlag.
+ let resolvedURI = NetUtil.newChannel({
+ uri: "about:feeds",
+ loadingPrincipal: nullPrincipal,
+ securityFlags: Ci.nsILoadInfo.SEC_REQUIRE_SAME_ORIGIN_DATA_IS_BLOCKED,
+ contentPolicyType: Ci.nsIContentPolicy.TYPE_OTHER
+ }).URI;
if (resolvedURI.equals(chan.URI))
return chan.originalURI;
diff --git a/application/palemoon/themes/linux/autocomplete.css b/application/palemoon/themes/linux/autocomplete.css
index fffa2b1f0..ab926851d 100644
--- a/application/palemoon/themes/linux/autocomplete.css
+++ b/application/palemoon/themes/linux/autocomplete.css
@@ -27,7 +27,7 @@ textbox[nomatch="true"][highlightnonmatches="true"] {
color: red;
}
-.autocomplete-textbox-container {
+.private-autocomplete-textbox-container {
-moz-box-align: center;
}
@@ -45,9 +45,9 @@ textbox:not(.padded) .textbox-input-box {
/* ::::: autocomplete popups ::::: */
-panel[type="autocomplete"],
-panel[type="autocomplete-richlistbox"],
-.autocomplete-history-popup {
+panel[type="private-autocomplete"],
+panel[type="private-autocomplete-richlistbox"],
+.private-autocomplete-history-popup {
border-width: 1px;
-moz-border-top-colors: ThreeDDarkShadow;
-moz-border-right-colors: ThreeDDarkShadow;
@@ -57,20 +57,20 @@ panel[type="autocomplete-richlistbox"],
background-color: -moz-Field;
}
-.autocomplete-history-popup {
+.private-autocomplete-history-popup {
max-height: 180px;
}
/* ::::: tree ::::: */
-.autocomplete-tree {
+.private-autocomplete-tree {
-moz-appearance: none !important;
border: none !important;
background-color: transparent !important;
color: MenuText;
}
-.autocomplete-treecol {
+.private-autocomplete-treecol {
-moz-appearance: none !important;
margin: 0 !important;
border: none !important;
@@ -78,41 +78,41 @@ panel[type="autocomplete-richlistbox"],
}
/* GTK calculates space for a sort arrow */
-.autocomplete-treecol > .treecol-sortdirection {
+.private-autocomplete-treecol > .treecol-sortdirection {
-moz-appearance: none !important;
}
-.autocomplete-treebody::-moz-tree-cell-text {
+.private-autocomplete-treebody::-moz-tree-cell-text {
-moz-padding-start: 8px;
}
-treechildren.autocomplete-treebody::-moz-tree-row(selected) {
+treechildren.private-autocomplete-treebody::-moz-tree-row(selected) {
background-color: Highlight;
}
-treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
+treechildren.private-autocomplete-treebody::-moz-tree-cell-text(selected) {
color: HighlightText !important;
}
-.autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
+.private-autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
max-width: 16px;
height: 16px;
}
/* ::::: richlistbox autocomplete ::::: */
-.autocomplete-richlistbox {
+.private-autocomplete-richlistbox {
-moz-appearance: none;
margin: 1px;
background-color: transparent;
}
-.autocomplete-richlistitem[selected="true"] {
+.private-autocomplete-richlistitem[selected="true"] {
background-color: Highlight;
color: HighlightText;
}
-.autocomplete-richlistitem {
+.private-autocomplete-richlistitem {
padding: 6px 2px;
color: MenuText;
}
@@ -123,17 +123,17 @@ treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
margin-top: 1px;
}
-.autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
-.autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
-.autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
-.autocomplete-richlistitem[type~="autofill"] .ac-url-box {
+.private-autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
+.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
+.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
+.private-autocomplete-richlistitem[type~="autofill"] .ac-url-box {
visibility: hidden;
}
-.autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
-.autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
-.autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
-.autocomplete-richlistitem[type~="autofill"] .ac-title-box {
+.private-autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
+.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
+.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
+.private-autocomplete-richlistitem[type~="autofill"] .ac-title-box {
/* Center the title by moving it down by half of .ac-url-box's height,
including vertical margins (if any). */
transform: translateY(.5em);
diff --git a/application/palemoon/themes/osx/autocomplete.css b/application/palemoon/themes/osx/autocomplete.css
index 42b4ee430..a50dbd823 100644
--- a/application/palemoon/themes/osx/autocomplete.css
+++ b/application/palemoon/themes/osx/autocomplete.css
@@ -25,7 +25,7 @@ textbox:not(.padded) .textbox-input-box {
/* ::::: history button ::::: */
-.autocomplete-history-dropmarker {
+.private-autocomplete-history-dropmarker {
-moz-appearance: none !important;
border: none !important;
background-color: transparent !important;
@@ -36,9 +36,9 @@ textbox:not(.padded) .textbox-input-box {
/* ::::: autocomplete popups ::::: */
-panel[type="autocomplete"],
-panel[type="autocomplete-richlistbox"],
-.autocomplete-history-popup {
+panel[type="private-autocomplete"],
+panel[type="private-autocomplete-richlistbox"],
+.private-autocomplete-history-popup {
padding: 0px !important;
color: -moz-FieldText;
background-color: -moz-Field;
@@ -46,60 +46,60 @@ panel[type="autocomplete-richlistbox"],
-moz-appearance: none;
}
-.autocomplete-history-popup {
+.private-autocomplete-history-popup {
max-height: 180px;
}
/* ::::: tree ::::: */
-.autocomplete-tree {
+.private-autocomplete-tree {
-moz-appearance: none !important;
border: none !important;
background-color: transparent !important;
}
-.autocomplete-treecol {
+.private-autocomplete-treecol {
-moz-appearance: none !important;
margin: 0 !important;
border: none !important;
padding: 0 !important;
}
-.autocomplete-treebody::-moz-tree-cell-text {
+.private-autocomplete-treebody::-moz-tree-cell-text {
padding-left: 2px;
}
-.autocomplete-treebody::-moz-tree-row {
+.private-autocomplete-treebody::-moz-tree-row {
border-top: none;
}
-treechildren.autocomplete-treebody::-moz-tree-row(selected) {
+treechildren.private-autocomplete-treebody::-moz-tree-row(selected) {
background-color: Highlight;
}
-treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
+treechildren.private-autocomplete-treebody::-moz-tree-cell-text(selected) {
color: HighlightText !important;
}
-.autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
+.private-autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
max-width: 16px;
height: 16px;
}
/* ::::: richlistbox autocomplete ::::: */
-.autocomplete-richlistbox {
+.private-autocomplete-richlistbox {
-moz-appearance: none;
margin: 0;
}
-.autocomplete-richlistitem[selected="true"] {
+.private-autocomplete-richlistitem[selected="true"] {
background-color: Highlight;
color: HighlightText;
background-image: linear-gradient(rgba(255,255,255,0.3), transparent);
}
-.autocomplete-richlistitem {
+.private-autocomplete-richlistitem {
padding: 5px 2px;
}
@@ -109,17 +109,17 @@ treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
margin-top: 1px;
}
-.autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
-.autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
-.autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
-.autocomplete-richlistitem[type~="autofill"] .ac-url-box {
+.private-autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
+.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
+.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
+.private-autocomplete-richlistitem[type~="autofill"] .ac-url-box {
visibility: hidden;
}
-.autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
-.autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
-.autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
-.autocomplete-richlistitem[type~="autofill"] .ac-title-box {
+.private-autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
+.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
+.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
+.private-autocomplete-richlistitem[type~="autofill"] .ac-title-box {
/* Center the title by moving it down by half of .ac-url-box's height,
including vertical margins (if any). */
transform: translateY(.5em);
diff --git a/application/palemoon/themes/windows/autocomplete.css b/application/palemoon/themes/windows/autocomplete.css
index f0f16cc27..b3cab44c8 100644
--- a/application/palemoon/themes/windows/autocomplete.css
+++ b/application/palemoon/themes/windows/autocomplete.css
@@ -21,7 +21,7 @@ textbox[nomatch="true"][highlightnonmatches="true"] {
color: red;
}
-.autocomplete-textbox-container {
+.private-autocomplete-textbox-container {
-moz-box-align: center;
}
@@ -35,9 +35,9 @@ textbox:not(.padded) .textbox-input-box {
/* ::::: autocomplete popups ::::: */
-panel[type="autocomplete"],
-panel[type="autocomplete-richlistbox"],
-.autocomplete-history-popup {
+panel[type="private-autocomplete"],
+panel[type="private-autocomplete-richlistbox"],
+.private-autocomplete-history-popup {
-moz-appearance: none;
border-width: 1px;
-moz-border-top-colors: ThreeDShadow;
@@ -49,19 +49,19 @@ panel[type="autocomplete-richlistbox"],
background-color: -moz-Field;
}
-.autocomplete-history-popup {
+.private-autocomplete-history-popup {
max-height: 180px;
}
/* ::::: tree ::::: */
-.autocomplete-tree {
+.private-autocomplete-tree {
-moz-appearance: none !important;
border: none !important;
background-color: transparent !important;
}
-.autocomplete-treecol {
+.private-autocomplete-treecol {
-moz-appearance: none !important;
margin: 0 !important;
border: none !important;
@@ -69,39 +69,39 @@ panel[type="autocomplete-richlistbox"],
}
/* GTK calculates space for a sort arrow */
-.autocomplete-treecol > .treecol-sortdirection {
+.private-autocomplete-treecol > .treecol-sortdirection {
-moz-appearance: none !important;
}
-.autocomplete-treebody::-moz-tree-cell-text {
+.private-autocomplete-treebody::-moz-tree-cell-text {
-moz-padding-start: 8px;
}
-treechildren.autocomplete-treebody::-moz-tree-row(selected) {
+treechildren.private-autocomplete-treebody::-moz-tree-row(selected) {
background-color: Highlight;
}
-treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
+treechildren.private-autocomplete-treebody::-moz-tree-cell-text(selected) {
color: HighlightText !important;
}
-.autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
+.private-autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
max-width: 16px;
height: 16px;
}
/* ::::: richlistbox autocomplete ::::: */
-.autocomplete-richlistbox {
+.private-autocomplete-richlistbox {
-moz-appearance: none;
margin: 0;
}
-.autocomplete-richlistitem {
+.private-autocomplete-richlistitem {
padding: 1px;
}
-.autocomplete-richlistitem[selected="true"] {
+.private-autocomplete-richlistitem[selected="true"] {
background-color: Highlight;
color: HighlightText;
}
@@ -109,7 +109,7 @@ treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
%ifdef XP_WIN
@media (-moz-os-version: windows-vista) and (-moz-windows-default-theme),
(-moz-os-version: windows-win7) and (-moz-windows-default-theme) {
- .autocomplete-richlistitem[selected="true"] {
+ .private-autocomplete-richlistitem[selected="true"] {
color: inherit;
background-color: transparent;
/* four gradients for the bevel highlights on each edge, one for blue background */
@@ -138,17 +138,17 @@ treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
margin: 1px 0 4px;
}
-.autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
-.autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
-.autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
-.autocomplete-richlistitem[type~="autofill"] .ac-url-box {
+.private-autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
+.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
+.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
+.private-autocomplete-richlistitem[type~="autofill"] .ac-url-box {
visibility: hidden;
}
-.autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
-.autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
-.autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
-.autocomplete-richlistitem[type~="autofill"] .ac-title-box {
+.private-autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
+.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
+.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
+.private-autocomplete-richlistitem[type~="autofill"] .ac-title-box {
/* Center the title by moving it down by half of .ac-url-box's height,
including vertical margins (if any). */
transform: translateY(calc(.5em + 2px));
diff --git a/config/milestone.txt b/config/milestone.txt
index 27f2d007f..b617f64b7 100644
--- a/config/milestone.txt
+++ b/config/milestone.txt
@@ -10,4 +10,4 @@
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------
-4.1.1
+4.1.2
diff --git a/layout/base/nsCaret.cpp b/layout/base/nsCaret.cpp
index 2f08d156e..8ad435950 100644
--- a/layout/base/nsCaret.cpp
+++ b/layout/base/nsCaret.cpp
@@ -200,8 +200,8 @@ nsCaret::ComputeMetrics(nsIFrame* aFrame, int32_t aOffset, nscoord aCaretHeight)
// between 0 and 1 goes up to 1 so we don't let the caret disappear.
int32_t tpp = aFrame->PresContext()->AppUnitsPerDevPixel();
Metrics result;
- result.mCaretWidth = NS_ROUND_BORDER_TO_PIXELS(caretWidth, tpp);
- result.mBidiIndicatorSize = NS_ROUND_BORDER_TO_PIXELS(bidiIndicatorSize, tpp);
+ result.mCaretWidth = NS_ROUND_CARET_TO_PIXELS(caretWidth, tpp);
+ result.mBidiIndicatorSize = NS_ROUND_CARET_TO_PIXELS(bidiIndicatorSize, tpp);
return result;
}
diff --git a/layout/style/nsStyleStruct.h b/layout/style/nsStyleStruct.h
index ca5d03056..05a6be91e 100644
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -1197,11 +1197,14 @@ private:
nsCSSShadowItem mArray[1]; // This MUST be the last item
};
-// Border widths are rounded to the nearest-below integer number of pixels,
-// but values between zero and one device pixels are always rounded up to
-// one device pixel.
+// Border widths are rounded to the nearest integer number of pixels, but values
+// between zero and one device pixels are always rounded up to one device pixel.
#define NS_ROUND_BORDER_TO_PIXELS(l,tpp) \
- ((l) == 0) ? 0 : std::max((tpp), (l) / (tpp) * (tpp))
+ ((l) == 0) ? 0 : std::max((tpp), ((l) + ((tpp) / 2)) / (tpp) * (tpp))
+// Caret widths are rounded to the nearest-below integer number of pixels, but values
+// between zero and one device pixels are always rounded up to one device pixel.
+#define NS_ROUND_CARET_TO_PIXELS(l,tpp) \
+ ((l) == 0) ? 0 : std::max((tpp), (l) / (tpp) * (tpp))
// Outline offset is rounded to the nearest integer number of pixels, but values
// between zero and one device pixels are always rounded up to one device pixel.
// Note that the offset can be negative.
diff --git a/old-configure.in b/old-configure.in
index 6e2d743d6..9d57839e3 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -936,7 +936,7 @@ case "$target" in
fi
MOZ_GFX_OPTIMIZE_MOBILE=1
- MOZ_OPTIMIZE_FLAGS="-Os"
+ MOZ_OPTIMIZE_FLAGS="-O2"
if test -z "$CLANG_CC"; then
MOZ_OPTIMIZE_FLAGS="-freorder-blocks -fno-reorder-functions $MOZ_OPTIMIZE_FLAGS"
fi
@@ -945,7 +945,7 @@ case "$target" in
*-*linux*)
if test "$GNU_CC" -o "$GNU_CXX"; then
MOZ_PGO_OPTIMIZE_FLAGS="-O3"
- MOZ_OPTIMIZE_FLAGS="-Os"
+ MOZ_OPTIMIZE_FLAGS="-O2"
if test -z "$CLANG_CC"; then
MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
fi
diff --git a/security/nss/lib/softoken/sftkpwd.c b/security/nss/lib/softoken/sftkpwd.c
index e0d2df9ab..07b6922dc 100644
--- a/security/nss/lib/softoken/sftkpwd.c
+++ b/security/nss/lib/softoken/sftkpwd.c
@@ -273,7 +273,7 @@ sftkdb_EncryptAttribute(PLArenaPool *arena, SECItem *passKey,
RNG_GenerateGlobalRandomBytes(saltData, cipherValue.salt.len);
param = nsspkcs5_NewParam(cipherValue.alg, HASH_AlgSHA1, &cipherValue.salt,
- 1);
+ 30000);
if (param == NULL) {
rv = SECFailure;
goto loser;
@@ -444,7 +444,7 @@ sftkdb_SignAttribute(PLArenaPool *arena, SECItem *passKey,
RNG_GenerateGlobalRandomBytes(saltData, prfLength);
/* initialize our pkcs5 parameter */
- param = nsspkcs5_NewParam(signValue.alg, HASH_AlgSHA1, &signValue.salt, 1);
+ param = nsspkcs5_NewParam(signValue.alg, HASH_AlgSHA1, &signValue.salt, 30000);
if (param == NULL) {
rv = SECFailure;
goto loser;
diff --git a/toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd b/toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd
index 1cc7b9621..1b1d5ac55 100644
--- a/toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd
+++ b/toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd
@@ -9,5 +9,5 @@
<!ENTITY setPassword.reenterPassword.label "Re-enter password:">
<!ENTITY setPassword.meter.label "Password quality meter">
<!ENTITY setPassword.meter.loading "Loading">
-<!ENTITY masterPasswordDescription.label "A Master Password is used to protect sensitive information like site passwords. If you create a Master Password you will be asked to enter it once per session when &brandShortName; retrieves saved information protected by the password.">
+<!ENTITY masterPasswordDescription.label "A Master Password is used to protect sensitive information like site passwords. If you create a Master Password you will be asked to enter it once per session when &brandShortName; retrieves saved information protected by the password. A master password must be 8 characters or longer; longer is better.">
<!ENTITY masterPasswordWarning.label "Please make sure you remember the Master Password you have set. If you forget your Master Password, you will be unable to access any of the information protected by it.">
diff --git a/toolkit/mozapps/extensions/internal/XPIProvider.jsm b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
index 2c5e3dfa7..72a460e4a 100644
--- a/toolkit/mozapps/extensions/internal/XPIProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/XPIProvider.jsm
@@ -1931,12 +1931,10 @@ this.XPIProvider = {
let chan;
try {
- chan = Services.io.newChannelFromURI2(aURI,
- null, // aLoadingNode
- Services.scriptSecurityManager.getSystemPrincipal(),
- null, // aTriggeringPrincipal
- Ci.nsILoadInfo.SEC_NORMAL,
- Ci.nsIContentPolicy.TYPE_OTHER);
+ chan = NetUtil.newChannel({
+ uri: aURI,
+ loadUsingSystemPrincipal: true
+ });
}
catch (ex) {
return null;
@@ -5456,21 +5454,17 @@ AddonInstall.prototype = {
let requireBuiltIn = Preferences.get(PREF_INSTALL_REQUIREBUILTINCERTS, true);
this.badCertHandler = new BadCertHandler(!requireBuiltIn);
- this.channel = NetUtil.newChannel2(this.sourceURI,
- null,
- null,
- null, // aLoadingNode
- Services.scriptSecurityManager.getSystemPrincipal(),
- null, // aTriggeringPrincipal
- Ci.nsILoadInfo.SEC_NORMAL,
- Ci.nsIContentPolicy.TYPE_OTHER);
+ this.channel = NetUtil.newChannel({
+ uri: this.sourceURI,
+ loadUsingSystemPrincipal: true
+ });
this.channel.notificationCallbacks = this;
if (this.channel instanceof Ci.nsIHttpChannel) {
this.channel.setRequestHeader("Moz-XPI-Update", "1", true);
if (this.channel instanceof Ci.nsIHttpChannelInternal)
this.channel.forceAllowThirdPartyCookie = true;
}
- this.channel.asyncOpen(listener, null);
+ this.channel.asyncOpen2(listener);
Services.obs.addObserver(this, "network:offline-about-to-go-offline", false);
}
diff --git a/toolkit/mozapps/preferences/changemp.js b/toolkit/mozapps/preferences/changemp.js
index 82dd20128..71664b3e1 100644
--- a/toolkit/mozapps/preferences/changemp.js
+++ b/toolkit/mozapps/preferences/changemp.js
@@ -167,8 +167,8 @@ function setPasswordStrength()
// length of the password
var pwlength=(pw.length);
- if (pwlength>5)
- pwlength=5;
+ if (pwlength>10)
+ pwlength=10;
// use of numbers in the password
@@ -190,7 +190,7 @@ function setPasswordStrength()
upper=3;
- var pwstrength=((pwlength*10)-20) + (numeric*10) + (numsymbols*15) + (upper*10);
+ var pwstrength=((pwlength*5)-20) + (numeric*10) + (numsymbols*15) + (upper*10);
// make sure we're give a value between 0 and 100
if ( pwstrength < 0 ) {
@@ -227,6 +227,12 @@ function checkPasswords()
}
}
+ // Never accept short passwords < 8 chars
+ if (pw1.length < 8) {
+ ok.setAttribute("disabled", "true");
+ return;
+ }
+
if (pw1 == pw2) {
ok.setAttribute("disabled", "false");
} else
diff --git a/toolkit/mozapps/preferences/changemp.xul b/toolkit/mozapps/preferences/changemp.xul
index 14d02295e..b316fa42b 100644
--- a/toolkit/mozapps/preferences/changemp.xul
+++ b/toolkit/mozapps/preferences/changemp.xul
@@ -34,7 +34,7 @@
<rows>
<row>
<label control="oldpw">&setPassword.oldPassword.label;</label>
- <textbox id="oldpw" type="password"/>
+ <textbox id="oldpw" type="password" size="18"/>
<!-- This textbox is inserted as a workaround to the fact that making the 'type'
& 'disabled' property of the 'oldpw' textbox toggle between ['password' &
'false'] and ['text' & 'true'] - as would be necessary if the menu has more
@@ -46,12 +46,13 @@
</row>
<row>
<label control="pw1">&setPassword.newPassword.label;</label>
- <textbox id="pw1" type="password"
+ <textbox id="pw1" type="password" size="18"
oninput="setPasswordStrength(); checkPasswords();"/>
</row>
<row>
<label control="pw2">&setPassword.reenterPassword.label;</label>
- <textbox id="pw2" type="password" oninput="checkPasswords();"/>
+ <textbox id="pw2" type="password" size="18"
+ oninput="checkPasswords();"/>
</row>
</rows>
</grid>