Merge the last green PGO changeset from mozilla-inbound into mozilla-central; a=merge
authorEhsan Akhgari <ehsan@mozilla.com>
Mon, 23 Apr 2012 18:53:10 -0400
changeset 92145 8acbbeca4f425d99614b981847a5a004516cdb49
parent 92144 33c843f7020423a5184b51414f45a3b0571e0d69 (current diff)
parent 92115 142fe408f5b4a805ca76406b62b2a2163ddeed2c (diff)
child 92146 72fcb7c13613c9a721a8eb1db7fc5d39f2dca626
child 92169 2e95132e00d38d10d2da388b7980de4bd5c6c418
push id22516
push usereakhgari@mozilla.com
push dateMon, 23 Apr 2012 22:53:29 +0000
treeherdermozilla-central@8acbbeca4f42 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone14.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge the last green PGO changeset from mozilla-inbound into mozilla-central; a=merge
--- a/browser/themes/gnomestripe/browser.css
+++ b/browser/themes/gnomestripe/browser.css
@@ -945,16 +945,20 @@ toolbar[iconsize="small"] #feed-button {
   padding: 0;
 }
 
 .urlbar-textbox-container {
   -moz-appearance: none;
   -moz-box-align: stretch;
 }
 
+.urlbar-input-box {
+  -moz-margin-start: 0;
+}
+
 .urlbar-history-dropmarker {
   -moz-appearance: toolbarbutton-dropdown;
 }
 
 #urlbar-container {
   -moz-box-orient: horizontal;
   -moz-box-align: stretch;
 }
@@ -1018,44 +1022,45 @@ toolbar[iconsize="small"] #feed-button {
   margin-bottom: -1px;
   -moz-border-end: 1px solid #AAA;
   -moz-margin-end: 3px;
 }
 
 #urlbar-display {
   margin-top: 0;
   margin-bottom: 0;
+  -moz-margin-start: 0;
   color: GrayText;
 }
 
 /* Favicon */
 #page-proxy-favicon {
   width: 16px;
   height: 16px;
   margin-top: 2px;
   margin-bottom: 2px;
   -moz-margin-start: 4px;
-  -moz-margin-end: 0;
+  -moz-margin-end: 3px;
   list-style-image: url(chrome://browser/skin/identity-icons-generic.png);
   -moz-image-region: rect(0, 16px, 16px, 0);
 }
 
 .verifiedDomain > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   list-style-image: url(chrome://browser/skin/identity-icons-https.png);
 }
 
 .verifiedIdentity > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   list-style-image: url(chrome://browser/skin/identity-icons-https-ev.png);
 }
 
 #identity-box:hover > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   -moz-image-region: rect(0, 32px, 16px, 16px);
 }
 
-#identity-box:hover:active > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon,
+#identity-box:hover:active > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon,
 #identity-box[open=true] > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   -moz-image-region: rect(0, 48px, 16px, 32px);
 }
 
 #page-proxy-favicon[pageproxystate="invalid"] {
   opacity: 0.3;
 }
 
@@ -1077,25 +1082,25 @@ toolbar[iconsize="small"] #feed-button {
 }
 
 #identity-box:-moz-focusring {
   outline: 1px dotted #000;
   outline-offset: -3px;
 }
 
 #identity-icon-labels {
-  -moz-margin-start: 4px;
   -moz-padding-start: 2px;
   -moz-padding-end: 5px;
 }
 
 #identity-box.verifiedIdentity {
   background-color: #fff;
   color: hsl(92,81%,16%);
   -moz-border-end: 1px solid hsla(92,81%,16%,.2);
+  -moz-margin-end: 4px;
 }
 
 /* Identity popup icons */
 #identity-popup-icon {
   height: 64px;
   width: 64px;
   padding: 0;
   list-style-image: url("chrome://browser/skin/identity.png");
--- a/browser/themes/pinstripe/browser.css
+++ b/browser/themes/pinstripe/browser.css
@@ -1020,17 +1020,16 @@ toolbar[mode="icons"] #zoom-in-button {
   padding-left: 10.01px;
 }
 
 @conditionalForwardWithUrlbar@[forwarddisabled]:not(:hover) + #urlbar-container > #urlbar > #notification-popup-box[hidden] + #identity-box:-moz-locale-dir(rtl) {
   padding-right: 10.01px;
 }
 
 #identity-box.verifiedIdentity {
