Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Sep 12, 2012

  1. Pierre-Antoine LaFayette

    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.
    
    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
    
    -----------------------------------------------------------
    
    Change-Id: If1bf1f53f8050889a22959288e9e3874ea823dd2
    
    Conflicts:
    
    	Source/WebCore/html/HTMLCanvasElement.cpp
    	Source/WebCore/html/HTMLCanvasElement.h
    	Source/WebCore/platform/graphics/android/ImageBufferAndroid.cpp
    plafayet authored Whitehawkx committed
  2. DOM traversal optimizations DOM Core optimizations Prefetch optimizat…

    …ion for DOM Tree Traversal
    
    Change-Id: Ifc330c13f58c254d717d555375a584c9b7ca6479
    Naiem Shaik authored Whitehawkx committed
  3. webkit: networking optimizations

    networking features:
    - memory cache
    - request queue priority
    - event collection mechanism
    
    Change-Id: I19b3dbe97ceddf3651f3549dfa937577149e86d7
    Ebrahem Qassem authored Whitehawkx committed
  4. webkit: HTML5 video user experience and stability fixes

    - Update media player state without requiring base layer
    - Show progress spinner over last video frame while buffering
    - Fix VideoLayerManager tracking of textures
    - Disable javascript rate change if preload not enabled
    - Pass video layer ID to HTML5VideoViewProxy during creation.
      This allows the HTML5VideoViewManager in the android framework to
      determine the HTML5VideoViewProxy instance associated with the
      enterFullScreenVideo call before any video is played
    - Remove videoLayerId parameter to several JNI functions
    - Make animated transition user aspect-ratio-adjusted inline rectangle
    - Resume video from saved position after suspend
    
    Change-Id: Idd0853028f8ea1cbfef557263bc86b7bb1a522a5
    Denise Cheng authored Whitehawkx committed
  5. webkit: Multimedia feature port from ICS

    - Multi-context video
    - Smooth inline to fullscreen video transition
    - Support for autoplay, muted, loop, preload attributes
    - Support for web pages with more than one audio element
    - Support for HTTP live streaming
    - snapdragonPlatformId javascript extension
    
    Change-Id: I06d5a09f5d37f140870e80e4baeccfb717141e64
    
    Conflicts:
    
    	Android.mk
    Denise Cheng authored Whitehawkx committed
  6. Implement requestAnimationFrame

    Cherry-pick from webkit-org branch on Code Aurora Forum:
    
    requestAnimationFrame doesn't throttle on Mac
    https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=d9dca741b4762c433ae18f7a1bc59a3a81861fc8
    
    Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
    https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=f0909a46fa167c84062c63caffef340a6054bc1e
    
    Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change
    https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=cd5d11d662d638b3e4dfda33f23cda907f007f12
    
    Remove partially implemented per-Element visibility checks from requestAnimationFrame logic
    https://www.codeaurora.org/gitweb/quic/la/?p=platform/external/webkit.git;a=commit;h=9fb90af3cebd0e595990cded0941d230cf77dcc1
    
    Change-Id: Ib7e5a1c8138e2ca82c69fe904c1338a7b1fd48ef
    
    Conflicts:
    
    	Android.mk
    Yida Wang authored Whitehawkx committed
  7. Remove inconsistency between HistoryItem writing/reading

    Fixes inconsistent writing of HistoryItem formData
    for the case when formData is not null,
    but it gets flattened and saved as empty string.
    FormData identifier also gets written in that case,
    which creates problem on HistoryItem reading,
    when parser does not expect to meet form identifier
    after it reads zero as FormData size.
    
    Change-Id: I77cf00b5b2a0f2a7cf4355d1bc1b8d4830ac1afb
    Yaroslav Miroshnychenko authored Whitehawkx committed
  8. Crash on Orange media portal

    Visit orange.deezer.com, press tab marked "My Music".
    Browser crashes every time.
    
    Pressing the button will trigger a re-layout of the page.
    This in turn will cause some rendering nodes of type
    RenderLayer to be removed from the rendering tree.
    When such a node is removed, it is important to also
    update certain lists in ancestor nodes that may hold references
    to this node. A node that may hold such a reference is
    identified as being a "stacking context".
    
    However, in Android, when the symbol ENABLE_COMPOSITED_FIXED_ELEMENTS
    is defined, the definition of what is a stacking context
    is expanded. In this case, a node that is a stacking context
    and holds references to descendants, changes one of the conditions
    that form part of Android's expanded stacking context definition.
    So, now it is no longer a stacking context, but the reference list
    is not deleted/updated. When the descendant node is removed a
    search for an ancestral stacking context is made, but it will
    not find this node since it is no longer a stacking context.
    
    The solution is to make sure that the list of references is
    updated/cleared whenever the node changes a condition that
    may cause its status as a stacking context to also change.
    
    Change-Id: If5a7b63715020bc3d23749a7c09003a86d90e28d
    Anders Edenbrandt authored Whitehawkx committed
  9. Fix memory leak caused by CSSRuleList wrapper

    Accessing cssrulelist in javascript will create a new
    CSSRuleList object and wrapper JS object. The wrapper
    JS object will be added into hidden array in parent JS
    object which is alive during the whole execution. Thus
    memory leak happens (CSSRuleList in webkit, wrapper object
    and weak global handle in v8).
    
    Cherry pick 2 patches from upstream solves the problem:
    
    http://trac.webkit.org/changeset/90949
    
    This patch changes hidden reference from array to named
    property. So new wrapper will replace old wrappper. But the
    memory leak still exists because the CSSRuleList wrapper
    will be added into an object group of current document. So
    they will still be alive during execution.
    
    http://trac.webkit.org/changeset/91256
    
    This patch avoids to adding CSSRuleList wrapper into document
    object group. Combined with the first patch, it can resolve
    the memory leak problem.
    
    Change-Id: Icb523db52963726f27b6c02596822cfb6e8d5049
    Author: Vitaly Repeshko <vitalyr@chromium.org>
    Signed-off-by: Xi Qian <xi.qian@intel.com>
    Signed-off-by: Shuo Gao <shuo.gao@intel.com>
    Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
    Signed-off-by: Jack Ren <jack.ren@intel.com>
    Author-tracking-BZ: 32630
    xqian6 authored Whitehawkx committed
  10. ydu19

    Fix browser rendering issue: pure color tiles are rendered black

    The “pure color tile” optimization finds the pure-color tiles and
    then draws the tiles simply with the color (otherwise the texture).
    
    But the RGBA color pointer type is char, which may overflow when
    the value is larger than 127. In such case, the tiles in question
    are rendered black, because of the wrong color. This bug is fixed
    by defining the pointer as unsigned char.
    
    Change-Id: I5c7214423fa6961e707bde72f0e18c610374745d
    Author: Yuyang Du <yuyang.du@intel.com>
    Signed-off-by: Yuyang Du <yuyang.du@intel.com>
    Signed-off-by: Jack Ren <jack.ren@intel.com>
    Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
    ydu19 authored Whitehawkx committed

