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

Unified Diff: ui/accelerated_widget_mac/accelerated_widget_mac.mm

Issue 1416363002: Mac: Always use surfaceless mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add export Created 5 years, 2 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: ui/accelerated_widget_mac/accelerated_widget_mac.mm
diff --git a/ui/accelerated_widget_mac/accelerated_widget_mac.mm b/ui/accelerated_widget_mac/accelerated_widget_mac.mm
index ede33e5ea9d0605c220a82a0efe7637b8444c008..dc7686693565c3a0bd06e739f9713eea1cc645f5 100644
--- a/ui/accelerated_widget_mac/accelerated_widget_mac.mm
+++ b/ui/accelerated_widget_mac/accelerated_widget_mac.mm
@@ -12,7 +12,6 @@
#include "base/message_loop/message_loop.h"
#include "base/trace_event/trace_event.h"
#include "third_party/skia/include/core/SkCanvas.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"
@@ -135,7 +134,8 @@ void AcceleratedWidgetMac::EndPumpingFrames() {
}
void AcceleratedWidgetMac::GotAcceleratedFrame(
- uint64 surface_handle,
+ CAContextID ca_context_id,
+ base::ScopedCFTypeRef<IOSurfaceRef> io_surface,
const std::vector<ui::LatencyInfo>& latency_info,
const gfx::Size& pixel_size,
float scale_factor,
@@ -156,21 +156,10 @@ void AcceleratedWidgetMac::GotAcceleratedFrame(
// Disable the fade-in or fade-out effect if we create or remove layers.
ScopedCAActionDisabler disabler;
- switch (GetSurfaceHandleType(surface_handle)) {
- case kSurfaceHandleTypeIOSurface: {
- IOSurfaceID io_surface_id = IOSurfaceIDFromSurfaceHandle(surface_handle);
- GotAcceleratedIOSurfaceFrame(io_surface_id, pixel_size, scale_factor);
- break;
- }
- case kSurfaceHandleTypeCAContext: {
- CAContextID ca_context_id = CAContextIDFromSurfaceHandle(surface_handle);
- GotAcceleratedCAContextFrame(ca_context_id, pixel_size, scale_factor);
- break;
- }
- default:
- DLOG(ERROR) << "Unrecognized accelerated frame type.";
- return;
- }
+ if (ca_context_id)
+ GotAcceleratedCAContextFrame(ca_context_id, pixel_size, scale_factor);
+ else
+ GotAcceleratedIOSurfaceFrame(io_surface, pixel_size, scale_factor);
AcknowledgeAcceleratedFrame();
}
@@ -206,12 +195,10 @@ void AcceleratedWidgetMac::GotAcceleratedCAContextFrame(
}
void AcceleratedWidgetMac::GotAcceleratedIOSurfaceFrame(
- IOSurfaceID io_surface_id,
+ base::ScopedCFTypeRef<IOSurfaceRef> io_surface,
const gfx::Size& pixel_size,
float scale_factor) {
- base::ScopedCFTypeRef<IOSurfaceRef> io_surface(
- IOSurfaceLookup(io_surface_id));
- GotIOSurfaceFrame(io_surface, pixel_size, scale_factor, true);
+ GotIOSurfaceFrame(io_surface, pixel_size, scale_factor, false);
}
void AcceleratedWidgetMac::EnsureLocalLayer() {
@@ -294,19 +281,23 @@ void AcceleratedWidgetMac::AcknowledgeAcceleratedFrame() {
}
void AcceleratedWidgetMacGotAcceleratedFrame(
- gfx::AcceleratedWidget widget, uint64 surface_handle,
+ gfx::AcceleratedWidget widget,
+ CAContextID ca_context_id,
+ base::ScopedCFTypeRef<IOSurfaceRef> io_surface,
const std::vector<ui::LatencyInfo>& latency_info,
const gfx::Size& pixel_size,
float scale_factor,
const gfx::Rect& pixel_damage_rect,
const base::Closure& drawn_callback,
- bool* disable_throttling, int* renderer_id,
- base::TimeTicks* vsync_timebase, base::TimeDelta* vsync_interval) {
+ bool* disable_throttling,
+ int* renderer_id,
+ base::TimeTicks* vsync_timebase,
+ base::TimeDelta* vsync_interval) {
AcceleratedWidgetMac* accelerated_widget_mac =
GetHelperFromAcceleratedWidget(widget);
if (accelerated_widget_mac) {
accelerated_widget_mac->GotAcceleratedFrame(
- surface_handle, latency_info, pixel_size, scale_factor,
+ ca_context_id, io_surface, latency_info, pixel_size, scale_factor,
pixel_damage_rect, drawn_callback);
*disable_throttling =
accelerated_widget_mac->IsRendererThrottlingDisabled();
« no previous file with comments | « ui/accelerated_widget_mac/accelerated_widget_mac.h ('k') | ui/accelerated_widget_mac/surface_handle_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698