Chromium Code Reviews| Index: content/browser/renderer_host/compositing_iosurface_layer_mac.h | 
| diff --git a/content/browser/renderer_host/compositing_iosurface_layer_mac.h b/content/browser/renderer_host/compositing_iosurface_layer_mac.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..35dfb8f14df70a6d917fd9e734c4dbc87f956519 | 
| --- /dev/null | 
| +++ b/content/browser/renderer_host/compositing_iosurface_layer_mac.h | 
| @@ -0,0 +1,45 @@ | 
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef CONTENT_BROWSER_RENDERER_HOST_COMPOSITING_IOSURFACE_LAYER_MAC_H_ | 
| +#define CONTENT_BROWSER_RENDERER_HOST_COMPOSITING_IOSURFACE_LAYER_MAC_H_ | 
| + | 
| +#import <Cocoa/Cocoa.h> | 
| + | 
| +#include "base/mac/scoped_cftyperef.h" | 
| +#include "base/memory/ref_counted.h" | 
| + | 
| +namespace content { | 
| +class CompositingIOSurfaceContext; | 
| +class RenderWidgetHostViewMac; | 
| +} | 
| + | 
| +// The CoreAnimation layer for drawing accelerated content. | 
| +@interface CompositingIOSurfaceLayer : CAOpenGLLayer { | 
| + @private | 
| + content::RenderWidgetHostViewMac* renderWidgetHostView_; | 
| + scoped_refptr<content::CompositingIOSurfaceContext> context_; | 
| +} | 
| + | 
| +@property(nonatomic, readonly) | 
| + scoped_refptr<content::CompositingIOSurfaceContext> context; | 
| + | 
| +- (id)initWithRenderWidgetHostViewMac:(content::RenderWidgetHostViewMac*)r; | 
| + | 
| +// The OpenGL context may be destroyed periodically (e.g, when moving across | 
| +// displays). This will re-allocate the context if need be, and returns whether | 
| 
 
Ken Russell (switch to Gerrit)
2013/06/03 22:05:01
Does this code path properly support switching the
 
ccameron
2013/06/03 22:14:59
This doesn't support forcibly changing the underly
 
Ken Russell (switch to Gerrit)
2013/06/03 22:36:19
OK. My concern is only about correctness -- whethe
 
 | 
| +// or not the context now exists. | 
| +- (BOOL)ensureContext; | 
| + | 
| +// Update the scale factor of the layer to match the scale factor of the | 
| +// IOSurface. | 
| +- (void)updateScaleFactor; | 
| + | 
| +// Remove this layer from the layer heirarchy, and mark that | 
| +// |renderWidgetHostView_| is no longer valid and may no longer be dereferenced. | 
| +- (void)disableCompositing; | 
| + | 
| +@end | 
| + | 
| +#endif // CONTENT_BROWSER_RENDERER_HOST_COMPOSITING_IOSURFACE_LAYER_MAC_H_ |