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

Side by Side Diff: third_party/WebKit/Source/platform/scroll/ScrollbarThemeMock.h

Issue 1458703010: Mac: Don't repaint scrollbars every frame (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master2
Patch Set: Rebase and resolve Created 5 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2011 Apple Inc. All Rights Reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 15 matching lines...) Expand all
26 #ifndef ScrollbarThemeMock_h 26 #ifndef ScrollbarThemeMock_h
27 #define ScrollbarThemeMock_h 27 #define ScrollbarThemeMock_h
28 28
29 #include "platform/scroll/ScrollbarTheme.h" 29 #include "platform/scroll/ScrollbarTheme.h"
30 30
31 namespace blink { 31 namespace blink {
32 32
33 // Scrollbar theme used in image snapshots, to eliminate appearance differences between platforms. 33 // Scrollbar theme used in image snapshots, to eliminate appearance differences between platforms.
34 class PLATFORM_EXPORT ScrollbarThemeMock : public ScrollbarTheme { 34 class PLATFORM_EXPORT ScrollbarThemeMock : public ScrollbarTheme {
35 public: 35 public:
36 static void setShouldRepaintAllPartsOnInvalidation(bool);
37
36 int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) override; 38 int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) override;
37 bool usesOverlayScrollbars() const override; 39 bool usesOverlayScrollbars() const override;
38 40
39 protected: 41 protected:
42 bool shouldRepaintAllPartsOnInvalidation() const override;
40 bool hasButtons(const ScrollbarThemeClient*) override { return false; } 43 bool hasButtons(const ScrollbarThemeClient*) override { return false; }
41 bool hasThumb(const ScrollbarThemeClient*) override { return true; } 44 bool hasThumb(const ScrollbarThemeClient*) override { return true; }
42 45
43 IntRect backButtonRect(const ScrollbarThemeClient*, ScrollbarPart, bool /*pa inting*/ = false) override { return IntRect(); } 46 IntRect backButtonRect(const ScrollbarThemeClient*, ScrollbarPart, bool /*pa inting*/ = false) override { return IntRect(); }
44 IntRect forwardButtonRect(const ScrollbarThemeClient*, ScrollbarPart, bool / *painting*/ = false) override { return IntRect(); } 47 IntRect forwardButtonRect(const ScrollbarThemeClient*, ScrollbarPart, bool / *painting*/ = false) override { return IntRect(); }
45 IntRect trackRect(const ScrollbarThemeClient*, bool painting = false) overri de; 48 IntRect trackRect(const ScrollbarThemeClient*, bool painting = false) overri de;
46 49
47 void paintTrackBackground(GraphicsContext*, const ScrollbarThemeClient*, con st IntRect&) override; 50 void paintTrackBackground(GraphicsContext*, const ScrollbarThemeClient*, con st IntRect&) override;
48 void paintThumb(GraphicsContext*, const ScrollbarThemeClient*, const IntRect &) override; 51 void paintThumb(GraphicsContext*, const ScrollbarThemeClient*, const IntRect &) override;
49 52
50 private: 53 private:
51 bool isMockTheme() const final { return true; } 54 bool isMockTheme() const final { return true; }
52 }; 55 };
53 56
54 } 57 }
55 #endif // ScrollbarThemeMock_h 58 #endif // ScrollbarThemeMock_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698