-  background-color: #fff;
   color: hsl(92,100%,20%);
   -moz-border-end: 1px solid hsla(92,81%,16%,.2);
   -moz-padding-end: 4px;
 }
 
 #identity-box:-moz-focusring {
   box-shadow: 0 0 2px 1px -moz-mac-focusring inset,
               0 0 2px 2px -moz-mac-focusring;
@@ -1093,17 +1092,17 @@ toolbar[mode="icons"] #zoom-in-button {
 .verifiedDomain > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   list-style-image: url(chrome://browser/skin/identity-icons-https.png);
 }
 
 .verifiedIdentity > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   list-style-image: url(chrome://browser/skin/identity-icons-https-ev.png);
 }
 
-#identity-box:hover:active > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon,
+#identity-box:hover:active > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon,
 #identity-box[open=true] > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   -moz-image-region: rect(0, 32px, 16px, 16px);
 }
 
 #page-proxy-favicon[pageproxystate="invalid"] {
   opacity: 0.5;
 }
 
--- a/browser/themes/winstripe/browser.css
+++ b/browser/themes/winstripe/browser.css
@@ -1294,16 +1294,20 @@ html|*.urlbar-input:-moz-lwtheme:-moz-pl
 #urlbar-container {
   -moz-box-orient: horizontal;
   -moz-box-align: stretch;
 }
 
 .urlbar-textbox-container {
   -moz-box-align: stretch;
 }
+ 
+.urlbar-input-box {
+  -moz-margin-start: 0;
+}
 
 #urlbar-icons {
   -moz-box-align: center;
 }
 
 .urlbar-icon {
   padding: 3px 3px;
 }
@@ -1342,16 +1346,17 @@ html|*.urlbar-input:-moz-lwtheme:-moz-pl
 #urlbar-display-box {
   -moz-border-end: 1px solid #AAA;
   -moz-margin-end: 3px;
 }
 
 #urlbar-display {
   margin-top: 0;
   margin-bottom: 0;
+  -moz-margin-start: 0;
   color: GrayText;
 }
 
 /* identity box */
 
 #identity-box {
   padding: 2px;
 }
@@ -1396,29 +1401,33 @@ html|*.urlbar-input:-moz-lwtheme:-moz-pl
 }
 
 @conditionalForwardWithUrlbar@[forwarddisabled]:not(:hover) + #urlbar-container > #urlbar > #notification-popup-box[hidden] + #identity-box:-moz-locale-dir(rtl) {
   /* when not hovered anymore, trigger a new non-delayed transition to react to the forward button hiding */
   padding-right: 5.01px;
 }
 
 #identity-box.verifiedIdentity {
-  background-color: #fff;
   color: hsl(92,100%,20%);
   -moz-border-end: 1px solid hsla(92,81%,16%,.2);
+  -moz-margin-end: 4px;
+}
+
+#identity-box.verifiedIdentity:not(:-moz-lwtheme) {
+  background-color: #fff;
 }
 
 #identity-box:-moz-focusring {
   outline: 1px dotted #000;
   outline-offset: -3px;
 }
 
 #identity-icon-labels {
-  -moz-margin-start: 5px;
-  -moz-margin-end: 3px;
+  -moz-padding-start: 2px;
+  -moz-padding-end: 5px;
 }
 
 /* Location bar dropmarker */
 
 .urlbar-history-dropmarker {
   -moz-appearance: none;
   padding: 0 3px;
   background-color: transparent;
@@ -1443,20 +1452,17 @@ html|*.urlbar-input:-moz-lwtheme:-moz-pl
   -moz-image-region: rect(0px, 33px, 14px, 22px);
 }
 
 /* page proxy icon */
 
 #page-proxy-favicon {
   width: 16px;
   height: 16px;
