Index: ui/compositor/mac/accelerated_widget_mac.h |
diff --git a/content/browser/compositor/browser_compositor_ca_layer_tree_mac.h b/ui/compositor/mac/accelerated_widget_mac.h |
similarity index 90% |
rename from content/browser/compositor/browser_compositor_ca_layer_tree_mac.h |
rename to ui/compositor/mac/accelerated_widget_mac.h |
index 7475794a57c0648bf0b663ecd4f5923b3fd92138..294fd6a145e6d655bd438b018320a60bdca7e8a2 100644 |
--- a/content/browser/compositor/browser_compositor_ca_layer_tree_mac.h |
+++ b/ui/compositor/mac/accelerated_widget_mac.h |
@@ -2,13 +2,13 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CONTENT_BROWSER_COMPOSITOR_ACCELERATED_WIDGET_HELPER_MAC_H_ |
-#define CONTENT_BROWSER_COMPOSITOR_ACCELERATED_WIDGET_HELPER_MAC_H_ |
+#ifndef UI_COMPOSITOR_MAC_ACCELERATED_WIDGET_HELPER_MAC_H_ |
+#define UI_COMPOSITOR_MAC_ACCELERATED_WIDGET_HELPER_MAC_H_ |
#include <IOSurface/IOSurfaceAPI.h> |
#include <vector> |
-#include "skia/ext/platform_canvas.h" |
+#include "ui/compositor/compositor_export.h" |
#include "ui/events/latency_info.h" |
#include "ui/gfx/geometry/size.h" |
#include "ui/gfx/native_widget_types.h" |
@@ -16,15 +16,18 @@ |
#if defined(__OBJC__) |
#import <Cocoa/Cocoa.h> |
#import "base/mac/scoped_nsobject.h" |
-#import "content/browser/compositor/io_surface_layer_mac.h" |
#include "ui/base/cocoa/remote_layer_api.h" |
ccameron
2014/11/25 17:54:25
I'd prefer for software_layer to live in ui/compos
tapted
2014/11/25 23:53:55
Done. There was an earlier objection to it being i
|
#import "ui/base/cocoa/software_layer.h" |
+#import "ui/compositor/mac/io_surface_layer_mac.h" |
#endif // __OBJC__ |
+class SkCanvas; |
+ |
namespace cc { |
class SoftwareFrameData; |
} |
+// TODO(tapted): Move this out of content namespace. |
ccameron
2014/11/25 17:54:25
I'd prefer to move this stuff to ui:: in this patc
tapted
2014/11/25 23:53:55
Done. (with ui:: for now so you can see how it loo
|
namespace content { |
class AcceleratedWidgetMac; |
@@ -36,6 +39,7 @@ class AcceleratedWidgetMacNSView { |
public: |
virtual NSView* AcceleratedWidgetGetNSView() const = 0; |
virtual bool AcceleratedWidgetShouldIgnoreBackpressure() const = 0; |
+ virtual bool AcceleratedWidgetNeedsGLFinishWorkaround() const = 0; |
virtual void AcceleratedWidgetSwapCompleted( |
const std::vector<ui::LatencyInfo>& latency_info) = 0; |
virtual void AcceleratedWidgetHitError() = 0; |
@@ -47,7 +51,7 @@ class AcceleratedWidgetMacNSView { |
// to a ui::Compositor, which will cause, through its output surface, calls to |
// GotAcceleratedFrame and GotSoftwareFrame. The CALayers may be installed |
// in an NSView by setting the AcceleratedWidgetMacNSView for the helper. |
-class AcceleratedWidgetMac : public IOSurfaceLayerClient { |
+class COMPOSITOR_EXPORT AcceleratedWidgetMac : public IOSurfaceLayerClient { |
public: |
AcceleratedWidgetMac(); |
virtual ~AcceleratedWidgetMac(); |
@@ -84,6 +88,7 @@ class AcceleratedWidgetMac : public IOSurfaceLayerClient { |
private: |
// IOSurfaceLayerClient implementation: |
bool IOSurfaceLayerShouldAckImmediately() const override; |
+ bool IOSurfaceNeedsGLFinishWorkaround() const override; |
void IOSurfaceLayerDidDrawFrame() override; |
void IOSurfaceLayerHitError() override; |
@@ -143,6 +148,7 @@ private: |
#endif // __OBJC__ |
+COMPOSITOR_EXPORT |
void AcceleratedWidgetMacGotAcceleratedFrame( |
gfx::AcceleratedWidget widget, uint64 surface_handle, |
const std::vector<ui::LatencyInfo>& latency_info, |
@@ -150,10 +156,11 @@ void AcceleratedWidgetMacGotAcceleratedFrame( |
const base::Closure& drawn_callback, |
bool* disable_throttling, int* renderer_id); |
+COMPOSITOR_EXPORT |
void AcceleratedWidgetMacGotSoftwareFrame( |
gfx::AcceleratedWidget widget, |
cc::SoftwareFrameData* frame_data, float scale_factor, SkCanvas* canvas); |
} // namespace content |
-#endif // CONTENT_BROWSER_COMPOSITOR_ACCELERATED_WIDGET_HELPER_MAC_H_ |
+#endif // UI_COMPOSITOR_MAC_ACCELERATED_WIDGET_HELPER_MAC_H_ |