1// Copyright 2014 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#ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_THEME_ENGINE_MAC_H_ 6#define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_THEME_ENGINE_MAC_H_ 7 8#include "base/macros.h" 9#include "third_party/WebKit/public/platform/WebThemeEngine.h" 10 11namespace content { 12 13// This implements the WebThemeEngine API in such a way that we match the Mac 14// port rendering more than usual Chromium path, thus allowing us to share 15// more pixel baselines. 16class MockWebThemeEngineMac : public blink::WebThemeEngine { 17 public: 18 MockWebThemeEngineMac() {} 19 virtual ~MockWebThemeEngineMac() {} 20 21 virtual void paintScrollbarThumb(blink::WebCanvas*, 22 blink::WebThemeEngine::State, 23 blink::WebThemeEngine::Size, 24 const blink::WebRect&, 25 const blink::WebThemeEngine::ScrollbarInfo&); 26 27 private: 28 virtual void paintHIThemeScrollbarThumb( 29 blink::WebCanvas*, 30 blink::WebThemeEngine::State, 31 blink::WebThemeEngine::Size, 32 const blink::WebRect&, 33 const blink::WebThemeEngine::ScrollbarInfo&); 34 virtual void paintNSScrollerScrollbarThumb( 35 blink::WebCanvas*, 36 blink::WebThemeEngine::State, 37 blink::WebThemeEngine::Size, 38 const blink::WebRect&, 39 const blink::WebThemeEngine::ScrollbarInfo&); 40 41 DISALLOW_COPY_AND_ASSIGN(MockWebThemeEngineMac); 42}; 43 44} // namespace content 45 46#endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_THEME_ENGINE_MAC_H_ 47