Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(339)

Unified Diff: chrome/browser/ui/cocoa/color_chooser_mac.mm

Issue 2534063003: macOS: Do not crash on selecting a color for <input type=color>. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/color_chooser_mac.mm
diff --git a/chrome/browser/ui/cocoa/color_chooser_mac.mm b/chrome/browser/ui/cocoa/color_chooser_mac.mm
index 0d219a9649127bc1f453d96f2560537a09ac744f..ed5a26b58649d716cb006ea120a82ea6bc4bf71d 100644
--- a/chrome/browser/ui/cocoa/color_chooser_mac.mm
+++ b/chrome/browser/ui/cocoa/color_chooser_mac.mm
@@ -139,7 +139,16 @@ void ColorChooserMac::SetSelectedColor(SkColor color) {
nonUserChange_ = NO;
return;
}
+ nonUserChange_ = NO;
NSColor* color = [panel color];
+ if ([[color colorSpaceName] isEqualToString:NSNamedColorSpace]) {
+ color = [color colorUsingColorSpace:[NSColorSpace genericRGBColorSpace]];
+ // Some colors in "Developer" palette in "Color Palettes" tab can't be
+ // converted to RGB. We just ignore such colors.
+ // TODO(tkent): We should notice the rejection to users.
+ if (!color)
+ return;
+ }
if ([color colorSpace] == [NSColorSpace genericRGBColorSpace]) {
// genericRGB -> deviceRGB conversion isn't ignorable. We'd like to use RGB
// values shown in NSColorPanel UI.
@@ -154,7 +163,6 @@ void ColorChooserMac::SetSelectedColor(SkColor color) {
chooser_->DidChooseColorInColorPanel(skia::NSDeviceColorToSkColor(
[[panel color] colorUsingColorSpaceName:NSDeviceRGBColorSpace]));
}
- nonUserChange_ = NO;
}
- (void)setColor:(NSColor*)color {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698