Aug 23, 2012

  1. Bryce Walter

    Webkit: Change old GPU Header path to new location

    The path external/skia/gpu/* is no longer used in JB.
    It has changed to external/skia/src/gpu/
    This patch set has been submitted to Google as well:
    https://android-review.googlesource.com/#/c/41915/
    
    Change-Id: Ib2b1fad1a2cbd53bf91beb7c2e2ac44cc0ae470b
    Krylon360 authored ProTekk committed

Aug 09, 2012

  1. external/webkit: use Cpu Upload path

    Use Cpu Upload mode since the Gpu mode is not working
    and expected to be slower.
    
    Change-Id: Iacb6de4a4e054e4f6ebb07d8a8209228e78e5ee0
    Matthew Hui authored Whitehawkx committed

Jul 12, 2012

  1. Tom Giordano

    webkit: fix for perl 5.14+

    Change-Id: Id740fff1824d11fef21995d0c472f923e70b3a46
    TomGiordano authored ProTekk committed

Jun 22, 2012

  1. merge in jb-release history after reset to jb-dev

    The Android Automerger authored

Jun 21, 2012

  1. Merge "Make viewport dirtyness calculations recursive" into jb-dev

    Chris Craik authored Android (Google) Code Review committed
  2. Make viewport dirtyness calculations recursive

    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
    Chris Craik authored
  3. merge in jb-release history after reset to jb-dev

    The Android Automerger authored
  4. Don't allow layers that draw via drawGL to merge with other surfaces

    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
    Chris Craik authored

Jun 16, 2012

  1. merge in jb-release history after reset to jb-dev

    The Android Automerger authored

Jun 14, 2012

  1. DO NOT MERGE Respect the "Make password visible" setting.

     Bug 6667146
     Framework Change: I7fc107b02f73f4c54e8fe66484038ea9d7b69d61
    
    Change-Id: I95ffcfa6fa47baad60b1af55f84bee35dfcc7972
    George Mount authored

Jun 13, 2012

  1. merge in jb-release history after reset to jb-dev

    The Android Automerger authored

Jun 12, 2012

  1. Merge "Call the right updatePositions*" into jb-dev

    John Reck authored Android (Google) Code Review committed
  2. Merge "Workaround double blit failure" into jb-dev

    Chris Craik authored Android (Google) Code Review committed
  3. Workaround double blit failure

    An issue occurs on Stingray where calling glTexSubImage2d in order to blit an
    update to a texture fails silently if the texture has already been updated this
    frame.
    
    With this change, we now draw the tile off-screen to work around the issue just
    before the second blit is required. This way, the second blit succeeds.
    
    bug:6630040
    
    Change-Id: I07213954669b0f3d3f5b87a748a591e532b097b4
    Chris Craik authored
  4. merge in jb-release history after reset to jb-dev

    The Android Automerger authored
  5. Crash fix by checking null pointer

    bug:6579681
    Regression from https://android-git.corp.google.com/g/#/c/197452/
    
    Change-Id: If185faec6bb2d014c304afbb8ff752ebfc6e4b51
    Teng-Hui Zhu authored
  6. Call the right updatePositions*

     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
    John Reck authored

Jun 11, 2012

  1. Merge "Remove forgotten CHROME_NETWORK_STACK macros" into jb-dev

    Selim Gurun authored Android (Google) Code Review committed
  2. Merge "Disable dispatchFakeMouseMoveEvent when scrolling a render lay…

    …er" into jb-dev
    John Reck authored Android (Google) Code Review committed
  3. merge in jb-release history after reset to jb-dev

    The Android Automerger authored

Jun 09, 2012

  1. Remove forgotten CHROME_NETWORK_STACK macros

    Bug: 6637033
    
    It seems that somehow these macros were forgotten to be removed
    while dropping http stack, it is likely a merge/rebase issue.
    
    Change-Id: I37b14488dbfd786e3e0deab9775f42f21d2205e7
    Selim Gurun authored

Jun 08, 2012

  1. Disable dispatchFakeMouseMoveEvent when scrolling a render layer

     Bug: 6635039
     This makes sense if you are scrolling the layer with an actual mouse,
     but all it does for us is result in some weird CSS :hover style changes
     and unnecessary painting - disable it.
    
    Change-Id: I08907c5f536c94a00d72fecf72411a1765a4a067
    John Reck authored
  2. Merge "Make sure we gather the textures before any prepare work" into…

    … jb-dev
    Teng-Hui Zhu authored Android (Google) Code Review committed
  3. merge in jb-release history after reset to jb-dev

    The Android Automerger authored
  4. Make sure we gather the textures before any prepare work

    The available tile textures pool is not updated while we try to prepare image.
    This can lead to getting obsolete tile textures.
    
    bug:6613009
    
    Change-Id: I0170f0cfba197c7a7ed48866028b30075417af30
    Teng-Hui Zhu authored
Something went wrong with that request. Please try again.