summaryrefslogtreecommitdiffstats
path: root/cc
Commit message (Collapse)AuthorAgeFilesLines
* cc: Split ReleaseResources into Release and Recreate.vmpstr2015-02-059-15/+70
| | | | | | | | | | | | | | | | | | This patch splits the work we do in ReleaseResources into two parts: ReleaseResources and RecreateResources. If any part of invalidating or creating new resources requires access to new structures (such as a new tile manager and new output surface), this is the way to get this information. That is, ReleaseResources happens while old objects are alive and accessible. RecreateResources happens when the new objects are alive and accessible. R=danakj, enne Review URL: https://codereview.chromium.org/899313003 Cr-Commit-Position: refs/heads/master@{#314913}
* Modify rasterize_and_record for DisplayItemList recording.schenney2015-02-0531-231/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is a lot of change here for relatively little effect. That effect is important, however, for moving forward. This depends on https://codereview.chromium.org/880653004/. 1) Move Picture::RecordingMode to RecordingSource, because Display List recording does not use Picture. 2) Add a new recording mode for disabled caches, which has meaning in Display List recording. Picture recording falls back to normal recording, while Display List recording uses painting disabled mode when null canvas is specified, because null canvas has no meaning for Display Lists. 3) Rename the enum in ContentLayerClient to reflect the new painting control modes and the changes in WebContentLayerClient. 4) Adjust all the code that uses these settings. 5) Adjust the benchmark code to make use of the new modes. R=ajuma,vmpstr BUG=451448 Review URL: https://codereview.chromium.org/900043002 Cr-Commit-Position: refs/heads/master@{#314857}
* cc: Add some debugging info to failing DCHECK in PictureLayerTilingSetdanakj2015-02-051-13/+12
| | | | | | | | | | | | Can't repro this locally so maybe some more info will help understand it. R=enne, vmpstr BUG=446751 Review URL: https://codereview.chromium.org/878743005 Cr-Commit-Position: refs/heads/master@{#314854}
* Reland of Move tracing namespace from base::debug to base::trace_event.primiano2015-02-0526-35/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original CL: crrev.com/882673002 Reason for revert: Broke memory.fyi bot (crbug.com/455530) Reason for reland: The CL was renaming the tracing namespace and missed the rename of the tsan suppression (addressed here) Original description: After having transitioned all the tracing headers from base/debug/ to base/trace_event, this CL addresses the namespace move. In principle, this CL should only change the namespace of the base/trace_event files but the namespace used by the tracing clients. In order to achieve this, namespace aliases are appended to the trace_event headers, to make it so that clients can still refer to base::debug::TraceFoo, with that being aliased to base::trace_event::TraceFoo. The upcoming CLs will gradually migrate the clients to use the base::trace_event namespace and will remove the ns aliases. Unfortunately, this CL has also to update few tracing clients, in particular the ones having forward declarations. Forward declarations, in fact, cannot be aliased as the compiler sees them before the alias itself. See crrev.com/837303004 and the related bug for motivations and design doc. BUG=451032,455530 TBR=skyostil@chromium.org,jam@chromium.org,dsinclair@chromium.org,ssid@chromium.org Review URL: https://codereview.chromium.org/869043008 Cr-Commit-Position: refs/heads/master@{#314806}
* Add initial CC support for scroll-blocks-onrbyers2015-02-0514-33/+333
| | | | | | | | | | | | | | | | When 'scroll-blocks-on: scroll-event' is applied anywhere in the scroll ancestor tree where is a scroll event handler, force the scroll to be executed on the main thread. Note that this is still experimental. We'll be at least adding a timeout mechanism to this to mitigate the risk of improper usage. When 'scroll-blocks-on: wheel-event' is NOT applied (it's on by default), ignore the existence of wheel event handlers (allowing scrolling to run freely on impl). When 'scroll-blocks-on: start-touch' is NOT applied (it's on by default), suppress sending touch events to blink. Eventually we'll make this smarter - sending async touch events that don't block scroll. Depends on blink change https://src.chromium.org/viewvc/blink?view=rev&revision=188230 BUG=347272 Review URL: https://codereview.chromium.org/784463002 Cr-Commit-Position: refs/heads/master@{#314765}
* Revert of Move tracing namespace from base::debug to base::trace_event. ↵zhaoqin2015-02-0526-197/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #7 id:120001 of https://codereview.chromium.org/882673002/) Reason for revert: broken Memory.FYI TSan bot. crbug.com/455530 Original issue's description: > Move tracing namespace from base::debug to base::trace_event. > > After having transitioned all the tracing headers from base/debug/ to > base/trace_event, this CL addresses the namespace move. > In principle, this CL should only change the namespace of the > base/trace_event files but the namespace used by the tracing clients. > In order to achieve this, namespace aliases are appended to the > trace_event headers, to make it so that clients can still refer to > base::debug::TraceFoo, with that being aliased to > base::trace_event::TraceFoo. > The upcoming CLs will gradually migrate the clients to use the > base::trace_event namespace and will remove the ns aliases. > Unfortunately, this CL has also to update few tracing clients, > in particular the ones having forward declarations. Forward > declarations, in fact, cannot be aliased as the compiler sees them > before the alias itself. > > See crrev.com/837303004 and the related bug for motivations and design doc. > > BUG=451032 > TBR=skyostil@chromium.org,jam@chromium.org > > Committed: https://crrev.com/97c5abba36f5ce473cd996fab74fbf5aa9bb5464 > Cr-Commit-Position: refs/heads/master@{#314657} TBR=dsinclair@chromium.org,picksi@chromium.org,primiano@chromium.org,skyostil@chromium.org,ssid@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=451032 Review URL: https://codereview.chromium.org/904573002 Cr-Commit-Position: refs/heads/master@{#314740}
* cc: Trace the viewport size changing.danakj2015-02-051-0/+4
| | | | | | | | | | | This will help in tracking down window resize bugs. R=enne, vmpstr BUG=454333 Review URL: https://codereview.chromium.org/864713004 Cr-Commit-Position: refs/heads/master@{#314715}
* cc: refactor of RenderingStats::TimeDeltaList::AddToTracedValueheejin.r.chung2015-02-053-22/+16
| | | | | | | | | | | To match the recent change in MathUtil::AddToTracedValue, pass name as parameter and Begin/End internally. R=danakj Review URL: https://codereview.chromium.org/898663003 Cr-Commit-Position: refs/heads/master@{#314714}
* Move LayerTreeHostImpl::SetVisible trace to "cc" from "webkit".danakj2015-02-051-6/+3
| | | | | | | | | | Long live cc. R=enne, vmpstr Review URL: https://codereview.chromium.org/897873005 Cr-Commit-Position: refs/heads/master@{#314684}
* Move tracing namespace from base::debug to base::trace_event.ssid2015-02-0426-35/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | After having transitioned all the tracing headers from base/debug/ to base/trace_event, this CL addresses the namespace move. In principle, this CL should only change the namespace of the base/trace_event files but the namespace used by the tracing clients. In order to achieve this, namespace aliases are appended to the trace_event headers, to make it so that clients can still refer to base::debug::TraceFoo, with that being aliased to base::trace_event::TraceFoo. The upcoming CLs will gradually migrate the clients to use the base::trace_event namespace and will remove the ns aliases. Unfortunately, this CL has also to update few tracing clients, in particular the ones having forward declarations. Forward declarations, in fact, cannot be aliased as the compiler sees them before the alias itself. See crrev.com/837303004 and the related bug for motivations and design doc. BUG=451032 TBR=skyostil@chromium.org,jam@chromium.org Review URL: https://codereview.chromium.org/882673002 Cr-Commit-Position: refs/heads/master@{#314657}
* Remove scroll_delta flooring hackmiletus2015-02-0412-59/+41
| | | | | | | | | | | | | | | | Now that fractional scroll offset can pass through cc main thread and Blink, we can remove the scroll_delta flooring hack and send the full fractional scroll_delta from impl to main. Note that this will break the old pinch viewport code path ( which is to be removed soon) since it still only expects integer scroll offset. BUG=414283 Review URL: https://codereview.chromium.org/870363005 Cr-Commit-Position: refs/heads/master@{#314626}
* Support MSan/TSan in test isolation and test_env.pyearthdok2015-02-041-0/+6
| | | | | | | | | | BUG=454828 R=maruel@chromium.org,glider@chromium.org TBR=jam@chromium.org Review URL: https://codereview.chromium.org/895923002 Cr-Commit-Position: refs/heads/master@{#314587}
* DevTools: unwire WebDevToolsAgent from CC, emit trace events directly in CCcaseq2015-02-049-9/+49
| | | | | | | | | | | | | | | | This removes plumbing for InstrumentWillBeginFrame(), InstrumentDidBeginFrame(), InstrumentDidCancelFrame() and InstrumentWillComposite() between CC and WebDevToolsAgent and replaces it with trace events emitted directly from CC. Note all related methods of LayerTreeHostClient still remain, as they're used in tests. TBR=jamesr (for mojo/) BUG= Review URL: https://codereview.chromium.org/892203002 Cr-Commit-Position: refs/heads/master@{#314571}
* Cleanup: Move ContextProviderWebContext into cc/blink.tfarina2015-02-041-0/+24
| | | | | | | | | | | | This is one of the steps needed to move ContextProviderInProcess to android_webview. BUG=338338 R=jamesr@chromium.org,piman@chromium.org Review URL: https://codereview.chromium.org/890873007 Cr-Commit-Position: refs/heads/master@{#314552}
* make BeginFrameSourceMixIn's SetNeedsBeginFrame finaljincheol.jo2015-02-042-7/+8
| | | | | | | | BUG=429391 Review URL: https://codereview.chromium.org/891953003 Cr-Commit-Position: refs/heads/master@{#314516}
* Always force swap for SurfaceDisplayOutputSurface.jbauman2015-02-042-0/+4
| | | | | | | | Force reclaim clears out the Surface's copy of the delegated frame, so a swap is always necessary to restore its contents. Review URL: https://codereview.chromium.org/886633007 Cr-Commit-Position: refs/heads/master@{#314492}
* Ensure damage calculation is correct if there's an intervening empty frame.jbauman2015-02-042-1/+20
| | | | | | | | The empty frame shouldn't be drawn, so the damage to/from it can be ignored. Review URL: https://codereview.chromium.org/894953002 Cr-Commit-Position: refs/heads/master@{#314481}
* cc: Remove unused function ShouldDrawForced.sohan.jyoti2015-02-041-1/+0
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/894913005 Cr-Commit-Position: refs/heads/master@{#314478}
* cc: Fix flaky LayerTreeHostTestDeferCommitssimonhong2015-02-041-1/+1
| | | | | | | | | | | | | There is a mistake for using EXPECT_GE(). num_will_begin_impl_frame_ can only be greater or equal than 3. So, EXPECT_GE(num_will_begin_impl_frame_, 3) is correct. BUG=454825 TEST=cc_unittests Review URL: https://codereview.chromium.org/895673006 Cr-Commit-Position: refs/heads/master@{#314450}
* cc: Stop scroll animations on the pending tree instead of snapping.danakj2015-02-035-12/+43
| | | | | | | | | | | | | | | | | | | | | | When the main thread stops a scroll animation, currently we 1) Snap the pending tree to the main thread's desired position X. 2) Continue scrolling the pending tree with the active tree. 3) Snap the active tree to X on activate. If pending tree took too long to activate, it would raster things it didn't need, and would evict stuff we'd want to draw which could lead to checkerboarding. This turned up in the context of trying to stop pushing properties always for PictureLayerImpl since snapping the position of the layer during activate confused the state of PictureLayerImpl. R=aelias, ajuma BUG=303943 Review URL: https://codereview.chromium.org/885693006 Cr-Commit-Position: refs/heads/master@{#314437}
* Add a command-line flag to enable threaded GPU rasterization.vmiura2015-02-036-15/+17
| | | | | | | | | | | | | | | | For now a no-op in the renderer. Enable: --enable-threaded-gpu-rasterization Disable (which takes priority over Enable): --disable-threaded-gpu-rasterization BUG=454500 Review URL: https://codereview.chromium.org/895763002 Cr-Commit-Position: refs/heads/master@{#314418}
* cc: Record frame timing composite events in the tracker.vmpstr2015-02-034-2/+99
| | | | | | | | | | | | | | | This patch adds composite event recording for requested rects into the frame timing tracker. The current approach is to record all rects that intersect the visible rect for that layer. R=danakj, mpb@chromium.org BUG=441555 Review URL: https://codereview.chromium.org/884243004 Cr-Commit-Position: refs/heads/master@{#314398}
* cc: Change the restrictions on overlays for videoachaulk2015-02-035-31/+360
| | | | | | | | | | | - Allow positively scaled transformations. Overlay hardware can handle this - Allow the STREAM_VIDEO_QUAD type. Tests added for that type TEST=manual test, video in overlay Review URL: https://codereview.chromium.org/855403002 Cr-Commit-Position: refs/heads/master@{#314387}
* Composite to cc::Display from ui::InProcessContextFactory.jbauman2015-02-036-0/+340
| | | | | | | | The trees this composites may contain SurfaceLayers, so they have to be aggregated into a Display before being drawn. Also move OnscreenDisplayClient and SurfaceDisplayOutputSurface into cc/surfaces/ so they can be used by ui/compositor. Review URL: https://codereview.chromium.org/888783002 Cr-Commit-Position: refs/heads/master@{#314269}
* Revert of Revert of Report viewport memory and timing correctly for Slimming ↵oysteine2015-02-032-10/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paint. (patchset #1 id:1 of https://codereview.chromium.org/885753004/) Reason for revert: This CL wasn't the culprit after all, it seems. Original issue's description: > Revert of Report viewport memory and timing correctly for Slimming Paint. (patchset #3 id:60001 of https://codereview.chromium.org/867803003/) > > Reason for revert: > Reverting due to https://crbug.com/453131 > > Original issue's description: > > Report viewport memory and timing correctly for Slimming Paint. > > > > The rasterize_and_record benchmark was not using data from the > > DisplayItemList. Now it does. > > > > R=ajuma@chromium.org,vmpstr@chromium.org > > BUG=451448 > > > > Committed: https://crrev.com/c76f528131949d7fe60b7facf1e7b40362aacfd5 > > Cr-Commit-Position: refs/heads/master@{#313420} > > TBR=ajuma@chromium.org,vmpstr@chromium.org,schenney@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=451448 > > Committed: https://crrev.com/fae3da55913e8e163faabf787b26791a96938ab7 > Cr-Commit-Position: refs/heads/master@{#314226} TBR=ajuma@chromium.org,vmpstr@chromium.org,schenney@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=451448 Review URL: https://codereview.chromium.org/886673003 Cr-Commit-Position: refs/heads/master@{#314260}
* cc: Add trace output for individual DisplayItemsajuma2015-02-0316-0/+133
| | | | | | | | | | This adds details about each individual DisplayItem to DisplayItemList's trace output. Each DrawingDisplayItem's SkPicture is also included in the trace output. Review URL: https://codereview.chromium.org/884473005 Cr-Commit-Position: refs/heads/master@{#314255}
* Finalize rename of LayerImpl scroll offset methods.aelias2015-02-038-202/+199
| | | | | | | | | | | | | | | | | | | | | | This deletes stubs and renames all uses in tests for the following methods that were renamed in https://codereview.chromium.org/800613009: - LayerImpl::TotalScrollOffset was renamed to CurrentScrollOffset. TotalScrollOffset is now a LayerTreeImpl-specific concept meaning the sum of the inner and outer viewport current scroll offsets. - LayerImpl::scroll_offset() was renamed to BaseScrollOffset. This is the latest scroll offset pushed from the main thread. - LayerImpl::SetScrollOffset() was renamed to PushScrollOffsetFromMainThread. There are two ways to change the scroll offset, either pushing from the main thread or directly doing SetCurrentScrollOffset, corresponding to main-thread or impl-thread scrolling. BUG= Review URL: https://codereview.chromium.org/878413005 Cr-Commit-Position: refs/heads/master@{#314238}
* Make the scroll_delta flooring behavior the same as before SyncedProperty changemiletus2015-02-031-6/+11
| | | | | | | | | | | | | | | | | Impl sents truncated ScrollDelta to main. Recent change to use SyncedProperty changes the truncation behavior in the case when scroll_offset(active_base) is non-integer. This CL restores the behavior. The whole flooring will be gone soon when we are able to send non-integer scroll delta to main. This CL is only meant to make sure that SyncedProperty switch has no functional change. BUG= Review URL: https://codereview.chromium.org/867823007 Cr-Commit-Position: refs/heads/master@{#314237}
* Revert of Report viewport memory and timing correctly for Slimming Paint. ↵oysteine2015-02-032-86/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #3 id:60001 of https://codereview.chromium.org/867803003/) Reason for revert: Reverting due to https://crbug.com/453131 Original issue's description: > Report viewport memory and timing correctly for Slimming Paint. > > The rasterize_and_record benchmark was not using data from the > DisplayItemList. Now it does. > > R=ajuma@chromium.org,vmpstr@chromium.org > BUG=451448 > > Committed: https://crrev.com/c76f528131949d7fe60b7facf1e7b40362aacfd5 > Cr-Commit-Position: refs/heads/master@{#313420} TBR=ajuma@chromium.org,vmpstr@chromium.org,schenney@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=451448 Review URL: https://codereview.chromium.org/885753004 Cr-Commit-Position: refs/heads/master@{#314226}
* Move touchpad pinch synthetic wheel event generation to Blinkccameron2015-02-025-0/+36
| | | | | | | | | | | | | | | Check if the target of touchpad pinch events have a wheel handler installed, and if so, send the event to Blink. Update tests and add tests to verify that this behaves appropriately. Rip out the code to generate synthetic wheel events in content (it is now done by Blink). BUG=451559 Review URL: https://codereview.chromium.org/871183004 Cr-Commit-Position: refs/heads/master@{#314206}
* Clamp YUV videos to their visible size in the shaderenne2015-02-0210-71/+193
| | | | | | | | | | | | | | | | | | Video textures can be larger than the visible size of the video. Because they have bilinear filtering turned on for them, if the video is scaled, then the this means that the part of the texture outside of the video itself can be sampled, causing odd visible artifacts like hairlines on the side of the image. To fix this, pass in a clamp value of half a pixel (because of bilinear filtering) inside of the visible rect and clamp all texture coordinates to this maximum value in the fragment shader. BUG=429640 Review URL: https://codereview.chromium.org/881963002 Cr-Commit-Position: refs/heads/master@{#314200}
* cc: Refactor additional code from BuildRasterQueue.vmpstr2015-02-025-29/+30
| | | | | | | | | | | | | | | This patch removes additional sets in BuildRasterQueue and moves it to a separate client function that is called by the tile manager. Having this as a separate function explicitly allows us to control the setting instead of implicitly relying on the fact that every time we rebuild a queue this setting might change. R=danakj BUG=451147 Review URL: https://codereview.chromium.org/880693002 Cr-Commit-Position: refs/heads/master@{#314177}
* cc: Simplify the presubmit regex used to identify paths and files.tfarina2015-02-021-1/+1
| | | | | | | | | | | | This [\\/] should account for both Windows \ and Posix /. BUG=None TEST=git cl presubmit -uv R=danakj@chromium.org Review URL: https://codereview.chromium.org/892743002 Cr-Commit-Position: refs/heads/master@{#314145}
* Remove more targets from GN Windows build.brettw2015-02-021-149/+151
| | | | | | | | | | Targets will be removed until the bot is green. TBR=dpranke Review URL: https://codereview.chromium.org/886323002 Cr-Commit-Position: refs/heads/master@{#314104}
* Disable more GN linking on Windows.brettw2015-02-011-1/+1
| | | | | | | | | | Bots are still too slow. TBR=dpranke Review URL: https://codereview.chromium.org/889203002 Cr-Commit-Position: refs/heads/master@{#314094}
* cc: Control defer_commits logic by Schedulersimonhong2015-01-3117-92/+301
| | | | | | | | | | | | | | | | | | | So far, EarlyOut_DeferCommits is controlled by Proxy. Because Scheduler doesn't know about this deferring, it triggers next BeginMainFrame when main thread want to defer a commit. This CL moves the EarlyOut_DeferCommits logic from Proxy to Scheduler so Scheduler can stop next BeginMainFrame until defer commit is off. R=brianderson@chromium.org, danakj@chromium.org, skyostil@chromium.org BUG=382572, 453787 TEST=cc_unittests Committed: https://crrev.com/1625b74468e4dd55f54ba209f8e91d05493875b9 Cr-Commit-Position: refs/heads/master@{#313816} Review URL: https://codereview.chromium.org/337693005 Cr-Commit-Position: refs/heads/master@{#314057}
* Convert scroll offsets to use SyncedProperty.aelias2015-01-3125-350/+334
| | | | | | | | | | | | | | | | | | This contains the logic used to synchronize scroll deltas between the main, pending and active tree into the generic SyncedProperty class. Each LayerImpl has a refptr to one, which is shared between the pending and active version of that layer. This removes the need for the logic to backsync deltas to the pending tree, reduces code duplication with analogous properties like page scale factor, and clarifies the principles behind CC's synchronization approach. This should be a no-op change. BUG= Review URL: https://codereview.chromium.org/800613009 Cr-Commit-Position: refs/heads/master@{#314053}
* Ensure deterministic heap prioritization of raster task nodesjdduke2015-01-307-9/+16
| | | | | | | | | | | | | | | | | | | Previously, task nodes were all fed the same priority. While certain heap implementations ensured a consistent prioritization given the same task priority and input ordering, this is not guaranteed by the spec. In particular, Android's libc++ implementation appears to differ in this respect, resulting in tasks from different sets being processed in an order different from node creation order. Avoid this by including the task set type in the node priority. All conforming heap implementations should now yield the same ordering with respect to task set type. BUG=427718 Review URL: https://codereview.chromium.org/875573006 Cr-Commit-Position: refs/heads/master@{#313972}
* Revert of Disable LayerTreeHostTestDeferCommits since it is flaky on Win. ↵danakj2015-01-301-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/864313004/) Reason for revert: found culprit and reverting Original issue's description: > Disable LayerTreeHostTestDeferCommits since it is flaky on Win. > > Sorry if I disabled too many tests... > > BUG=453787 > TBR=danakj@chromium.org > > Committed: https://chromium.googlesource.com/chromium/src/+/8bf8e0bde343027f98f9496e2ccc224ea418b835 TBR=perkj@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=453787 Review URL: https://codereview.chromium.org/888063002 Cr-Commit-Position: refs/heads/master@{#313940}
* Revert of cc: Control defer_commits logic by Scheduler (patchset #12 ↵danakj2015-01-3017-300/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:250001 of https://codereview.chromium.org/337693005/) Reason for revert: seems to flakily not stop commits https://code.google.com/p/chromium/issues/detail?id=453787 Original issue's description: > cc: Control defer_commits logic by Scheduler > > So far, EarlyOut_DeferCommits is controlled by Proxy. > Because Scheduler doesn't know about this deferring, it triggers next > BeginMainFrame when main thread want to defer a commit. > This CL moves the EarlyOut_DeferCommits logic from Proxy to > Scheduler so Scheduler can stop next BeginMainFrame until defer commit is off. > > R=brianderson@chromium.org, danakj@chromium.org, skyostil@chromium.org > BUG=382572 > TEST=cc_unittests > > Committed: https://crrev.com/1625b74468e4dd55f54ba209f8e91d05493875b9 > Cr-Commit-Position: refs/heads/master@{#313816} TBR=brianderson@chromium.org,skyostil@chromium.org,enne@chromium.org,mithro@mithis.com,simonhong@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=382572 Review URL: https://codereview.chromium.org/870183004 Cr-Commit-Position: refs/heads/master@{#313939}
* Revert of cc: Stop pushing properties every activation for picture layers. ↵danakj2015-01-308-180/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #3 id:40001 of https://codereview.chromium.org/874613003/) Reason for revert: flaky tests https://code.google.com/p/chromium/issues/detail?id=452965 Original issue's description: > cc: Stop pushing properties every activation for picture layers. > > Since we don't swap tilings anymore, we only need to push properties > when a property, or a tiling, or the raster source (invalidation) has > changed. > > R=vmpstr > BUG=303943 > > Committed: https://crrev.com/dcaa923e704847eb6ba7003602ff70579aaaf47e > Cr-Commit-Position: refs/heads/master@{#313329} TBR=vmpstr@chromium.org,enne@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=303943 Review URL: https://codereview.chromium.org/890963002 Cr-Commit-Position: refs/heads/master@{#313935}
* Disable LayerTreeHostTestDeferCommits since it is flaky on Win.Per2015-01-301-0/+3
| | | | | | | | | | | Sorry if I disabled too many tests... BUG=453787 TBR=danakj@chromium.org Review URL: https://codereview.chromium.org/864313004 Cr-Commit-Position: refs/heads/master@{#313913}
* Rename ScrollOffsetFractionalPart to ScrollCompensationAdjustmentmiletus2015-01-308-25/+27
| | | | | | | | BUG=414283 Review URL: https://codereview.chromium.org/888743003 Cr-Commit-Position: refs/heads/master@{#313868}
* Revert of Revert "compositor: Fix texture flipping for SW mirroring with ↵achaulk2015-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | surfaceless" (patchset #1 id:20001 of https://codereview.chromium.org/865673003/) Reason for revert: This isn't the cause of the crash Original issue's description: > This reverts two CLs > "compositor: Fix texture flipping for SW mirroring with surfaceless" > and > "Exclude reflector_impl_unittest.cc from GN non-Aura, non-Mac builds." > > Reason for revert: > The original patch breaks software mirroring mode on at least veyron_jerry, > and quite possibly all non-freon systems. > > >Original issue's descriptions: > > Exclude reflector_impl_unittest.cc from GN non-Aura, non-Mac builds. > > This fixes the GN build on Android after https://codereview.chromium.org/846063002. > > > > (The GYP build didn't break because content/browser/compositor/ is completely excluded there; see https://code.google.com/p/chromium/codesearch#chromium/src/content/content_tests.gypi&sq=package:chromium&&type=cs&l=1099) > > > > TBR=bauerb@chromium.org > > > > Review URL: https://codereview.chromium.org/879543002 > > > > Cr-Commit-Position: refs/heads/master@{#313074} > > > compositor: Fix texture flipping for SW mirroring with surfaceless > > > > Ozone-surfaceless renders the scene flipped, so the texture contents are > > inverted from what they should be. This fixes the mirroring logic to > > un-flip the texture when needed, and also to send the right sub-buffer > > update rect. > > > > BUG=434115 > > > > Committed: https://crrev.com/c6a481fe79e0c4851a576495105edf2600bfe5be > > Cr-Commit-Position: refs/heads/master@{#312979} > > TBR=danakj@chromium.org,achaulk@chromium.org,bauerb@chromium.org > BUG=434115,451804 > > Committed: https://crrev.com/6302d690c0b3aa762b92300564d9313876c6a2bf > Cr-Commit-Position: refs/heads/master@{#313610} TBR=danakj@chromium.org,bauerb@chromium.org,oshima@chromium.org BUG=434115,451804 Review URL: https://codereview.chromium.org/888653002 Cr-Commit-Position: refs/heads/master@{#313847}
* cc: Control defer_commits logic by Schedulersimonhong2015-01-2917-92/+300
| | | | | | | | | | | | | | | | So far, EarlyOut_DeferCommits is controlled by Proxy. Because Scheduler doesn't know about this deferring, it triggers next BeginMainFrame when main thread want to defer a commit. This CL moves the EarlyOut_DeferCommits logic from Proxy to Scheduler so Scheduler can stop next BeginMainFrame until defer commit is off. R=brianderson@chromium.org, danakj@chromium.org, skyostil@chromium.org BUG=382572 TEST=cc_unittests Review URL: https://codereview.chromium.org/337693005 Cr-Commit-Position: refs/heads/master@{#313816}
* reland: Plumb allow_overlay flag for video path into ccachaulk2015-01-292-18/+14
| | | | | | | | This will allow hardware video overlays to be enabled in the compositor Review URL: https://codereview.chromium.org/806413004 Cr-Commit-Position: refs/heads/master@{#313806}
* [surfaces] use DEFAULT_MAX_FRAMES_PENDING if OutputSurface doesn't specify it.jbauman2015-01-291-3/+5
| | | | | | | | To match LTHI, change the max frames pending calculation to output DEFAULT_MAX_FRAMES_PENDING if the output surface reports 0. Review URL: https://codereview.chromium.org/885933002 Cr-Commit-Position: refs/heads/master@{#313800}
* cc: Fix flakiness in LayerTreeHostCopyRequestTestMultipleDrawsHiddenCopyRequestdanakj2015-01-293-12/+19
| | | | | | | | | | | | | | | This test was expecting the main thread copy request to happen before a new draw happens on the compositor thread which is racey. Instead do this comparison on the main thread by posting and trying to end the test after the draw happens but checking for the copy request result there on the main thread instead of on the impl thread before posting. R=vmpstr, weiliangc BUG=439649 Review URL: https://codereview.chromium.org/888663003 Cr-Commit-Position: refs/heads/master@{#313797}
* Fixed position layer counter-scroll with main thread scroll offset ↵miletus2015-01-298-2/+128
| | | | | | | | | | | | | | | | | | | | | | fractional part Main thread can scroll with non-integral scroll offset, but Blink currently only handles integral part of the scroll offset. For example, if main thread scrolls by 10.5, Blink tells CC that the scroll offset is 10 (currently truncated inside Blink) and Blink also sets fixed-position layer's position at 10. This CL makes the non-integral scroll offset works correctly in this case: 1. Blink can tell CC the non-integral scroll offset 10.5 (truncation inside Blink will be removed after this CL). 2. Blink sets fixed-position layer at 10. 3. CC tracks the fractional part of the scroll offset 0.5 and applied it when computing scroll compensation for fixed-position layer during drawing. BUG=414283 Review URL: https://codereview.chromium.org/877173002 Cr-Commit-Position: refs/heads/master@{#313783}
* Make ui::Compositor use ui::Schedulerweiliangc2015-01-291-0/+4
| | | | | | | | | | | | | | | | Taken from enne's CL 535733002 and rebased. It has been taken out of CL 134623005. BUG=329552 Committed: https://crrev.com/36b7fc7f8b05ea627873e58a162c1c26784e472d Cr-Commit-Position: refs/heads/master@{#298779} Committed: https://crrev.com/b821b71ff0166e250ae4b30b56c1b7b6d3bd5db6 Cr-Commit-Position: refs/heads/master@{#306954} Review URL: https://codereview.chromium.org/638653003 Cr-Commit-Position: refs/heads/master@{#313766}