summaryrefslogtreecommitdiffstats
path: root/cc/trees/layer_tree_host_common.cc
Commit message (Collapse)AuthorAgeFilesLines
* cc: Remove more code that was only used by CDPajuma2016-03-241-12/+0
| | | | | | | | | | | | 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}
* cc : Determine if a layer is root by using the value in LayerTreeImpljaydasika2016-03-241-4/+7
| | | | | | | | | | | | This CL also makes ValidateRenderSurfaces in DrawPropertyUtils use Layer Iterator. BUG=594024,568794 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1832663002 Cr-Commit-Position: refs/heads/master@{#383005}
* Transfer LayerImpl ownership to LayerTreeImplvollick2016-03-221-6/+6
| | | | | | | | | | | | | | | | | | | 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}
* cc: Removed unused layer of redirection on functionweiliangc2016-03-181-28/+19
| | | | | | | | | | | | | | For CalculateRenderTarget and CalculateRenderSurfaceLayerList, no longer need to redirect call through to Internal version of function, they can both be called directly. R=enne BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1806343004 Cr-Commit-Position: refs/heads/master@{#381983}
* Clean up function names with from property treesweiliangc2016-03-031-26/+10
| | | | | | | | | | | | | 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}
* cc : Remove dead code from LayerTreeHostCommonjaydasika2016-03-031-491/+0
| | | | | | | | | | | Dead code because CDP is gone BUG=581832 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1764483002 Cr-Commit-Position: refs/heads/master@{#379027}
* Revert of Introduce LayerListImpl (patchset #11 id:200001 of ↵vollick2016-03-011-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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}
* Introduce LayerListImplvollick2016-03-011-3/+4
| | | | | | | | | | | | | | | | | | | | | 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}
* Delete CalcDrawPropsweiliangc2016-02-191-1376/+165
| | | | | | | | | | | | | | We always use property trees. Delete CalcDrawProps. Delete |use_property_trees| because it's always true. Delete |verify_property_trees| because we don't have CDP to verify against. R=enne, piman, ajuma, vollick, dtrainor BUG=581832 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1706903002 Cr-Commit-Position: refs/heads/master@{#376337}
* cc :: Handle clip child getting skipped in PreCalculateMetaInformationjaydasika2016-02-121-6/+6
| | | | | | | | | BUG=543693 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1696443003 Cr-Commit-Position: refs/heads/master@{#375226}
* Remove DelegatedRendererLayerjbauman2016-02-091-6/+0
| | | | | | | | | | | We now use SurfaceLayer instead in all cases. BUG=579275 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1675023002 Cr-Commit-Position: refs/heads/master@{#374311}
* Move have_wheel_event_handlers to WebLayerTreeView.dtapuska2016-01-291-14/+12
| | | | | | | | | | | | | Since having wheel event handlers was based on the document in general there was no need for the hit testing code for determining the layer in cc. So it makes more sense to have these fields on the layer tree view. BUG=489802 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1639363002 Cr-Commit-Position: refs/heads/master@{#372346}
* cc :: Reland compute if layer is drawn from property treesjaydasika2016-01-271-20/+40
| | | | | | | | | | | | | | | This CL : * deletes is_hidden * computes if a layer is drawn using the effect tree BUG=575413 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel patch from issue 1588093004 at patchset 250001 (http://crrev.com/1588093004#ps250001) Review URL: https://codereview.chromium.org/1633203002 Cr-Commit-Position: refs/heads/master@{#371807}
* Revert of Compute if a layer is drawn without LayerTree hierarchy (patchset ↵thakis2016-01-241-40/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | #14 id:250001 of https://codereview.chromium.org/1588093004/ ) Reason for revert: Speculative; might have broken tests on Chrome OS, see http://crbug.com/580806 Original issue's description: > This CL : > * deletes is_hidden > * computes if a layer is drawn using the effect tree > > BUG=575413 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/5bd215b33e6343d8ae7e52fb822dd552bf8b59a7 > Cr-Commit-Position: refs/heads/master@{#371063} TBR=weiliangc@chromium.org,ajuma@chromium.org,enne@chromium.org,vollick@chromium.org,jaydasika@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=575413 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1621013002 Cr-Commit-Position: refs/heads/master@{#371160}
* This CL :jaydasika2016-01-221-20/+40
| | | | | | | | | | | | * deletes is_hidden * computes if a layer is drawn using the effect tree BUG=575413 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1588093004 Cr-Commit-Position: refs/heads/master@{#371063}
* Jitter in composited layers perf tests.jaydasika2016-01-201-4/+9
| | | | | | | | | | | | Adds a telemetry benchmark and timeline-based-measurements for jitter BUG=542813 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel CQ_EXTRA_TRYBOTS=tryserver.chromium.perf:linux_perf_bisect;tryserver.chromium.perf:mac_10_10_perf_bisect;tryserver.chromium.perf:win_perf_bisect Review URL: https://codereview.chromium.org/1542023002 Cr-Commit-Position: refs/heads/master@{#370301}
* (De)-serialize BeginMainFrameAndCommitState to protobuf.khushalsagar2016-01-151-0/+46
| | | | | | | | | BUG=550687 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1581773002 Cr-Commit-Position: refs/heads/master@{#369836}
* cc: Use effect tree to track the number of copy requestssunxd2016-01-111-5/+1
| | | | | | | | | | | | | | | | | Move num_layer_or_descendants_with_copy_requestfrom layer_tree to effect_tree. This update introduces false positives to the variable: if a layer owns no effect node, it returns the value of its nearest ancestor who owns a effect node. BUG=574192 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1566913004 Cr-Commit-Position: refs/heads/master@{#368664}
* Switch to standard integer types in cc/.avi2015-12-211-0/+2
| | | | | | | | | | BUG=138542 TBR=danakj@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1539203002 Cr-Commit-Position: refs/heads/master@{#366333}
* cc:: Give a valid transform tree index to mask layers.jaydasika2015-12-181-0/+2
| | | | | | | | | | | | | | | | Mask layer's screen space transform is used while tracing. Both CDP and property trees don't set it. With CDP, we always returned an identity transform, but with property trees we have an invalid transform tree index and crash. This CL gives the owning layer's transform tree index to the mask layer and so its screen space transform will be the same as its owning layer's. BUG=570739 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1539723002 Cr-Commit-Position: refs/heads/master@{#365993}
* Jitter Measurementjaydasika2015-12-091-49/+122
| | | | | | | | | | | | | Adds code to measure jitter in web pages. The jitter measure used is proportional to displacement from the fixed point and the size of layer that jitters. BUG=542813 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1181263003 Cr-Commit-Position: refs/heads/master@{#364222}
* Create RenderSurface on Effect Treeweiliangc2015-12-091-199/+14
| | | | | | | | | | | | | | | | Move RenderSurface creation reason to effect tree. Update LayerImpl's API to include SetForceRenderSurface. Update unittests. R=enne BUG=557160 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/4374c2cc231a7e5b6ae65d0e0814b5dccf445200 Cr-Commit-Position: refs/heads/master@{#363544} Review URL: https://codereview.chromium.org/1491033002 Cr-Commit-Position: refs/heads/master@{#363967}
* Revert of Create RenderSurface on Effect Tree (patchset #7 id:120001 of ↵weiliangc2015-12-081-14/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1491033002/ ) Reason for revert: crbug.com/567529. Top crash. Original issue's description: > Create RenderSurface on Effect Tree > > Move RenderSurface creation reason to effect tree. Update LayerImpl's > API to include SetForceRenderSurface. Update unittests. > > R=enne > BUG=557160 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/4374c2cc231a7e5b6ae65d0e0814b5dccf445200 > Cr-Commit-Position: refs/heads/master@{#363544} TBR=ajuma@chromium.org,enne@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=557160 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1505243003 Cr-Commit-Position: refs/heads/master@{#363815}
* Create RenderSurface on Effect Treeweiliangc2015-12-071-200/+14
| | | | | | | | | | | | | Move RenderSurface creation reason to effect tree. Update LayerImpl's API to include SetForceRenderSurface. Update unittests. R=enne BUG=557160 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1491033002 Cr-Commit-Position: refs/heads/master@{#363544}
* Reland: Enable compositor-thread property treesajuma2015-12-061-1/+1
| | | | | | | | | | | | | | | | This relands r360635 (https://codereview.chromium.org/1449143004). This enables compositor-thread property trees for all clients of cc. It also replaces the existing --enable-compositor-property-trees flag with a --disable-compositor-property-trees flag. TBR=piman@chromium.org,jaydasika@chromium.org BUG=481585 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1495983003 Cr-Commit-Position: refs/heads/master@{#363373}
* cc: Make property trees support elastic overscrollajuma2015-12-041-5/+14
| | | | | | | | | | | | | This makes property trees aware of the elastic overscroll value, which is used for the overscroll rubberbanding effect on Mac. BUG=559550 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1494723002 Cr-Commit-Position: refs/heads/master@{#363302}
* cc: Fix screen space transform computation for non-drawn layersajuma2015-12-011-1/+2
| | | | | | | | | | | | | | | When property trees are enabled, draw properties are only computed for drawn layers. This means that when a non-drawn layer's screen space transform is needed, it must be computed on-demand using the transform tree rather than being read from the layer's draw properties. BUG=560758 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1492463002 Cr-Commit-Position: refs/heads/master@{#362498}
* cc: Fix draw transform computation for non-drawn layersajuma2015-11-301-11/+23
| | | | | | | | | | | | | | | When property trees are enabled, draw properties are only computed for drawn layers. This means that when a non-drawn layer's draw transform is needed, it must be computed on-demand using the transform tree rather than being read from the layer's draw properties. BUG=560275 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1479883002 Cr-Commit-Position: refs/heads/master@{#362196}
* Revert of Enable compositor-thread property trees (patchset #1 id:1 of ↵ccameron2015-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1449143004/ ) Reason for revert: This is causing overscroll on Mac to fail. Just using the flag --disable-compositor-property-trees fails to make this go away -- I had to do a manual revert BUG=559550 Original issue's description: > Enable compositor-thread property trees > > This enables compositor-thread property trees for all clients of cc. > It also replaces the existing --enable-compositor-property-trees flag > with a --disable-compositor-property-trees flag. > > BUG=481585 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/f626d0b9d0fb2bfde430cf63c5111df7da1fba6f > Cr-Commit-Position: refs/heads/master@{#360635} TBR=enne@chromium.org,jaydasika@chromium.org,piman@chromium.org,ajuma@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=481585 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1469733006 Cr-Commit-Position: refs/heads/master@{#361246}
* Enable compositor-thread property treesajuma2015-11-191-1/+1
| | | | | | | | | | | | | This enables compositor-thread property trees for all clients of cc. It also replaces the existing --enable-compositor-property-trees flag with a --disable-compositor-property-trees flag. BUG=481585 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1449143004 Cr-Commit-Position: refs/heads/master@{#360635}
* cc: Remove ScopedPtrVector and cc::remove_if.vmpstr2015-11-181-6/+6
| | | | | | | | | | | | This patch removes ScopedPtrVector and cc::remove_if. It depends on https://codereview.chromium.org/1441613002 for TakeBack. R=danakj CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1437413002 Cr-Commit-Position: refs/heads/master@{#360318}
* cc::Fix unit test that fail when we enable impl property treesjaydasika2015-11-171-0/+7
| | | | | | | | | | | | | One of the unit test fails because property trees do not account for layer's scroll delta while computing the scroll compensation. This CL fixes that. BUG=551629 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1448593002 Cr-Commit-Position: refs/heads/master@{#360007}
* cc::Fix computation of surface backfacing-ness when using property treesjaydasika2015-11-101-8/+13
| | | | | | | | | | | | | | | | | | Property trees currently use the owning layer's draw transform to compute the render surface's backfacing-ness. This computation is flawed as the owning layer's draw transform computed using property trees has only the sublayer scale and not the transform to target. So, we should use the surface's draw transform instead. This change also fixes the unit test, LayerTreeHostCommonTest.DoNotIncludeBackfaceInvisibleSurfaces when we enable impl-thread property trees. BUG=551629 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1430353002 Cr-Commit-Position: refs/heads/master@{#358736}
* cc: Fix computation of layer backfacing-ness when using property treesajuma2015-11-091-6/+20
| | | | | | | | | | | | | | | When using property trees, layers whose transform is tested for backfacing-ness might not have up-to-date draw properties (e.g., such layers might not draw content). This means that instead of using the layer's draw_transform() draw property, we need to call DrawTransformFromPropertyTrees. BUG=553580 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1422453007 Cr-Commit-Position: refs/heads/master@{#358683}
* Fixed the bug that window capture clipped the content when the windowxjz2015-11-061-3/+8
| | | | | | | | | | | | | | is not fully contained in the desktop. This CL is based on the patch set 2 on issue 1398633003: https://codereview.chromium.org/1398633003/#ps40001 BUG=541634, 511841 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1412273006 Cr-Commit-Position: refs/heads/master@{#358414}
* Revert of Fixed the bug that window capture clipped the content when the ↵nhiroki2015-11-051-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | window (patchset #5 id:120001 of https://codereview.chromium.org/1398633003/ ) Reason for revert: This could be breaking virtual/threaded/animations/ tests: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win10/builds/2530 http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux/builds/56474 Original issue's description: > Fixed the bug that window capture clipped the content when the window > is not fully contained in the desktop. > > BUG=541634,511841 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/209a697abe402743e10b03d6f8bf8c9fedfdfbe3 > Cr-Commit-Position: refs/heads/master@{#357970} TBR=enne@chromium.org,ajuma@chromium.org,danakj@chromium.org,isheriff@chromium.org,miu@chromium.org,oshima@chromium.org,xjz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=541634,511841 Review URL: https://codereview.chromium.org/1407253006 Cr-Commit-Position: refs/heads/master@{#358004}
* Fixed the bug that window capture clipped the content when the windowxjz2015-11-051-0/+3
| | | | | | | | | | | is not fully contained in the desktop. BUG=541634,511841 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1398633003 Cr-Commit-Position: refs/heads/master@{#357970}
* Add a flag for enabling compositor property treesajuma2015-11-051-19/+77
| | | | | | | | | | | | This adds a command-line flag and LayerTreeSetting for enabling compositor property trees. BUG=545587 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1413153014 Cr-Commit-Position: refs/heads/master@{#357965}
* Turn on property tree verification for PictureLayerImplTestsjaydasika2015-10-301-2/+9
| | | | | | | | | | | | | | We were not clipping the render surface content rect computed using property trees with maximum supported texture size. That resulted in property tree verification failures on some PictureLayerImplTests. This CL fixes that. BUG=538260 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1418663006 Cr-Commit-Position: refs/heads/master@{#357101}
* Reland: Remove DCHECK_IMPLIES/CHECK_IMPLIES.vmpstr2015-10-281-2/+2
| | | | | | | | | | | This patch removes both DCHECK_IMPLIES and CHECK_IMPLIES macros. R=thakis, sky, jam CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1421483005 Cr-Commit-Position: refs/heads/master@{#356674}
* Revert of Remove DCHECK_IMPLIES/CHECK_IMPLIES. (patchset #3 id:40001 of ↵jbudorick2015-10-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1421483005/ ) Reason for revert: breaks compilation on multiple builders, including but not limited to: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac%20Builder%20%28dbg%29/builds/132580 http://build.chromium.org/p/chromium.linux/builders/Android%20Builder%20%28dbg%29/builds/91670 Original issue's description: > Remove DCHECK_IMPLIES/CHECK_IMPLIES. > > This patch removes both DCHECK_IMPLIES and CHECK_IMPLIES macros. > > R=thakis, sky, jam > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/cc8936ba36ee29b5859f65c936e16f87eeac82b4 > Cr-Commit-Position: refs/heads/master@{#356193} TBR=thakis@chromium.org,sky@chromium.org,jam@chromium.org,vmpstr@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1417903005 Cr-Commit-Position: refs/heads/master@{#356202}
* Remove DCHECK_IMPLIES/CHECK_IMPLIES.vmpstr2015-10-271-2/+2
| | | | | | | | | | | This patch removes both DCHECK_IMPLIES and CHECK_IMPLIES macros. R=thakis, sky, jam CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1421483005 Cr-Commit-Position: refs/heads/master@{#356193}
* Include device transform scale in transform node's sublayer scalejaydasika2015-10-231-0/+2
| | | | | | | | | | | | | Property trees currently compute the sublayer scale for a transform node using device scale factor and layer scale factor. This CL adds device transform scale factor. BUG=524106 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1413863005 Cr-Commit-Position: refs/heads/master@{#355887}
* cc: Make property trees support external transformsjaydasika2015-10-231-1/+4
| | | | | | | | | | | | | | | | This makes the transform tree get updated for changes to the device transform that happen on the compositor thread via calls to LTHI::SetExternalDrawConstraints (this is used by Android WebView). BUG=524106 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel patch from issue 1415183002 at patchset 20001 (http://crrev.com/1415183002#ps20001) Review URL: https://codereview.chromium.org/1414563008 Cr-Commit-Position: refs/heads/master@{#355816}
* cc: Make property trees support external viewportsajuma2015-10-211-0/+3
| | | | | | | | | | | | | This makes the clip tree get updated for changes to the viewport rect that happen on the compositor thread via calls to LTHI::SetExternalDrawConstraints (this is used by Android WebView). BUG=524106 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1413743005 Cr-Commit-Position: refs/heads/master@{#355278}
* Intersect surface content rect from property trees with clip rect of target.jaydasika2015-10-201-66/+56
| | | | | | | | | | | | | | | For layers that don't own a render surface, their drawable content rect is already clipped with clip rect when their target is clipped. But the render surface's drawable content rect is not clipped with its target's owning layer's clip. So, we need to apply this clip separately. BUG=544233 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1403373003 Cr-Commit-Position: refs/heads/master@{#355162}
* cc: Make property trees support resourceless draw modeajuma2015-10-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Property trees currently rely on render target information computed at tree-building time (on the main thread) when computing draw properties. However, in resourceless draw mode (used by Android WebView), only the root render surface is used. Since resourceless draw mode can be arbitrarily enabled and disabled on the compositor thread, we cannot know at tree building time whether it will be used. This CL makes property trees support resourceless draw mode without requiring trees to be rebuilt when the draw mode changes (though they do still need to be updated). Most of the changes are for computing clipping-related properties, since render surfaces change the way clips are propagated to descendants and also change the space in which drawable_content_rect and clip_rect are expressed. BUG=524106 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1387003002 Cr-Commit-Position: refs/heads/master@{#354831}
* Don't call gfx::ToEnclosedRect with a rect that has NaN coordinates.jaydasika2015-10-151-1/+1
| | | | | | | | | | | | | | | Due to large transforms the render surface's drawable content rect can end up with NaN coordinates. gfx::ToEnclosedRect crashes when called on a rect with NaN coordinates. This CL adds a NaN check in RenderSurfaceImpl::DrawableContentRect and also adds a unit test with large transform and NaN-coordinate rects. BUG=537684 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1407553002 Cr-Commit-Position: refs/heads/master@{#354274}
* Page scale factor update in property trees when page scale layer is rootjaydasika2015-10-091-3/+4
| | | | | | | | | | | | When page scale layer is the root, its property tree node should have the combined scale factor and not just the page scale factor. BUG=540770 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1401573002 Cr-Commit-Position: refs/heads/master@{#353401}
* Update page scale factor in property before calling ComputeVisibleRectsjaydasika2015-10-071-0/+7
| | | | | | | | | | | | | | | | | | | When page scale factor is updated directly on the active tree using LayerTreeImpl::SetPageScaleOnActiveTree, the property trees on pending tree are not updated. At this point, if we compute draw properties on pending tree, there is a mismatch between the properties computed from property trees and CDP because CDP uses the new value (as page scale factor itself is a synced property) and pending tree property trees use the old value. This CL updates page scale factor in property trees before we call ComputeVisibleRectsUsingPropertyTrees. BUG=538624 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1382353004 Cr-Commit-Position: refs/heads/master@{#352888}