-  margin-top: 1px;
-  margin-bottom: 1px;
-  -moz-margin-start: 4px;
-  -moz-margin-end: 0;
+  margin: 1px 3px;
   list-style-image: url(chrome://browser/skin/identity-icons-generic.png);
   -moz-image-region: rect(0, 16px, 16px, 0);
 }
 
 .verifiedDomain > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon {
   list-style-image: url(chrome://browser/skin/identity-icons-https.png);
 }
 
--- a/js/xpconnect/src/XPCJSWeakReference.cpp
+++ b/js/xpconnect/src/XPCJSWeakReference.cpp
@@ -55,18 +55,20 @@ nsresult xpcJSWeakReference::Init(JSCont
 
     JSObject& obj = object.toObject();
 
     XPCCallContext ccx(NATIVE_CALLER, cx);
 
     // See if the object is a wrapped native that supports weak references.
     nsISupports* supports =
         nsXPConnect::GetXPConnect()->GetNativeOfWrapper(cx, &obj);
-    if (supports) {
-        mReferent = do_GetWeakReference(supports);
+    nsCOMPtr<nsISupportsWeakReference> supportsWeakRef =
+        do_QueryInterface(supports);
+    if (supportsWeakRef) {
+        supportsWeakRef->GetWeakReference(getter_AddRefs(mReferent));
         if (mReferent) {
             return NS_OK;
         }
     }
     // If it's not a wrapped native, or it is a wrapped native that does not
     // support weak references, fall back to getting a weak ref to the object.
 
     // See if object is a wrapped JSObject.
--- a/layout/tools/reftest/reftest-content.js
+++ b/layout/tools/reftest/reftest-content.js
@@ -506,21 +506,26 @@ function OnDocumentLoad(event)
 
     if (currentDoc.location.href != gCurrentURL) {
         LogInfo("OnDocumentLoad fired for previous document");
         // Ignore load events for previous documents.
         return;
     }
 
     var contentRootElement = currentDoc ? currentDoc.documentElement : null;
+    currentDoc = null;
     setupZoom(contentRootElement);
     setupDisplayport(contentRootElement);
     var inPrintMode = false;
 
     function AfterOnLoadScripts() {
+        // Regrab the root element, because the document may have changed.
+        var contentRootElement =
+          content.document ? content.document.documentElement : null;
+
         // Take a snapshot now. We need to do this before we check whether
         // we should wait, since this might trigger dispatching of
         // MozPaintWait events and make shouldWaitForExplicitPaintWaiters() true
         // below.
         var painted = SendInitCanvasWithSnapshot();
 
         if (shouldWaitForExplicitPaintWaiters() ||
             (!inPrintMode && doPrintMode(contentRootElement)) ||
@@ -666,34 +671,31 @@ function LogWarning(str)
 
 function LogInfo(str)
 {
     sendAsyncMessage("reftest:Log", { type: "info", msg: str });
 }
 
 const SYNC_DEFAULT = 0x0;
 const SYNC_ALLOW_DISABLE = 0x1;
-var gDummyCanvas = null;
 function SynchronizeForSnapshot(flags)
 {
     if (flags & SYNC_ALLOW_DISABLE) {
         var docElt = content.document.documentElement;
         if (docElt && docElt.hasAttribute("reftest-no-sync-layers")) {
             LogInfo("Test file chose to skip SynchronizeForSnapshot");
             return;
         }
     }
 
-    if (gDummyCanvas == null) {
-        gDummyCanvas = content.document.createElementNS(XHTML_NS, "canvas");
-        gDummyCanvas.setAttribute("width", 1);
-        gDummyCanvas.setAttribute("height", 1);
-    }
+    var dummyCanvas = content.document.createElementNS(XHTML_NS, "canvas");
+    dummyCanvas.setAttribute("width", 1);
+    dummyCanvas.setAttribute("height", 1);
 
-    var ctx = gDummyCanvas.getContext("2d");
+    var ctx = dummyCanvas.getContext("2d");
     var flags = ctx.DRAWWINDOW_DRAW_CARET | ctx.DRAWWINDOW_DRAW_VIEW | ctx.DRAWWINDOW_USE_WIDGET_LAYERS;
     ctx.drawWindow(content, 0, 0, 1, 1, "rgb(255,255,255)", flags);
 }
 
 function RegisterMessageListeners()
 {
     addMessageListener(
         "reftest:Clear",