OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef CONTENT_BROWSER_COMPOSITOR_BROWSER_COMPOSITOR_VIEW_PRIVATE_MAC_H_ | 5 #ifndef CONTENT_BROWSER_COMPOSITOR_BROWSER_COMPOSITOR_VIEW_PRIVATE_MAC_H_ |
6 #define CONTENT_BROWSER_COMPOSITOR_BROWSER_COMPOSITOR_VIEW_PRIVATE_MAC_H_ | 6 #define CONTENT_BROWSER_COMPOSITOR_BROWSER_COMPOSITOR_VIEW_PRIVATE_MAC_H_ |
7 | 7 |
8 #include "content/browser/compositor/browser_compositor_view_mac.h" | 8 #include "content/browser/compositor/browser_compositor_view_mac.h" |
9 | 9 |
10 namespace content { | 10 namespace content { |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 // Access the underlying ui::Compositor for this view. | 38 // Access the underlying ui::Compositor for this view. |
39 - (ui::Compositor*)compositor; | 39 - (ui::Compositor*)compositor; |
40 | 40 |
41 // Called when the accelerated or software layer draws its frame to the screen. | 41 // Called when the accelerated or software layer draws its frame to the screen. |
42 - (void)layerDidDrawFrame; | 42 - (void)layerDidDrawFrame; |
43 | 43 |
44 // Called when an error is encountered while drawing to the screen. | 44 // Called when an error is encountered while drawing to the screen. |
45 - (void)gotAcceleratedLayerError; | 45 - (void)gotAcceleratedLayerError; |
46 | 46 |
| 47 // Check if a frame of a given size is currently being displayed. |
| 48 - (bool)hasFrameWithSizeInDIP:(gfx::Size)desiredSizeInDIP; |
| 49 |
47 @end // BrowserCompositorViewCocoa | 50 @end // BrowserCompositorViewCocoa |
48 | 51 |
49 namespace content { | 52 namespace content { |
50 | 53 |
51 // This class implements the parts of BrowserCompositorViewCocoa that need to | 54 // This class implements the parts of BrowserCompositorViewCocoa that need to |
52 // be a C++ class and not an Objective C class. | 55 // be a C++ class and not an Objective C class. |
53 class BrowserCompositorViewCocoaHelper | 56 class BrowserCompositorViewCocoaHelper |
54 : public content::CompositingIOSurfaceLayerClient { | 57 : public content::CompositingIOSurfaceLayerClient { |
55 public: | 58 public: |
56 BrowserCompositorViewCocoaHelper(BrowserCompositorViewCocoa* view) | 59 BrowserCompositorViewCocoaHelper(BrowserCompositorViewCocoa* view) |
57 : view_(view) {} | 60 : view_(view) {} |
58 virtual ~BrowserCompositorViewCocoaHelper() {} | 61 virtual ~BrowserCompositorViewCocoaHelper() {} |
59 | 62 |
60 private: | 63 private: |
61 // CompositingIOSurfaceLayerClient implementation: | 64 // CompositingIOSurfaceLayerClient implementation: |
62 virtual void AcceleratedLayerDidDrawFrame(bool succeeded) OVERRIDE; | 65 virtual void AcceleratedLayerDidDrawFrame(bool succeeded) OVERRIDE; |
63 | 66 |
64 BrowserCompositorViewCocoa* view_; | 67 BrowserCompositorViewCocoa* view_; |
65 }; | 68 }; |
66 | 69 |
67 } // namespace content | 70 } // namespace content |
68 | 71 |
69 #endif // CONTENT_BROWSER_COMPOSITOR_BROWSER_COMPOSITOR_VIEW_PRIVATE_MAC_H_ | 72 #endif // CONTENT_BROWSER_COMPOSITOR_BROWSER_COMPOSITOR_VIEW_PRIVATE_MAC_H_ |
OLD | NEW |