 +          }
 +          aResult.Append(char16_t(')'));
          }
-         aResult.Append(char16_t(')'));
+-        aResult.Append(char16_t(')'));
        }
      } else if (eCSSUnit_HexColor == unit) {
        nscolor color = GetColorValue();
        aResult.Append('#');
        aResult.AppendPrintf("%02x", NS_GET_R(color));
        aResult.AppendPrintf("%02x", NS_GET_G(color));
+       aResult.AppendPrintf("%02x", NS_GET_B(color));
+     } else if (eCSSUnit_ShortHexColor == unit) {
+diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/res/nsResProtocolHandler.cpp
+--- a/netwerk/protocol/res/nsResProtocolHandler.cpp
++++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
+@@ -87,13 +87,13 @@ nsResProtocolHandler::ResolveSpecialCase
+     }
+     aResult.Append(aPath);
+     return true;
+ }
+ 
+ nsresult
+ nsResProtocolHandler::SetSubstitution(const nsACString& aRoot, nsIURI* aBaseURI)
+ {
+-    MOZ_ASSERT(!aRoot.Equals(""));
++    /*MOZ_ASSERT(!aRoot.Equals(""));
+     MOZ_ASSERT(!aRoot.Equals(kAPP));
+-    MOZ_ASSERT(!aRoot.Equals(kGRE));
++    MOZ_ASSERT(!aRoot.Equals(kGRE));*/
+     return SubstitutingProtocolHandler::SetSubstitution(aRoot, aBaseURI);
+ }
 diff --git a/parser/htmlparser/nsExpatDriver.cpp b/parser/htmlparser/nsExpatDriver.cpp
 --- a/parser/htmlparser/nsExpatDriver.cpp
 +++ b/parser/htmlparser/nsExpatDriver.cpp

 {
   mCallback->Done(EmptyString());
   mCallback = nullptr;
   NS_RELEASE_THIS();
diff --git a/widget/cocoa/nsMenuItemX.mm b/widget/cocoa/nsMenuItemX.mm
--- a/widget/cocoa/nsMenuItemX.mm
+++ b/widget/cocoa/nsMenuItemX.mm

 void
 nsColorPicker::Update(NSColor* aColor)
 {
-  GetHexStringFromNSColor(aColor, mColor);
+  NSColor *color = aColor;
+  if ([[aColor colorSpaceName] isEqualToString:NSNamedColorSpace])        {
+    color = [aColor colorUsingColorSpace:[NSColorSpace genericRGBColorSpace]];
+  }
+
+  GetHexStringFromNSColor(color, mColor);
   mCallback->Update(mColor);
 }
 
 void
