summaryrefslogtreecommitdiffstats
path: root/cc/image_layer.cc
Commit message (Collapse)AuthorAgeFilesLines
* cc: Finish chromifying parameter in ImageLayerenne@chromium.org2013-03-141-2/+2
| | | | | | | | | | R=danakj@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/12664003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188173 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Chromify TiledLayerenne@chromium.org2013-03-141-7/+7
| | | | | | | | | | R=danakj@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/12811007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188022 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Chromify the LayerTreeHost class.danakj@chromium.org2013-03-131-1/+1
| | | | | | | | | | | | Style-only change. Make the LayerTreeHost class use chromium style. Depends on: https://codereview.chromium.org/12774006/ TBR=piman Review URL: https://codereview.chromium.org/12440033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187871 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Chromify Layer and LayerImpl classes.danakj@chromium.org2013-03-121-12/+12
| | | | | | | | | | | | Style-only change. Bring the Layer and LayerImpl classes into the Chromium style. R=enne,piman,jamesr TBR=joth Review URL: https://chromiumcodereview.appspot.com/12774006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187555 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Chromify the ImageLayer class.danakj@chromium.org2013-03-081-69/+56
| | | | | | | | | | | Style-only change. Make the ImageLayer class use chromium style. R=jamesr NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12631009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186865 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Deblur layers that animate-scale-down on creation.danakj@chromium.org2013-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Layers that appear at a scale 1.5 with a transform animation that would take them to 1.0 end up drawing with the 1.5 tiling still when they complete their animation. This happens for two reasons: 1. It uses stale data in ManageTilings to tell if the layer is animating. 2. The active tree says it has ideal tilings when it has tilings >= ideal. We fix 1 by setting the animating draw properties flag before computing contents scales in calcDrawProperties. We fix 2 by not telling the scheduler that we drew with all ideal tilings if we did not. While fixing 2 we get rid of the tree walk in swapBuffers, by tracking if any incomplete tiles were used in the AppendQuadsData instead. BUG=173806 NOTRY=true Review URL: https://codereview.chromium.org/12188002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180851 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Avoid expensive RenderingStats collection.danakj@chromium.org2013-02-021-1/+1
| | | | | | | | | | | | | | | When --enable-gpu-benchmarking is not present, don't do expensive steps in the benchmark collection (meaning don't call base::TimeTicks::Now()). BUG=170735 NOTRY=true Depends on: https://bugs.webkit.org/show_bug.cgi?id=108358 Review URL: https://chromiumcodereview.appspot.com/12095053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180224 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid exposing gl bindings through cc public API headersjamesr@chromium.org2013-01-081-0/+1
| | | | | | | | | | | | | | | | | | The cc library uses chromium's gles2 bindings in third_party/khronos/... to bind to GL for rendering. However, users of cc may not be able to pull these headers in when including cc API - for instance, on mac any code that includes content/common/view_messages.h pulls in the Apple CGL api through npapi.h. On the 10.6 SDK these headers collide with chromium's gl headers. This avoids exposing gl2.h includes via layer_tree_host.h, mostly by not including prioritized_resource_manager.h directly in l_t_h.h. BUG=156175 Review URL: https://chromiumcodereview.appspot.com/11794019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175554 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Refactor content scale/bounds into draw propertiesenne@chromium.org2012-12-161-6/+12
| | | | | | | | | | | | | | | | | This change allows layer impls to manipulate their content scale. This will allow PictureLayerImpl to pick some contents scale based on the scales of their tilings, rather than being stuck at the contents scale of its PictureLayer. This also de-virtualizes all of the content scale/bounds functions and instead allows a layer to manipulate its draw properties in response to a bounds or contents scale change. BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11503005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173365 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WTF and WebCore from cc/ and webkit/compositor_bindings/piman@chromium.org2012-11-101-2/+0
| | | | | | | | | | | Ding, dong... BUG=154451 Review URL: https://chromiumcodereview.appspot.com/11410021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167071 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Nine patch layer.aelias@chromium.org2012-11-061-65/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/11304020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166154 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix style for comments at the end of namespacesdanakj@chromium.org2012-11-051-1/+1
| | | | | | | | | | | | Make sure we have a comment at the end of the namespace for each .cc file and that there are two spaces between the closing brace and the comment. R=enne Review URL: https://chromiumcodereview.appspot.com/11275153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166005 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Use gfx:: Geometry types for positions, bounds, and related things.danakj@chromium.org2012-11-011-5/+5
| | | | | | | | | | | | | | | | | | | | | | | This covers layers, layer tree hosts, and related classes. *phew* I intentionally avoided anything to do with scrolling or page scale. Those should be changed to be Vectors and need a bit more thought. This change should be pretty mindless. It converts to gfx Rect, Size, Vector, and Point classes. No change is made for FloatPoint3D or FloatQuad yet. I've added cc/geometry.h as a place for free functions that don't exist on gfx types yet, and that we should port over in the future. No change in behaviour; covered by existing tests. BUG=147395 R=enne Review URL: https://codereview.chromium.org/11264056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165434 0039d316-1c4b-4281-b951-d872f2087c98
* Pass accurate contentsScale to LayerImpl.wangxianzhu@chromium.org2012-11-011-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first part of fixing fuzzy content issue in composited layers in scaled pages. There are two reasons of fuzzy content: 1) Inaccurate scale: The scale in transformation is calculated with contentBounds.width / bounds.width contentBounds.height / bounds.height in layer_tree_host_common.cc and other places. However, contentBounds is a IntSize which is calculated from bounds and contentsScale in layer.cc: IntRect(lroundf(bounds.width * contentsScale), lroundf(bounds.height * contentsScale)) This causes the scale like 0.993 or 1.007 in the drawTransformation etc. where identity transformation is expected. To resolve the issue, instead of calculating scale using contentBounds, pass the accurate contentsScale from Layer to LayerImpl. 2) Pixel on surfaces are not aligned. Will describe this in the CL for the second part. (See https://bugs.webkit.org/show_bug.cgi?id=84187 for more details). Change-Id: I8f59f0460e1b212223e2c8c551b4127d8239e5cc BUG=bugs.webkit.org/show_bug.cgi?id=84187 TEST=ContentsScalingLayerTest.checkContentBounds, LayerTreeHostCommonTest.verifyLayerTransformsInHighDPIAccurateScaleZeroPosition, LayerTreeHostCommonTest.verifyRenderSurfaceTransformsInHighDPIAccurateScaleZeroPosition Review URL: https://chromiumcodereview.appspot.com/11276060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165269 0039d316-1c4b-4281-b951-d872f2087c98
* Use gfx:: Geometry types for the resource provider and layer updater classes.danakj@chromium.org2012-10-311-6/+6
| | | | | | | | | | | | | This depends on the gfx::Vector2d class from https://codereview.chromium.org/11269022/ Covered by existing tests, just changing data types. BUG=147395 R=enne Review URL: https://codereview.chromium.org/11266030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165225 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename TextureUpdate to ResourceUpdate.reveman@google.com2012-10-251-4/+4
| | | | | | | | | | | | | | | | sed -e ' s/TextureUpdateQueue/ResourceUpdateQueue/g s/texture_update_queue/resource_update_queue/g s/TextureUpdateController/ResourceUpdateController/g s/texture_update_controller/resource_update_controller/g ' BUG= TEST=cc_unittests Review URL: https://codereview.chromium.org/11270047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164177 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename LayerUpdater::Texture to LayerUpdater::Resource.reveman@chromium.org2012-10-251-5/+5
| | | | | | | | | | BUG= TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/11236078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164007 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename LayerTextureUpdater to LayerUpdater.reveman@google.com2012-10-231-22/+22
| | | | | | | | | | | | | | | | | sed -e ' s/TextureUpdater/Updater/g s/textureUpdater/updater/g s/texture_updater\.h/updater.h/g s/texture_updater\.cc/updater.cc/g s/TEXTURE_UPDATER_H_/UPDATER_H_/g ' BUG= TEST=cc_unittests Review URL: https://codereview.chromium.org/11231082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163615 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove CC*.h temporary includes, part 5/4.tfarina@chromium.org2012-10-231-1/+1
| | | | | | | | | | | | BUG=155413 TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org TBR=jamesr@chromium.org Review URL: https://chromiumcodereview.appspot.com/11225040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163479 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename cc classes and members to match filenamesenne@chromium.org2012-10-221-21/+21
| | | | | | | | | | | Fixed reland of https://chromiumcodereview.appspot.com/11189043/ TBR=jam@chromium.org,jamesr@chromium.org BUG=155413 Review URL: https://codereview.chromium.org/11231054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163429 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Move contentsSwizzled property from LayerTextureUpdater to ↵reveman@google.com2012-10-221-8/+0
| | | | | | | | | | | | | | | | | | | CCPrioritizedTexture class. The contentsSwizzled property is true when we upload BGRA contents to a RGBA texture. Instead of having the LayerTextureUpdater (which is not responsible for texture uploads) determine the value of this property set it in CCPrioritizedTexture::upload() when an upload takes place. This will also allow us to remove the FrameBufferSkPictureCanvasLayerTextureUpdater class, which currently only exists so contentsSwizzled is set correctly. BUG= TEST=manual Review URL: https://codereview.chromium.org/11232028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163347 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "cc: Rename cc classes and members to match filenames"enne@chromium.org2012-10-191-21/+21
| | | | | | This reverts commit 184fac5add06d5f4670fa6be4a4d3b39232d51bb. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163059 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Rename cc classes and members to match filenamesenne@chromium.org2012-10-191-21/+21
| | | | | | | | BUG=155413 Review URL: https://codereview.chromium.org/11189043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163052 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "cc: Remove CC*.h temporary includes, part 1/4."tfarina@chromium.org2012-10-191-1/+1
| | | | | | | | | | | | | | | | Exception: Missing input files: c:\b\build\slave\cr-win-rel\build\src\cc\CCTextureUpdateQueue.h Relanding with this file removed as well. BUG=155413 TEST=cc_unittests TBR=enne@chromium.org Review URL: https://chromiumcodereview.appspot.com/11227005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163028 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r162986 "cc: Remove CC*.h temporary includes, part 1/4."pfeldman@chromium.org2012-10-191-1/+1
| | | | | | | Build fails with "gclient hooks failed" error. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162988 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove CC*.h temporary includes, part 1/4.tfarina@chromium.org2012-10-191-1/+1
| | | | | | | | | | | BUG=155413 TEST=cc_unittests R=enne@chromium.org Review URL: https://chromiumcodereview.appspot.com/11189076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162986 0039d316-1c4b-4281-b951-d872f2087c98
* Remove GraphicsContext3D:: stubs from ccjamesr@chromium.org2012-10-181-2/+2
| | | | | | | | | | | | cc needs GL enum values. In WebKit, these came from GraphicsContext3D::, Extensions3D::, Extensions3DChromium and types came from GraphicsTypes3D. In chromium, we juse use the GL headers for this. BUG=144577 Review URL: https://chromiumcodereview.appspot.com/11111005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162839 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Replace TextureUploader::Parameters with ResourceUpdate struct.reveman@google.com2012-10-181-1/+5
| | | | | | | | | | | | | | This is in preparation to reducing texture uploader classes and simplifying the resource update system. Also moves accelerated painting code to texture update controller. This doesn't change the behavior of the compositor in any way. BUG= TEST=cc_unittests Review URL: https://codereview.chromium.org/11183027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162603 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 162284 - cc: Get rid of CC*.h temporary header files.mattm@chromium.org2012-10-171-1/+1
| | | | | | | | | | | | BUG=155413 TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org Review URL: https://codereview.chromium.org/11145033 TBR=tfarina@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162286 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Get rid of CC*.h temporary header files.tfarina@chromium.org2012-10-161-1/+1
| | | | | | | | | | BUG=155413 TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org Review URL: https://codereview.chromium.org/11145033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162284 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove the temporary header files that aren't prefixed with CC*tfarina@chromium.org2012-10-161-4/+4
| | | | | | | | | | | | | The list of files was generated with the following command line: $ ls *.h cc/ | grep -v CC BUG=155413 TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org Review URL: https://codereview.chromium.org/11189011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162247 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove wtf includes from *LayerTextureUpdater headersenne@chromium.org2012-10-161-6/+5
| | | | | | | | | BUG=154451 Review URL: https://chromiumcodereview.appspot.com/11143027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162152 0039d316-1c4b-4281-b951-d872f2087c98
* Remove USE(ACCELERATED_COMPOSITING) references from ccjamesr@chromium.org2012-10-151-3/+0
| | | | | | | | | | This isn't needed. BUG= Review URL: https://codereview.chromium.org/10957055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161885 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove LayerTextureUpdater::Texture::updateRect() callback.reveman@chromium.org2012-10-131-5/+9
| | | | | | | | | | | | | | | | This is the first step towards cleaning up and simplifying the resource update system. Eliminates the LayerTextureUpdater::Texture::updateRect() callback by moving some logic to CCResourceProvider. Remaining logic is now contained in LayerTextureUpdater::Texture::update(). The logic itself is not changed, this is only re-factoring. BUG=154472 TEST=manual Review URL: https://chromiumcodereview.appspot.com/11074009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161752 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Rename all cc/ filenames to Chromium styleenne@chromium.org2012-10-121-0/+163
BUG=155413 Review URL: https://codereview.chromium.org/11122003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161671 0039d316-1c4b-4281-b951-d872f2087c98