diff --git a/atom/browser/native_window.cc b/atom/browser/native_window.cc index 1f1a98b065..4d8f278fa7 100644 --- a/atom/browser/native_window.cc +++ b/atom/browser/native_window.cc @@ -552,11 +552,11 @@ void NativeWindow::OnCapturePageDone(const CapturePageCallback& callback, } SkColor NativeWindow::ParseHexColor(const std::string& name) { - SkColor result = 0xFF000000; - unsigned value = 0; auto color = name.substr(1); unsigned length = color.size(); - if (length != 3 && length != 6) + SkColor result = (length != 8 ? 0xFF000000 : 0x00000000); + unsigned value = 0; + if (length != 3 && length != 6 && length != 8) return result; for (unsigned i = 0; i < length; ++i) { if (!base::IsHexDigit(color[i])) @@ -564,7 +564,7 @@ SkColor NativeWindow::ParseHexColor(const std::string& name) { value <<= 4; value |= (color[i] < 'A' ? color[i] - '0' : (color[i] - 'A' + 10) & 0xF); } - if (length == 6) { + if (length == 6 || length == 8) { result |= value; return result; } diff --git a/atom/browser/native_window_mac.mm b/atom/browser/native_window_mac.mm index 156017194e..46ca1b34e0 100644 --- a/atom/browser/native_window_mac.mm +++ b/atom/browser/native_window_mac.mm @@ -710,7 +710,7 @@ void NativeWindowMac::SetBackgroundColor(const std::string& color_name) { NSColor *color = [NSColor colorWithCalibratedRed:SkColorGetR(background_color) green:SkColorGetG(background_color) blue:SkColorGetB(background_color) - alpha:1.0]; + alpha:SkColorGetA(background_color)/255.0f]; [window_ setBackgroundColor:color]; }