            color == NS_RGBA(0, 0, 0, 0)) {
          // Use the strictest match for 'transparent' so we do correct
          // round-tripping of all other rgba() values.
-@@ -1397,29 +1404,41 @@ nsCSSValue::AppendToString(nsCSSProperty
+@@ -1397,31 +1404,42 @@ nsCSSValue::AppendToString(nsCSSProperty
          uint8_t a = NS_GET_A(color);
          bool showAlpha =
            (aSerialization == eNormalized && a < 255) ||

+  [mColorPanel setShowsAlpha:aShowsAlpha];
   [mColorPanel setAction:@selector(colorChanged:)];
   [mColorPanel setDelegate:self];
   [mColorPanel makeKeyAndOrderFront:nil];
 }
 
 - (void)colorChanged:(NSColorPanel*)aPanel
 {
   mColorPicker->Update([mColorPanel color]);
@@ -98,77 +101,101 @@ NS_IMPL_ISUPPORTS(nsColorPicker, nsIColo
 NSColorPanelWrapper* nsColorPicker::sColorPanelWrapper = nullptr;
 
 nsColorPicker::~nsColorPicker()

   unsigned int result = 0;
 
   for (unsigned int i = 0; i < [str length]; ++i) {
@@ -32,39 +34,40 @@ HexStrToInt(NSString* str)
 }
 
 @interface NSColorPanelWrapper : NSObject <NSWindowDelegate>
