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

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 951673002: Revert "Pull chromium at 2c3ffb2355a27c32f45e508ef861416b820c823b" (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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 | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_impl.cc
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index eef1cc37caed94f1f2e6f06709a781fc32531a7d..3cb285883b6356d4923e75bf3169a4473f108dbe 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -307,11 +307,8 @@ void LayerTreeHostImpl::CommitComplete() {
if (settings_.impl_side_painting) {
// Impl-side painting needs an update immediately post-commit to have the
// opportunity to create tilings. Other paths can call UpdateDrawProperties
- // more lazily when needed prior to drawing. Because invalidations may
- // be coming from the main thread, it's safe to do an update for lcd text
- // at this point and see if lcd text needs to be disabled on any layers.
- bool update_lcd_text = true;
- sync_tree()->UpdateDrawProperties(update_lcd_text);
+ // more lazily when needed prior to drawing.
+ sync_tree()->UpdateDrawProperties();
// Start working on newly created tiles immediately if needed.
if (tile_manager_ && tile_priorities_dirty_)
PrepareTiles();
@@ -476,7 +473,7 @@ static LayerImpl* NextScrollLayer(LayerImpl* layer) {
}
static ScrollBlocksOn EffectiveScrollBlocksOn(LayerImpl* layer) {
- ScrollBlocksOn blocks = SCROLL_BLOCKS_ON_NONE;
+ ScrollBlocksOn blocks = ScrollBlocksOnNone;
for (; layer; layer = NextScrollLayer(layer)) {
blocks |= layer->scroll_blocks_on();
}
@@ -495,7 +492,7 @@ bool LayerTreeHostImpl::DoTouchEventsBlockScrollAt(
LayerImpl* layer_impl =
active_tree_->FindLayerThatIsHitByPoint(device_viewport_point);
ScrollBlocksOn blocking = EffectiveScrollBlocksOn(layer_impl);
- if (!(blocking & SCROLL_BLOCKS_ON_START_TOUCH))
+ if (!(blocking & ScrollBlocksOnStartTouch))
return false;
// Now determine if there are actually any handlers at that point.
@@ -1049,8 +1046,7 @@ DrawResult LayerTreeHostImpl::PrepareToDraw(FrameData* frame) {
UMA_HISTOGRAM_CUSTOM_COUNTS(
"Compositing.NumActiveLayers", active_tree_->NumLayers(), 1, 400, 20);
- bool update_lcd_text = false;
- bool ok = active_tree_->UpdateDrawProperties(update_lcd_text);
+ bool ok = active_tree_->UpdateDrawProperties();
DCHECK(ok) << "UpdateDrawProperties failed during draw";
// This will cause NotifyTileStateChanged() to be called for any visible tiles
@@ -1623,19 +1619,12 @@ bool LayerTreeHostImpl::SwapBuffers(const LayerTreeHostImpl::FrameData& frame) {
}
CompositorFrameMetadata metadata = MakeCompositorFrameMetadata();
active_tree()->FinishSwapPromises(&metadata);
- for (auto& latency : metadata.latency_info) {
+ for (size_t i = 0; i < metadata.latency_info.size(); i++) {
TRACE_EVENT_FLOW_STEP0(
"input,benchmark",
"LatencyInfo.Flow",
- TRACE_ID_DONT_MANGLE(latency.trace_id),
+ TRACE_ID_DONT_MANGLE(metadata.latency_info[i].trace_id),
"SwapBuffers");
- // Only add the latency component once for renderer swap, not the browser
- // swap.
- if (!latency.FindLatency(ui::INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT,
- 0, nullptr)) {
- latency.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT,
- 0, 0);
- }
}
renderer_->SwapBuffers(metadata);
return true;
@@ -2306,7 +2295,7 @@ LayerImpl* LayerTreeHostImpl::FindScrollLayerForDeviceViewportPoint(
// thread.
ScrollStatus status =
layer_impl->TryScroll(device_viewport_point, type, block_mode);
- if (status == SCROLL_ON_MAIN_THREAD) {
+ if (status == ScrollOnMainThread) {
*scroll_on_main_thread = true;
return NULL;
}
@@ -2318,7 +2307,7 @@ LayerImpl* LayerTreeHostImpl::FindScrollLayerForDeviceViewportPoint(
status =
scroll_layer_impl->TryScroll(device_viewport_point, type, block_mode);
// If any layer wants to divert the scroll event to the main thread, abort.
- if (status == SCROLL_ON_MAIN_THREAD) {
+ if (status == ScrollOnMainThread) {
*scroll_on_main_thread = true;
return NULL;
}
@@ -2327,7 +2316,7 @@ LayerImpl* LayerTreeHostImpl::FindScrollLayerForDeviceViewportPoint(
scroll_layer_impl->have_scroll_event_handlers())
*optional_has_ancestor_scroll_handler = true;
- if (status == SCROLL_STARTED && !potentially_scrolling_layer_impl)
+ if (status == ScrollStarted && !potentially_scrolling_layer_impl)
potentially_scrolling_layer_impl = scroll_layer_impl;
}
@@ -2374,7 +2363,7 @@ InputHandler::ScrollStatus LayerTreeHostImpl::ScrollBegin(
active_tree_->FindFirstScrollingLayerThatIsHitByPoint(
device_viewport_point);
if (scroll_layer_impl && !HasScrollAncestor(layer_impl, scroll_layer_impl))
- return SCROLL_UNKNOWN;
+ return ScrollUnknown;
}
bool scroll_on_main_thread = false;
@@ -2387,18 +2376,18 @@ InputHandler::ScrollStatus LayerTreeHostImpl::ScrollBegin(
if (scroll_on_main_thread) {
UMA_HISTOGRAM_BOOLEAN("TryScroll.SlowScroll", true);
- return SCROLL_ON_MAIN_THREAD;
+ return ScrollOnMainThread;
}
if (scrolling_layer_impl) {
active_tree_->SetCurrentlyScrollingLayer(scrolling_layer_impl);
- should_bubble_scrolls_ = (type != NON_BUBBLING_GESTURE);
- wheel_scrolling_ = (type == WHEEL);
+ should_bubble_scrolls_ = (type != NonBubblingGesture);
+ wheel_scrolling_ = (type == Wheel);
client_->RenewTreePriority();
UMA_HISTOGRAM_BOOLEAN("TryScroll.SlowScroll", false);
- return SCROLL_STARTED;
+ return ScrollStarted;
}
- return SCROLL_IGNORED;
+ return ScrollIgnored;
}
InputHandler::ScrollStatus LayerTreeHostImpl::ScrollAnimated(
@@ -2407,9 +2396,9 @@ InputHandler::ScrollStatus LayerTreeHostImpl::ScrollAnimated(
if (LayerImpl* layer_impl = CurrentlyScrollingLayer()) {
Animation* animation =
layer_impl->layer_animation_controller()->GetAnimation(
- Animation::SCROLL_OFFSET);
+ Animation::ScrollOffset);
if (!animation)
- return SCROLL_IGNORED;
+ return ScrollIgnored;
ScrollOffsetAnimationCurve* curve =
animation->curve()->ToScrollOffsetAnimationCurve();
@@ -2424,13 +2413,13 @@ InputHandler::ScrollStatus LayerTreeHostImpl::ScrollAnimated(
CurrentBeginFrameArgs().frame_time).InSecondsF(),
new_target);
- return SCROLL_STARTED;
+ return ScrollStarted;
}
// ScrollAnimated is only used for wheel scrolls. We use the same bubbling
// behavior as ScrollBy to determine which layer to animate, but we do not
// do the Android-specific things in ScrollBy like showing top controls.
- InputHandler::ScrollStatus scroll_status = ScrollBegin(viewport_point, WHEEL);
- if (scroll_status == SCROLL_STARTED) {
+ InputHandler::ScrollStatus scroll_status = ScrollBegin(viewport_point, Wheel);
+ if (scroll_status == ScrollStarted) {
gfx::Vector2dF pending_delta = scroll_delta;
for (LayerImpl* layer_impl = CurrentlyScrollingLayer(); layer_impl;
layer_impl = layer_impl->parent()) {
@@ -2461,15 +2450,17 @@ InputHandler::ScrollStatus LayerTreeHostImpl::ScrollAnimated(
EaseInOutTimingFunction::Create());
curve->SetInitialValue(current_offset);
- scoped_ptr<Animation> animation = Animation::Create(
- curve.Pass(), AnimationIdProvider::NextAnimationId(),
- AnimationIdProvider::NextGroupId(), Animation::SCROLL_OFFSET);
+ scoped_ptr<Animation> animation =
+ Animation::Create(curve.Pass(),
+ AnimationIdProvider::NextAnimationId(),
+ AnimationIdProvider::NextGroupId(),
+ Animation::ScrollOffset);
animation->set_is_impl_only(true);
layer_impl->layer_animation_controller()->AddAnimation(animation.Pass());
SetNeedsAnimate();
- return SCROLL_STARTED;
+ return ScrollStarted;
}
}
ScrollEnd();
@@ -2820,13 +2811,13 @@ void LayerTreeHostImpl::ScrollEnd() {
InputHandler::ScrollStatus LayerTreeHostImpl::FlingScrollBegin() {
if (!active_tree_->CurrentlyScrollingLayer())
- return SCROLL_IGNORED;
+ return ScrollIgnored;
if (settings_.ignore_root_layer_flings &&
(active_tree_->CurrentlyScrollingLayer() == InnerViewportScrollLayer() ||
active_tree_->CurrentlyScrollingLayer() == OuterViewportScrollLayer())) {
ClearCurrentlyScrollingLayer();
- return SCROLL_IGNORED;
+ return ScrollIgnored;
}
if (!wheel_scrolling_) {
@@ -2836,7 +2827,7 @@ InputHandler::ScrollStatus LayerTreeHostImpl::FlingScrollBegin() {
should_bubble_scrolls_ = false;
}
- return SCROLL_STARTED;
+ return ScrollStarted;
}
float LayerTreeHostImpl::DeviceSpaceDistanceToLayer(
@@ -2880,9 +2871,12 @@ void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) {
}
bool scroll_on_main_thread = false;
- LayerImpl* scroll_layer_impl = FindScrollLayerForDeviceViewportPoint(
- device_viewport_point, InputHandler::GESTURE, layer_impl,
- &scroll_on_main_thread, NULL);
+ LayerImpl* scroll_layer_impl =
+ FindScrollLayerForDeviceViewportPoint(device_viewport_point,
+ InputHandler::Gesture,
+ layer_impl,
+ &scroll_on_main_thread,
+ NULL);
if (scroll_on_main_thread || !scroll_layer_impl)
return;
@@ -3379,9 +3373,11 @@ void LayerTreeHostImpl::CreateUIResource(UIResourceId uid,
format = ETC1;
break;
}
- id = resource_provider_->CreateResource(
- bitmap.GetSize(), wrap_mode, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
- format);
+ id =
+ resource_provider_->CreateResource(bitmap.GetSize(),
+ wrap_mode,
+ ResourceProvider::TextureHintImmutable,
+ format);
UIResourceData data;
data.resource_id = id;
@@ -3391,8 +3387,11 @@ void LayerTreeHostImpl::CreateUIResource(UIResourceId uid,
ui_resource_map_[uid] = data;
AutoLockUIResourceBitmap bitmap_lock(bitmap);
- resource_provider_->CopyToResource(id, bitmap_lock.GetPixels(),
- bitmap.GetSize());
+ resource_provider_->SetPixels(id,
+ bitmap_lock.GetPixels(),
+ gfx::Rect(bitmap.GetSize()),
+ gfx::Rect(bitmap.GetSize()),
+ gfx::Vector2d(0, 0));
MarkUIResourceNotEvicted(uid);
}
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698