summaryrefslogtreecommitdiffstats
path: root/ui/gfx/compositor/layer.cc
Commit message (Collapse)AuthorAgeFilesLines
* Moves scheduling draw/paint from Window::SetBounds tosky@chromium.org2011-11-031-0/+10
| | | | | | | | | | | | | Layer::SetBounds. This way if an animation is ongoing the layer/scene is redrawn. BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/8423064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108474 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r107440 because this causes a crash on touchui on page load.sadrul@chromium.org2011-11-021-101/+71
| | | | | | | | | | | | | | | | | | | | | | | | The CL being reverted: This patch lets the browser window punch a hole in the DesktopBackgroundView, thus eliminating overdraw. To do this, the hole punching logic was changed to look at the entire tree. Drawing the screen is a preorder traversal through all the layers. Thus, to compute the hole, we have to look at all of the layers after a particular layer in the preorder traversal. This is not an efficient algorithm, but it is simplest I could come up with. Plus we will be moving to the WebKit compositor soon. Hopefully this will improve the frame rate for the Aura demos Note: I will put the changes to Transform into another patch. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107360 Review URL: http://codereview.chromium.org/8368013 TBR=pkotwicz@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108347 0039d316-1c4b-4281-b951-d872f2087c98
* Allows observers to be notified when layer animations complete.vollick@chromium.org2011-11-021-5/+0
| | | | | | | | | | | Depends on http://codereview.chromium.org/8362006/ BUG=101595 TEST=None Review URL: http://codereview.chromium.org/8395046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108307 0039d316-1c4b-4281-b951-d872f2087c98
* Add traces in compositor, views and skiapiman@chromium.org2011-11-011-0/+4
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/8440008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108174 0039d316-1c4b-4281-b951-d872f2087c98
* ui/gfx: Convert CreateCanvas to use gfx::Size.tfarina@chromium.org2011-11-011-2/+2
| | | | | | | | | BUG=100898 R=pkasting@chromium.org Review URL: http://codereview.chromium.org/8422009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108052 0039d316-1c4b-4281-b951-d872f2087c98
* Gets Bubble to work on aura.sky@chromium.org2011-10-311-0/+3
| | | | | | | | | | BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/8416053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108029 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Add fullscreen/popups to RenderWidgetHostViewAura.derat@chromium.org2011-10-311-13/+10
| | | | | | | | | | | | | | | | | | | This also makes aura::DesktopHostLinux avoid generating Char events when not appropriate, which avoids a problem that I observed where arrow keys were moving <select> selections two spaces instead of one. There still appears to be an issue with the Enter key getting double-counted in <select> popups, though (but if we avoid sending a Char event for it, things like <textarea> break), and fullscreen Flash windows aren't getting updated. BUG=99757,101899,101848 TEST=manual Review URL: http://codereview.chromium.org/8417008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108008 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r107720 - Enable the new layer animation framework.vollick@chromium.org2011-10-281-57/+52
| | | | | | | | | | | | | Depends on http://codereview.chromium.org/8247009/ BUG=None TEST=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107715 Review URL: http://codereview.chromium.org/8362006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107736 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107715 - Enable the new layer animation framework.vollick@chromium.org2011-10-281-52/+57
| | | | | | | | | | | | | | Depends on http://codereview.chromium.org/8247009/ BUG=None TEST=None Review URL: http://codereview.chromium.org/8362006 TBR=sky@chromium.org Review URL: http://codereview.chromium.org/8400059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107720 0039d316-1c4b-4281-b951-d872f2087c98
* Enable the new layer animation framework.vollick@chromium.org2011-10-281-57/+52
| | | | | | | | | | | Depends on http://codereview.chromium.org/8247009/ BUG=None TEST=None Review URL: http://codereview.chromium.org/8362006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107715 0039d316-1c4b-4281-b951-d872f2087c98
* Fix visibility on WebLayerpiman@chromium.org2011-10-271-4/+4
| | | | | | | | | | | | | A change in the UI code exposed this bug where we were not setting the opacity properly on the web layer in certain cases. BUG=None TEST=chrome/aura Review URL: http://codereview.chromium.org/8400014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107627 0039d316-1c4b-4281-b951-d872f2087c98
* ui/gfx: Convert Canvas::TranslateInt() to use gfx::Point.tfarina@chromium.org2011-10-271-3/+3
| | | | | | | | | BUG=100898 R=pkasting@chromium.org Review URL: http://codereview.chromium.org/8390037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107483 0039d316-1c4b-4281-b951-d872f2087c98
* This patch lets the browser window punch a hole in the DesktopBackgroundView,pkotwicz@chromium.org2011-10-261-71/+101
| | | | | | | | | | | | | | | | | | | | thus eliminating overdraw. To do this, the hole punching logic was changed to look at the entire tree. Drawing the screen is a preorder traversal through all the layers. Thus, to compute the hole, we have to look at all of the layers after a particular layer in the preorder traversal. This is not an efficient algorithm, but it is simplest I could come up with. Plus we will be moving to the WebKit compositor soon. Hopefully this will improve the frame rate for the Aura demos Note: I will put the changes to Transform into another patch. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107360 Review URL: http://codereview.chromium.org/8368013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107440 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107360vandebo@chromium.org2011-10-261-101/+71
| | | | | | | | | | | | | | | | | | | | | | | | This broke the Linux Touch bot This patch lets the browser window punch a hole in the DesktopBackgroundView, thus eliminating overdraw. To do this, the hole punching logic was changed to look at the entire tree. Drawing the screen is a preorder traversal through all the layers. Thus, to compute the hole, we have to look at all of the layers after a particular layer in the preorder traversal. This is not an efficient algorithm, but it is simplest I could come up with. Plus we will be moving to the WebKit compositor soon. Hopefully this will improve the frame rate for the Aura demos Note: I will put the changes to Transform into another patch. Review URL: http://codereview.chromium.org/8368013 TBR=pkotwicz@chromium.org Review URL: http://codereview.chromium.org/8394054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107367 0039d316-1c4b-4281-b951-d872f2087c98
* This patch lets the browser window punch a hole in the DesktopBackgroundView,pkotwicz@chromium.org2011-10-261-71/+101
| | | | | | | | | | | | | | | | | | thus eliminating overdraw. To do this, the hole punching logic was changed to look at the entire tree. Drawing the screen is a preorder traversal through all the layers. Thus, to compute the hole, we have to look at all of the layers after a particular layer in the preorder traversal. This is not an efficient algorithm, but it is simplest I could come up with. Plus we will be moving to the WebKit compositor soon. Hopefully this will improve the frame rate for the Aura demos Note: I will put the changes to Transform into another patch. Review URL: http://codereview.chromium.org/8368013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107360 0039d316-1c4b-4281-b951-d872f2087c98
* Enable accelerated compositing of web pages when using webkit compositorpiman@chromium.org2011-10-261-3/+51
| | | | | | | | | | BUG=99517 TEST=http://www.webkit.org/blog/386/3d-transforms/ Review URL: http://codereview.chromium.org/8307001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107262 0039d316-1c4b-4281-b951-d872f2087c98
* Explicit animation supportvollick@chromium.org2011-10-241-12/+12
| | | | | | | | | | | | | | | | | | | | High level description: - LayerPropertySetter is now LayerAnimator since it manages implicit/explicit animations and the animation queue. - LayerAnimationElement represents an animation curve. - LayerAnimationSequence owns a collection of elements. - The animator works as follows: o Has a queue of sequences and a collection of running sequences. o It knows the start time of each running sequence. o While there are running sequences, LayerAnimator::Step(base::TimeTicks now) is called periodically, and each of the running sequences are updated. BUG=None TEST=compositor_unittests, base_unittests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=106768 Review URL: http://codereview.chromium.org/8247009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106915 0039d316-1c4b-4281-b951-d872f2087c98
* Use WebKit compositor in ui::Layerpiman@chromium.org2011-10-221-3/+111
| | | | | | | | | | BUG=99524 TEST=compositor_unittests Review URL: http://codereview.chromium.org/8222028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106814 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 106768 - Explicit animation supportvollick@chromium.org2011-10-211-12/+12
| | | | | | | | | | | | | | | | | | | | | High level description: - LayerPropertySetter is now LayerAnimator since it manages implicit/explicit animations and the animation queue. - LayerAnimationElement represents an animation curve. - LayerAnimationSequence owns a collection of elements. - The animator works as follows: o Has a queue of sequences and a collection of running sequences. o It knows the start time of each running sequence. o While there are running sequences, LayerAnimator::Step(base::TimeTicks now) is called periodically, and each of the running sequences are updated. BUG=None TEST=compositor_unittests, base_unittests Review URL: http://codereview.chromium.org/8247009 TBR=vollick@chromium.org Review URL: http://codereview.chromium.org/8375008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106774 0039d316-1c4b-4281-b951-d872f2087c98
* Explicit animation supportvollick@chromium.org2011-10-211-12/+12
| | | | | | | | | | | | | | | | | | High level description: - LayerPropertySetter is now LayerAnimator since it manages implicit/explicit animations and the animation queue. - LayerAnimationElement represents an animation curve. - LayerAnimationSequence owns a collection of elements. - The animator works as follows: o Has a queue of sequences and a collection of running sequences. o It knows the start time of each running sequence. o While there are running sequences, LayerAnimator::Step(base::TimeTicks now) is called periodically, and each of the running sequences are updated. BUG=None TEST=compositor_unittests, base_unittests Review URL: http://codereview.chromium.org/8247009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106768 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 106606 - Use WebKit compositor in ui::Layerlipalani@chromium.org2011-10-201-111/+3
| | | | | | | | | | | | | BUG=99524 TEST=compositor_unittests Review URL: http://codereview.chromium.org/8222028 TBR=piman@chromium.org Review URL: http://codereview.chromium.org/8360018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106615 0039d316-1c4b-4281-b951-d872f2087c98
* Use WebKit compositor in ui::Layerpiman@chromium.org2011-10-201-3/+111
| | | | | | | | | | BUG=99524 TEST=compositor_unittests Review URL: http://codereview.chromium.org/8222028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106606 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes hole boundspkotwicz@chromium.org2011-10-201-1/+1
| | | | | | | | | | | | The hole bounds are with respect to the bounds of the parent. Thus they should be intersected with a representation of the bounds of the parent in terms of the parent BUG= None TEST= None Review URL: http://codereview.chromium.org/8356017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106551 0039d316-1c4b-4281-b951-d872f2087c98
* Add GetTargetBounds to window/layer.oshima@chromium.org2011-10-201-0/+6
| | | | | | | | | | | | This is necessary for WindowManager to deterimne the window's layout even when window is animating. BUG=none TEST=none Review URL: http://codereview.chromium.org/8357023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106438 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes transform of holes to match that of the child view in ::Drawpkotwicz@chromium.org2011-10-131-2/+9
| | | | | | | | | | | | | | | | | The transform applied to holes was incorrect when the bounds of the child were non zero In Layer::Draw the transform is first applied, then the translation, changed the code in Layer::RecomputeHole to match that This put the holes in the wrong place for the views_desktop demo. I have not seen a place where this was broken in chromium, however it might prevent future bugs once we apply transformations to child views BUG=None TEST=None Review URL: http://codereview.chromium.org/8249005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105340 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 104311 - Revert 104304 - Avoid overdraw in views desktop.vollick@chromium.org2011-10-061-31/+28
| | | | | | | | | | | | | | | | | Make sure that we still allow a view to punch a hole in its parent if it is rotated by a multiple of 90 degrees. BUG=None TEST=None Review URL: http://codereview.chromium.org/7941017 TBR=vollick@chromium.org Review URL: http://codereview.chromium.org/8175008 TBR=vollick@chromium.org Review URL: http://codereview.chromium.org/8178005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104312 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 104304 - Avoid overdraw in views desktop.vollick@chromium.org2011-10-061-28/+31
| | | | | | | | | | | | | | Make sure that we still allow a view to punch a hole in its parent if it is rotated by a multiple of 90 degrees. BUG=None TEST=None Review URL: http://codereview.chromium.org/7941017 TBR=vollick@chromium.org Review URL: http://codereview.chromium.org/8175008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104311 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid overdraw in views desktop.vollick@chromium.org2011-10-061-31/+28
| | | | | | | | | | | Make sure that we still allow a view to punch a hole in its parent if it is rotated by a multiple of 90 degrees. BUG=None TEST=None Review URL: http://codereview.chromium.org/7941017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104304 0039d316-1c4b-4281-b951-d872f2087c98
* Allow CanvasSkia to bind to an existing SkCanvas.piman@chromium.org2011-10-051-1/+1
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/8122013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104146 0039d316-1c4b-4281-b951-d872f2087c98
* Makes visbility inherited. That is, in order for a window to besky@chromium.org2011-10-051-4/+19
| | | | | | | | | | | | visible all of its ancestor must be visible too. BUG=none TEST=covered by unit tests. R=ben@chromium.org Review URL: http://codereview.chromium.org/8136005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104097 0039d316-1c4b-4281-b951-d872f2087c98
* Layer unittests for http://codereview.chromium.org/7976040/pkotwicz@chromium.org2011-10-041-3/+3
| | | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/8024001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103985 0039d316-1c4b-4281-b951-d872f2087c98
* Reland the layer creation change since the touchui issues will be resolved ↵sadrul@chromium.org2011-10-031-0/+10
| | | | | | | | | | | | in a follow up CL. This reverts 103580 - Revert the layer creation change r103338 due to some issues with the keyboard on touch. I'll re-land later once I can get a working linux build.TBR=skyBUG=noneTEST=none Review URL: http://codereview.chromium.org/8100015 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/8115010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103777 0039d316-1c4b-4281-b951-d872f2087c98
* Revert the layer creation change r103338 due to some issues with the ↵ben@chromium.org2011-09-301-10/+0
| | | | | | | | keyboard on touch. I'll re-land later once I can get a working linux build.TBR=skyBUG=noneTEST=none Review URL: http://codereview.chromium.org/8100015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103580 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new method to Layer that schedules a redraw in the compositor.Rename ↵ben@chromium.org2011-09-301-1/+5
| | | | | | | | Compositor::SchedulePaint to Compositor::ScheduleDraw and CompositorDelegate::ScheduleCompositorPaint to CompositorDelegate::ScheduleDraw.BUG=noneTEST=none Review URL: http://codereview.chromium.org/8083028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103502 0039d316-1c4b-4281-b951-d872f2087c98
* Construct a View's layer immediately when SetPaintToLayer(true) is called or ↵ben@chromium.org2011-09-291-0/+10
| | | | | | | | when a transform is set.This eliminates the need for LayerHelper since it basically just served as a middle-man for caching layer state when a layer did not exist (which occurred when a view was invisible or not part of a view hierarchy).Also includes a fix to reorder layer children properly without crashing due to dropped textures.BUG=noneTEST=existing unittests Review URL: http://codereview.chromium.org/8054023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103338 0039d316-1c4b-4281-b951-d872f2087c98
* Setting fills bounds opaquely as the default.pkotwicz@chromium.org2011-09-291-2/+2
| | | | | | | | | | | | | Computes set fills bounds opaquely inside widget based on transparency value Depends on 7976040 for correctness BUG=None TEST=None Review URL: http://codereview.chromium.org/8038047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103322 0039d316-1c4b-4281-b951-d872f2087c98
* In views desktop, it is possible for child layers to intersect. (This ↵pkotwicz@chromium.org2011-09-291-45/+87
| | | | | | | | | | situation occurs when the omnibox is open) Refactored logic for hole such that the hole does not overlap immediate child layers which cannot have a hole. Review URL: http://codereview.chromium.org/7976040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103305 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the ability to set an Animation on Layer so that future changes to the ↵sky@chromium.org2011-09-291-29/+105
| | | | | | | | | | | layer result in animating the property. See code in desktop_window_view.cc and window.cc for usage. BUG=none TEST=none Review URL: http://codereview.chromium.org/7972023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103282 0039d316-1c4b-4281-b951-d872f2087c98
* Refactors TestCompositor out of views_unittests into a place it can besky@chromium.org2011-09-281-1/+2
| | | | | | | | | | | | | | used by both the layer tests and the views test. Also fixes a bug that was causing test to fail and fixes up defines. I've disabled a portion of the compositor unit tests on linux as they don't compile. BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/8072010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103208 0039d316-1c4b-4281-b951-d872f2087c98
* Allow layers to be created without a compositor, creating this association ↵ben@chromium.org2011-09-271-11/+42
| | | | | | | | when they are associated with a root layer/added to a hierarchy parented to a root layer.This allows us to configure a layer associated with a view before the view is attached to a widget.BUG=noneTEST=unittests Review URL: http://codereview.chromium.org/8036026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102989 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes compositor crashpkotwicz@chromium.org2011-09-271-1/+2
| | | | | | | | | | UpdateLayerCanvas does not ensure that a texture exists BUG= TEST= Review URL: http://codereview.chromium.org/8051020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102976 0039d316-1c4b-4281-b951-d872f2087c98
* Do not allocate a texture if hole covers entire layer.pkotwicz@chromium.org2011-09-271-8/+28
| | | | | | | | | BUG=None TEST= poster circle, at 35FPS on tegra2 hardware Review URL: http://codereview.chromium.org/7976004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102925 0039d316-1c4b-4281-b951-d872f2087c98
* Allow animating alphavollick@chromium.org2011-09-231-4/+46
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7979020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102571 0039d316-1c4b-4281-b951-d872f2087c98
* Make specifying a texture optional on a Layer.ben@chromium.org2011-09-191-7/+17
| | | | | | | | | | | | This is for Layers that participate in Draw() ordering, transforming and clipping, but do not themselves actually render anything. Also changes LayerTest to use RunAllPending() rather than using the weird QuitOnComposited test type I had. BUG=none TEST=see unittest Review URL: http://codereview.chromium.org/7941016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101829 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/scoped_ptr.hakalin@chromium.org2011-09-181-1/+1
| | | | | | | | | | | Fix remaining users to use base/memory/scoped_ptr.h. BUG= TEST= Review URL: http://codereview.chromium.org/7930009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101715 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for SetExternalTexture.backer@chromium.org2011-09-141-4/+8
| | | | | | | | | | | We don't want to SetCanvas (or prepare a canvas to be set), if the Layer is being updated externally. BUG=none TEST=TOUCH_UI build displays google.com Review URL: http://codereview.chromium.org/7889035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101080 0039d316-1c4b-4281-b951-d872f2087c98
* The Compositor should own drawing the root layer.ben@chromium.org2011-09-141-26/+30
| | | | | | | | | | Also fixes rendering. BUG=none TEST=none Review URL: http://codereview.chromium.org/7889017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101027 0039d316-1c4b-4281-b951-d872f2087c98
* Rework View Layer Draw() to use the Layer::DrawTree() method and the ↵ben@chromium.org2011-09-131-1/+11
| | | | | | | | | | LayerDelegate. http://crbug.com/93947 TEST=none Review URL: http://codereview.chromium.org/7845033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100961 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to port holey layer changes into windows compositorpkotwicz@chromium.org2011-09-021-4/+0
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7582029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99368 0039d316-1c4b-4281-b951-d872f2087c98
* Add invalid rect tracking and repaint scheduling to Layer.ben@chromium.org2011-09-011-1/+30
| | | | | | | | | | | | This adds a LayerDelegate interface that can be implemented by an object that wants to know when to repaint. This is a different model to current layer updating, where code must call SetCanvas when it wishes to push an updated canvas to the layer's texture. BUG=none TEST=see unittest. Review URL: http://codereview.chromium.org/7822002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99080 0039d316-1c4b-4281-b951-d872f2087c98