Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1368)

Unified Diff: content/shell/renderer/test_runner/WebTestThemeEngineWin.h

Issue 110533009: Import TestRunner library into chromium. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/shell/renderer/test_runner/WebTestThemeEngineWin.h
diff --git a/content/shell/renderer/test_runner/WebTestThemeEngineWin.h b/content/shell/renderer/test_runner/WebTestThemeEngineWin.h
new file mode 100644
index 0000000000000000000000000000000000000000..808af68a95eb174128e4d11ce18ca9a5458479a5
--- /dev/null
+++ b/content/shell/renderer/test_runner/WebTestThemeEngineWin.h
@@ -0,0 +1,78 @@
+// Copyright 2013 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.
+
+// This implements the WebThemeEngine API used by the Windows version of
+// Chromium to render native form controls like checkboxes, radio buttons,
+// and scroll bars.
+// The normal implementation (native_theme) renders the controls using either
+// the UXTheme theming engine present in XP, Vista, and Win 7, or the "classic"
+// theme used if that theme is selected in the Desktop settings.
+// Unfortunately, both of these themes render controls differently on the
+// different versions of Windows.
+//
+// In order to ensure maximum consistency of baselines across the different
+// Windows versions, we provide a simple implementation for DRT here
+// instead. These controls are actually platform-independent (they're rendered
+// using Skia) and could be used on Linux and the Mac as well, should we
+// choose to do so at some point.
+//
+
+#ifndef WebTestThemeEngineWin_h
+#define WebTestThemeEngineWin_h
+
+#include "third_party/WebKit/public/platform/WebNonCopyable.h"
+#include "third_party/WebKit/public/platform/win/WebThemeEngine.h"
+
+namespace WebTestRunner {
+
+class WebTestThemeEngineWin : public blink::WebThemeEngine, public blink::WebNonCopyable {
+public:
+ WebTestThemeEngineWin() { }
+ virtual ~WebTestThemeEngineWin() { }
+
+ // WebThemeEngine methods:
+ virtual void paintButton(
+ blink::WebCanvas*, int part, int state, int classicState,
+ const blink::WebRect&);
+
+ virtual void paintMenuList(
+ blink::WebCanvas*, int part, int state, int classicState,
+ const blink::WebRect&);
+
+ virtual void paintScrollbarArrow(
+ blink::WebCanvas*, int state, int classicState,
+ const blink::WebRect&);
+
+ virtual void paintScrollbarThumb(
+ blink::WebCanvas*, int part, int state, int classicState,
+ const blink::WebRect&);
+
+ virtual void paintScrollbarTrack(
+ blink::WebCanvas*, int part, int state, int classicState,
+ const blink::WebRect&, const blink::WebRect& alignRect);
+
+ virtual void paintSpinButton(
+ blink::WebCanvas*, int part, int state, int classicState,
+ const blink::WebRect&);
+
+ virtual void paintTextField(
+ blink::WebCanvas*, int part, int state, int classicState,
+ const blink::WebRect&, blink::WebColor, bool fillContentArea,
+ bool drawEdges);
+
+ virtual void paintTrackbar(
+ blink::WebCanvas*, int part, int state, int classicState,
+ const blink::WebRect&);
+
+ virtual void paintProgressBar(
+ blink::WebCanvas*, const blink::WebRect& barRect,
+ const blink::WebRect& valueRect,
+ bool determinate, double time);
+
+ virtual blink::WebSize getSize(int part);
+};
+
+}
+
+#endif // WebTestThemeEngineWin_h

Powered by Google App Engine
This is Rietveld 408576698