| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 #include "web/PageOverlay.h" | 6 #include "web/PageOverlay.h" |
| 7 | 7 |
| 8 #include "core/frame/FrameView.h" | 8 #include "core/frame/FrameView.h" |
| 9 #include "core/layout/LayoutView.h" | 9 #include "core/layout/LayoutView.h" |
| 10 #include "platform/graphics/Color.h" | 10 #include "platform/graphics/Color.h" |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 | 98 |
| 99 // WebPageOverlay that uses the underlying blink::GraphicsContext to paint a | 99 // WebPageOverlay that uses the underlying blink::GraphicsContext to paint a |
| 100 // solid color. | 100 // solid color. |
| 101 class PrivateGraphicsContextOverlay : public WebPageOverlay { | 101 class PrivateGraphicsContextOverlay : public WebPageOverlay { |
| 102 public: | 102 public: |
| 103 PrivateGraphicsContextOverlay(Color color) : m_color(color) { } | 103 PrivateGraphicsContextOverlay(Color color) : m_color(color) { } |
| 104 | 104 |
| 105 void paintPageOverlay(WebGraphicsContext* context, const WebSize& size) over
ride | 105 void paintPageOverlay(WebGraphicsContext* context, const WebSize& size) over
ride |
| 106 { | 106 { |
| 107 GraphicsContext& graphicsContext = toWebGraphicsContextImpl(context)->gr
aphicsContext(); | 107 GraphicsContext& graphicsContext = toWebGraphicsContextImpl(context)->gr
aphicsContext(); |
| 108 if (DrawingRecorder::useCachedDrawingIfPossible(graphicsContext, *this,
DisplayItem::PageOverlay)) |
| 109 return; |
| 108 FloatRect rect(0, 0, size.width, size.height); | 110 FloatRect rect(0, 0, size.width, size.height); |
| 109 DrawingRecorder drawingRecorder(graphicsContext, *this, DisplayItem::Pag
eOverlay, rect); | 111 DrawingRecorder drawingRecorder(graphicsContext, *this, DisplayItem::Pag
eOverlay, rect); |
| 110 if (!drawingRecorder.canUseCachedDrawing()) | 112 graphicsContext.fillRect(rect, m_color); |
| 111 graphicsContext.fillRect(rect, m_color); | |
| 112 } | 113 } |
| 113 | 114 |
| 114 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi
s); } | 115 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi
s); } |
| 115 String debugName() const { return "PrivateGraphicsContextOverlay"; } | 116 String debugName() const { return "PrivateGraphicsContextOverlay"; } |
| 116 | 117 |
| 117 private: | 118 private: |
| 118 Color m_color; | 119 Color m_color; |
| 119 }; | 120 }; |
| 120 | 121 |
| 121 template <bool(*getter)(), void(*setter)(bool)> | 122 template <bool(*getter)(), void(*setter)(bool)> |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 } | 232 } |
| 232 | 233 |
| 233 TEST_F(PageOverlayTest, PrivateGraphicsContextOverlay_AcceleratedCompositing_Sli
mmingPaint) | 234 TEST_F(PageOverlayTest, PrivateGraphicsContextOverlay_AcceleratedCompositing_Sli
mmingPaint) |
| 234 { | 235 { |
| 235 SlimmingPaintScope slimmingPaintEnabled(true); | 236 SlimmingPaintScope slimmingPaintEnabled(true); |
| 236 runPageOverlayTestWithAcceleratedCompositing<PrivateGraphicsContextOverlay>(
); | 237 runPageOverlayTestWithAcceleratedCompositing<PrivateGraphicsContextOverlay>(
); |
| 237 } | 238 } |
| 238 | 239 |
| 239 } // namespace | 240 } // namespace |
| 240 } // namespace blink | 241 } // namespace blink |
| OLD | NEW |