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

Unified Diff: ui/accelerated_widget_mac/accelerated_widget_mac.mm

Issue 2062463002: Mac: Flip fullscreen low power layer geometry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « ui/accelerated_widget_mac/accelerated_widget_mac.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 d2121c53660dd9f7608d7330c1f5b940fd024139..14f119ef986c93a64eeea7a8a9805ef02922387c 100644
--- a/ui/accelerated_widget_mac/accelerated_widget_mac.mm
+++ b/ui/accelerated_widget_mac/accelerated_widget_mac.mm
@@ -48,6 +48,12 @@ - (void)setContentsChanged;
[flipped_layer_
setAutoresizingMask:kCALayerWidthSizable|kCALayerHeightSizable];
+ fslp_flipped_layer_.reset([[CALayer alloc] init]);
+ [fslp_flipped_layer_ setGeometryFlipped:YES];
+ [fslp_flipped_layer_ setAnchorPoint:CGPointMake(0, 0)];
+ [fslp_flipped_layer_
+ setAutoresizingMask:kCALayerWidthSizable|kCALayerHeightSizable];
+
// Use a sequence number as the accelerated widget handle that we can use
// to look up the internals structure.
static intptr_t last_sequence_number = 0;
@@ -74,6 +80,7 @@ - (void)setContentsChanged;
CALayer* background_layer = [view_->AcceleratedWidgetGetNSView() layer];
DCHECK(background_layer);
[flipped_layer_ setBounds:[background_layer bounds]];
+ [fslp_flipped_layer_ setBounds:[background_layer bounds]];
[background_layer addSublayer:flipped_layer_];
}
@@ -112,7 +119,7 @@ - (void)setContentsChanged;
}
CALayer* AcceleratedWidgetMac::GetFullscreenLowPowerLayer() const {
- return fullscreen_low_power_layer_;
+ return fslp_flipped_layer_;
}
bool AcceleratedWidgetMac::MightBeInFullscreenLowPowerMode() const {
@@ -158,6 +165,8 @@ - (void)setContentsChanged;
}
ScopedCAActionDisabler disabler;
last_swap_size_dip_ = gfx::ConvertSizeToDIP(scale_factor, pixel_size);
+ if (fullscreen_low_power_layer_valid)
+ [fslp_flipped_layer_ setFrame:gfx::Rect(last_swap_size_dip_).ToCGRect()];
// Ensure that the content is in the CALayer hierarchy, and update fullscreen
// low power state.
@@ -171,6 +180,8 @@ - (void)setContentsChanged;
fslp_coordinator_->WillLoseAcceleratedWidget();
DCHECK(!fslp_coordinator_);
}
+ [fslp_flipped_layer_ addSublayer:fullscreen_low_power_layer];
+ [fullscreen_low_power_layer_ removeFromSuperlayer];
fullscreen_low_power_layer_ = fullscreen_low_power_layer;
}
if (fslp_coordinator_)
« no previous file with comments | « ui/accelerated_widget_mac/accelerated_widget_mac.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698