summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/layers
Commit message (Collapse)AuthorAgeFilesLines
* WebGL implementation for AndroidPierre-Antoine LaFayette2013-01-203-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation of WebGL in Android WebKit. Exposes a low level 3D graphics API based on OpenGL ES 2.0 to JavaScript. WebGL is not compiled by default. It can be enabled by setting ENABLE_WEBGL = true in your device BoardConfig.mk or directly in external/webkit/Android.mk. Includes runtime enablement through Browser Settings -> Labs menu. Enable WebGL debug logs and FPS timing with: adb shell setprop debug.webgl 1 Includes Cross-origin resource sharing support. Includes fixes for the following Khronos WebGL 1.0.1. tests: - premultiplyalpha-test.html - struct-nesting-exceeds-maximum.html - index-validation.html - context-attributes-alpha-depth-stencil-antialias.html - program-test.html - object-deletion-behaviour.html Squashed patches: ----------------------------------------------------------- WebGL implementation for Android Implementation of WebGL in Android WebKit. Exposes a low level 3D graphics API based on OpenGL ES 2.0 to JavaScript. WebGL is not compiled by default. It can be enabled by setting ENABLE_WEBGL = true in your device BoardConfig.mk or directly in external/webkit/Android.mk. It is also disabled by default (in WebSettings.cpp) as required by Khronos until it reaches 100% conformance. -- From: Anders Edenbrandt <anders.edenbrandt@sonyericsson.com> Date: Thu, 26 Jan 2012 11:48:41 +0100 WebGL bug fixes and updates Some updates: - stability fixes - image decoder - redesign of how the FBOs are used - other bug fixes -- From: Anders Edenbrandt <anders.edenbrandt@sonyericsson.com> Date: Tue, 31 Jan 2012 17:20:13 +0100 WebGL code cleanup and bug fixes -- From: Anders Edenbrandt <anders.edenbrandt@sonyericsson.com> Date: Thu Mar 15 10:15:33 2012 +0100 More improvements and bug fixes Updates: - cleaned up buffer handling, allowing for arbitrary number of buffers - removed rect from invalidation - removed screen update request from drawGL - releasing buffers when the browser is paused - added missing method 'slice' for typed arrays - fixed bug in bindFramebuffer https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=c72ff2aa562941d94ceb51ba685d60809ca882a6 Updates to fix some test failures in Khronos Conformance Test Suite: - Increase max identifier length in shaders to 256 - Add length check on uniforms and attributes - Add minimal support for compressed textures (that is, just return the correct error codes) - Add support for Uint8ClampedByteArray - Modify how error checking is done on framebuffer operations - Activate the GL_OES_packed_depth_stencil extension - Activate the GL_OES_texture_float extension https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=5bfe05848c12a2894697fbb503cfa79981eb96bd Fix WebGL 1.0.1 premultiplyalpha-test conformance test Fixing bug with toDataURL when called against a Canvas in which WebGL content is being rendered and make sure paintRenderingResultsToImageData isn't used for the premultiplied case. ihttps://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=5834a1e00f89d898a7a0039d47916b196e40a2c8 Update ANGLE to r1009 to fix WebGL 1.0.1 conformance test Fixes struct-nesting-exceeds-maximum Khronos WebGL conformance test. https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=ae2392db6360b41a5717f3770a9e63b1bcea45d6 vertexAttribPointer needs to reject large negative offsets https://bugs.webkit.org/show_bug.cgi?id=85117 Reviewed by Kenneth Russell. Source/WebCore: * html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr (WebCore): (WebCore::WebGLRenderingContext::bufferData): (WebCore::WebGLRenderingContext::bufferSubData): (WebCore::WebGLRenderingContext::drawElements): (WebCore::WebGLRenderingContext::getVertexAttribOffset): (WebCore::WebGLRenderingContext::vertexAttribPointer): * html/canvas/WebGLRenderingContext.h: Ditto (WebGLRenderingContext): * html/canvas/WebGLRenderingContext.idl: Ditto LayoutTests: * fast/canvas/webgl/index-validation-expected.txt: * fast/canvas/webgl/index-validation.html: Add a test case for large negative offset. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116374 268f45cc-cd09-0410-ab3c-d52691b4dbfc https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=b3a02a0942a0e2c44d23961382145fad6016b2ef Fix for context-attributes-alpha-depth-stencil-antialias Support for alpha, depth and stencil to fix WebGL Khronos 1.0.1 conformance test. Report back that antialiasing is not supported on our platform. https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=22e98195ac73e7e12a59d5b9a42dfc4e2252b475 WebGLRenderingContext should defer caching program info https://bugs.webkit.org/show_bug.cgi?id=83513 Reviewed by Kenneth Russell. * html/canvas/WebGLProgram.cpp: (WebCore::WebGLProgram::WebGLProgram): (WebCore::WebGLProgram::numActiveAttribLocations): call cacheInfoIfNeeded(); (WebCore::WebGLProgram::getActiveAttribLocation): Ditto. (WebCore::WebGLProgram::isUsingVertexAttrib0): Ditto. (WebCore::WebGLProgram::getLinkStatus): Ditto. (WebCore): (WebCore::WebGLProgram::cacheActiveAttribLocations): (WebCore::WebGLProgram::cacheInfoIfNeeded): Cache link status, active attire locations, etc if needed. (WebCore::WebGLProgram::increaseLinkCount): also invalidate cached info. * html/canvas/WebGLProgram.h: (WebGLProgram): * html/canvas/WebGLRenderingContext.cpp: (WebCore): (WebCore::WebGLRenderingContext::linkProgram): Do not cache program info immediately. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113915 268f45cc-cd09-0410-ab3c-d52691b4dbfc https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=66bc9c1b9eb5151b1b236199d0eeb17df0557b47 Runtime enablement of WebGL Hooks up with the Java side to enable/disable WebGL through the debug menu. https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=75aab57859de45a0aaec5a7cad41a12111e9a82e Support the usage of CORS for WebGL and the 2D canvas Factor CORS request preparation out of DocumentThreadableLoader https://bugs.webkit.org/show_bug.cgi?id=61209 2011-05-20 Adam Barth <abarth@webkit.org> Reviewed by Alexey Proskuryakov. Factor CORS request preparation out of DocumentThreadableLoader https://bugs.webkit.org/show_bug.cgi?id=61209 DocumentThreadableLoader has two jobs: 1) Proxy loads between threads. 2) Run the CORS state machine. This patch begins the work of separating those concerns, allowing CORS to be used elsewhere in the loading pipeline. In particular, this patch moves knowledge of how to prepare CORS requests out of DocumentThreadableLoder. * loader/CrossOriginAccessControl.cpp: (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): (WebCore::updateRequestForAccessControl): (WebCore::createAccessControlPreflightRequest): * loader/CrossOriginAccessControl.h: * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86980 268f45cc-cd09-0410-ab3c-d52691b4dbfc Add rel type prerender to distinguish prerender from prefetch https://bugs.webkit.org/show_bug.cgi?id=61079 2011-05-21 Gavin Peters <gavinp@chromium.org> Reviewed by Adam Barth. Add rel type prerender to distinguish prerender from prefetch https://bugs.webkit.org/show_bug.cgi?id=61079 Chrome right now uses <link rel=prefetch ...> for one of two things, to warm the cache in the same way as firefox, or to launch a speculative rendering of a web page, for faster "loading" when the user navigates to it. This new rel type will let us distinguish the two cases; the rel type prerender isn't used on the web today, but the Google Web Search example prerendering application is ready to experiment with it. * fast/dom/HTMLLinkElement/prerender-expected.txt: Added. * fast/dom/HTMLLinkElement/prerender.html: Added. * platform/gtk/Skipped: * platform/mac/Skipped: * platform/qt/Skipped: * platform/win/Skipped: 2011-05-21 Gavin Peters <gavinp@chromium.org> Reviewed by Adam Barth. Add rel type prerender to distinguish prerender from prefetch https://bugs.webkit.org/show_bug.cgi?id=61079 Chrome right now uses <link rel=prefetch ...> for one of two things, to warm the cache in the same way as firefox, or to launch a speculative rendering of a web page, for faster "loading" when the user navigates to it. This new rel type will let us distinguish the two cases; the rel type prerender isn't used on the web today, but the Google Web Search example prerendering application is ready to experiment with it. Test: fast/dom/HTMLLinkElement/prerender.html * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::tokenizeRelAttribute): (WebCore::HTMLLinkElement::process): * html/HTMLLinkElement.h: (WebCore::HTMLLinkElement::RelAttribute::RelAttribute): * loader/cache/CachedResource.cpp: (WebCore::defaultPriorityForResourceType): * loader/cache/CachedResource.h: (WebCore::CachedResource::isLinkResource): * loader/cache/CachedResourceLoader.cpp: (WebCore::createResource): (WebCore::CachedResourceLoader::requestLinkResource): (WebCore::CachedResourceLoader::canRequest): * loader/cache/CachedResourceLoader.h: * loader/cache/CachedResourceRequest.cpp: (WebCore::cachedResourceTypeToTargetType): (WebCore::CachedResourceRequest::load): * platform/network/ResourceRequestBase.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87020 268f45cc-cd09-0410-ab3c-d52691b4dbfc Make CachedResource take a ResourceRequest instead of just a url string. 2011-05-24 Nate Chapin <japhet@chromium.org> Reviewed by Adam Barth. Change CachedResources to take a ResourceRequest instead of a url in their constructors and provide a very minimal set of cases for avoiding reusing a CachedResource. The ResourceRequest part of this change requires pushing responsibility for calling Document::completeURL() to the caller, instead of CachedResourceLoader, since ResourceRequest ASSERTs if it is constructed with an invalid url. https://bugs.webkit.org/show_bug.cgi?id=61318 Refactor, no new tests. * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): * css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage): * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): * dom/ScriptElement.cpp: (WebCore::ScriptElement::requestScript): * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): (WebCore::CachedCSSStyleSheet::didAddClient): (WebCore::CachedCSSStyleSheet::checkNotify): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedFont.cpp: (WebCore::CachedFont::CachedFont): * loader/cache/CachedFont.h: * loader/cache/CachedImage.cpp: (WebCore::CachedImage::CachedImage): (WebCore::CachedImage::checkShouldPaintBrokenImage): * loader/cache/CachedImage.h: * loader/cache/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::reuseRequest): (WebCore::CachedResource::allowReuseOfRequest): (WebCore::CachedResource::removeClient): (WebCore::CachedResource::canUseCacheValidator): * loader/cache/CachedResource.h: (WebCore::CachedResource::resourceRequest): (WebCore::CachedResource::url): * loader/cache/CachedResourceLoader.cpp: * loader/cache/CachedResourceLoader.h: * loader/cache/CachedResourceRequest.cpp: (WebCore::CachedResourceRequest::load): * loader/cache/CachedScript.cpp: (WebCore::CachedScript::CachedScript): * loader/cache/CachedScript.h: * loader/cache/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): (WebCore::CachedXSLStyleSheet::didAddClient): (WebCore::CachedXSLStyleSheet::checkNotify): * loader/cache/CachedXSLStyleSheet.h: * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::requestImageResource): * svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::loadFont): * xml/XSLImportRule.cpp: (WebCore::XSLImportRule::loadSheet): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87239 268f45cc-cd09-0410-ab3c-d52691b4dbfc Support cross-origin property for images 2011-05-26 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Support cross-origin property for images https://bugs.webkit.org/show_bug.cgi?id=61015 Test various cases involving CORS requests and canvas tainting. * http/tests/security/canvas-remote-read-remote-image-allowed-expected.txt: Added. * http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials-expected.txt: Added. * http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials.html: Added. * http/tests/security/canvas-remote-read-remote-image-allowed.html: Added. * http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt: Added. * http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin.html: Added. * http/tests/security/resources/abe-allow-credentials.php: Added. * http/tests/security/resources/abe-allow-star.php: Added. 2011-05-26 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Support cross-origin property for images https://bugs.webkit.org/show_bug.cgi?id=61015 This patch add support for the crossorigin attribute of images and teaches 2D canvas to respect that flag and not taint a canvas if the image drawn on the canvas is allowed by CORS. While I was editing this code, I couldn't resist a couple touch-up changes. Tests: http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials.html http/tests/security/canvas-remote-read-remote-image-allowed.html http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin.html * html/HTMLAttributeNames.in: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::securityOrigin): * html/HTMLCanvasElement.h: * html/HTMLImageElement.idl: * html/canvas/CanvasRenderingContext.cpp: (WebCore::CanvasRenderingContext::checkOrigin): * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern): * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): * loader/cache/CachedResource.cpp: (WebCore::CachedResource::passesAccessControlCheck): * loader/cache/CachedResource.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87473 268f45cc-cd09-0410-ab3c-d52691b4dbfc HTMLVideoElement::currentSrc() should return a KURL 2011-05-27 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. HTMLVideoElement::currentSrc() should return a KURL https://bugs.webkit.org/show_bug.cgi?id=61578 I suspect we got into this mess because the author of this code didn't know about the URL attribute in WebKit IDL, which is super useful! Bad news: The line of code in question seems to have another bug, which I've documented in a FIXME. Let the yak shaving continue! * html/HTMLMediaElement.cpp: (WebCore::urlForLogging): (WebCore::HTMLMediaElement::loadResource): (WebCore::HTMLMediaElement::isSafeToLoadURL): (WebCore::HTMLMediaElement::selectNextSourceChild): (WebCore::HTMLMediaElement::getPluginProxyParams): * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::currentSrc): (WebCore::HTMLMediaElement::currentURL): * html/canvas/CanvasRenderingContext.cpp: (WebCore::CanvasRenderingContext::checkOrigin): * rendering/HitTestResult.cpp: (WebCore::HitTestResult::absoluteMediaURL): - This complete URL call was unnecessary because currentSrc is already absolute. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87539 268f45cc-cd09-0410-ab3c-d52691b4dbfc Disallow use of cross-domain media (images, video) in WebGL 2011-06-09 Kenneth Russell <kbr@google.com> Reviewed by Adam Barth. Disallow use of cross-domain media (images, video) in WebGL https://bugs.webkit.org/show_bug.cgi?id=62257 Updated WebGL implementation to track recent spec updates in this area. Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html http/tests/security/webgl-remote-read-remote-image-allowed.html http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html * html/canvas/CanvasRenderingContext.cpp: (WebCore::CanvasRenderingContext::wouldTaintOrigin): (WebCore::CanvasRenderingContext::checkOrigin): * html/canvas/CanvasRenderingContext.h: (WebCore::CanvasRenderingContext::checkOrigin): * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::readPixels): (WebCore::WebGLRenderingContext::texImage2D): (WebCore::WebGLRenderingContext::videoFrameToImage): (WebCore::WebGLRenderingContext::texSubImage2D): * html/canvas/WebGLRenderingContext.h: 2011-06-09 Kenneth Russell <kbr@google.com> Reviewed by Adam Barth. Disallow use of cross-domain media (images, video) in WebGL https://bugs.webkit.org/show_bug.cgi?id=62257 Updated origin-clean-conformance.html to track upstream version in Khronos repository. Added new layout tests mirroring those added in bug 61015 which verify that new CORS support for images is working in the context of WebGL. Verified new tests in WebKit and Chromium. Skipped tests on platforms where WebGL is disabled. * http/tests/canvas/webgl/origin-clean-conformance-expected.txt: * http/tests/canvas/webgl/origin-clean-conformance.html: * http/tests/security/webgl-remote-read-remote-image-allowed-expected.txt: Added. * http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials-expected.txt: Added. * http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html: Added. * http/tests/security/webgl-remote-read-remote-image-allowed.html: Added. * http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin-expected.txt: Added. * http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html: Added. * platform/gtk/Skipped: * platform/mac-leopard/Skipped: * platform/mac-wk2/Skipped: * platform/qt/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@88489 268f45cc-cd09-0410-ab3c-d52691b4dbfc https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=0ddd7c1d91c08fbee6c99b79fa9971a7ac914384 Runtime enablement of WebGL logs Allows enabling WebGL method level logging using: adb shell setprop debug.webgl 1 https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=307d4a2b5b20f2609497ceaea1eca2e29a8a781f Adding WebGL FPS timing to logs Samples WebGL average FPS every 15 frames and outputs to WebGL debug log. TODO: Add setting to browser debug settings that overlays FPS on web pages. Postpone deleteRenderbuffer/deleteTexture until all framebuffer attachment points are removed. https://bugs.webkit.org/show_bug.cgi?id=74741 Reviewed by Kenneth Russell. Source/WebCore: Use WebGLObject's attachment count mechanism to track if a renderbuffer/texture is still attached to framebuffers, and if its deletion should be delated or not. * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer): (WebCore::WebGLFramebuffer::getAttachment): (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer): (WebCore::WebGLFramebuffer::deleteObjectImpl): (WebCore::WebGLFramebuffer::isBound): * html/canvas/WebGLFramebuffer.h: LayoutTests: * fast/canvas/webgl/object-deletion-behaviour-expected.txt: * fast/canvas/webgl/object-deletion-behaviour.html: synced with khronos side. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103272 268f45cc-cd09-0410-ab3c-d52691b4dbfc https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=9def386340c74f2a745fb041b1cb11daa30d1a82 ----------------------------------------------------------- (cherry-picked from commit 6d9d732ff06a6b265d02b18d7034068a68ef0fde) Conflicts: Android.mk Source/WebCore/ChangeLog Change-Id: I3bbf993fe5a3d6cea53e019c8fa3912ecd2bd429
* Ensure AndroidAnimation's copy of its name string is uniqueChris Craik2012-10-232-5/+11
| | | | | | | | bug:7369890 This avoids cross-thread referencing of this WTF::String Change-Id: I975308d6eb7d9b3d9039f2188cb2697cb3191091
* Deep copy animation keyframe namesChris Craik2012-10-081-1/+3
| | | | | | | | bug:7266561 this makes them safe for cross-thread usage Change-Id: Ib3a49999aa5c3e740127ba684f3d4887e1ad5cb9
* Determine maxZoomScale from bitmap/text drawingChris Craik2012-10-017-12/+12
| | | | | | bug:7247750 Change-Id: I8238acc2c20942ab2f42936d16a03226909aebcd
* Early return from layer painting when fully clippedChris Craik2012-08-161-7/+8
| | | | | | Fixes logspam due to merged layers unnecessarily painting when fully clipped. Change-Id: I0f2f1b851c9386dcebda58bf844fd68073338e1c
* Correctly handle preserve-3d layer orderingChris Craik2012-08-152-26/+80
| | | | | | | | bug:6843244 Current implementation only works for HW acceleration. Change-Id: I009090132a8f3859ab9e57e609c1754f9021d4d7
* Remove usages of getCanvasJohn Reck2012-08-063-8/+7
| | | | | | Everything goes through either PlatformGraphicsContext or recordingCanvas() Change-Id: I375a4294d2e8d4b467b70c6b8a7f0b96f402f252
* Perform check for text/content on recording context PicturePilesChris Craik2012-07-195-16/+14
| | | | | | | Only implemented for now when USE_RECORDING_CONTEXT is enabled. Standard SkPicture PicturePile implementation defaults to hasText = hasContent = true. Change-Id: I535b53151963bf8c415e420c1d5a789954e98cbf
* Use PicturePile in layersNicolas Roard2012-07-171-0/+1
| | | | Change-Id: I68b4c303b59fd4127c83e9ccb1d43ed630e21253
* Add reset stateTeng-Hui Zhu2012-07-101-1/+1
| | | | | | | This just keep the state in sync with java side, even though native side didn't rely on such states. Change-Id: Ia73b4d09eed7282cdf1687d9ba6e74788749f738
* Support fullscreen to inline video transition.Teng-Hui Zhu2012-06-271-2/+2
| | | | | | | | | | | | Basically, player is responsible to enter fullscreen mode such that we have the proper proxy updated on the Java side. bug:5710646 framework change: https://android-git.corp.google.com/g/#/c/202139/ Change-Id: Ie7adf620f2e9889142ef153e12d676a5f288bc0a
* am 67169ebc: am 8ac8b3f2: Merge "Make viewport dirtyness calculations ↵Chris Craik2012-06-211-0/+3
|\ | | | | | | | | | | | | recursive" into jb-dev * commit '67169ebc1651937450492ebea558fedda74ca50a': Make viewport dirtyness calculations recursive
| * Merge "Make viewport dirtyness calculations recursive" into jb-devChris Craik2012-06-211-0/+3
| |\
| | * Make viewport dirtyness calculations recursiveChris Craik2012-06-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | If a layer marks the viewport dirty, it should mark all of its children as well, since they likely have also moved. bug:6547356 Change-Id: I0db2704f35e7c8a78108d6ed8372201a7f025994
* | | am 74b2988a: am c6d9134e: Don\'t allow layers that draw via drawGL to merge ↵Chris Craik2012-06-213-2/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | with other surfaces * commit '74b2988a2845cac809d74813fde4e38b2f455431': Don't allow layers that draw via drawGL to merge with other surfaces
| * | Don't allow layers that draw via drawGL to merge with other surfacesChris Craik2012-06-203-2/+6
| |/ | | | | | | | | | | | | | | | | | | | | bug:6694807 They don't paint onto surfacebackings, and draw afterward, so ordering issues occur. Ideally, they should still be allowed to merge onto surfaces and not allow other painting layers to join the surface afterward, but this shouldn't be wasteful in practice. Change-Id: I7a8764bc2b8e531e718602c6114b027a9dbce42d
* | Merge "Show layer tree in hierarchyviewer"John Reck2012-06-148-119/+145
|\ \
| * | Show layer tree in hierarchyviewerJohn Reck2012-06-148-119/+145
| |/ | | | | | | Change-Id: I2a53b157d40c630e7ca1361f8e0c8aca1d6e8a4e
* | Add detailed tracing to tile paintingChris Craik2012-06-132-0/+10
|/ | | | | bug:6653638 Change-Id: I839917feb1803bc1f4ace5aa2367067024a18706
* Call the right updatePositions*John Reck2012-06-111-7/+7
| | | | | | | | | | Bug: 6634077 Software was accidentally calling the inner updatePositions instead of the outer updatePositions which the hardware path calls. Move the inner updatePositions to be protected instead of public to guard against this in the future as well. Change-Id: Ib509f151ce64bf390383eaa0c32a2bae89428e89
* Merge "Add fast drawing path for repeat background image." into jb-devTeng-Hui Zhu2012-06-072-27/+123
|\
| * Add fast drawing path for repeat background image.Teng-Hui Zhu2012-06-072-27/+123
| | | | | | | | | | | | | | | | | | In the slow draw path, we are drawing the small background image one by one. Now in the fast path, we can use the GL shader to repeat the iamges. bug:6579681 Change-Id: I8ab413bdd073cb867002b77b36d4a1361290ecb2
* | Fix IFrame max scrollJohn Reck2012-06-071-2/+2
| | | | | | | | | | | | | | Bug: 6628376 m_scrollLimits has the correct max scroll range, even for iframes Change-Id: Id6f23e23652e38fe6df8d6540977dc0ab7e8d332
* | Reduce base layer false clip size to avoid rounding issuesChris Craik2012-06-052-1/+6
| | | | | | | | | | bug:6605853 Change-Id: I65583e61197452ac70c5adf5f967182f0fd7578a
* | Disable clipping on the base surfaceChris Craik2012-06-011-1/+6
| | | | | | | | | | | | | | | | Base surface can expand dynamically (see BaseLayerAndroid::updatePosition) to fill the viewport, so disable clipping on it. bug:6593707 Change-Id: I3afafb28fbe95d3162c76f8e835932577ded65ce
* | Don't allow merging within an animated layerChris Craik2012-05-312-7/+12
|/ | | | | | | Also isolates layer translation fudging so as to not affect child transforms. bug:6585341 Change-Id: If416c6fad90ee37fbe3438e01706b34e683165b7
* Merge "Minimize tearing for fixed element in single surface mode" into jb-devTeng-Hui Zhu2012-05-303-6/+21
|\
| * Minimize tearing for fixed element in single surface modeTeng-Hui Zhu2012-05-303-6/+21
| | | | | | | | | | | | bug:5683630 Change-Id: I43f738f2649a79b4ad7865ed27375c07195fa9b9
* | Merge "Draw entire layer tree in capturePicture()" into jb-devChris Craik2012-05-301-0/+1
|\ \
| * | Draw entire layer tree in capturePicture()Chris Craik2012-05-301-0/+1
| |/ | | | | | | | | | | | | Also fixes matrix initialization in BaseLayerAndroid::getLocalTransform() bug:6389297 Change-Id: I6a3df3de129aa263986c5082614d8d76bc7408f7
* | Merge "Reduce UI-thread computation" into jb-devChris Craik2012-05-292-36/+14
|\ \ | |/ |/|
| * Reduce UI-thread computationChris Craik2012-05-252-36/+14
| | | | | | | | | | | | | | | | | | If the current clip covers the entire view, we don't have to calculate framework invals from swapping layers - we already draw them immediately. bug:6530473 Change-Id: I4b639e06781371e37c246f3220b79f28e7d95649
* | Compute scroll limits correctlyJohn Reck2012-05-252-14/+21
| | | | | | | | | | | | Bug: 6563848 Change-Id: I167487fab64c97b6c4ec7f1b14639415ce15e26f
* | Merge "Better support for HTML5 audio loop" into jb-devTeng-Hui Zhu2012-05-251-0/+1
|\ \ | |/ |/|
| * Better support for HTML5 audio loopTeng-Hui Zhu2012-05-241-0/+1
| | | | | | | | | | | | | | | | | | bug:5461143 frameworks change: https://android-git.corp.google.com/g/#/c/193751/ Change-Id: I691a8aa7eb2a7fc196358a3ab2929075bd4a8a8b
* | Compute draw transforms only for new/dynamically transformed layersChris Craik2012-05-245-43/+63
| | | | | | | | | | | | | | | | | | Previously, hundreds of layers could take 4+ ms to update transforms. Now, only those that are fixed, have animations, or are scrollable calculate transforms. bug:6530473 Change-Id: Ic9b14b76190c5bd0e5a405914a624d92b7ca7980
* | Merge "Move scrollOffset into Layer class" into jb-devChris Craik2012-05-245-12/+14
|\ \
| * | Move scrollOffset into Layer classChris Craik2012-05-235-12/+14
| |/ | | | | | | | | | | | | | | Layer can now use the offset to paint, resulting in correct translates for overflow:scroll layers in the Layer::draw() path. bug:6548000 Change-Id: I1dfb88b15491e72e6c3841ce2953e114124e40fd
* | Merge "Add tracing to interesting/potentially costly functions" into jb-devChris Craik2012-05-231-0/+1
|\ \
| * | Add tracing to interesting/potentially costly functionsChris Craik2012-05-231-0/+1
| |/ | | | | | | | | | | bug:6530473 bug:6344165 Change-Id: I40b190036af8c021134d5ac450e3217098ba2296
* | Fix crashNicolas Roard2012-05-231-0/+2
|/ | | | | bug:6537803 Change-Id: Ie0bb6e64644fd82c0ed6cf92c592c434f67fdc0d
* Disable transform fudging for merged surfacesChris Craik2012-05-211-1/+4
| | | | | | | | | Draw transforms are used at painting time for merged surfaces, so they shouldn't be manipulated in the draw path. The fudging isn't necessary for these surfaces in the first place, as merged surfaces are always aligned to pixel coordinates. bug:6156523 Change-Id: I3d954869188008f1a9e35915df893d75b49be6a2
* Fix memory leak and repaint issues with fixed background elementsNicolas Roard2012-05-182-1/+4
| | | | | | bug:6522485 bug:6486951 Change-Id: Ia707efed9311e4352eed3ab005ec7ca93b8444e4
* Remove paint tile operations for stale paintersChris Craik2012-05-182-0/+16
| | | | | | | | bug:6516612 also adds ClassTracker to several classes Change-Id: I9a503084240d4935fba300a3256d266a2982dcc0
* Make sure CanvasLayer isn't merged and is initialized correctlyJohn Reck2012-05-173-1/+4
| | | | | | Bug: 6516775 Change-Id: Ifecddec18d369ba701668be85d4032918fc8d4fa
* Fix invalidations sent to frameworkNicolas Roard2012-05-171-4/+7
| | | | | bug:6479200 bug:6323847 bug:4124445 Change-Id: I1a4058ba6c69d3e285b6274d99a6eafcbf1cdc6f
* Check layer state before dereferencingChris Craik2012-05-171-1/+3
| | | | | bug:6509226 Change-Id: Ie64bc2d92ddb2f323b20fa5bc8d1385dcb0e04c1
* Allow more layers to be merged (merging fixed)Nicolas Roard2012-05-163-25/+18
| | | | | | | | | | This will reduce the need to go to single surface rendering mode, as well as improving jank by reducing the number of surfaces we need. (tested on a set of popular sites, we now need up to 16 times less surfaces, commonly 4-5 times less) bug:5683630 bug:6499283 bug:6366440 Change-Id: I761c6a60279e5b21dca8bc1faccd956be58e3702
* Merge "Revert "Allow more layers to be merged."" into jb-devJohn Reck2012-05-162-13/+17
|\
| * Revert "Allow more layers to be merged."Chris Craik2012-05-162-13/+17
| | | | | | | | | | | | | | This was causing content to go missing. bug:6504906 This reverts commit 0b072353e2ad89087c944dfb4acb1eff87bbac49