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

Unified Diff: content/browser/compositor/browser_compositor_view_private_mac.h

Issue 490393002: Simplify IOSurface CoreAnimation code: Part 2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Lower similarity Created 6 years, 4 months 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/browser/compositor/browser_compositor_view_private_mac.h
diff --git a/content/browser/compositor/browser_compositor_view_private_mac.h b/content/browser/compositor/browser_compositor_view_private_mac.h
index 23fdc8ba5347e1ce1f9cfe4dc355dea328a60570..1b928e26827e7b77ff3f18297f58c677aef017ad 100644
--- a/content/browser/compositor/browser_compositor_view_private_mac.h
+++ b/content/browser/compositor/browser_compositor_view_private_mac.h
@@ -8,9 +8,10 @@
#include <IOSurface/IOSurfaceAPI.h>
#include "base/mac/scoped_nsobject.h"
+#include "base/memory/weak_ptr.h"
#include "content/browser/compositor/browser_compositor_view_mac.h"
-#include "content/browser/renderer_host/compositing_iosurface_layer_mac.h"
-#include "content/browser/renderer_host/software_layer_mac.h"
+#include "content/browser/compositor/io_surface_layer_mac.h"
+#include "content/browser/compositor/software_layer_mac.h"
#include "ui/base/cocoa/remote_layer_api.h"
namespace content {
@@ -18,7 +19,7 @@ namespace content {
// BrowserCompositorViewMacInternal owns a NSView and a ui::Compositor that
// draws that view.
class BrowserCompositorViewMacInternal
- : public CompositingIOSurfaceLayerClient {
+ : public IOSurfaceLayerClient {
public:
BrowserCompositorViewMacInternal();
virtual ~BrowserCompositorViewMacInternal();
@@ -50,10 +51,12 @@ class BrowserCompositorViewMacInternal
cc::SoftwareFrameData* frame_data, float scale_factor, SkCanvas* canvas);
private:
- // CompositingIOSurfaceLayerClient implementation:
- virtual bool AcceleratedLayerShouldAckImmediately() const OVERRIDE;
- virtual void AcceleratedLayerDidDrawFrame() OVERRIDE;
- virtual void AcceleratedLayerHitError() OVERRIDE;
+ // IOSurfaceLayerClient implementation:
+ virtual bool IOSurfaceLayerShouldAckImmediately() const OVERRIDE;
+ virtual void IOSurfaceLayerDidDrawFrame() OVERRIDE;
+ virtual void IOSurfaceLayerHitError() OVERRIDE;
+
+ void HandleIOSurfaceLayerError();
void GotAcceleratedCAContextFrame(
CAContextID ca_context_id, gfx::Size pixel_size, float scale_factor);
@@ -68,7 +71,7 @@ private:
void DestroyCAContextLayer(
base::scoped_nsobject<CALayerHost> ca_context_layer);
void DestroyIOSurfaceLayer(
- base::scoped_nsobject<CompositingIOSurfaceLayer> io_surface_layer);
+ base::scoped_nsobject<IOSurfaceLayer> io_surface_layer);
void DestroySoftwareLayer();
// The client of the BrowserCompositorViewMac that is using this as its
@@ -94,7 +97,7 @@ private:
base::scoped_nsobject<CALayerHost> ca_context_layer_;
// The locally drawn accelerated CoreAnimation layer.
- base::scoped_nsobject<CompositingIOSurfaceLayer> io_surface_layer_;
+ base::scoped_nsobject<IOSurfaceLayer> io_surface_layer_;
// The locally drawn software layer.
base::scoped_nsobject<SoftwareLayer> software_layer_;
@@ -107,6 +110,8 @@ private:
// The size in DIP of the last swap received from |compositor_|.
gfx::Size last_swap_size_dip_;
+
+ base::WeakPtrFactory<BrowserCompositorViewMacInternal> weak_factory_;
};
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698