summaryrefslogtreecommitdiffstats
path: root/cc/layer_tree_host_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* Revert 175690estade@chromium.org2013-01-091-8/+7
| | | | | | | | | | | | | | | | | | | | | | > cc: Implement DelegatingRender::drawFrame() method. > > The method sends the render passes it is given to the parent compositor via > the output surface. It should include a valid frame metadata with it. > > Tests: > DelegatingRendererTestDraw.runSingleThread > DelegatingRendererTestDraw.runMultiThread > DelegatingRendererTestResources.runSingleThread > DelegatingRendererTestResources.runMultiThread > > R=piman > BUG=123444 > > Review URL: https://chromiumcodereview.appspot.com/11777025 TBR=danakj@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175694 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Implement DelegatingRender::drawFrame() method.danakj@chromium.org2013-01-091-7/+8
| | | | | | | | | | | | | | | | | | The method sends the render passes it is given to the parent compositor via the output surface. It should include a valid frame metadata with it. Tests: DelegatingRendererTestDraw.runSingleThread DelegatingRendererTestDraw.runMultiThread DelegatingRendererTestResources.runSingleThread DelegatingRendererTestResources.runMultiThread R=piman BUG=123444 Review URL: https://chromiumcodereview.appspot.com/11777025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175690 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a method to access the non-composited content root layer picture pile.leandrogracia@chromium.org2013-01-091-0/+26
| | | | | | | | | | | This method is required to implement the CapturePicture API in Android WebView. BUG=167908 Review URL: https://chromiumcodereview.appspot.com/11731002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175618 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that render surface layer list is not dirty/empty before hit testing ↵yusufo@chromium.org2013-01-081-0/+2
| | | | | | | | | | | for touch events BUG=167135 Review URL: https://chromiumcodereview.appspot.com/11776033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175500 0039d316-1c4b-4281-b951-d872f2087c98
* Fix metadata content size.aelias@chromium.org2013-01-081-5/+3
| | | | | | | | | | | | | The previous implementation always returned zero since it checked the bounds of the scroll layer instead of its child. Also add a unit test for the metadata values. BUG=161945 Review URL: https://chromiumcodereview.appspot.com/11779008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175431 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate from MathUtil::inverse() to gfx::Transform::GetInverse()shawnsingh@google.com2013-01-071-5/+10
| | | | | | | | BUG=159972, 163769 Review URL: https://codereview.chromium.org/11644008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175363 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Don't activate pending tree until all tiles are readyenne@chromium.org2013-01-061-10/+5
| | | | | | | | | | | | | | | Previously, we'd activate the pending tree if there were similar numbers of checkerboards, but this could cause unfortunate flashing. Now, only activate the tree if all the tiles in the 'now' bin (high-res, visible) are ready. NOTRY=true R=nduca@chromium.org BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11734007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175295 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove DLOG(INFO) from cc.enne@chromium.org2013-01-051-1/+0
| | | | | | | | | | | | Don't spam the log. R=ccameron@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/11794004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175258 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move more functionality from host to LayerTreeImplenne@chromium.org2013-01-051-16/+2
| | | | | | | | | | | | | | | | | | | | | | This cleans up some longstanding TODOs that were creating when splitting out logic into LayerTreeImpl. It's possible that some of the helpers to get at active tree layers (root, scrolling, etc) could be moved, but given that scrolling only happens on the active tree (with the pending tree being updated with the result), these accessors could arguably stay permanently. This also moves background color / has transparent background to the tree itself, so that these changes will synchronize with any content on that tree. Things like viewport, device scale, and debug state are considered host-specific and take effect immediately. R=nduca@chromium.org BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11704003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175252 0039d316-1c4b-4281-b951-d872f2087c98
* Send memory management policies to the tile managerccameron@chromium.org2013-01-021-6/+18
| | | | | | | | | | | | | | | | | Replace the priority cutoff value in ManagedMemoryPolicy with an enum, which can be converted into a cutoff value for the PrioritizedResourceManager or a policy for the TileManager. Remove ResourcePool functions for dropping memory consumption because they will leave Resource pointers dangling. BUG=163029 Review URL: https://chromiumcodereview.appspot.com/11637022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174883 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove spurious LOG(INFO) from LayerTreeHostImplenne@chromium.org2012-12-271-1/+0
| | | | | | | | | | | | cc shouldn't spam the log. R=reveman@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/11674003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174697 0039d316-1c4b-4281-b951-d872f2087c98
* Move filters to RenderPassDrawQuadpiman@chromium.org2012-12-211-31/+27
| | | | | | | | BUG=123444 Review URL: https://chromiumcodereview.appspot.com/11618026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174466 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move updateDrawProperties to LayerTreeImplenne@chromium.org2012-12-201-47/+17
| | | | | | | | | | | | | | This moves updateDrawProperties and render surface layer list to LayerTreeImpl. As a bonus, accessing the RSLL before updateDrawProperties is called now asserts. R=nduca@chromium.org BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11640035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174197 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Update max scroll offset for pending treeenne@chromium.org2012-12-201-36/+6
| | | | | | | | | | | | | | | | | | This patch moves UpdateMaxScrollOffset and ContentSize to LayerTreeImpl so it can be called on both threads. This fixes the scrolling issues from adding the pending tree, since now the pending tree has a non-zero max scroll offset and can be scrolled. Additionally, two scrolling functions on LayerImpl (scrollBy / setSentScrollDelta) are updated to update their pending twin when called. This keeps the two layer trees in sync during scrolling operations. BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11636026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174114 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add pending tree for impl-side paintingenne@chromium.org2012-12-201-4/+68
| | | | | | | | | | | | Do tree synchronization to pending tree. Inform scheduler when there is a pending tree so that vsync can continue to be scheduled. Right now everything is hooked through redraw, so canDraw is true when there is a pending tree, prepareToDraw is the one that checks for tree swap, and TileManager::DidFinishTileInitialization ends up calling setNeedsRedraw. I'm not sure this is ideal, but it's a start. BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11569040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174089 0039d316-1c4b-4281-b951-d872f2087c98
* Ref count layer animation controllers.vollick@chromium.org2012-12-201-42/+19
| | | | | | | | | | | | | | | | | With this patch we accomplish the following: 1. layer animation controllers are ref counted (so they can be shared by the two impl trees) 2. the layer tree hosts now own a list of active animation controllers. This allows for a couple of nice things __a. Ticking the animation controllers no longer requires a tree walk __b. We will be able to support ticking of animation controllers for layers that are not yet added to the layer tree. (Support coming in a future patch). 3. animation controllers register and unregister themselves from their respective layer tree host's list when they have an animation to tick. R=nduca@chromium.org,enne@chromium.org BUG=162111 Review URL: https://chromiumcodereview.appspot.com/11598005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174043 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Fold more update calls into updateDrawProperties nduca@chromium.org2012-12-191-36/+9
| | | | | | | | | | | | | | (Reland of https://codereview.chromium.org/11529006/) Now that we have a clean update system, we can remove the manual calling of updateRootScrollLayerImplTransform and other similar kinds of "I'm going to do something manually in a half dozen places because I can." This removes some surface area on LTHI which helps with the LTHI->LTI push. BUG=155209 TBR=enne Review URL: https://chromiumcodereview.appspot.com/11573069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173820 0039d316-1c4b-4281-b951-d872f2087c98
* Send compositor frame IPC with metadata.aelias@chromium.org2012-12-181-1/+22
| | | | | | | | | | | | This makes CompositorFrame contain one of two payloads: DelegatedFrameData for ubercomp and GLFrameData for the Aura model. This also adds CompositorFrameMetadata containing information useful for positioning subwindows relative to the webpage scroll position. The message is sent when a new switch --enable-compositor-frame-message is set. This is enabled by default on Android and also suppresses Android-specific UpdateFrameInfo messages, which will be superceded by CompositorFrameMetadata. BUG=152337,161945 Review URL: https://chromiumcodereview.appspot.com/11316128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173634 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 173406 - Crashes on Win & Macrsleevi@chromium.org2012-12-171-9/+36
| | | | | | | | | | | | | | | | | | [cc] Fold more update calls into updateDrawProperties Now that we have a clean update system, we can remove the manual calling of updateRootScrollLayerImplTransform and other similar kinds of "I'm going to do something manually in a half dozen places because I can." This removes some surface area on LTHI which helps with the LTHI->LTI push. BUG=155209 R=enne,skyostil Review URL: https://chromiumcodereview.appspot.com/11529006 TBR=nduca@chromium.org Review URL: https://codereview.chromium.org/11596005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173407 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Fold more update calls into updateDrawPropertiesnduca@chromium.org2012-12-171-36/+9
| | | | | | | | | | | | | Now that we have a clean update system, we can remove the manual calling of updateRootScrollLayerImplTransform and other similar kinds of "I'm going to do something manually in a half dozen places because I can." This removes some surface area on LTHI which helps with the LTHI->LTI push. BUG=155209 R=enne,skyostil Review URL: https://chromiumcodereview.appspot.com/11529006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173406 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add TileManager interface that allows LTHI to determine when to activate ↵reveman@chromium.org2012-12-161-1/+1
| | | | | | | | | | | pending tree. BUG=166072 Review URL: https://chromiumcodereview.appspot.com/11568027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173385 0039d316-1c4b-4281-b951-d872f2087c98
* Add some traces for when render pass caching failsjamesr@chromium.org2012-12-161-1/+9
| | | | | | | | | | | | | | This makes it easier to diagnose when caches are hitting or missing (and why) in traces. It's fairly verbose, but I've been patching it in locally for long enough that it seems generally useful. BUG= Review URL: https://chromiumcodereview.appspot.com/11570036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173359 0039d316-1c4b-4281-b951-d872f2087c98
* [Android WebView] Tie together Chrome's browser compositor with the Android ↵leandrogracia@chromium.org2012-12-151-0/+5
| | | | | | | | | | | | | | | | | | View system. This patch introduces a new feature to the compositor: - A setting to enable cleaning the framebuffer, disabled by default. This prevents destroying data below us when rendering non-rectangular views (e.g. during a rotation). A second required feature will be added by a later patch: - A device scissor rect that intersects any scissor calculation. Used to ensure we never render outside where the Android View System tells us. There are also some issues with the Android View side regarding the restoration of the GL state. This patch introduces a temporary workaround by reading and manually restoring the state changed by the compositor. This will go out as soon as the problem is fixed in the Android side. BUG=161409,154180 Review URL: https://chromiumcodereview.appspot.com/11316310 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173324 0039d316-1c4b-4281-b951-d872f2087c98
* Mark layers that can use LCD text based on layer transform and opacity.alokp@chromium.org2012-12-131-1/+1
| | | | | | | | | | | | | - Text AA settings are not adjusted during animation to avoid repaints. - Renamed Layer::useLCDText to Layer::canUseLCDText. BUG=100666 Review URL: https://chromiumcodereview.appspot.com/11360093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172842 0039d316-1c4b-4281-b951-d872f2087c98
* Check whether a touch point hits touch event handler regions in root layeryusufo@chromium.org2012-12-131-3/+6
| | | | | | | | | | | | | | Instead of doing one search over the render surface layer list, find the layer that the points hits first and then walk up the layer hierarchy testing for a hit in touch event handler regions. This enables us to use one touch event handlere region in the root layer. BUG=135818 Review URL: https://chromiumcodereview.appspot.com/11534024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172778 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Route LayerImpl::layerTreeHostImpl() calls through LayerTreeImplnduca@chromium.org2012-12-121-1/+1
| | | | | | | | | | | | | Pulled settings & debugstate to their own files to reduce header coupling, which bit me a few times on this patch [lthi needs lth, lti needs lthi for settings, etc]. NOTRY=true BUG=155209 R=enne Review URL: https://chromiumcodereview.appspot.com/11529003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172635 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Make LayerImpls point at LayerTreeImpl instead of LTHInduca@chromium.org2012-12-111-0/+16
| | | | | | | | | | BUG=155209 R=enne@chromium.org NOTRY=True Review URL: https://chromiumcodereview.appspot.com/11519018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172411 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Split out calcDrawEtc from drawLayersenne@chromium.org2012-12-091-16/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, calcDrawEtc was coupled to drawLayers. Immediately before drawing, it would get called to update layer state based on any impl-side input that came in after the commit. Impl-side painting needs to update layer transforms / visible content rect state prior to rasterizing contents. And, if input comes in, it might also need to re-update prior to drawing. LayerTreeHostImpl then gets a needsUpdateLayers() flag, and updateLayers() (which calls calcDraw) is a no-op if nothing has changed on the tree. Additionally, the calculate render surface layer list is persisted since the last updateLayers() call. The LayerTreeHostImpl now sets the needsUpdate flag after commit, scroll, pinch zoom, and animation. These are the easy ones. Unfortunately, this creates an amazing foot gun where you can manipulate the impl tree on the impl thread and updateLayers won't get called, because the needsUpdate flag hasn't been called explicitly. This mostly happens in tests, but could happen elsewhere. To fix this, setFoo calls on LayerImpl now calls setNeedsUpdate() on its host. BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11447028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172005 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171714 - Use an auxiliary list of animation controllers.vollick@chromium.org2012-12-081-39/+40
| | | | | | | | | | | | | | | | | | | > With this patch we accomplish the following: > 1. layer animation controllers are ref counted (so they can be shared by the two impl trees) > 2. the layer tree hosts now own a list of active animation controllers. This allows for a couple of nice things > __a. Ticking the animation controllers no longer requires a tree walk > __b. We will be able to support ticking of animation controllers for layers that are not yet added to the layer tree. (Support coming in a future patch). > 3. animation controllers register and unregister themselves from their respective layer tree host's list when they have an animation to tick. > > BUG=162111 > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=171714 TBR=vollick@chromium.org BUG= Review URL: https://codereview.chromium.org/11491003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171981 0039d316-1c4b-4281-b951-d872f2087c98
* Added LayerTreeHostImpl::layerTreeAsJson which serializes a layer treeskaslev@chromium.org2012-12-081-0/+12
| | | | | | | | | | | | to JSON format which can then be loaded and used from our cc_perftests. BUG= Review URL: https://chromiumcodereview.appspot.com/11446076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171963 0039d316-1c4b-4281-b951-d872f2087c98
* Round managed memory stats to the nearest 8MB, and don't performccameron@chromium.org2012-12-081-0/+32
| | | | | | | | | | redundant updates, to avoid frequently descheduling the renderer. BUG=164947 Review URL: https://chromiumcodereview.appspot.com/11470024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171949 0039d316-1c4b-4281-b951-d872f2087c98
* Add the DelegatingRenderer class with its initialize path.danakj@chromium.org2012-12-081-1/+4
| | | | | | | | | | | | | | | | It's a skeleton class that can be initialized so that we can test with it. Tests: LayerTreeHostTest.PartialUpdatesWithDelegatingRendererAndGLContent LayerTreeHostTest.PartialUpdatesWithDelegatingRendererAndSoftwareContent LayerTreeHostImplTest.partialSwapReceivesDamageRect R=piman BUG=146080 Review URL: https://codereview.chromium.org/11464007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171927 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add receiver for CompositorFrameAck in LayerTreeHostImpl and forward it ↵danakj@chromium.org2012-12-081-2/+6
| | | | | | | | | | | to the renderer. BUG=146080 R=piman Review URL: https://codereview.chromium.org/11472004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171895 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move WebCompositorOutputSurface and related classes into cc/danakj@chromium.org2012-12-071-8/+11
| | | | | | | | | | | | | | | | | | This moves: - WebKit::WebCompositorOutputSurface to cc::OutputSurface - WebKit::WebCompositorOutputSurfaceClient to cc::OutputSurfaceClient - Webkit::WebCompositorSoftwareOutputDevice to cc::SoftwareOutputDevice They become new files in cc/ so they are chromified style. This affects the various call-sites. This allows us to pass cc::CompositorFrame directly, without any need for WebCompositorFrame. BUG=146080 Depends on: https://bugs.webkit.org/show_bug.cgi?id=103967 Review URL: https://codereview.chromium.org/11348371 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171847 0039d316-1c4b-4281-b951-d872f2087c98
* Add a stat to the smoothness benchmark for avg number of missing tiles.vollick@chromium.org2012-12-071-1/+4
| | | | | | | | | BUG=None Review URL: https://chromiumcodereview.appspot.com/11478016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171845 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Use asynchronous set pixels API for impl-side painting.reveman@chromium.org2012-12-071-1/+8
| | | | | | | | | | BUG=161338 TEST=manual Review URL: https://chromiumcodereview.appspot.com/11348384 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171721 0039d316-1c4b-4281-b951-d872f2087c98
* With this patch we accomplish the following:vollick@chromium.org2012-12-071-40/+39
| | | | | | | | | | | | | | | 1. layer animation controllers are ref counted (so they can be shared by the two impl trees) 2. the layer tree hosts now own a list of active animation controllers. This allows for a couple of nice things __a. Ticking the animation controllers no longer requires a tree walk __b. We will be able to support ticking of animation controllers for layers that are not yet added to the layer tree. (Support coming in a future patch). 3. animation controllers register and unregister themselves from their respective layer tree host's list when they have an animation to tick. BUG=162111 Review URL: https://chromiumcodereview.appspot.com/11348256 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171714 0039d316-1c4b-4281-b951-d872f2087c98
* Move LayerSorter to exist locally only in layer_tree_host_commonshawnsingh@google.com2012-12-071-1/+1
| | | | | | | | | | At this time, LayerSorter does not need to be owned by the layer_tree_host_impl and passed into calculateDrawProperties. This patch moves it to layer_tree_host_common.cpp, and removes any leftovers from other files. Review URL: https://codereview.chromium.org/11465007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171658 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Move root layer pointer to LayerTreeImplnduca@chromium.org2012-12-061-97/+71
| | | | | | | | | | | | | | | | This is the first of a series of patches to move tree-specific state from LayerTreeHostImpl to LayerTreeImpl. The LayerTreeHostImpl has always been imagined to be a "View" aka LayerTreeView(Impl) and will keep ahold of stuff that is view-specific. The LayerTreeImpl, in constrast, will store state that is specific to a specific tree version. BUG=155209 R=enne Review URL: https://chromiumcodereview.appspot.com/11450015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171593 0039d316-1c4b-4281-b951-d872f2087c98
* Disable pinch zoom viewport for non-compositor scalingtrchen@chromium.org2012-12-061-1/+3
| | | | | | | | | | | | | The pinch zoom viewport implementation isn't compatable with non-compositor scaling (a.k.a. the old scaling model used by Android). The old model is transitional and we don't really want to support pinch zoom viewport anyway. BUG=162741 Review URL: https://chromiumcodereview.appspot.com/11447024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171452 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Finish the rename from cc::GraphicsContext to cc::OutputSurfacedanakj@chromium.org2012-12-061-18/+18
| | | | | | | | | | | | | | | It is far too confusing to deal with OutputSurface code when half the time it is called a GraphicsContext incorrectly. Cleaning this up so I can think about the code properly as I upstream the Ubercomp CL. R=jamesr,piman BUG=146080 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=171403 Review URL: https://codereview.chromium.org/11450019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171410 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171403danakj@chromium.org2012-12-061-18/+18
| | | | | | | | | | | | | | | | | | | | | | cc_unittests is failing. Looks like something conflicted with this. > cc: Finish the rename from cc::GraphicsContext to cc::OutputSurface > > It is far too confusing to deal with OutputSurface code when half the time it is > called a GraphicsContext in correctly. Cleaning this up so I can think about the > code properly as I upstream the Ubercomp CL. > > NOTRY=true > R=jamesr,piman > BUG=146080 > > > Review URL: https://chromiumcodereview.appspot.com/11450019 TBR=danakj@chromium.org Review URL: https://codereview.chromium.org/11439026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171406 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Finish the rename from cc::GraphicsContext to cc::OutputSurfacedanakj@chromium.org2012-12-061-18/+18
| | | | | | | | | | | | | | | It is far too confusing to deal with OutputSurface code when half the time it is called a GraphicsContext in correctly. Cleaning this up so I can think about the code properly as I upstream the Ubercomp CL. NOTRY=true R=jamesr,piman BUG=146080 Review URL: https://chromiumcodereview.appspot.com/11450019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171403 0039d316-1c4b-4281-b951-d872f2087c98
* Organize internal properties of cc/ layer typesshawnsingh@google.com2012-12-051-1/+1
| | | | | | | | | | | | | One useful way to classify the various properties in cc/ layer data types is: (1) properties given by the user of the cc APIs, and (2) properties that are computed inside of cc code that are needed to correctly draw the layers. This patch organizes properties internally so that as we develop cc code, we are forced to be aware of whether a property is "given" or "computed". Review URL: https://codereview.chromium.org/11280263 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171323 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Always commit and redraw after scrollingskyostil@chromium.org2012-12-041-3/+4
| | | | | | | | | | | | | | | | | | | During the move from WebKit::IntSize to gfx::Vector2d in the compositor code an IntSize::isEmpty() got accidentally replaced with Vector2d::IsZero() in LayerTreeHostImpl::scrollBy(). This caused cases where we'd change the position of a layer during scrolling but didn't schedule a commit or a redraw. This happened for instance when diagonally scrolling a layer against its edge. This patch fixes the issue by always requesting a commit/redraw if any layer was moved while applying the scroll delta. TEST=LayerTreeHostImplTest.scrollByReturnsCorrectValue Review URL: https://chromiumcodereview.appspot.com/11348381 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171069 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move --num-raster-threads setting to LayerTreeSettings.reveman@chromium.org2012-12-041-1/+1
| | | | | | | | | BUG=154637 Review URL: https://chromiumcodereview.appspot.com/11316333 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171032 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Use skia::RefPtr in place of raw pointers and SkAutoTUnref.danakj@chromium.org2012-12-041-1/+1
| | | | | | | | | | | | | Safe reference counting for skia objects ahoy! R=jamesr BUG=163454 Depends on: https://codereview.chromium.org/11418217/ NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11412255 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170889 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Give ownership of render passes to the renderer when drawing a frame.danakj@chromium.org2012-12-041-5/+4
| | | | | | | | | | | | | | | | | | | Instead of giving const pointers to the renderer, we should provide it with non-const pointers, and expect it to consume the render passes that we provide it. In ubercomp, the delegating renderer will pass ownership of the passes to the CompositorFrame. Covered by existing tests, no change in behaviour. BUG=152337 R=enne,piman NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11419269 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170877 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Track the rendering & painting cost of impl-side painting.nduca@chromium.org2012-11-301-0/+3
| | | | | | | | | | | | | | | | We record how long the rendering thread takes to render each PicturePile, accumulate in TileManager, and report through LayerTreeHostImpl; telemetry queries this information and dumps the output. BUG=163324 R=reveman TBR=enne Review URL: https://codereview.chromium.org/11434033 Review URL: https://codereview.chromium.org/11418250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170413 0039d316-1c4b-4281-b951-d872f2087c98
* Fix naming of one accelerated compositing stat used in benchmarkingshawnsingh@chromium.org2012-11-301-3/+3
| | | | | | | | | | | The name was slightly misleading; instead of counting the total number of cc/layers in the layer tree, it actually counts the number of layers that are issued to be drawn. Review URL: https://chromiumcodereview.appspot.com/11418245 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170368 0039d316-1c4b-4281-b951-d872f2087c98