| Index: webkit/glue/webfallbackthemeengine_impl.cc
|
| diff --git a/webkit/glue/webthemeengine_impl_default.cc b/webkit/glue/webfallbackthemeengine_impl.cc
|
| similarity index 65%
|
| copy from webkit/glue/webthemeengine_impl_default.cc
|
| copy to webkit/glue/webfallbackthemeengine_impl.cc
|
| index 198067a6ca6b5a78d4514a8938d9aa0af585fa84..213e3a73faa4780394ecbc55e6432ccdf4baf7a4 100644
|
| --- a/webkit/glue/webthemeengine_impl_default.cc
|
| +++ b/webkit/glue/webfallbackthemeengine_impl.cc
|
| @@ -2,56 +2,56 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "webkit/glue/webthemeengine_impl_default.h"
|
| +#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/native_theme.h"
|
| +#include "ui/native_theme/fallback_theme.h"
|
|
|
| using WebKit::WebCanvas;
|
| using WebKit::WebColor;
|
| using WebKit::WebRect;
|
| -using WebKit::WebThemeEngine;
|
| +using WebKit::WebFallbackThemeEngine;
|
|
|
| namespace webkit_glue {
|
|
|
| static ui::NativeTheme::Part NativeThemePart(
|
| - WebThemeEngine::Part part) {
|
| + WebFallbackThemeEngine::Part part) {
|
| switch (part) {
|
| - case WebThemeEngine::PartScrollbarDownArrow:
|
| + case WebFallbackThemeEngine::PartScrollbarDownArrow:
|
| return ui::NativeTheme::kScrollbarDownArrow;
|
| - case WebThemeEngine::PartScrollbarLeftArrow:
|
| + case WebFallbackThemeEngine::PartScrollbarLeftArrow:
|
| return ui::NativeTheme::kScrollbarLeftArrow;
|
| - case WebThemeEngine::PartScrollbarRightArrow:
|
| + case WebFallbackThemeEngine::PartScrollbarRightArrow:
|
| return ui::NativeTheme::kScrollbarRightArrow;
|
| - case WebThemeEngine::PartScrollbarUpArrow:
|
| + case WebFallbackThemeEngine::PartScrollbarUpArrow:
|
| return ui::NativeTheme::kScrollbarUpArrow;
|
| - case WebThemeEngine::PartScrollbarHorizontalThumb:
|
| + case WebFallbackThemeEngine::PartScrollbarHorizontalThumb:
|
| return ui::NativeTheme::kScrollbarHorizontalThumb;
|
| - case WebThemeEngine::PartScrollbarVerticalThumb:
|
| + case WebFallbackThemeEngine::PartScrollbarVerticalThumb:
|
| return ui::NativeTheme::kScrollbarVerticalThumb;
|
| - case WebThemeEngine::PartScrollbarHorizontalTrack:
|
| + case WebFallbackThemeEngine::PartScrollbarHorizontalTrack:
|
| return ui::NativeTheme::kScrollbarHorizontalTrack;
|
| - case WebThemeEngine::PartScrollbarVerticalTrack:
|
| + case WebFallbackThemeEngine::PartScrollbarVerticalTrack:
|
| return ui::NativeTheme::kScrollbarVerticalTrack;
|
| - case WebThemeEngine::PartCheckbox:
|
| + case WebFallbackThemeEngine::PartCheckbox:
|
| return ui::NativeTheme::kCheckbox;
|
| - case WebThemeEngine::PartRadio:
|
| + case WebFallbackThemeEngine::PartRadio:
|
| return ui::NativeTheme::kRadio;
|
| - case WebThemeEngine::PartButton:
|
| + case WebFallbackThemeEngine::PartButton:
|
| return ui::NativeTheme::kPushButton;
|
| - case WebThemeEngine::PartTextField:
|
| + case WebFallbackThemeEngine::PartTextField:
|
| return ui::NativeTheme::kTextField;
|
| - case WebThemeEngine::PartMenuList:
|
| + case WebFallbackThemeEngine::PartMenuList:
|
| return ui::NativeTheme::kMenuList;
|
| - case WebThemeEngine::PartSliderTrack:
|
| + case WebFallbackThemeEngine::PartSliderTrack:
|
| return ui::NativeTheme::kSliderTrack;
|
| - case WebThemeEngine::PartSliderThumb:
|
| + case WebFallbackThemeEngine::PartSliderThumb:
|
| return ui::NativeTheme::kSliderThumb;
|
| - case WebThemeEngine::PartInnerSpinButton:
|
| + case WebFallbackThemeEngine::PartInnerSpinButton:
|
| return ui::NativeTheme::kInnerSpinButton;
|
| - case WebThemeEngine::PartProgressBar:
|
| + case WebFallbackThemeEngine::PartProgressBar:
|
| return ui::NativeTheme::kProgressBar;
|
| default:
|
| return ui::NativeTheme::kScrollbarDownArrow;
|
| @@ -59,15 +59,15 @@ static ui::NativeTheme::Part NativeThemePart(
|
| }
|
|
|
| static ui::NativeTheme::State NativeThemeState(
|
| - WebThemeEngine::State state) {
|
| + WebFallbackThemeEngine::State state) {
|
| switch (state) {
|
| - case WebThemeEngine::StateDisabled:
|
| + case WebFallbackThemeEngine::StateDisabled:
|
| return ui::NativeTheme::kDisabled;
|
| - case WebThemeEngine::StateHover:
|
| + case WebFallbackThemeEngine::StateHover:
|
| return ui::NativeTheme::kHovered;
|
| - case WebThemeEngine::StateNormal:
|
| + case WebFallbackThemeEngine::StateNormal:
|
| return ui::NativeTheme::kNormal;
|
| - case WebThemeEngine::StatePressed:
|
| + case WebFallbackThemeEngine::StatePressed:
|
| return ui::NativeTheme::kPressed;
|
| default:
|
| return ui::NativeTheme::kDisabled;
|
| @@ -75,13 +75,13 @@ static ui::NativeTheme::State NativeThemeState(
|
| }
|
|
|
| static void GetNativeThemeExtraParams(
|
| - WebThemeEngine::Part part,
|
| - WebThemeEngine::State state,
|
| - const WebThemeEngine::ExtraParams* extra_params,
|
| + WebFallbackThemeEngine::Part part,
|
| + WebFallbackThemeEngine::State state,
|
| + const WebFallbackThemeEngine::ExtraParams* extra_params,
|
| ui::NativeTheme::ExtraParams* native_theme_extra_params) {
|
| switch (part) {
|
| - case WebThemeEngine::PartScrollbarHorizontalTrack:
|
| - case WebThemeEngine::PartScrollbarVerticalTrack:
|
| + 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 =
|
| @@ -91,15 +91,15 @@ static void GetNativeThemeExtraParams(
|
| native_theme_extra_params->scrollbar_track.track_height =
|
| extra_params->scrollbarTrack.trackHeight;
|
| break;
|
| - case WebThemeEngine::PartCheckbox:
|
| + 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 WebThemeEngine::PartRadio:
|
| + case WebFallbackThemeEngine::PartRadio:
|
| native_theme_extra_params->button.checked = extra_params->button.checked;
|
| break;
|
| - case WebThemeEngine::PartButton:
|
| + case WebFallbackThemeEngine::PartButton:
|
| native_theme_extra_params->button.is_default =
|
| extra_params->button.isDefault;
|
| native_theme_extra_params->button.has_border =
|
| @@ -109,7 +109,7 @@ static void GetNativeThemeExtraParams(
|
| native_theme_extra_params->button.background_color =
|
| extra_params->button.backgroundColor;
|
| break;
|
| - case WebThemeEngine::PartTextField:
|
| + case WebFallbackThemeEngine::PartTextField:
|
| native_theme_extra_params->text_field.is_text_area =
|
| extra_params->textField.isTextArea;
|
| native_theme_extra_params->text_field.is_listbox =
|
| @@ -117,7 +117,7 @@ static void GetNativeThemeExtraParams(
|
| native_theme_extra_params->text_field.background_color =
|
| extra_params->textField.backgroundColor;
|
| break;
|
| - case WebThemeEngine::PartMenuList:
|
| + case WebFallbackThemeEngine::PartMenuList:
|
| native_theme_extra_params->menu_list.has_border =
|
| extra_params->menuList.hasBorder;
|
| native_theme_extra_params->menu_list.has_border_radius =
|
| @@ -129,19 +129,19 @@ static void GetNativeThemeExtraParams(
|
| native_theme_extra_params->menu_list.background_color =
|
| extra_params->menuList.backgroundColor;
|
| break;
|
| - case WebThemeEngine::PartSliderTrack:
|
| - case WebThemeEngine::PartSliderThumb:
|
| + 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 WebThemeEngine::PartInnerSpinButton:
|
| + 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 WebThemeEngine::PartProgressBar:
|
| + case WebFallbackThemeEngine::PartProgressBar:
|
| native_theme_extra_params->progress_bar.determinate =
|
| extra_params->progressBar.determinate;
|
| native_theme_extra_params->progress_bar.value_rect_x =
|
| @@ -158,28 +158,34 @@ static void GetNativeThemeExtraParams(
|
| }
|
| }
|
|
|
| -WebKit::WebSize WebThemeEngineImpl::getSize(WebThemeEngine::Part part) {
|
| +WebFallbackThemeEngineImpl::WebFallbackThemeEngineImpl()
|
| + : theme_(new ui::FallbackTheme()) {
|
| +}
|
| +
|
| +WebFallbackThemeEngineImpl::~WebFallbackThemeEngineImpl() {}
|
| +
|
| +WebKit::WebSize WebFallbackThemeEngineImpl::getSize(
|
| + WebFallbackThemeEngine::Part part) {
|
| ui::NativeTheme::ExtraParams extra;
|
| - return ui::NativeTheme::instance()->GetPartSize(NativeThemePart(part),
|
| - ui::NativeTheme::kNormal,
|
| - extra);
|
| + return theme_->GetPartSize(NativeThemePart(part),
|
| + ui::NativeTheme::kNormal,
|
| + extra);
|
| }
|
|
|
| -void WebThemeEngineImpl::paint(
|
| +void WebFallbackThemeEngineImpl::paint(
|
| WebKit::WebCanvas* canvas,
|
| - WebThemeEngine::Part part,
|
| - WebThemeEngine::State state,
|
| + WebFallbackThemeEngine::Part part,
|
| + WebFallbackThemeEngine::State state,
|
| const WebKit::WebRect& rect,
|
| - const WebThemeEngine::ExtraParams* extra_params) {
|
| + const WebFallbackThemeEngine::ExtraParams* extra_params) {
|
| ui::NativeTheme::ExtraParams native_theme_extra_params;
|
| GetNativeThemeExtraParams(
|
| part, state, extra_params, &native_theme_extra_params);
|
| - ui::NativeTheme::instance()->Paint(
|
| - canvas,
|
| - NativeThemePart(part),
|
| - NativeThemeState(state),
|
| - gfx::Rect(rect),
|
| - native_theme_extra_params);
|
| + theme_->Paint(canvas,
|
| + NativeThemePart(part),
|
| + NativeThemeState(state),
|
| + gfx::Rect(rect),
|
| + native_theme_extra_params);
|
| }
|
|
|
| } // namespace webkit_glue
|
|
|