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

Side by Side Diff: third_party/WebKit/Source/core/animation/CompositorAnimations.cpp

Issue 2890953002: [SPv1] Always set a CompositorElementId on main graphics layers; use PaintLayer id. (Closed)
Patch Set: none Created 3 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 DCHECK(compositor_player); 439 DCHECK(compositor_player);
440 compositor_player->PauseAnimation(id, pause_time); 440 compositor_player->PauseAnimation(id, pause_time);
441 } 441 }
442 442
443 void CompositorAnimations::AttachCompositedLayers(Element& element, 443 void CompositorAnimations::AttachCompositedLayers(Element& element,
444 const Animation& animation) { 444 const Animation& animation) {
445 if (!animation.CompositorPlayer()) 445 if (!animation.CompositorPlayer())
446 return; 446 return;
447 447
448 if (!element.GetLayoutObject() || 448 if (!element.GetLayoutObject() ||
449 !element.GetLayoutObject()->IsBoxModelObject()) 449 !element.GetLayoutObject()->IsBoxModelObject() ||
450 !element.GetLayoutObject()->HasLayer())
450 return; 451 return;
451 452
453 PaintLayer* layer =
454 ToLayoutBoxModelObject(element.GetLayoutObject())->Layer();
455
452 // Composited animations do not depend on a composited layer mapping for SPv2. 456 // Composited animations do not depend on a composited layer mapping for SPv2.
453 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { 457 if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
454 PaintLayer* layer = 458 if (!layer->IsAllowedToQueryCompositingState() ||
455 ToLayoutBoxModelObject(element.GetLayoutObject())->Layer();
456
457 if (!layer || !layer->IsAllowedToQueryCompositingState() ||
458 !layer->GetCompositedLayerMapping() || 459 !layer->GetCompositedLayerMapping() ||
459 !layer->GetCompositedLayerMapping()->MainGraphicsLayer()) 460 !layer->GetCompositedLayerMapping()->MainGraphicsLayer())
460 return; 461 return;
461 462
462 if (!layer->GetCompositedLayerMapping() 463 if (!layer->GetCompositedLayerMapping()
463 ->MainGraphicsLayer() 464 ->MainGraphicsLayer()
464 ->PlatformLayer()) 465 ->PlatformLayer())
465 return; 466 return;
466 } 467 }
467 468
468 CompositorAnimationPlayer* compositor_player = animation.CompositorPlayer(); 469 CompositorAnimationPlayer* compositor_player = animation.CompositorPlayer();
469 compositor_player->AttachElement(CompositorElementIdFromDOMNodeId( 470 compositor_player->AttachElement(CompositorElementIdFromPaintLayerId(
470 DOMNodeIds::IdForNode(&element), CompositorElementIdNamespace::kPrimary)); 471 layer->UniqueId(), CompositorElementIdNamespace::kPrimary));
471 } 472 }
472 473
473 bool CompositorAnimations::ConvertTimingForCompositor( 474 bool CompositorAnimations::ConvertTimingForCompositor(
474 const Timing& timing, 475 const Timing& timing,
475 double time_offset, 476 double time_offset,
476 CompositorTiming& out, 477 CompositorTiming& out,
477 double animation_playback_rate) { 478 double animation_playback_rate) {
478 timing.AssertValid(); 479 timing.AssertValid();
479 480
480 // FIXME: Compositor does not know anything about endDelay. 481 // FIXME: Compositor does not know anything about endDelay.
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 animation->SetTimeOffset(compositor_timing.scaled_time_offset); 648 animation->SetTimeOffset(compositor_timing.scaled_time_offset);
648 animation->SetDirection(compositor_timing.direction); 649 animation->SetDirection(compositor_timing.direction);
649 animation->SetPlaybackRate(compositor_timing.playback_rate); 650 animation->SetPlaybackRate(compositor_timing.playback_rate);
650 animation->SetFillMode(compositor_timing.fill_mode); 651 animation->SetFillMode(compositor_timing.fill_mode);
651 animations.push_back(std::move(animation)); 652 animations.push_back(std::move(animation));
652 } 653 }
653 DCHECK(!animations.IsEmpty()); 654 DCHECK(!animations.IsEmpty());
654 } 655 }
655 656
656 } // namespace blink 657 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698