1926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)/* 2926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * This file is part of the theme implementation for form controls in WebCore. 3926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * Copyright (C) 2005 Apple Computer, Inc. 553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * Copyright (C) 2008, 2009 Google, Inc. 6926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 7926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * This library is free software; you can redistribute it and/or 8926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * modify it under the terms of the GNU Library General Public 9926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * License as published by the Free Software Foundation; either 10926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * version 2 of the License, or (at your option) any later version. 11926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 12926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * This library is distributed in the hope that it will be useful, 13926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * but WITHOUT ANY WARRANTY; without even the implied warranty of 14926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Library General Public License for more details. 16926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 17926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * You should have received a copy of the GNU Library General Public License 18926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * along with this library; see the file COPYING.LIB. If not, write to 19926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Boston, MA 02110-1301, USA. 21926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 22926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) */ 23926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 2453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)#ifndef RenderThemeChromiumMac_h 2553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)#define RenderThemeChromiumMac_h 2653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) 2753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)#import "core/rendering/RenderTheme.h" 2893ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)#import "wtf/HashMap.h" 2993ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)#import "wtf/RetainPtr.h" 30926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 31926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)OBJC_CLASS WebCoreRenderThemeNotificationObserver; 32926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 33c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 34926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 3509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)class RenderThemeChromiumMac FINAL : public RenderTheme { 36926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)public: 3753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) static PassRefPtr<RenderTheme> create(); 3853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) 399e12abdf8c3a23d52091ea54ebb6a04d327f9300Torne (Richard Coles) virtual void adjustPaintInvalidationRect(const RenderObject*, IntRect&) OVERRIDE; 40926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 415d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles) virtual bool isControlStyled(const RenderStyle*, const CachedUAStyle*) const OVERRIDE; 42926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 43e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color platformActiveSelectionBackgroundColor() const OVERRIDE; 44e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color platformInactiveSelectionBackgroundColor() const OVERRIDE; 4509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual Color platformActiveSelectionForegroundColor() const OVERRIDE; 46e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color platformActiveListBoxSelectionBackgroundColor() const OVERRIDE; 47e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color platformActiveListBoxSelectionForegroundColor() const OVERRIDE; 48e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color platformInactiveListBoxSelectionBackgroundColor() const OVERRIDE; 49e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color platformInactiveListBoxSelectionForegroundColor() const OVERRIDE; 50e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color platformFocusRingColor() const OVERRIDE; 51926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 52197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch virtual ScrollbarControlSize scrollbarControlSizeForPart(ControlPart part) OVERRIDE { return part == ListboxPart ? SmallScrollbar : RegularScrollbar; } 53926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 54e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual void platformColorsDidChange() OVERRIDE; 55926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 56926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // System fonts. 57e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual void systemFont(CSSValueID, FontDescription&) const OVERRIDE; 58926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 59e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual int minimumMenuListSize(RenderStyle*) const OVERRIDE; 60926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 61e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual void adjustSliderThumbSize(RenderStyle*, Element*) const OVERRIDE; 62926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 63926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) virtual IntSize sliderTickSize() const OVERRIDE; 64926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) virtual int sliderTickOffsetFromTrackCenter() const OVERRIDE; 65926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 66e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual int popupInternalPaddingLeft(RenderStyle*) const OVERRIDE; 67e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual int popupInternalPaddingRight(RenderStyle*) const OVERRIDE; 68e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual int popupInternalPaddingTop(RenderStyle*) const OVERRIDE; 69e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual int popupInternalPaddingBottom(RenderStyle*) const OVERRIDE; 70926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 71926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) virtual bool paintCapsLockIndicator(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 72926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 73926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) virtual bool popsMenuByArrowKeys() const OVERRIDE { return true; } 74197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch virtual bool popsMenuBySpaceKey() const OVERRIDE FINAL { return true; } 75926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 76926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) virtual IntSize meterSizeForBounds(const RenderMeter*, const IntRect&) const OVERRIDE; 77e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual bool paintMeter(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 78e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual bool supportsMeter(ControlPart) const OVERRIDE; 79926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 80926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // Returns the repeat interval of the animation for the progress bar. 81e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual double animationRepeatIntervalForProgressBar(RenderProgress*) const OVERRIDE; 82926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // Returns the duration of the animation for the progress bar. 83e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual double animationDurationForProgressBar(RenderProgress*) const OVERRIDE; 84926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 85e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch virtual Color systemColor(CSSValueID) const OVERRIDE; 86926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 8709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool supportsSelectionForegroundColors() const OVERRIDE { return false; } 8809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) 897242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci virtual bool isModalColorChooser() const { return false; } 907242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 91926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)protected: 9253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) RenderThemeChromiumMac(); 9353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) virtual ~RenderThemeChromiumMac(); 94926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 9509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintTextField(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 96926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 9709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintTextArea(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 98926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 9909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMenuList(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 10009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual void adjustMenuListStyle(RenderStyle*, Element*) const OVERRIDE; 101926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 10209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMenuListButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 10309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual void adjustMenuListButtonStyle(RenderStyle*, Element*) const OVERRIDE; 104926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 10509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintProgressBar(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 106926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 10709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintSliderTrack(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 108926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 10909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintSliderThumb(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 110926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 11109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintSearchField(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 11209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual void adjustSearchFieldStyle(RenderStyle*, Element*) const OVERRIDE; 113926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 11409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual void adjustSearchFieldCancelButtonStyle(RenderStyle*, Element*) const OVERRIDE; 11509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintSearchFieldCancelButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 116926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 11709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual void adjustSearchFieldDecorationStyle(RenderStyle*, Element*) const OVERRIDE; 11809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintSearchFieldDecoration(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 119926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 12009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual void adjustSearchFieldResultsDecorationStyle(RenderStyle*, Element*) const OVERRIDE; 12109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintSearchFieldResultsDecoration(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 122926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 123926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)private: 1241e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) virtual String fileListNameForWidth(Locale&, const FileList*, const Font&, int width) const OVERRIDE; 125926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 126926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) FloatRect convertToPaintingRect(const RenderObject* inputRenderer, const RenderObject* partRenderer, const FloatRect& inputRect, const IntRect&) const; 127926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 128926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // Get the control size based off the font. Used by some of the controls (like buttons). 129926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) NSControlSize controlSizeForFont(RenderStyle*) const; 130926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) NSControlSize controlSizeForSystemFont(RenderStyle*) const; 131926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void setControlSize(NSCell*, const IntSize* sizes, const IntSize& minSize, float zoomLevel = 1.0f); 132926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void setSizeFromFont(RenderStyle*, const IntSize* sizes) const; 133926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) IntSize sizeForFont(RenderStyle*, const IntSize* sizes) const; 134926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) IntSize sizeForSystemFont(RenderStyle*, const IntSize* sizes) const; 1355267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) void setFontFromControlSize(RenderStyle*, NSControlSize) const; 136926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 137926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void updateCheckedState(NSCell*, const RenderObject*); 138926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void updateEnabledState(NSCell*, const RenderObject*); 139926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void updateFocusedState(NSCell*, const RenderObject*); 140926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void updatePressedState(NSCell*, const RenderObject*); 141926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 142926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // Helpers for adjusting appearance and for painting 143926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 144926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void setPopupButtonCellState(const RenderObject*, const IntRect&); 145926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const IntSize* popupButtonSizes() const; 146926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const int* popupButtonMargins() const; 147926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const int* popupButtonPadding(NSControlSize) const; 148926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const IntSize* menuListSizes() const; 149926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 150926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const IntSize* searchFieldSizes() const; 151926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const IntSize* cancelButtonSizes() const; 152926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const IntSize* resultsButtonSizes() const; 153926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void setSearchCellState(RenderObject*, const IntRect&); 154926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) void setSearchFieldSize(RenderStyle*) const; 155926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 156926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) NSPopUpButtonCell* popupButton() const; 157926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) NSSearchFieldCell* search() const; 158926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) NSTextFieldCell* textField() const; 159926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 160926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) NSLevelIndicatorStyle levelIndicatorStyleFor(ControlPart) const; 161926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) NSLevelIndicatorCell* levelIndicatorFor(const RenderMeter*) const; 162926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 163926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) int minimumProgressBarHeight(RenderStyle*) const; 164926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const IntSize* progressBarSizes() const; 165926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const int* progressBarMargins(NSControlSize) const; 16653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) 16753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)protected: 16853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) virtual void adjustMediaSliderThumbSize(RenderStyle*) const; 16909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaPlayButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 170f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu virtual bool paintMediaOverlayPlayButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 17109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaMuteButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 17209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaSliderTrack(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 17309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual String extraFullScreenStyleSheet() OVERRIDE; 17409380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) 17509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaSliderThumb(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 17609380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaVolumeSliderContainer(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 17709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaVolumeSliderTrack(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 17809380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaVolumeSliderThumb(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 17909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual String formatMediaControlsTime(float time) const OVERRIDE; 18009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual String formatMediaControlsCurrentTime(float currentTime, float duration) const OVERRIDE; 18109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaFullscreenButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 18209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual bool paintMediaToggleClosedCaptionsButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 18353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) 18453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) // Controls color values returned from platformFocusRingColor(). systemColor() will be used when false. 18553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) bool usesTestModeFocusRingColor() const; 18653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) // A view associated to the contained document. Subclasses may not have such a view and return a fake. 18753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) NSView* documentViewFor(RenderObject*) const; 188926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 18993ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles) virtual bool shouldUseFallbackTheme(RenderStyle*) const OVERRIDE; 19093ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles) 191926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)private: 19253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) virtual void updateActiveState(NSCell*, const RenderObject*); 19309380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual String extraDefaultStyleSheet() OVERRIDE; 19453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) virtual bool shouldShowPlaceholderWhenFocused() const OVERRIDE; 19553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) 196926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mutable RetainPtr<NSPopUpButtonCell> m_popupButton; 197926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mutable RetainPtr<NSSearchFieldCell> m_search; 198926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mutable RetainPtr<NSMenu> m_searchMenuTemplate; 199926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mutable RetainPtr<NSLevelIndicatorCell> m_levelIndicator; 200926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mutable RetainPtr<NSTextFieldCell> m_textField; 201926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 202926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mutable HashMap<int, RGBA32> m_systemColorCache; 203926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 204926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) RetainPtr<WebCoreRenderThemeNotificationObserver> m_notificationObserver; 205926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}; 206926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 207c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 208926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 20953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)#endif // RenderThemeChromiumMac_h 210