summaryrefslogtreecommitdiffstats
path: root/cc/layers
Commit message (Collapse)AuthorAgeFilesLines
* cc : Fix layer transform changed tracking bugjaydasika2016-03-251-2/+2
| | | | | | | | | | | | One of the functions makes changes on a local copy of property trees instead of the property trees stored on LayerTreeImpl. This fixes that. BUG=597143 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1834883002 Cr-Commit-Position: refs/heads/master@{#383219}
* Add more out of line copy ctors for complex classes.vmpstr2016-03-242-0/+3
| | | | | | | | | | | | | | | This patch adds the remaining copy constructors for complex classes. After this patch, it should be possible to enable the heavy class copy constructor checks by default. R=thakis@chromium.org, dcheng@chromium.org TBR=jam@chromium.org BUG=436357 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1825273002 Cr-Commit-Position: refs/heads/master@{#383131}
* cc: Remove more code that was only used by CDPajuma2016-03-246-74/+1
| | | | | | | | | | | | This removes a draw property and some setters/getters on Layer and LayerImpl that were only used by CDP. BUG=497821 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1829053002 Cr-Commit-Position: refs/heads/master@{#383091}
* Remove some dead code in LayerImplvollick2016-03-232-14/+0
| | | | | | | | | BUG=None CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1834453002 Cr-Commit-Position: refs/heads/master@{#382971}
* cc: Fix LayerTree deserialization for commit.khushalsagar2016-03-236-101/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When we receive a commit protobuf from the engine, we collect all the existing Layers in a map and proceed with deserializing the new LayerTree in the commit protobuf, re-using any existing Layers if possible. When deserializing a Layer, Layer::FromLayerNodeProto creates a copy of the existing children, in order to clear the parent pointers for these layers, if they have now been added to the children of another layer. However, since we only traverse the layers from the updated LayerTree during deserialization, if a Layer has been destroyed on the engine, it will not be traversed during the derserialization step, and will still hold a reference to all its children. When this Layer is being destroyed on the client, it will call Layer::RemoveFromParent for all its children, which may now have been added to the children list of a different Layer. This patch clears all the properties that are sent with a Layer Hierarchy update in Layer::ClearLayerHierarchyPropertiesForDeserializationAndAddToMap, which is run for the existing LayerTree before parsing the new LayerTree from the commit protobuf. BUG=590102 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1804703004 Cr-Commit-Position: refs/heads/master@{#382953}
* Remove unused LayerImpl::GetPicture()fmalita2016-03-224-14/+0
| | | | | | | | | | | No clients AFAICT. R=enne@chromium.org,danakj@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1827523002 Cr-Commit-Position: refs/heads/master@{#382692}
* Update secure output flags on display changes.dcastagna2016-03-222-5/+4
| | | | | | | | | | | | | | | | | | | | | This patch adds a WindowTreeHostManager::Observer to exo that sets the appropriate output secure flag to the compositors when the display configuration changes. The first iteration for the logic that determines if the output is secure is simply a check if the connected display is internal and mirroring is disabled on all the devices. Additionally this patch moves the 'is_secure_' flag from the OutputSurface to LayerTreeImpl, since the lifetime of the latter better matches the display configuration changes. BUG=b/27173841,b/27174223 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1821553002 Cr-Commit-Position: refs/heads/master@{#382683}
* Transfer LayerImpl ownership to LayerTreeImplvollick2016-03-2215-117/+137
| | | | | | | | | | | | | | | | | | | I have taken a very simple strategy. I have retained all LayerImpl functions related to transfer of ownership (AddChild, etc). These now update raw pointers on the LayerImpl as well as updating true ownership by talking to the LTI. This allows most unit test code to remain as is. LayerImpl's may be constructed and ownership may be transferred just as it had been. BUG=594026 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1801853002 Cr-Commit-Position: refs/heads/master@{#382619}
* Use sk_sp-based picture recording APIsfmalita2016-03-229-17/+13
| | | | | | | | | | | | | | | | 1) use SkPictureRecorder::finishRecordingAsPicture() over endRecordingAsPicture() 2) convert to sk_sp<SkPicture> fields/params where feasible BUG=skia:5077 R=reed@google.com,danakj@chromium.org,enne@chromium.org TBR=pdr@chromium.org,alekseys@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1819683002 Cr-Commit-Position: refs/heads/master@{#382563}
* cc : Make tree synchronization independent of layer tree hierarchy (2)jaydasika2016-03-216-476/+150
| | | | | | | | | | | | | | | | | This CL : * Stores layers that need to push properties in LayerTreeHost(layer_set) * Deletes bools needs_push_properties and dependants_needs_push_properties from Layer. * Iterate the layer_set tp push properties during commit. * Changes what layers are serialized (Both dirty layers and their ancestors are serialized currently. With this CL, only dirty layers serialize). BUG=568874 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1808373002 Cr-Commit-Position: refs/heads/master@{#382379}
* Store recording invalidations in DisplayListRecordingSource, save them via ↵chrishtr2016-03-188-27/+105
| | | | | | | | | | | | | | | | | | | | | Update. This fixes the referenced bug, as well as cleaning up the interaction between PictureLayer and DisplayListRecordingSource a little bit. This way both the invalidation and picture come from DisplayListRecordingSource, rather than one coming from PictureLayer and the other from DisplayListRecordingSource, with the latter modifying the invalidation during Update. Also renamed LayerImpl::GetInvalidationRegion() to LayerImpl::GetInvalidationRegionForDebugging() to make clear it's only used for that purpose. BUG=591561 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1812733003 Cr-Commit-Position: refs/heads/master@{#381977}
* cc: Impl thread scroll on ScrollNode instead of LayerImplsunxd2016-03-174-29/+30
| | | | | | | | | BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1805343006 Cr-Commit-Position: refs/heads/master@{#381614}
* cc: Remove some unnecessary const scoped_refptr&.vmpstr2016-03-164-15/+15
| | | | | | | | | | | | | | | This patch makes the API a bit clearer by taking a copy of scoped_refptr in some situations (where ownership is shared) and using a raw pointer in situations where ownership is not needed. The only references that remain are the ones captured in lambdas or Callbacks. R=danakj BUG=589044 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1803863003 Cr-Commit-Position: refs/heads/master@{#381524}
* Clean scroll logic in LayerTreeImpl:sunxd2016-03-165-62/+31
| | | | | | | | | | | | * Move DidUpdateScrollOffset to LayerTreeImpl * Make SyncedScrollOffset transparent to LayerImpl BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1803643002 Cr-Commit-Position: refs/heads/master@{#381467}
* CC Animation: Redirect ScrollAnimationAbort via LayerTreeImplloyso2016-03-151-3/+2
| | | | | | | | | | | | To align it with other animation interactions so LayerImpl doesn't depend on AnimationHost interface. BUG=575041 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1793313003 Cr-Commit-Position: refs/heads/master@{#381181}
* Delete scrollCompensationAdjustment.aelias2016-03-155-35/+0
| | | | | | | | | | | | | | | | | | | | | | | This feature was added to compensate for fixed-position layers getting positioned at integer positions but counterscrolled by a full, fractional amount. It wound up getting unused because it caused a performance regression due to defeating the "aborted commit" optimization during scrolling (every scroll increment with a fractional change would cause a commit). There are two ways we can move forward with main-thread fractional scroll support from here, either 1) have CC automatically compute the fractional part on the impl thread, or 2) change Blink so that fixed-position elements don't include the scroll offset in their layout position at all. Either way, this scroll compensation feature is dead code, so we can delete it now. BUG=414283 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1385123003 Cr-Commit-Position: refs/heads/master@{#381180}
* cc: Refactor SkipImageCanvas and create it during playback.vmpstr2016-03-141-1/+2
| | | | | | | | | | | | | | | This patch moves SkipImageCanvas into a separate file in the same directory as ImageHijackCanvas and also moves the creation of SkipImageCanvas to raster source playback (the same place as ImageHijackCanvas is created). BUG=594679 R=enne, ericrk CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1799883002 Cr-Commit-Position: refs/heads/master@{#381101}
* CC Animation: Rename HasAnimation to HasAnimationForTesting.loyso2016-03-142-10/+4
| | | | | | | | | | | Also, erase Layer::IsActive method (it is meaningless and not used anywhere) BUG=575041 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1797703002 Cr-Commit-Position: refs/heads/master@{#380926}
* CC Animation: Erase cc::LayerSettings everywhere.loyso2016-03-1445-566/+391
| | | | | | | | | | | Also, erase LayerTreeSettings::use_compositor_animation_timelines flag. BUG=575041 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1783613004 Cr-Commit-Position: refs/heads/master@{#380914}
* cc : Move ResetAllChangeTracking to LayerTreeImpl from LayerImpljaydasika2016-03-125-36/+33
| | | | | | | | | | | | LayerTreeImpl will iterate the list of layers and reset change tracking on individual layers. BUG=568817 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1778163002 Cr-Commit-Position: refs/heads/master@{#380817}
* Rename InputHandler::GESTURE to InputHandler::TOUCHSCREENdtapuska2016-03-111-2/+2
| | | | | | | | | | | | | | | | Since mouse wheel events will use gestures. Make it clear that this scroll input type was really referring to touchscreen. Rename executed via: sed -i 's/InputHandler::GESTURE/InputHandler::TOUCHSCREEN/g' git cl format BUG=593017 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1775013004 Cr-Commit-Position: refs/heads/master@{#380742}
* Begin switch-over to using sk_sp (for SkShader for now)reed2016-03-111-3/+1
| | | | | | | | | | | This is not a complete conversion of setShader() sites, but is intended to be a canary, to tryout the new patterns. More will follow once this is approved. BUG=skia:5077 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1778913002 Cr-Commit-Position: refs/heads/master@{#380613}
* CC Animation: Erase old animation system.loyso2016-03-116-525/+84
| | | | | | | | | | | | | | | | | | Basically, specialize all the code as if: - use_compositor_animation_timelines is always true. - Layer::layer_animation_controller_ is always nullptr. - LayerImpl::layer_animation_controller_ is always nullptr. - LayerTreeHost::animation_registrar_ is always nullptr. - LayerTreeHostImpl::animation_registrar_ is always nullptr. Next CL: Erase cc::LayerSettings everywhere. BUG=575041 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1782433002 Cr-Commit-Position: refs/heads/master@{#380576}
* Clean LayerImpl's scroll offset callers in unit tests.sunxd2016-03-096-121/+114
| | | | | | | | | | | | | | | The getter ScrollDelta is left because it is called by property tree builder. LayerImpl is now not aware of the internal logic of synced property. BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1766053002 Cr-Commit-Position: refs/heads/master@{#380217}
* Make TextureLayerImplTest comply with secure_output flag.dcastagna2016-03-084-19/+87
| | | | | | | | | | | | | | | This patch adds a flag 'secure_output_only_' to TextureMailbox and a flag 'is_secure_output_' to the LayerTreeImpl. This flags are used by TextureLayerImpl to determine if it's secure to composite specific textures coming from a mailbox on a specific compositor. BUG=b/27173841,b/27174223 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1773923002 Cr-Commit-Position: refs/heads/master@{#379966}
* cc : Make tree synchronization independent of layer tree hierarchy (1)jaydasika2016-03-084-94/+62
| | | | | | | | | | | | | | | This CL : * Stores layers that need to push properties on LayerTreeImpl(layer_set) * Deletes bools needs_push_properties and dependants_needs_push_properties from LayerImpl * Iterate the layer_set to push propeties while activating pending tree. BUG=568874 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1770913003 Cr-Commit-Position: refs/heads/master@{#379727}
* Set debug color for borders of compressed tiles.auygun2016-03-071-0/+3
| | | | | | | | | BUG=434699 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1774533002 Cr-Commit-Position: refs/heads/master@{#379582}
* cc: Do not set clip when layers are not clippedweiliangc2016-03-042-8/+4
| | | | | | | | | | | | | We only use a layer's clip_rect when layer is_clipped. Do not set clip_rect when layer is not clipped. BUG=581843 R=ajuma CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1763873002 Cr-Commit-Position: refs/heads/master@{#379151}
* cc: Move SyncedScrollOffset to scroll treesunxd2016-03-0311-127/+78
| | | | | | | | | | | | | | | | Now updating scrolling information on impl side can be independent of layer impl. There are still some left-over changes corresponding to NoteLayerPropertiesChanged. SyncedScrollOffset of scrollable layers are now stored in property trees instead of layer impl. The main thread property tree has one copy while pending and active share one. BUG=568830 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1736073002 Cr-Commit-Position: refs/heads/master@{#379116}
* Clean up function names with from property treesweiliangc2016-03-039-143/+94
| | | | | | | | | | | | | Now we are always using property trees, the names saying from property trees are redundant. BUG= R=enne CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1751983002 Cr-Commit-Position: refs/heads/master@{#379042}
* Add LayerTreeImpl end/begin/rend/rbeginvollick2016-03-031-16/+20
| | | | | | | | | | | | This also allows for some pretty cute ways to iterate. See some examples in the unit test. BUG=None CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1752263003 Cr-Commit-Position: refs/heads/master@{#378967}
* cc : Compute safe opaque background color while building property treesjaydasika2016-03-036-27/+39
| | | | | | | | | | This is to remove its dependancy on the layer hierarchy on the impl side BUG=568822 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1753423002 Cr-Commit-Position: refs/heads/master@{#378940}
* cc: Separate ImageDecodeController into software and gpu parts.vmpstr2016-03-032-1/+9
| | | | | | | | | | | | | | | | | This patch separates ImageDecodeController into the software and gpu components, which are created when tile manager resources are set. This allows independent development of the two paths without extra complications involved trying to handle both cases in the same class. R=enne, ericrk BUG=581423 CQ_EXTRA_TRYBOTS=tryserver.blink:linux_blink_rel CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1642803003 Cr-Commit-Position: refs/heads/master@{#378895}
* Introduce LayerListIteratorvollick2016-03-023-0/+337
| | | | | | | | | | | | | | | | | | This iterator (unlike the other iterators which are intended to operate on the RSLL) will traverse a collection of LayerImpls. It is intended to be used whenever we currently do a walk over the LayerImpl tree. It currently operates on a tree of layers, but if we migrate all code to work in terms of this iterator, when we change the underlying iterator implementation to work on lists, all code will be updated in unison. BUG=557194 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1758823003 Cr-Commit-Position: refs/heads/master@{#378827}
* cc : Delete LayerImpl::NoteLayerPropertyChangedForSubtreejaydasika2016-03-025-123/+85
| | | | | | | | | | | | | | | | This CL also : * tracks filter changes on main thread and filter animations on effect tree. * tracks scroll offset changes on transform tree. * tracks bounds delta changes on property trees. BUG=584512 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1752993002 Cr-Commit-Position: refs/heads/master@{#378824}
* Blink Compositor Animation: Erase old animation system.loyso2016-03-021-0/+1
| | | | | | | | | | | | | Basically, specialize all the code as if use_compositor_animation_timelines is always true. Next CL: Erase cc::LayerSettings everywhere. BUG=575041 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1739743003 Cr-Commit-Position: refs/heads/master@{#378629}
* Revert of Introduce LayerListImpl (patchset #11 id:200001 of ↵vollick2016-03-0111-251/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1746603002/ ) Reason for revert: I'm going to try another, less code churny approach to the layer list refactor. Original issue's description: > Introduce LayerListImpl > > In this cl, the LayerTreeImpl constructs a LayerListImpl. > The idea being that most plumbing won't need to change at > first to get the list to where it needs to be. The first > consumer of the LayerTreeImpl that I'm attempting to > teach to speak LayerListImpl-ese is the LayerImpl. That > has not been completely finished in this cl so that it > doesn't become too big and difficult to review. > > NB: since the actual storage of the LayerImpls doesn't > change in this cl (they're still in the LayerTreeImpl), > there's no need to guard this work behind a flag. > > BUG=557194 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/299bf1f63b8253c77530b904874f3435f9bde6d3 > Cr-Commit-Position: refs/heads/master@{#378398} TBR=weiliangc@chromium.org,ajuma@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=557194 Review URL: https://codereview.chromium.org/1751243002 Cr-Commit-Position: refs/heads/master@{#378608}
* Revert of Use LTHI's *_list() accessors whenever possible (patchset #1 id:1 ↵vollick2016-03-012-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1748813003/ ) Reason for revert: I'm going to try another, less code-churny, approach to the layer list conversion. Original issue's description: > Use LTHI's *_list() accessors whenever possible > > This is a mechanical patch which replaces instances of > > LTHI->[active|pending|recycle|_tree()->list() > > with > > LTHI->[active|pending|recycle|_list() > > BUG=557194 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/c2a4176b6099eb93c2198778442e54ad1d1ac78e > Cr-Commit-Position: refs/heads/master@{#378429} TBR=tdresser@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=557194 Review URL: https://codereview.chromium.org/1759443002 Cr-Commit-Position: refs/heads/master@{#378603}
* Added proper DCHECKs to ensure proper resource provider synchronization.dyen2016-03-012-19/+35
| | | | | | | | | | | | | | Proper DCHECKs have been added to make sure resource provider users add all the proper synchronization calls. All the unittests have also been fixed up to properly synchronize and insert sync tokens when necessary. BUG=584381 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1717873002 Cr-Commit-Position: refs/heads/master@{#378533}
* cc : Track changes to transform on compositor on property treesjaydasika2016-03-012-4/+19
| | | | | | | | | | | This is needed to compute damage rect BUG=584512 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1755473002 Cr-Commit-Position: refs/heads/master@{#378474}
* Use LTHI's *_list() accessors whenever possiblevollick2016-03-012-5/+5
| | | | | | | | | | | | | | | | | This is a mechanical patch which replaces instances of LTHI->[active|pending|recycle|_tree()->list() with LTHI->[active|pending|recycle|_list() BUG=557194 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1748813003 Cr-Commit-Position: refs/heads/master@{#378429}
* Share animations from compositor to main thread.ymalik2016-03-012-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL introduces a new state that a compositor animation can be in, namely, ABORT_BUT_NEEDS_COMPLETION. When a main thread scrolling reason is added, the current scroll offset animation is put into this state. The layer animation controller looks for impl-only animations in this state and passes a TAKEOVER animation event to the main thread with the animation_curve. The main thread then completes the animation. Notes: - This CL is for impl only animations, i.e, the jidder bug won't be fixed for an animation running on cc that was initiated by the main thread (keyboard scroll). Future CL will add the takeover logic for MT-initiated animations. - This CL doesn't support the takeover notification from the old animation path. The old path is where we don't use CompositorAnimationPlayer and its better to not add the plumbing for something that will be removed soon anyway. Design-doc https://docs.google.com/a/google.com/document/d/1JUYvp5gilux7bca8vfmE4Rr5BUjSthizmz7g4BnOnBA/edit?usp=sharing Test page: http://philipwalton.github.io/polyfill/demos/position-sticky/ BUG=581875 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1734063003 Cr-Commit-Position: refs/heads/master@{#378411}
* Introduce LayerListImplvollick2016-03-0111-41/+251
| | | | | | | | | | | | | | | | | | | | | In this cl, the LayerTreeImpl constructs a LayerListImpl. The idea being that most plumbing won't need to change at first to get the list to where it needs to be. The first consumer of the LayerTreeImpl that I'm attempting to teach to speak LayerListImpl-ese is the LayerImpl. That has not been completely finished in this cl so that it doesn't become too big and difficult to review. NB: since the actual storage of the LayerImpls doesn't change in this cl (they're still in the LayerTreeImpl), there's no need to guard this work behind a flag. BUG=557194 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1746603002 Cr-Commit-Position: refs/heads/master@{#378398}
* Revert checkerboarding image/no-image metrics.vollick2016-03-013-82/+0
| | | | | | | | | | | | | | This is currently providing no more value. Let's ditch it. This is a revert of https://codereview.chromium.org/1566813002 BUG=None CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1741183003 Cr-Commit-Position: refs/heads/master@{#378388}
* cc : Track opacity changes for damage rect without layer tree hierarchyjaydasika2016-03-015-66/+63
| | | | | | | | | | | | | | Matches the behavior without this CL expect in one case. This patch sets layer property changed even when there is impl only opacity animation and animation changes on main thread. BUG=584512 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1711763004 Cr-Commit-Position: refs/heads/master@{#378341}
* tracing: Make ConvertableToTraceFormat move-onlyprimiano2016-02-295-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary. This CL: - Makes TraceEvent ownership a move-only scoped_ptr. - Makes ConvertableToTraceFormat (CTTF) itself move-only scoped_ptr. - Updates all the codebase that uses CTTF in TRACE_EVENT macros to use move-only semantics. Background: Historically ConvertableToTraceFormat (CTTF) was RefCounted. The main reason seems to be supporting monitoring mode (now deprecated) where tracing needed to copy TraceEvents without flushing the TraceLog. Not what monitoring mode is gone, there is no reason why TraceEvent(s) should not be move-only. Unfortunately CTTF being RefCounted exposed that implementation detail to its public interface. Fortunately, most of the codebase doesn't care about the fact that CTTF is RefCounted. The only exceptions are: 1. Memory-infra heap profiler {StackFrame,TypeInfo}Deduplicator 2. cc::Layer DebugInfo 1) Is addressed creating a proxy class which delegates the CTTF methods to the duplicators inside MDSessionState. Essentially it makes the CTTF metadata events shared co-owners of the MDSessionState. 2) After an offline chat with danakj@, it seems OK to make DebugInfo(s) moved scoped_ptr (as opposite as copied), moving the ownership to the active layer and keeping a raw ptr into the pending layer. BUG=559117 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=thakis,jochen,tbarzic,mnaganov,skyostil Review URL: https://codereview.chromium.org/1717283003 Cr-Commit-Position: refs/heads/master@{#378263}
* CC Animation: Expose TargetProperty enum to be aliased in Blink Platform.loyso2016-02-255-35/+34
| | | | | | | | | | | | | | | | | | | TargetProperty is intended to be used as an alias in Source/platform/animation/CompositorTargetProperty.h This is slightly better then untyped approach used here: https://codereview.chromium.org/1599673002 where we setup struct with constants in it and pass uint32_t everywhere. An alternative approach with strongly typed enum considered too verbose: https://codereview.chromium.org/1698813002/ BUG=577016 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1700653002 Cr-Commit-Position: refs/heads/master@{#377501}
* Fix smooth scroll jump when switching scroll handling from MT to CCymalik2016-02-254-9/+64
| | | | | | | | | | | | | | | | | | To simulate position:sticky, some websites have JS code that conditionally attaches position:fixed depending on the scroll offset. This CL finishes the the animations on MT before switching to compositor scrolling. ScrollingCoordinator proxys the call to clear main thread scrolling reasons to ScrollAnimator which calls weblayer->clearMTSReasons when the scroll offset animation is finished. ScrollAnimator adds a temporary main thread scrolling reason until the animation is finished. BUG=581875 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1648293003 Cr-Commit-Position: refs/heads/master@{#377476}
* cc: Move tracking of layer_property_changed to main thread (3)jaydasika2016-02-246-97/+86
| | | | | | | | | | | | | | | | | This is a follow up to http://crrev.com/1697613002 Properties moved in this CL are : stacking_order_changed, transform_and_invertibility. This changes the existing behavior. We set layer_property_changed even when transform is animating on impl only. BUG=584512 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1715973002 Cr-Commit-Position: refs/heads/master@{#377249}
* CC Animation: Move scrollbar* files to cc/inputloyso2016-02-242-2/+2
| | | | | | | | | BUG=575053 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1730853002 Cr-Commit-Position: refs/heads/master@{#377200}