// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/renderer/theme_helper_mac.h"
#include <Cocoa/Cocoa.h>
#include "base/strings/sys_string_conversions.h"
extern "C" {
bool CGFontRenderingGetFontSmoothingDisabled(void) API_AVAILABLE(macos(10.14));
}
namespace content {
void SystemColorsDidChange(int aqua_color_variant) {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
// Register the defaults in the NSArgumentDomain, which is considered
// volatile. Registering in the normal application domain fails from within
// the sandbox.
[defaults removeVolatileDomainForName:NSArgumentDomain];
// LayoutThemeMac reads AppleAquaColorVariant on macOS versions before 10.14.
NSDictionary* domain_values = @{
@"AppleAquaColorVariant" : @(aqua_color_variant),
};
[defaults setVolatileDomain:domain_values forName:NSArgumentDomain];
}
bool IsSubpixelAntialiasingAvailable() {
if (__builtin_available(macOS 10.14, *)) {
// See https://trac.webkit.org/changeset/239306/webkit for more info.
return !CGFontRenderingGetFontSmoothingDisabled();
}
return true;
}
} // namespace content