summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkeishi@chromium.org <keishi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-17 11:50:42 +0000
committerkeishi@chromium.org <keishi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-17 11:50:42 +0000
commitd69a015cad61b30751d17d61f4e80a8278228858 (patch)
tree779b96d4826c4281e564bdaf099de6aa228e450f
parentc1c88b9b538710138db56c014a4bf44b72648dd5 (diff)
downloadchromium_src-d69a015cad61b30751d17d61f4e80a8278228858.zip
chromium_src-d69a015cad61b30751d17d61f4e80a8278228858.tar.gz
chromium_src-d69a015cad61b30751d17d61f4e80a8278228858.tar.bz2
Revert 200785 "Use the default theme as the fallback UI in Blink"
> Use the default theme as the fallback UI in Blink > > Most native themes don't support zooming or styling required by Blink. > This introduces a FallbackTheme that can be used in these situations. > > Blink side change: https://codereview.chromium.org/14108007/ > > BUG=84973 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=200431 > > Review URL: https://chromiumcodereview.appspot.com/14424007 TBR=keishi@chromium.org Review URL: https://codereview.chromium.org/15294003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200791 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ui/native_theme/fallback_theme.cc195
-rw-r--r--ui/native_theme/fallback_theme.h28
-rw-r--r--ui/native_theme/native_theme.gyp2
-rw-r--r--ui/native_theme/native_theme_aura.cc168
-rw-r--r--ui/native_theme/native_theme_aura.h5
-rw-r--r--webkit/glue/webfallbackthemeengine_impl.cc191
-rw-r--r--webkit/glue/webfallbackthemeengine_impl.h39
-rw-r--r--webkit/glue/webkit_glue.gypi2
-rw-r--r--webkit/glue/webkitplatformsupport_impl.cc7
-rw-r--r--webkit/glue/webkitplatformsupport_impl.h5
10 files changed, 173 insertions, 469 deletions
diff --git a/ui/native_theme/fallback_theme.cc b/ui/native_theme/fallback_theme.cc
deleted file mode 100644
index 8b5da75..0000000
--- a/ui/native_theme/fallback_theme.cc
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/native_theme/fallback_theme.h"
-
-#include "base/basictypes.h"
-#include "base/logging.h"
-#include "ui/gfx/color_utils.h"
-#include "ui/gfx/skia_utils_gtk.h"
-#include "ui/native_theme/common_theme.h"
-
-namespace {
-
-const SkColor kMenuBackgroundColor = SK_ColorWHITE;
-
-// Theme colors returned by GetSystemColor().
-const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128);
-// Windows:
-const SkColor kWindowBackgroundColor = SK_ColorWHITE;
-// Dialogs:
-const SkColor kDialogBackgroundColor = SkColorSetRGB(251, 251, 251);
-// FocusableBorder:
-const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE);
-const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9);
-// Button:
-const SkColor kButtonBackgroundColor = SkColorSetRGB(0xDE, 0xDE, 0xDE);
-const SkColor kButtonEnabledColor = SkColorSetRGB(0x22, 0x22, 0x22);
-const SkColor kButtonDisabledColor = SkColorSetRGB(0x99, 0x99, 0x99);
-const SkColor kButtonHighlightColor = SkColorSetRGB(0, 0, 0);
-const SkColor kButtonHoverColor = kButtonEnabledColor;
-// MenuItem:
-const SkColor kEnabledMenuItemForegroundColor = kButtonEnabledColor;
-const SkColor kDisabledMenuItemForegroundColor = kButtonDisabledColor;
-const SkColor kFocusedMenuItemBackgroundColor = SkColorSetRGB(0xF1, 0xF1, 0xF1);
-const SkColor kHoverMenuItemBackgroundColor =
- SkColorSetARGB(204, 255, 255, 255);
-const SkColor kMenuSeparatorColor = SkColorSetRGB(0xED, 0xED, 0xED);
-const SkColor kEnabledMenuButtonBorderColor = SkColorSetARGB(36, 0, 0, 0);
-const SkColor kFocusedMenuButtonBorderColor = SkColorSetARGB(72, 0, 0, 0);
-const SkColor kHoverMenuButtonBorderColor = SkColorSetARGB(72, 0, 0, 0);
-// Label:
-const SkColor kLabelEnabledColor = kButtonEnabledColor;
-const SkColor kLabelDisabledColor = kButtonDisabledColor;
-const SkColor kLabelBackgroundColor = SK_ColorWHITE;
-// Textfield:
-const SkColor kTextfieldDefaultColor = SK_ColorBLACK;
-const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
-const SkColor kTextfieldReadOnlyColor = SK_ColorDKGRAY;
-const SkColor kTextfieldReadOnlyBackground = SK_ColorWHITE;
-const SkColor kTextfieldSelectionBackgroundFocused =
- SkColorSetARGB(0x54, 0x60, 0xA8, 0xEB);
-const SkColor kTextfieldSelectionBackgroundUnfocused = SK_ColorLTGRAY;
-const SkColor kTextfieldSelectionColor =
- color_utils::AlphaBlend(SK_ColorBLACK,
- kTextfieldSelectionBackgroundFocused, 0xdd);
-// Tree
-const SkColor kTreeBackground = SK_ColorWHITE;
-const SkColor kTreeTextColor = SK_ColorBLACK;
-const SkColor kTreeSelectedTextColor = SK_ColorBLACK;
-const SkColor kTreeSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE);
-const SkColor kTreeArrowColor = SkColorSetRGB(0x7A, 0x7A, 0x7A);
-// Table
-const SkColor kTableBackground = SK_ColorWHITE;
-const SkColor kTableTextColor = SK_ColorBLACK;
-const SkColor kTableSelectedTextColor = SK_ColorBLACK;
-const SkColor kTableSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE);
-const SkColor kTableGroupingIndicatorColor = SkColorSetRGB(0xCC, 0xCC, 0xCC);
-
-} // namespace
-
-namespace ui {
-
-FallbackTheme::FallbackTheme() {
-}
-
-FallbackTheme::~FallbackTheme() {
-}
-
-SkColor FallbackTheme::GetSystemColor(ColorId color_id) const {
- // This implementation returns hardcoded colors.
- SkColor color;
- if (CommonThemeGetSystemColor(color_id, &color))
- return color;
-
- switch (color_id) {
- // Windows
- case kColorId_WindowBackground:
- return kWindowBackgroundColor;
-
- // Dialogs
- case kColorId_DialogBackground:
- return kDialogBackgroundColor;
-
- // FocusableBorder
- case kColorId_FocusedBorderColor:
- return kFocusedBorderColor;
- case kColorId_UnfocusedBorderColor:
- return kUnfocusedBorderColor;
-
- // Button
- case kColorId_ButtonBackgroundColor:
- return kButtonBackgroundColor;
- case kColorId_ButtonEnabledColor:
- return kButtonEnabledColor;
- case kColorId_ButtonDisabledColor:
- return kButtonDisabledColor;
- case kColorId_ButtonHighlightColor:
- return kButtonHighlightColor;
- case kColorId_ButtonHoverColor:
- return kButtonHoverColor;
-
- // MenuItem
- case kColorId_EnabledMenuItemForegroundColor:
- return kEnabledMenuItemForegroundColor;
- case kColorId_DisabledMenuItemForegroundColor:
- return kDisabledMenuItemForegroundColor;
- case kColorId_SelectedMenuItemForegroundColor:
- return kEnabledMenuItemForegroundColor;
- case kColorId_FocusedMenuItemBackgroundColor:
- return kFocusedMenuItemBackgroundColor;
- case kColorId_HoverMenuItemBackgroundColor:
- return kHoverMenuItemBackgroundColor;
- case kColorId_MenuSeparatorColor:
- return kMenuSeparatorColor;
- case kColorId_EnabledMenuButtonBorderColor:
- return kEnabledMenuButtonBorderColor;
- case kColorId_FocusedMenuButtonBorderColor:
- return kFocusedMenuButtonBorderColor;
- case kColorId_HoverMenuButtonBorderColor:
- return kHoverMenuButtonBorderColor;
-
- // Label
- case kColorId_LabelEnabledColor:
- return kLabelEnabledColor;
- case kColorId_LabelDisabledColor:
- return kLabelDisabledColor;
- case kColorId_LabelBackgroundColor:
- return kLabelBackgroundColor;
-
- // Textfield
- case kColorId_TextfieldDefaultColor:
- return kTextfieldDefaultColor;
- case kColorId_TextfieldDefaultBackground:
- return kTextfieldDefaultBackground;
- case kColorId_TextfieldReadOnlyColor:
- return kTextfieldReadOnlyColor;
- case kColorId_TextfieldReadOnlyBackground:
- return kTextfieldReadOnlyBackground;
- case kColorId_TextfieldSelectionColor:
- return kTextfieldSelectionColor;
- case kColorId_TextfieldSelectionBackgroundFocused:
- return kTextfieldSelectionBackgroundFocused;
- case kColorId_TextfieldSelectionBackgroundUnfocused:
- return kTextfieldSelectionBackgroundUnfocused;
-
- // Tree
- case kColorId_TreeBackground:
- return kTreeBackground;
- case kColorId_TreeText:
- return kTreeTextColor;
- case kColorId_TreeSelectedText:
- case kColorId_TreeSelectedTextUnfocused:
- return kTreeSelectedTextColor;
- case kColorId_TreeSelectionBackgroundFocused:
- case kColorId_TreeSelectionBackgroundUnfocused:
- return kTreeSelectionBackgroundColor;
- case kColorId_TreeArrow:
- return kTreeArrowColor;
-
- // Table
- case kColorId_TableBackground:
- return kTableBackground;
- case kColorId_TableText:
- return kTableTextColor;
- case kColorId_TableSelectedText:
- case kColorId_TableSelectedTextUnfocused:
- return kTableSelectedTextColor;
- case kColorId_TableSelectionBackgroundFocused:
- case kColorId_TableSelectionBackgroundUnfocused:
- return kTableSelectionBackgroundColor;
- case kColorId_TableGroupingIndicatorColor:
- return kTableGroupingIndicatorColor;
-
- case kColorId_MenuBackgroundColor:
- return kMenuBackgroundColor;
- case kColorId_MenuBorderColor:
- NOTREACHED();
- break;
- }
-
- return kInvalidColorIdColor;
-}
-
-} // namespace ui
diff --git a/ui/native_theme/fallback_theme.h b/ui/native_theme/fallback_theme.h
deleted file mode 100644
index 2a69936..0000000
--- a/ui/native_theme/fallback_theme.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef UI_NATIVE_THEME_FALLBACK_THEME_H_
-#define UI_NATIVE_THEME_FALLBACK_THEME_H_
-
-#include "ui/native_theme/native_theme_base.h"
-
-namespace ui {
-
-// This theme can draw UI controls on every platform. This is only used when
-// zooming a web page and the native theme doesn't support scaling.
-class NATIVE_THEME_EXPORT FallbackTheme : public NativeThemeBase {
- public:
- FallbackTheme();
- virtual ~FallbackTheme();
-
- private:
- // Overridden from NativeThemeBase:
- virtual SkColor GetSystemColor(ColorId color_id) const OVERRIDE;
-
- DISALLOW_COPY_AND_ASSIGN(FallbackTheme);
-};
-
-} // namespace ui
-
-#endif // UI_NATIVE_THEME_FALLBACK_THEME_H_
diff --git a/ui/native_theme/native_theme.gyp b/ui/native_theme/native_theme.gyp
index 671f286..70d27a3 100644
--- a/ui/native_theme/native_theme.gyp
+++ b/ui/native_theme/native_theme.gyp
@@ -23,8 +23,6 @@
'sources': [
'common_theme.cc',
'common_theme.h',
- 'fallback_theme.cc',
- 'fallback_theme.h',
'native_theme.cc',
'native_theme.h',
'native_theme_android.cc',
diff --git a/ui/native_theme/native_theme_aura.cc b/ui/native_theme/native_theme_aura.cc
index 6cbc255..8d7ae0b 100644
--- a/ui/native_theme/native_theme_aura.cc
+++ b/ui/native_theme/native_theme_aura.cc
@@ -19,6 +19,59 @@ namespace {
const SkColor kMenuBackgroundColor = SK_ColorWHITE;
+// Theme colors returned by GetSystemColor().
+const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128);
+// Windows:
+const SkColor kWindowBackgroundColor = SK_ColorWHITE;
+// Dialogs:
+const SkColor kDialogBackgroundColor = SkColorSetRGB(251, 251, 251);
+// FocusableBorder:
+const SkColor kFocusedBorderColor = SkColorSetRGB(0x4D, 0x90, 0xFE);
+const SkColor kUnfocusedBorderColor = SkColorSetRGB(0xD9, 0xD9, 0xD9);
+// Button:
+const SkColor kButtonBackgroundColor = SkColorSetRGB(0xDE, 0xDE, 0xDE);
+const SkColor kButtonEnabledColor = SkColorSetRGB(0x22, 0x22, 0x22);
+const SkColor kButtonDisabledColor = SkColorSetRGB(0x99, 0x99, 0x99);
+const SkColor kButtonHighlightColor = SkColorSetRGB(0, 0, 0);
+const SkColor kButtonHoverColor = kButtonEnabledColor;
+// MenuItem:
+const SkColor kEnabledMenuItemForegroundColor = kButtonEnabledColor;
+const SkColor kDisabledMenuItemForegroundColor = kButtonDisabledColor;
+const SkColor kFocusedMenuItemBackgroundColor = SkColorSetRGB(0xF1, 0xF1, 0xF1);
+const SkColor kHoverMenuItemBackgroundColor =
+ SkColorSetARGB(204, 255, 255, 255);
+const SkColor kMenuSeparatorColor = SkColorSetRGB(0xED, 0xED, 0xED);
+const SkColor kEnabledMenuButtonBorderColor = SkColorSetARGB(36, 0, 0, 0);
+const SkColor kFocusedMenuButtonBorderColor = SkColorSetARGB(72, 0, 0, 0);
+const SkColor kHoverMenuButtonBorderColor = SkColorSetARGB(72, 0, 0, 0);
+// Label:
+const SkColor kLabelEnabledColor = kButtonEnabledColor;
+const SkColor kLabelDisabledColor = kButtonDisabledColor;
+const SkColor kLabelBackgroundColor = SK_ColorWHITE;
+// Textfield:
+const SkColor kTextfieldDefaultColor = SK_ColorBLACK;
+const SkColor kTextfieldDefaultBackground = SK_ColorWHITE;
+const SkColor kTextfieldReadOnlyColor = SK_ColorDKGRAY;
+const SkColor kTextfieldReadOnlyBackground = SK_ColorWHITE;
+const SkColor kTextfieldSelectionBackgroundFocused =
+ SkColorSetARGB(0x54, 0x60, 0xA8, 0xEB);
+const SkColor kTextfieldSelectionBackgroundUnfocused = SK_ColorLTGRAY;
+const SkColor kTextfieldSelectionColor =
+ color_utils::AlphaBlend(SK_ColorBLACK,
+ kTextfieldSelectionBackgroundFocused, 0xdd);
+// Tree
+const SkColor kTreeBackground = SK_ColorWHITE;
+const SkColor kTreeTextColor = SK_ColorBLACK;
+const SkColor kTreeSelectedTextColor = SK_ColorBLACK;
+const SkColor kTreeSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE);
+const SkColor kTreeArrowColor = SkColorSetRGB(0x7A, 0x7A, 0x7A);
+// Table
+const SkColor kTableBackground = SK_ColorWHITE;
+const SkColor kTableTextColor = SK_ColorBLACK;
+const SkColor kTableSelectedTextColor = SK_ColorBLACK;
+const SkColor kTableSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE);
+const SkColor kTableGroupingIndicatorColor = SkColorSetRGB(0xCC, 0xCC, 0xCC);
+
} // namespace
namespace ui {
@@ -42,6 +95,121 @@ NativeThemeAura::NativeThemeAura() {
NativeThemeAura::~NativeThemeAura() {
}
+SkColor NativeThemeAura::GetSystemColor(ColorId color_id) const {
+ // This implementation returns hardcoded colors.
+ SkColor color;
+ if (CommonThemeGetSystemColor(color_id, &color))
+ return color;
+
+ switch (color_id) {
+ // Windows
+ case kColorId_WindowBackground:
+ return kWindowBackgroundColor;
+
+ // Dialogs
+ case kColorId_DialogBackground:
+ return kDialogBackgroundColor;
+
+ // FocusableBorder
+ case kColorId_FocusedBorderColor:
+ return kFocusedBorderColor;
+ case kColorId_UnfocusedBorderColor:
+ return kUnfocusedBorderColor;
+
+ // Button
+ case kColorId_ButtonBackgroundColor:
+ return kButtonBackgroundColor;
+ case kColorId_ButtonEnabledColor:
+ return kButtonEnabledColor;
+ case kColorId_ButtonDisabledColor:
+ return kButtonDisabledColor;
+ case kColorId_ButtonHighlightColor:
+ return kButtonHighlightColor;
+ case kColorId_ButtonHoverColor:
+ return kButtonHoverColor;
+
+ // MenuItem
+ case kColorId_EnabledMenuItemForegroundColor:
+ return kEnabledMenuItemForegroundColor;
+ case kColorId_DisabledMenuItemForegroundColor:
+ return kDisabledMenuItemForegroundColor;
+ case kColorId_SelectedMenuItemForegroundColor:
+ return kEnabledMenuItemForegroundColor;
+ case kColorId_FocusedMenuItemBackgroundColor:
+ return kFocusedMenuItemBackgroundColor;
+ case kColorId_HoverMenuItemBackgroundColor:
+ return kHoverMenuItemBackgroundColor;
+ case kColorId_MenuSeparatorColor:
+ return kMenuSeparatorColor;
+ case kColorId_EnabledMenuButtonBorderColor:
+ return kEnabledMenuButtonBorderColor;
+ case kColorId_FocusedMenuButtonBorderColor:
+ return kFocusedMenuButtonBorderColor;
+ case kColorId_HoverMenuButtonBorderColor:
+ return kHoverMenuButtonBorderColor;
+
+ // Label
+ case kColorId_LabelEnabledColor:
+ return kLabelEnabledColor;
+ case kColorId_LabelDisabledColor:
+ return kLabelDisabledColor;
+ case kColorId_LabelBackgroundColor:
+ return kLabelBackgroundColor;
+
+ // Textfield
+ case kColorId_TextfieldDefaultColor:
+ return kTextfieldDefaultColor;
+ case kColorId_TextfieldDefaultBackground:
+ return kTextfieldDefaultBackground;
+ case kColorId_TextfieldReadOnlyColor:
+ return kTextfieldReadOnlyColor;
+ case kColorId_TextfieldReadOnlyBackground:
+ return kTextfieldReadOnlyBackground;
+ case kColorId_TextfieldSelectionColor:
+ return kTextfieldSelectionColor;
+ case kColorId_TextfieldSelectionBackgroundFocused:
+ return kTextfieldSelectionBackgroundFocused;
+ case kColorId_TextfieldSelectionBackgroundUnfocused:
+ return kTextfieldSelectionBackgroundUnfocused;
+
+ // Tree
+ case kColorId_TreeBackground:
+ return kTreeBackground;
+ case kColorId_TreeText:
+ return kTreeTextColor;
+ case kColorId_TreeSelectedText:
+ case kColorId_TreeSelectedTextUnfocused:
+ return kTreeSelectedTextColor;
+ case kColorId_TreeSelectionBackgroundFocused:
+ case kColorId_TreeSelectionBackgroundUnfocused:
+ return kTreeSelectionBackgroundColor;
+ case kColorId_TreeArrow:
+ return kTreeArrowColor;
+
+ // Table
+ case kColorId_TableBackground:
+ return kTableBackground;
+ case kColorId_TableText:
+ return kTableTextColor;
+ case kColorId_TableSelectedText:
+ case kColorId_TableSelectedTextUnfocused:
+ return kTableSelectedTextColor;
+ case kColorId_TableSelectionBackgroundFocused:
+ case kColorId_TableSelectionBackgroundUnfocused:
+ return kTableSelectionBackgroundColor;
+ case kColorId_TableGroupingIndicatorColor:
+ return kTableGroupingIndicatorColor;
+
+ case kColorId_MenuBackgroundColor:
+ return kMenuBackgroundColor;
+ case kColorId_MenuBorderColor:
+ NOTREACHED();
+ break;
+ }
+
+ return kInvalidColorIdColor;
+}
+
void NativeThemeAura::PaintMenuPopupBackground(
SkCanvas* canvas,
const gfx::Size& size,
diff --git a/ui/native_theme/native_theme_aura.h b/ui/native_theme/native_theme_aura.h
index b3417b3..51ebd38 100644
--- a/ui/native_theme/native_theme_aura.h
+++ b/ui/native_theme/native_theme_aura.h
@@ -7,12 +7,12 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
-#include "ui/native_theme/fallback_theme.h"
+#include "ui/native_theme/native_theme_base.h"
namespace ui {
// Aura implementation of native theme support.
-class NATIVE_THEME_EXPORT NativeThemeAura : public FallbackTheme {
+class NATIVE_THEME_EXPORT NativeThemeAura : public NativeThemeBase {
public:
static NativeThemeAura* instance();
@@ -21,6 +21,7 @@ class NATIVE_THEME_EXPORT NativeThemeAura : public FallbackTheme {
virtual ~NativeThemeAura();
// Overridden from NativeThemeBase:
+ virtual SkColor GetSystemColor(ColorId color_id) const OVERRIDE;
virtual void PaintMenuPopupBackground(
SkCanvas* canvas,
const gfx::Size& size,
diff --git a/webkit/glue/webfallbackthemeengine_impl.cc b/webkit/glue/webfallbackthemeengine_impl.cc
deleted file mode 100644
index 213e3a7..0000000
--- a/webkit/glue/webfallbackthemeengine_impl.cc
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "webkit/glue/webfallbackthemeengine_impl.h"
-
-#include "skia/ext/platform_canvas.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebRect.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h"
-#include "ui/native_theme/fallback_theme.h"
-
-using WebKit::WebCanvas;
-using WebKit::WebColor;
-using WebKit::WebRect;
-using WebKit::WebFallbackThemeEngine;
-
-namespace webkit_glue {
-
-static ui::NativeTheme::Part NativeThemePart(
- WebFallbackThemeEngine::Part part) {
- switch (part) {
- case WebFallbackThemeEngine::PartScrollbarDownArrow:
- return ui::NativeTheme::kScrollbarDownArrow;
- case WebFallbackThemeEngine::PartScrollbarLeftArrow:
- return ui::NativeTheme::kScrollbarLeftArrow;
- case WebFallbackThemeEngine::PartScrollbarRightArrow:
- return ui::NativeTheme::kScrollbarRightArrow;
- case WebFallbackThemeEngine::PartScrollbarUpArrow:
- return ui::NativeTheme::kScrollbarUpArrow;
- case WebFallbackThemeEngine::PartScrollbarHorizontalThumb:
- return ui::NativeTheme::kScrollbarHorizontalThumb;
- case WebFallbackThemeEngine::PartScrollbarVerticalThumb:
- return ui::NativeTheme::kScrollbarVerticalThumb;
- case WebFallbackThemeEngine::PartScrollbarHorizontalTrack:
- return ui::NativeTheme::kScrollbarHorizontalTrack;
- case WebFallbackThemeEngine::PartScrollbarVerticalTrack:
- return ui::NativeTheme::kScrollbarVerticalTrack;
- case WebFallbackThemeEngine::PartCheckbox:
- return ui::NativeTheme::kCheckbox;
- case WebFallbackThemeEngine::PartRadio:
- return ui::NativeTheme::kRadio;
- case WebFallbackThemeEngine::PartButton:
- return ui::NativeTheme::kPushButton;
- case WebFallbackThemeEngine::PartTextField:
- return ui::NativeTheme::kTextField;
- case WebFallbackThemeEngine::PartMenuList:
- return ui::NativeTheme::kMenuList;
- case WebFallbackThemeEngine::PartSliderTrack:
- return ui::NativeTheme::kSliderTrack;
- case WebFallbackThemeEngine::PartSliderThumb:
- return ui::NativeTheme::kSliderThumb;
- case WebFallbackThemeEngine::PartInnerSpinButton:
- return ui::NativeTheme::kInnerSpinButton;
- case WebFallbackThemeEngine::PartProgressBar:
- return ui::NativeTheme::kProgressBar;
- default:
- return ui::NativeTheme::kScrollbarDownArrow;
- }
-}
-
-static ui::NativeTheme::State NativeThemeState(
- WebFallbackThemeEngine::State state) {
- switch (state) {
- case WebFallbackThemeEngine::StateDisabled:
- return ui::NativeTheme::kDisabled;
- case WebFallbackThemeEngine::StateHover:
- return ui::NativeTheme::kHovered;
- case WebFallbackThemeEngine::StateNormal:
- return ui::NativeTheme::kNormal;
- case WebFallbackThemeEngine::StatePressed:
- return ui::NativeTheme::kPressed;
- default:
- return ui::NativeTheme::kDisabled;
- }
-}
-
-static void GetNativeThemeExtraParams(
- WebFallbackThemeEngine::Part part,
- WebFallbackThemeEngine::State state,
- const WebFallbackThemeEngine::ExtraParams* extra_params,
- ui::NativeTheme::ExtraParams* native_theme_extra_params) {
- switch (part) {
- case WebFallbackThemeEngine::PartScrollbarHorizontalTrack:
- case WebFallbackThemeEngine::PartScrollbarVerticalTrack:
- native_theme_extra_params->scrollbar_track.track_x =
- extra_params->scrollbarTrack.trackX;
- native_theme_extra_params->scrollbar_track.track_y =
- extra_params->scrollbarTrack.trackY;
- native_theme_extra_params->scrollbar_track.track_width =
- extra_params->scrollbarTrack.trackWidth;
- native_theme_extra_params->scrollbar_track.track_height =
- extra_params->scrollbarTrack.trackHeight;
- break;
- case WebFallbackThemeEngine::PartCheckbox:
- native_theme_extra_params->button.checked = extra_params->button.checked;
- native_theme_extra_params->button.indeterminate =
- extra_params->button.indeterminate;
- break;
- case WebFallbackThemeEngine::PartRadio:
- native_theme_extra_params->button.checked = extra_params->button.checked;
- break;
- case WebFallbackThemeEngine::PartButton:
- native_theme_extra_params->button.is_default =
- extra_params->button.isDefault;
- native_theme_extra_params->button.has_border =
- extra_params->button.hasBorder;
- // Native buttons have a different focus style.
- native_theme_extra_params->button.is_focused = false;
- native_theme_extra_params->button.background_color =
- extra_params->button.backgroundColor;
- break;
- case WebFallbackThemeEngine::PartTextField:
- native_theme_extra_params->text_field.is_text_area =
- extra_params->textField.isTextArea;
- native_theme_extra_params->text_field.is_listbox =
- extra_params->textField.isListbox;
- native_theme_extra_params->text_field.background_color =
- extra_params->textField.backgroundColor;
- break;
- case WebFallbackThemeEngine::PartMenuList:
- native_theme_extra_params->menu_list.has_border =
- extra_params->menuList.hasBorder;
- native_theme_extra_params->menu_list.has_border_radius =
- extra_params->menuList.hasBorderRadius;
- native_theme_extra_params->menu_list.arrow_x =
- extra_params->menuList.arrowX;
- native_theme_extra_params->menu_list.arrow_y =
- extra_params->menuList.arrowY;
- native_theme_extra_params->menu_list.background_color =
- extra_params->menuList.backgroundColor;
- break;
- case WebFallbackThemeEngine::PartSliderTrack:
- case WebFallbackThemeEngine::PartSliderThumb:
- native_theme_extra_params->slider.vertical =
- extra_params->slider.vertical;
- native_theme_extra_params->slider.in_drag = extra_params->slider.inDrag;
- break;
- case WebFallbackThemeEngine::PartInnerSpinButton:
- native_theme_extra_params->inner_spin.spin_up =
- extra_params->innerSpin.spinUp;
- native_theme_extra_params->inner_spin.read_only =
- extra_params->innerSpin.readOnly;
- break;
- case WebFallbackThemeEngine::PartProgressBar:
- native_theme_extra_params->progress_bar.determinate =
- extra_params->progressBar.determinate;
- native_theme_extra_params->progress_bar.value_rect_x =
- extra_params->progressBar.valueRectX;
- native_theme_extra_params->progress_bar.value_rect_y =
- extra_params->progressBar.valueRectY;
- native_theme_extra_params->progress_bar.value_rect_width =
- extra_params->progressBar.valueRectWidth;
- native_theme_extra_params->progress_bar.value_rect_height =
- extra_params->progressBar.valueRectHeight;
- break;
- default:
- break; // Parts that have no extra params get here.
- }
-}
-
-WebFallbackThemeEngineImpl::WebFallbackThemeEngineImpl()
- : theme_(new ui::FallbackTheme()) {
-}
-
-WebFallbackThemeEngineImpl::~WebFallbackThemeEngineImpl() {}
-
-WebKit::WebSize WebFallbackThemeEngineImpl::getSize(
- WebFallbackThemeEngine::Part part) {
- ui::NativeTheme::ExtraParams extra;
- return theme_->GetPartSize(NativeThemePart(part),
- ui::NativeTheme::kNormal,
- extra);
-}
-
-void WebFallbackThemeEngineImpl::paint(
- WebKit::WebCanvas* canvas,
- WebFallbackThemeEngine::Part part,
- WebFallbackThemeEngine::State state,
- const WebKit::WebRect& rect,
- const WebFallbackThemeEngine::ExtraParams* extra_params) {
- ui::NativeTheme::ExtraParams native_theme_extra_params;
- GetNativeThemeExtraParams(
- part, state, extra_params, &native_theme_extra_params);
- theme_->Paint(canvas,
- NativeThemePart(part),
- NativeThemeState(state),
- gfx::Rect(rect),
- native_theme_extra_params);
-}
-
-} // namespace webkit_glue
diff --git a/webkit/glue/webfallbackthemeengine_impl.h b/webkit/glue/webfallbackthemeengine_impl.h
deleted file mode 100644
index 0887774..0000000
--- a/webkit/glue/webfallbackthemeengine_impl.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef WEBKIT_GLUE_WEBFALLBACKTHEMEENGINE_IMPL_H_
-#define WEBKIT_GLUE_WEBFALLBACKTHEMEENGINE_IMPL_H_
-
-#include "base/memory/scoped_ptr.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebFallbackThemeEngine.h"
-
-namespace ui {
-class FallbackTheme;
-}
-
-namespace webkit_glue {
-
-class WebFallbackThemeEngineImpl : public WebKit::WebFallbackThemeEngine {
- public:
- WebFallbackThemeEngineImpl();
- virtual ~WebFallbackThemeEngineImpl();
-
- // WebFallbackThemeEngine methods:
- virtual WebKit::WebSize getSize(WebKit::WebFallbackThemeEngine::Part);
- virtual void paint(
- WebKit::WebCanvas* canvas,
- WebKit::WebFallbackThemeEngine::Part part,
- WebKit::WebFallbackThemeEngine::State state,
- const WebKit::WebRect& rect,
- const WebKit::WebFallbackThemeEngine::ExtraParams* extra_params);
-
- private:
- scoped_ptr<ui::FallbackTheme> theme_;
-
- DISALLOW_COPY_AND_ASSIGN(WebFallbackThemeEngineImpl);
-};
-
-} // namespace webkit_glue
-
-#endif // WEBKIT_GLUE_WEBFALLBACKTHEMEENGINE_IMPL_H_
diff --git a/webkit/glue/webkit_glue.gypi b/webkit/glue/webkit_glue.gypi
index b4f8011..2a51635 100644
--- a/webkit/glue/webkit_glue.gypi
+++ b/webkit/glue/webkit_glue.gypi
@@ -228,8 +228,6 @@
'webdropdata.cc',
'webdropdata_win.cc',
'webdropdata.h',
- 'webfallbackthemeengine_impl.cc',
- 'webfallbackthemeengine_impl.h',
'webfileutilities_impl.cc',
'webfileutilities_impl.h',
'webkit_glue.cc',
diff --git a/webkit/glue/webkitplatformsupport_impl.cc b/webkit/glue/webkitplatformsupport_impl.cc
index af0ec80..00900a7 100644
--- a/webkit/glue/webkitplatformsupport_impl.cc
+++ b/webkit/glue/webkitplatformsupport_impl.cc
@@ -62,7 +62,6 @@
using WebKit::WebAudioBus;
using WebKit::WebCookie;
using WebKit::WebData;
-using WebKit::WebFallbackThemeEngine;
using WebKit::WebLocalizedString;
using WebKit::WebPluginListBuilder;
using WebKit::WebString;
@@ -384,11 +383,7 @@ void WebKitPlatformSupportImpl::SetFlingCurveParameters(
}
WebThemeEngine* WebKitPlatformSupportImpl::themeEngine() {
- return &native_theme_engine_;
-}
-
-WebFallbackThemeEngine* WebKitPlatformSupportImpl::fallbackThemeEngine() {
- return &fallback_theme_engine_;
+ return &theme_engine_;
}
WebURLLoader* WebKitPlatformSupportImpl::createURLLoader() {
diff --git a/webkit/glue/webkitplatformsupport_impl.h b/webkit/glue/webkitplatformsupport_impl.h
index e8c2b28..145f631 100644
--- a/webkit/glue/webkitplatformsupport_impl.h
+++ b/webkit/glue/webkitplatformsupport_impl.h
@@ -14,7 +14,6 @@
#include "third_party/WebKit/Source/Platform/chromium/public/WebURLError.h"
#include "ui/base/layout.h"
#include "webkit/glue/resource_loader_bridge.h"
-#include "webkit/glue/webfallbackthemeengine_impl.h"
#include "webkit/glue/webkit_glue_export.h"
#if defined(USE_DEFAULT_RENDER_THEME)
@@ -58,7 +57,6 @@ class WEBKIT_GLUE_EXPORT WebKitPlatformSupportImpl :
// Platform methods (partial implementation):
virtual WebKit::WebThemeEngine* themeEngine();
- virtual WebKit::WebFallbackThemeEngine* fallbackThemeEngine();
virtual base::PlatformFile databaseOpenFile(
const WebKit::WebString& vfs_file_name, int desired_flags);
@@ -188,8 +186,7 @@ class WEBKIT_GLUE_EXPORT WebKitPlatformSupportImpl :
double shared_timer_fire_time_;
bool shared_timer_fire_time_was_set_while_suspended_;
int shared_timer_suspended_; // counter
- WebThemeEngineImpl native_theme_engine_;
- WebFallbackThemeEngineImpl fallback_theme_engine_;
+ WebThemeEngineImpl theme_engine_;
base::ThreadLocalStorage::Slot current_thread_slot_;
scoped_ptr<FlingCurveConfiguration> fling_curve_configuration_;
};