1 // Copyright 2018 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "ui/native_theme/test_native_theme.h"
6 
7 namespace ui {
8 
TestNativeTheme()9 TestNativeTheme::TestNativeTheme() : NativeTheme(false) {}
10 TestNativeTheme::~TestNativeTheme() = default;
11 
GetSystemColor(ColorId color_id,ColorScheme color_scheme) const12 SkColor TestNativeTheme::GetSystemColor(ColorId color_id,
13                                         ColorScheme color_scheme) const {
14   return SK_ColorRED;
15 }
16 
GetPartSize(Part part,State state,const ExtraParams & extra) const17 gfx::Size TestNativeTheme::GetPartSize(Part part,
18                                        State state,
19                                        const ExtraParams& extra) const {
20   return gfx::Size();
21 }
22 
Paint(cc::PaintCanvas * canvas,Part part,State state,const gfx::Rect & rect,const ExtraParams & extra,ColorScheme color_scheme) const23 void TestNativeTheme::Paint(cc::PaintCanvas* canvas,
24                             Part part,
25                             State state,
26                             const gfx::Rect& rect,
27                             const ExtraParams& extra,
28                             ColorScheme color_scheme) const {}
29 
SupportsNinePatch(Part part) const30 bool TestNativeTheme::SupportsNinePatch(Part part) const {
31   return false;
32 }
33 
GetNinePatchCanvasSize(Part part) const34 gfx::Size TestNativeTheme::GetNinePatchCanvasSize(Part part) const {
35   return gfx::Size();
36 }
37 
GetNinePatchAperture(Part part) const38 gfx::Rect TestNativeTheme::GetNinePatchAperture(Part part) const {
39   return gfx::Rect();
40 }
41 
UsesHighContrastColors() const42 bool TestNativeTheme::UsesHighContrastColors() const {
43   return high_contrast_;
44 }
45 
ShouldUseDarkColors() const46 bool TestNativeTheme::ShouldUseDarkColors() const {
47   return dark_mode_;
48 }
49 
GetPreferredColorScheme() const50 NativeTheme::PreferredColorScheme TestNativeTheme::GetPreferredColorScheme()
51     const {
52   return CalculatePreferredColorScheme();
53 }
54 
GetDefaultSystemColorScheme() const55 NativeTheme::ColorScheme TestNativeTheme::GetDefaultSystemColorScheme() const {
56   if (is_platform_high_contrast_)
57     return ColorScheme::kPlatformHighContrast;
58   return NativeTheme::GetDefaultSystemColorScheme();
59 }
60 
AddColorSchemeNativeThemeObserver(NativeTheme * theme_to_update)61 void TestNativeTheme::AddColorSchemeNativeThemeObserver(
62     NativeTheme* theme_to_update) {
63   color_scheme_observer_ =
64       std::make_unique<ui::NativeTheme::ColorSchemeNativeThemeObserver>(
65           theme_to_update);
66   AddObserver(color_scheme_observer_.get());
67 }
68 
69 }  // namespace ui
70