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

Side by Side Diff: cc/layers/layer_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 unified diff | Download patch
« no previous file with comments | « cc/layers/layer_impl.h ('k') | cc/layers/layer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/layers/layer_impl.h" 5 #include "cc/layers/layer_impl.h"
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
10 #include "base/trace_event/trace_event_argument.h" 10 #include "base/trace_event/trace_event_argument.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 mask_layer_id_(-1), 47 mask_layer_id_(-1),
48 replica_layer_id_(-1), 48 replica_layer_id_(-1),
49 layer_id_(id), 49 layer_id_(id),
50 layer_tree_impl_(tree_impl), 50 layer_tree_impl_(tree_impl),
51 scroll_offset_(scroll_offset), 51 scroll_offset_(scroll_offset),
52 scroll_offset_delegate_(nullptr), 52 scroll_offset_delegate_(nullptr),
53 scroll_clip_layer_(nullptr), 53 scroll_clip_layer_(nullptr),
54 should_scroll_on_main_thread_(false), 54 should_scroll_on_main_thread_(false),
55 have_wheel_event_handlers_(false), 55 have_wheel_event_handlers_(false),
56 have_scroll_event_handlers_(false), 56 have_scroll_event_handlers_(false),
57 scroll_blocks_on_(SCROLL_BLOCKS_ON_NONE), 57 scroll_blocks_on_(ScrollBlocksOnNone),
58 user_scrollable_horizontal_(true), 58 user_scrollable_horizontal_(true),
59 user_scrollable_vertical_(true), 59 user_scrollable_vertical_(true),
60 stacking_order_changed_(false), 60 stacking_order_changed_(false),
61 double_sided_(true), 61 double_sided_(true),
62 should_flatten_transform_(true), 62 should_flatten_transform_(true),
63 layer_property_changed_(false), 63 layer_property_changed_(false),
64 masks_to_bounds_(false), 64 masks_to_bounds_(false),
65 contents_opaque_(false), 65 contents_opaque_(false),
66 is_root_for_isolated_group_(false), 66 is_root_for_isolated_group_(false),
67 use_parent_backface_visibility_(false), 67 use_parent_backface_visibility_(false),
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 DCHECK(layer_tree_impl()->IsActiveTree()); 418 DCHECK(layer_tree_impl()->IsActiveTree());
419 scroll_offset_->AbortCommit(); 419 scroll_offset_->AbortCommit();
420 } 420 }
421 421
422 InputHandler::ScrollStatus LayerImpl::TryScroll( 422 InputHandler::ScrollStatus LayerImpl::TryScroll(
423 const gfx::PointF& screen_space_point, 423 const gfx::PointF& screen_space_point,
424 InputHandler::ScrollInputType type, 424 InputHandler::ScrollInputType type,
425 ScrollBlocksOn effective_block_mode) const { 425 ScrollBlocksOn effective_block_mode) const {
426 if (should_scroll_on_main_thread()) { 426 if (should_scroll_on_main_thread()) {
427 TRACE_EVENT0("cc", "LayerImpl::TryScroll: Failed ShouldScrollOnMainThread"); 427 TRACE_EVENT0("cc", "LayerImpl::TryScroll: Failed ShouldScrollOnMainThread");
428 return InputHandler::SCROLL_ON_MAIN_THREAD; 428 return InputHandler::ScrollOnMainThread;
429 } 429 }
430 430
431 if (!screen_space_transform().IsInvertible()) { 431 if (!screen_space_transform().IsInvertible()) {
432 TRACE_EVENT0("cc", "LayerImpl::TryScroll: Ignored NonInvertibleTransform"); 432 TRACE_EVENT0("cc", "LayerImpl::TryScroll: Ignored NonInvertibleTransform");
433 return InputHandler::SCROLL_IGNORED; 433 return InputHandler::ScrollIgnored;
434 } 434 }
435 435
436 if (!non_fast_scrollable_region().IsEmpty()) { 436 if (!non_fast_scrollable_region().IsEmpty()) {
437 bool clipped = false; 437 bool clipped = false;
438 gfx::Transform inverse_screen_space_transform( 438 gfx::Transform inverse_screen_space_transform(
439 gfx::Transform::kSkipInitialization); 439 gfx::Transform::kSkipInitialization);
440 if (!screen_space_transform().GetInverse(&inverse_screen_space_transform)) { 440 if (!screen_space_transform().GetInverse(&inverse_screen_space_transform)) {
441 // TODO(shawnsingh): We shouldn't be applying a projection if screen space 441 // TODO(shawnsingh): We shouldn't be applying a projection if screen space
442 // transform is uninvertible here. Perhaps we should be returning 442 // transform is uninvertible here. Perhaps we should be returning
443 // SCROLL_ON_MAIN_THREAD in this case? 443 // ScrollOnMainThread in this case?
444 } 444 }
445 445
446 gfx::PointF hit_test_point_in_content_space = 446 gfx::PointF hit_test_point_in_content_space =
447 MathUtil::ProjectPoint(inverse_screen_space_transform, 447 MathUtil::ProjectPoint(inverse_screen_space_transform,
448 screen_space_point, 448 screen_space_point,
449 &clipped); 449 &clipped);
450 gfx::PointF hit_test_point_in_layer_space = 450 gfx::PointF hit_test_point_in_layer_space =
451 gfx::ScalePoint(hit_test_point_in_content_space, 451 gfx::ScalePoint(hit_test_point_in_content_space,
452 1.f / contents_scale_x(), 452 1.f / contents_scale_x(),
453 1.f / contents_scale_y()); 453 1.f / contents_scale_y());
454 if (!clipped && 454 if (!clipped &&
455 non_fast_scrollable_region().Contains( 455 non_fast_scrollable_region().Contains(
456 gfx::ToRoundedPoint(hit_test_point_in_layer_space))) { 456 gfx::ToRoundedPoint(hit_test_point_in_layer_space))) {
457 TRACE_EVENT0("cc", 457 TRACE_EVENT0("cc",
458 "LayerImpl::tryScroll: Failed NonFastScrollableRegion"); 458 "LayerImpl::tryScroll: Failed NonFastScrollableRegion");
459 return InputHandler::SCROLL_ON_MAIN_THREAD; 459 return InputHandler::ScrollOnMainThread;
460 } 460 }
461 } 461 }
462 462
463 if (have_scroll_event_handlers() && 463 if (have_scroll_event_handlers() &&
464 effective_block_mode & SCROLL_BLOCKS_ON_SCROLL_EVENT) { 464 effective_block_mode & ScrollBlocksOnScrollEvent) {
465 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed ScrollEventHandlers"); 465 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed ScrollEventHandlers");
466 return InputHandler::SCROLL_ON_MAIN_THREAD; 466 return InputHandler::ScrollOnMainThread;
467 } 467 }
468 468
469 if (type == InputHandler::WHEEL && have_wheel_event_handlers() && 469 if (type == InputHandler::Wheel && have_wheel_event_handlers() &&
470 effective_block_mode & SCROLL_BLOCKS_ON_WHEEL_EVENT) { 470 effective_block_mode & ScrollBlocksOnWheelEvent) {
471 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed WheelEventHandlers"); 471 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed WheelEventHandlers");
472 return InputHandler::SCROLL_ON_MAIN_THREAD; 472 return InputHandler::ScrollOnMainThread;
473 } 473 }
474 474
475 if (!scrollable()) { 475 if (!scrollable()) {
476 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Ignored not scrollable"); 476 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Ignored not scrollable");
477 return InputHandler::SCROLL_IGNORED; 477 return InputHandler::ScrollIgnored;
478 } 478 }
479 479
480 gfx::ScrollOffset max_scroll_offset = MaxScrollOffset(); 480 gfx::ScrollOffset max_scroll_offset = MaxScrollOffset();
481 if (max_scroll_offset.x() <= 0 && max_scroll_offset.y() <= 0) { 481 if (max_scroll_offset.x() <= 0 && max_scroll_offset.y() <= 0) {
482 TRACE_EVENT0("cc", 482 TRACE_EVENT0("cc",
483 "LayerImpl::tryScroll: Ignored. Technically scrollable," 483 "LayerImpl::tryScroll: Ignored. Technically scrollable,"
484 " but has no affordance in either direction."); 484 " but has no affordance in either direction.");
485 return InputHandler::SCROLL_IGNORED; 485 return InputHandler::ScrollIgnored;
486 } 486 }
487 487
488 return InputHandler::SCROLL_STARTED; 488 return InputHandler::ScrollStarted;
489 } 489 }
490 490
491 gfx::Rect LayerImpl::LayerRectToContentRect( 491 gfx::Rect LayerImpl::LayerRectToContentRect(
492 const gfx::RectF& layer_rect) const { 492 const gfx::RectF& layer_rect) const {
493 gfx::RectF content_rect = 493 gfx::RectF content_rect =
494 gfx::ScaleRect(layer_rect, contents_scale_x(), contents_scale_y()); 494 gfx::ScaleRect(layer_rect, contents_scale_x(), contents_scale_y());
495 // Intersect with content rect to avoid the extra pixel because for some 495 // Intersect with content rect to avoid the extra pixel because for some
496 // values x and y, ceil((x / y) * y) may be x + 1. 496 // values x and y, ceil((x / y) * y) may be x + 1.
497 content_rect.Intersect(gfx::Rect(content_bounds())); 497 content_rect.Intersect(gfx::Rect(content_bounds()));
498 return gfx::ToEnclosingRect(content_rect); 498 return gfx::ToEnclosingRect(content_rect);
(...skipping 11 matching lines...) Expand all
510 layer->SetTransformOrigin(transform_origin_); 510 layer->SetTransformOrigin(transform_origin_);
511 layer->SetBackgroundColor(background_color_); 511 layer->SetBackgroundColor(background_color_);
512 layer->SetBounds(bounds_); 512 layer->SetBounds(bounds_);
513 layer->SetContentBounds(content_bounds()); 513 layer->SetContentBounds(content_bounds());
514 layer->SetContentsScale(contents_scale_x(), contents_scale_y()); 514 layer->SetContentsScale(contents_scale_x(), contents_scale_y());
515 layer->SetDoubleSided(double_sided_); 515 layer->SetDoubleSided(double_sided_);
516 layer->SetDrawCheckerboardForMissingTiles( 516 layer->SetDrawCheckerboardForMissingTiles(
517 draw_checkerboard_for_missing_tiles_); 517 draw_checkerboard_for_missing_tiles_);
518 layer->SetDrawsContent(DrawsContent()); 518 layer->SetDrawsContent(DrawsContent());
519 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); 519 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_);
520 layer->SetHasRenderSurface(!!render_surface() || layer->HasCopyRequest()); 520 layer->SetHasRenderSurface(!!render_surface());
521 layer->SetFilters(filters()); 521 layer->SetFilters(filters());
522 layer->SetBackgroundFilters(background_filters()); 522 layer->SetBackgroundFilters(background_filters());
523 layer->SetMasksToBounds(masks_to_bounds_); 523 layer->SetMasksToBounds(masks_to_bounds_);
524 layer->SetShouldScrollOnMainThread(should_scroll_on_main_thread_); 524 layer->SetShouldScrollOnMainThread(should_scroll_on_main_thread_);
525 layer->SetHaveWheelEventHandlers(have_wheel_event_handlers_); 525 layer->SetHaveWheelEventHandlers(have_wheel_event_handlers_);
526 layer->SetHaveScrollEventHandlers(have_scroll_event_handlers_); 526 layer->SetHaveScrollEventHandlers(have_scroll_event_handlers_);
527 layer->SetScrollBlocksOn(scroll_blocks_on_); 527 layer->SetScrollBlocksOn(scroll_blocks_on_);
528 layer->SetNonFastScrollableRegion(non_fast_scrollable_region_); 528 layer->SetNonFastScrollableRegion(non_fast_scrollable_region_);
529 layer->SetTouchEventHandlerRegion(touch_event_handler_region_); 529 layer->SetTouchEventHandlerRegion(touch_event_handler_region_);
530 layer->SetContentsOpaque(contents_opaque_); 530 layer->SetContentsOpaque(contents_opaque_);
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 const gfx::Transform& gfx_transform = draw_properties_.target_space_transform; 665 const gfx::Transform& gfx_transform = draw_properties_.target_space_transform;
666 double transform[16]; 666 double transform[16];
667 gfx_transform.matrix().asColMajord(transform); 667 gfx_transform.matrix().asColMajord(transform);
668 list = new base::ListValue; 668 list = new base::ListValue;
669 for (int i = 0; i < 16; ++i) 669 for (int i = 0; i < 16; ++i)
670 list->AppendDouble(transform[i]); 670 list->AppendDouble(transform[i]);
671 result->Set("DrawTransform", list); 671 result->Set("DrawTransform", list);
672 672
673 result->SetBoolean("DrawsContent", draws_content_); 673 result->SetBoolean("DrawsContent", draws_content_);
674 result->SetBoolean("Is3dSorted", Is3dSorted()); 674 result->SetBoolean("Is3dSorted", Is3dSorted());
675 result->SetDouble("OPACITY", opacity()); 675 result->SetDouble("Opacity", opacity());
676 result->SetBoolean("ContentsOpaque", contents_opaque_); 676 result->SetBoolean("ContentsOpaque", contents_opaque_);
677 677
678 if (scrollable()) 678 if (scrollable())
679 result->SetBoolean("Scrollable", true); 679 result->SetBoolean("Scrollable", true);
680 680
681 if (have_wheel_event_handlers_) 681 if (have_wheel_event_handlers_)
682 result->SetBoolean("WheelHandler", have_wheel_event_handlers_); 682 result->SetBoolean("WheelHandler", have_wheel_event_handlers_);
683 if (have_scroll_event_handlers_) 683 if (have_scroll_event_handlers_)
684 result->SetBoolean("ScrollHandler", have_scroll_event_handlers_); 684 result->SetBoolean("ScrollHandler", have_scroll_event_handlers_);
685 if (!touch_event_handler_region_.IsEmpty()) { 685 if (!touch_event_handler_region_.IsEmpty()) {
686 scoped_ptr<base::Value> region = touch_event_handler_region_.AsValue(); 686 scoped_ptr<base::Value> region = touch_event_handler_region_.AsValue();
687 result->Set("TouchRegion", region.release()); 687 result->Set("TouchRegion", region.release());
688 } 688 }
689 689
690 if (scroll_blocks_on_) { 690 if (scroll_blocks_on_) {
691 list = new base::ListValue; 691 list = new base::ListValue;
692 if (scroll_blocks_on_ & SCROLL_BLOCKS_ON_START_TOUCH) 692 if (scroll_blocks_on_ & ScrollBlocksOnStartTouch)
693 list->AppendString("StartTouch"); 693 list->AppendString("StartTouch");
694 if (scroll_blocks_on_ & SCROLL_BLOCKS_ON_WHEEL_EVENT) 694 if (scroll_blocks_on_ & ScrollBlocksOnWheelEvent)
695 list->AppendString("WheelEvent"); 695 list->AppendString("WheelEvent");
696 if (scroll_blocks_on_ & SCROLL_BLOCKS_ON_SCROLL_EVENT) 696 if (scroll_blocks_on_ & ScrollBlocksOnScrollEvent)
697 list->AppendString("ScrollEvent"); 697 list->AppendString("ScrollEvent");
698 result->Set("ScrollBlocksOn", list); 698 result->Set("ScrollBlocksOn", list);
699 } 699 }
700 700
701 list = new base::ListValue; 701 list = new base::ListValue;
702 for (size_t i = 0; i < children_.size(); ++i) 702 for (size_t i = 0; i < children_.size(); ++i)
703 list->Append(children_[i]->LayerTreeAsJson()); 703 list->Append(children_[i]->LayerTreeAsJson());
704 result->Set("Children", list); 704 result->Set("Children", list);
705 705
706 return result; 706 return result;
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 939
940 void LayerImpl::SetFilters(const FilterOperations& filters) { 940 void LayerImpl::SetFilters(const FilterOperations& filters) {
941 if (filters_ == filters) 941 if (filters_ == filters)
942 return; 942 return;
943 943
944 filters_ = filters; 944 filters_ = filters;
945 NoteLayerPropertyChangedForSubtree(); 945 NoteLayerPropertyChangedForSubtree();
946 } 946 }
947 947
948 bool LayerImpl::FilterIsAnimating() const { 948 bool LayerImpl::FilterIsAnimating() const {
949 return layer_animation_controller_->IsAnimatingProperty(Animation::FILTER); 949 return layer_animation_controller_->IsAnimatingProperty(Animation::Filter);
950 } 950 }
951 951
952 bool LayerImpl::FilterIsAnimatingOnImplOnly() const { 952 bool LayerImpl::FilterIsAnimatingOnImplOnly() const {
953 Animation* filter_animation = 953 Animation* filter_animation =
954 layer_animation_controller_->GetAnimation(Animation::FILTER); 954 layer_animation_controller_->GetAnimation(Animation::Filter);
955 return filter_animation && filter_animation->is_impl_only(); 955 return filter_animation && filter_animation->is_impl_only();
956 } 956 }
957 957
958 void LayerImpl::SetBackgroundFilters( 958 void LayerImpl::SetBackgroundFilters(
959 const FilterOperations& filters) { 959 const FilterOperations& filters) {
960 if (background_filters_ == filters) 960 if (background_filters_ == filters)
961 return; 961 return;
962 962
963 background_filters_ = filters; 963 background_filters_ = filters;
964 NoteLayerPropertyChanged(); 964 NoteLayerPropertyChanged();
(...skipping 17 matching lines...) Expand all
982 982
983 void LayerImpl::SetOpacity(float opacity) { 983 void LayerImpl::SetOpacity(float opacity) {
984 if (opacity_ == opacity) 984 if (opacity_ == opacity)
985 return; 985 return;
986 986
987 opacity_ = opacity; 987 opacity_ = opacity;
988 NoteLayerPropertyChangedForSubtree(); 988 NoteLayerPropertyChangedForSubtree();
989 } 989 }
990 990
991 bool LayerImpl::OpacityIsAnimating() const { 991 bool LayerImpl::OpacityIsAnimating() const {
992 return layer_animation_controller_->IsAnimatingProperty(Animation::OPACITY); 992 return layer_animation_controller_->IsAnimatingProperty(Animation::Opacity);
993 } 993 }
994 994
995 bool LayerImpl::OpacityIsAnimatingOnImplOnly() const { 995 bool LayerImpl::OpacityIsAnimatingOnImplOnly() const {
996 Animation* opacity_animation = 996 Animation* opacity_animation =
997 layer_animation_controller_->GetAnimation(Animation::OPACITY); 997 layer_animation_controller_->GetAnimation(Animation::Opacity);
998 return opacity_animation && opacity_animation->is_impl_only(); 998 return opacity_animation && opacity_animation->is_impl_only();
999 } 999 }
1000 1000
1001 void LayerImpl::SetBlendMode(SkXfermode::Mode blend_mode) { 1001 void LayerImpl::SetBlendMode(SkXfermode::Mode blend_mode) {
1002 if (blend_mode_ == blend_mode) 1002 if (blend_mode_ == blend_mode)
1003 return; 1003 return;
1004 1004
1005 blend_mode_ = blend_mode; 1005 blend_mode_ = blend_mode;
1006 NoteLayerPropertyChangedForSubtree(); 1006 NoteLayerPropertyChangedForSubtree();
1007 } 1007 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 DCHECK(transform_is_invertible_ == transform_is_invertible) 1059 DCHECK(transform_is_invertible_ == transform_is_invertible)
1060 << "Can't change invertibility if transform is unchanged"; 1060 << "Can't change invertibility if transform is unchanged";
1061 return; 1061 return;
1062 } 1062 }
1063 transform_ = transform; 1063 transform_ = transform;
1064 transform_is_invertible_ = transform_is_invertible; 1064 transform_is_invertible_ = transform_is_invertible;
1065 NoteLayerPropertyChangedForSubtree(); 1065 NoteLayerPropertyChangedForSubtree();
1066 } 1066 }
1067 1067
1068 bool LayerImpl::TransformIsAnimating() const { 1068 bool LayerImpl::TransformIsAnimating() const {
1069 return layer_animation_controller_->IsAnimatingProperty(Animation::TRANSFORM); 1069 return layer_animation_controller_->IsAnimatingProperty(Animation::Transform);
1070 } 1070 }
1071 1071
1072 bool LayerImpl::TransformIsAnimatingOnImplOnly() const { 1072 bool LayerImpl::TransformIsAnimatingOnImplOnly() const {
1073 Animation* transform_animation = 1073 Animation* transform_animation =
1074 layer_animation_controller_->GetAnimation(Animation::TRANSFORM); 1074 layer_animation_controller_->GetAnimation(Animation::Transform);
1075 return transform_animation && transform_animation->is_impl_only(); 1075 return transform_animation && transform_animation->is_impl_only();
1076 } 1076 }
1077 1077
1078 void LayerImpl::SetUpdateRect(const gfx::Rect& update_rect) { 1078 void LayerImpl::SetUpdateRect(const gfx::Rect& update_rect) {
1079 update_rect_ = update_rect; 1079 update_rect_ = update_rect;
1080 SetNeedsPushProperties(); 1080 SetNeedsPushProperties();
1081 } 1081 }
1082 1082
1083 void LayerImpl::AddDamageRect(const gfx::RectF& damage_rect) { 1083 void LayerImpl::AddDamageRect(const gfx::RectF& damage_rect) {
1084 damage_rect_ = gfx::UnionRects(damage_rect_, damage_rect); 1084 damage_rect_ = gfx::UnionRects(damage_rect_, damage_rect);
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
1325 if (scrollbar_animation_controller_) { 1325 if (scrollbar_animation_controller_) {
1326 // Non-overlay scrollbars shouldn't trigger animations. 1326 // Non-overlay scrollbars shouldn't trigger animations.
1327 if (scrollbar_layer->is_overlay_scrollbar()) 1327 if (scrollbar_layer->is_overlay_scrollbar())
1328 scrollbar_animation_controller_->DidScrollUpdate(on_resize); 1328 scrollbar_animation_controller_->DidScrollUpdate(on_resize);
1329 } 1329 }
1330 } 1330 }
1331 } 1331 }
1332 1332
1333 void LayerImpl::DidBecomeActive() { 1333 void LayerImpl::DidBecomeActive() {
1334 if (layer_tree_impl_->settings().scrollbar_animator == 1334 if (layer_tree_impl_->settings().scrollbar_animator ==
1335 LayerTreeSettings::NO_ANIMATOR) { 1335 LayerTreeSettings::NoAnimator) {
1336 return; 1336 return;
1337 } 1337 }
1338 1338
1339 bool need_scrollbar_animation_controller = scrollable() && scrollbars_; 1339 bool need_scrollbar_animation_controller = scrollable() && scrollbars_;
1340 if (!need_scrollbar_animation_controller) { 1340 if (!need_scrollbar_animation_controller) {
1341 scrollbar_animation_controller_ = nullptr; 1341 scrollbar_animation_controller_ = nullptr;
1342 return; 1342 return;
1343 } 1343 }
1344 1344
1345 if (scrollbar_animation_controller_) 1345 if (scrollbar_animation_controller_)
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1566 } 1566 }
1567 1567
1568 int LayerImpl::NumDescendantsThatDrawContent() const { 1568 int LayerImpl::NumDescendantsThatDrawContent() const {
1569 return num_descendants_that_draw_content_; 1569 return num_descendants_that_draw_content_;
1570 } 1570 }
1571 1571
1572 void LayerImpl::NotifyAnimationFinished( 1572 void LayerImpl::NotifyAnimationFinished(
1573 base::TimeTicks monotonic_time, 1573 base::TimeTicks monotonic_time,
1574 Animation::TargetProperty target_property, 1574 Animation::TargetProperty target_property,
1575 int group) { 1575 int group) {
1576 if (target_property == Animation::SCROLL_OFFSET) 1576 if (target_property == Animation::ScrollOffset)
1577 layer_tree_impl_->InputScrollAnimationFinished(); 1577 layer_tree_impl_->InputScrollAnimationFinished();
1578 } 1578 }
1579 1579
1580 void LayerImpl::SetHasRenderSurface(bool should_have_render_surface) { 1580 void LayerImpl::SetHasRenderSurface(bool should_have_render_surface) {
1581 if (!!render_surface() == should_have_render_surface) 1581 if (!!render_surface() == should_have_render_surface)
1582 return; 1582 return;
1583 1583
1584 SetNeedsPushProperties(); 1584 SetNeedsPushProperties();
1585 layer_tree_impl()->set_needs_update_draw_properties(); 1585 layer_tree_impl()->set_needs_update_draw_properties();
1586 if (should_have_render_surface) { 1586 if (should_have_render_surface) {
1587 render_surface_ = make_scoped_ptr(new RenderSurfaceImpl(this)); 1587 render_surface_ = make_scoped_ptr(new RenderSurfaceImpl(this));
1588 return; 1588 return;
1589 } 1589 }
1590 render_surface_.reset(); 1590 render_surface_.reset();
1591 } 1591 }
1592 1592
1593 } // namespace cc 1593 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer_impl.h ('k') | cc/layers/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698