Index: ui/accelerated_widget_mac/accelerated_widget_mac.mm |
diff --git a/content/browser/compositor/browser_compositor_ca_layer_tree_mac.mm b/ui/accelerated_widget_mac/accelerated_widget_mac.mm |
similarity index 93% |
rename from content/browser/compositor/browser_compositor_ca_layer_tree_mac.mm |
rename to ui/accelerated_widget_mac/accelerated_widget_mac.mm |
index 43aec83154095a2de86350ab3a7e973804131801..8397dc6f006950591f28d1f267227028fe1bb85a 100644 |
--- a/content/browser/compositor/browser_compositor_ca_layer_tree_mac.mm |
+++ b/ui/accelerated_widget_mac/accelerated_widget_mac.mm |
@@ -2,23 +2,21 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "content/browser/compositor/browser_compositor_ca_layer_tree_mac.h" |
+#include "ui/accelerated_widget_mac/accelerated_widget_mac.h" |
#include <map> |
-#include "cc/output/software_frame_data.h" |
#include "base/debug/trace_event.h" |
#include "base/lazy_instance.h" |
#include "base/message_loop/message_loop.h" |
-#include "content/browser/compositor/io_surface_layer_mac.h" |
-#include "content/browser/compositor/software_layer_mac.h" |
-#include "content/common/gpu/surface_handle_types_mac.h" |
-#include "content/public/browser/context_factory.h" |
+#include "third_party/skia/include/core/SkCanvas.h" |
+#include "ui/accelerated_widget_mac/io_surface_layer.h" |
+#include "ui/accelerated_widget_mac/surface_handle_types.h" |
#include "ui/base/cocoa/animation_utils.h" |
#include "ui/gfx/geometry/dip_util.h" |
#include "ui/gl/scoped_cgl.h" |
-namespace content { |
+namespace ui { |
namespace { |
typedef std::map<gfx::AcceleratedWidget,AcceleratedWidgetMac*> |
@@ -37,13 +35,14 @@ AcceleratedWidgetMac* GetHelperFromAcceleratedWidget( |
return found->second; |
} |
-} |
+} // namespace |
//////////////////////////////////////////////////////////////////////////////// |
// AcceleratedWidgetMac |
-AcceleratedWidgetMac::AcceleratedWidgetMac() |
- : view_(NULL) { |
+AcceleratedWidgetMac::AcceleratedWidgetMac(bool needs_gl_finish_workaround) |
+ : view_(NULL), |
+ needs_gl_finish_workaround_(needs_gl_finish_workaround) { |
// Disable the fade-in animation as the layers are added. |
ScopedCAActionDisabler disabler; |
@@ -215,7 +214,8 @@ void AcceleratedWidgetMac::GotAcceleratedIOSurfaceFrame( |
if (needs_new_layer) { |
io_surface_layer_.reset( |
[[IOSurfaceLayer alloc] initWithClient:this |
- withScaleFactor:scale_factor]); |
+ withScaleFactor:scale_factor |
+ needsGLFinishWorkaround:needs_gl_finish_workaround_]); |
if (io_surface_layer_) |
[flipped_layer_ addSublayer:io_surface_layer_]; |
else |
@@ -266,11 +266,9 @@ void AcceleratedWidgetMac::GotAcceleratedIOSurfaceFrame( |
DestroySoftwareLayer(); |
} |
-void AcceleratedWidgetMac::GotSoftwareFrame( |
- cc::SoftwareFrameData* frame_data, |
- float scale_factor, |
- SkCanvas* canvas) { |
- if (!frame_data || !canvas || !view_) |
+void AcceleratedWidgetMac::GotSoftwareFrame(float scale_factor, |
+ SkCanvas* canvas) { |
+ if (!canvas || !view_) |
return; |
// Disable the fade-in or fade-out effect if we create or remove layers. |
@@ -379,12 +377,11 @@ void AcceleratedWidgetMacGotAcceleratedFrame( |
} |
void AcceleratedWidgetMacGotSoftwareFrame( |
- gfx::AcceleratedWidget widget, |
- cc::SoftwareFrameData* frame_data, float scale_factor, SkCanvas* canvas) { |
+ gfx::AcceleratedWidget widget, float scale_factor, SkCanvas* canvas) { |
AcceleratedWidgetMac* accelerated_widget_mac = |
GetHelperFromAcceleratedWidget(widget); |
if (accelerated_widget_mac) |
- accelerated_widget_mac->GotSoftwareFrame(frame_data, scale_factor, canvas); |
+ accelerated_widget_mac->GotSoftwareFrame(scale_factor, canvas); |
} |
-} // namespace content |
+} // namespace ui |