summaryrefslogtreecommitdiffstats
path: root/Source/JavaScriptCore
Commit message (Collapse)AuthorAgeFilesLines
* [WebKit] Browsermark DomAdvSearch and DomSearch optimizationsKulanthaivel Palanichamy2013-01-201-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a combination of the following optimizations. Optimize appendCharactersReplacingEntities [Performance] Optimize innerHTML and outerHTML https://bugs.webkit.org/show_bug.cgi?id=81214 Optimize Dromaeo/dom-query.html by caching NodeRareData on Document https://bugs.webkit.org/show_bug.cgi?id=90059 Optimize Dromaeo/dom-attr.html by speeding up Element::getAttribute() https://bugs.webkit.org/show_bug.cgi?id=90174 Change argument types of Element::getAttribute*() from String to AtomicString https://bugs.webkit.org/show_bug.cgi?id=90246 Conflicts: Source/WebCore/ChangeLog Source/WebCore/dom/Document.cpp Source/WebCore/dom/Document.h Conflicts: Source/WebCore/ChangeLog Change-Id: I9ca3d2e883155e2ad08c3cb0c5912b935ebe9406
* DOM OptimizationsNaiem Shaik2013-01-208-56/+62
| | | | | | | | | | | | DOM traversal optimizations DOM Core optimizations Prefetch optimization for DOM Tree Traversal Conflicts: Source/WebKit/android/jni/WebViewCore.cpp Change-Id: Icbb8a7229ee9cff1a5401b57c8181f18b9a6d6e0
* Implement requestAnimationFrameYida Wang2013-01-202-0/+17
| | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit 47ff59a279eab9ae5dd1fd17ce7057431750a0b5) Change-Id: I7e77200006bb0c4cd4b4209082296c425bd207c1
* WebGL implementation for AndroidPierre-Antoine LaFayette2013-01-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove unused ANDROID_STYLE_VERSIONGeorge Mount2012-06-201-2/+0
| | | | | | | ANDROID_STYLE_VERSION was introduced to help with performance of NavCache. Since removal of NavCache, this is unnecessary. Change-Id: I8ebb4f4830f855961ca9c9cdb0ef300d057091de
* Use preemptive permissions policy for GeolocationSteve Block2012-05-221-5/+0
| | | | | | | | | | This means that we always check for permission before starting the location acquisition process. We pass all Geolocation LayoutTests. Bug: 4500947 Change-Id: Ia963874cecbf79ce2cc99c5f848682d1cc8aa6aa
* Switch to client-based GeolocationSteve Block2012-05-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this switch is that it is required to enable PREEMPT_GEOLOCATION_PERMISSION. See b/4500947. The switch involves changing lots of Android's WebKit plumbing to use a new GeolocationClientAndroid in WebKit (called from WebCore::GeolocationController), rather than the existing GeolocationServiceAndroid in WebCore/platform (called from WebCore::Geolocation). This is complicated by the need to support mocking for LayoutTests. The pattern used is very similar to that used for DeviceOrientation and DeviceMotion. This patch ... - Enables CLIENT_BASED_GEOLOCATION - Leaves PREEMPT_GEOLOCATION_PERMISSION disabled for now - Removes GeolocationServiceAndroid - Adds a new GeolocationClientAndroid - Just a proxy to real client - Adds a new GeolocationManager - Manages switching between the real and mock clients - Provides the appropriate client to GeolocationClientAndroid - Plumbs to the real client calls for permissions and for suspending/resuming - Adds a new GeolocationClientImpl - The real client - Based heavily on GeolocationServiceAndroid - Delegates to GeolocationServiceBridge, as GeolocationServiceAndroid did - Calls back directly to GeolocationController - Owns the existing GeolocationPermissions - Updates WebViewCore to call the GeolocationManager for permissions and for suspending/resuming - Removes superfluous ChromeClient methods for permissions Note that support for mocking will be added in a later change. See bug for details. Bug: 6511338 Change-Id: I4cdbf55846e76b37c161834b83135b4dc48dbcdc
* Add support for HTML Media Capture "capture" attribute.Ben Murdoch2012-04-131-0/+1
| | | | | | | | | | | | | | | | | | | | Add support in WebKit for the newly specified "capture" attribute to be used on HTML file pickers. Maintains support for the legacy implementation of the API (a MIME type parameter on the 'accept' attribute) for backwards compatibility. Note the 'capture' attribute takes precedent over a MIME type parameter. See http://www.w3.org/TR/html-media-capture/#captureparam for details. Requires changes in the framework (I494adc1274ca21ce8fe52a6c7b6b758217927e66) and Browser (I38dfe2df043fdba1388384dbd3b5370737eb38e5). Bug: 5771207 Change-Id: I0a921be31fda79a43c05da4fe22d9c808d92709c
* Cherry pick webkit change r95090 to fix HashMap/StringHash include problemsChris Craik2012-04-042-2/+3
| | | | Change-Id: I61f2cc831b962913b0cf8ac9ace8fdfe6f3d05c0
* Delete CacheBuilderJohn Reck2012-02-241-1/+0
| | | | | | Fixed address_detector to pass CTS Change-Id: I6e3c4146d4c03881d036be9b8d8708a8200efef8
* disable navcacheJohn Reck2012-02-231-1/+1
| | | | Change-Id: I5f914abfccaad06714838e0f6ac3ecef34e85f2f
* Drop support for Android HTTP stackSteve Block2012-02-221-4/+0
| | | | | | | | | | | | | All future releases will use the Chromium HTTP stack and maintaining two HTTP stacks adds maintenance overhead. The Chromium HTTP stack requires V8, but we now use V8 in all build targets (b/5495373), so we can safely drop the Android HTTP stack. See corresponding framework change https://android-git.corp.google.com/g/166325. Bug: 5495616 Change-Id: I41117b6750fbc1c84cbd4a5951b0d1a457354f93
* Remove option to build WebKit with JSCSteve Block2012-02-161-251/+0
| | | | | | | | | | | | | | | | | | V8 has been the default JS engine since Froyo and has shipped on all devices in Gingerbread onwards. However, we continued to support JSC for a number of reasons. See bug for details. Now that we can use V8 in all cases, we should drop support for JSC to eliminate the maintenance overhead. Adds a clean step as this changes a Makefile. Note that this was previously landed as https://android-git.corp.google.com/g/#/c/162144/, but broke the full_x86-eng build, so was reverted. Bug: 5495373 Change-Id: I3d41362f93b9f3d034f17150aaa402379e75d367
* Initial support for keyboard navigationJohn Reck2012-02-151-2/+0
| | | | | | Bug: 6019693 Change-Id: I7b4f6d83e8913e647e8ac7340afd01d609c4343b
* Revert "Remove option to build WebKit with JSC"Steve Block2012-02-021-0/+251
| | | | | | | | This reverts commit c7a3e9f1af3485e19dee3ea3897580d33c1b9ffe. This broke the full_x86-eng build, as V8 does not support x86. Bug: 5495373
* Remove option to build WebKit with JSCSteve Block2012-02-021-251/+0
| | | | | | | | | | | | V8 has been the default JS engine since Froyo and has shipped on all devices in Gingerbread onwards. However, we continued to support JSC because V8 requires ARMv7 and at the time, the emulator did not support this. Now that the emulator supports ARMv7, we should drop support for JSC to eliminate the maintenance overhead. Bug: 5495373 Change-Id: Ib31fa1b4927099cf16e9e465233c8667317e209c
* Remove ANDROID_CSS_RINGJohn Reck2012-01-181-1/+0
| | | | Change-Id: I7395a5f17b0ccfe8dafcc97fa3ab8897676608e9
* Initial NavCache removalJohn Reck2012-01-111-0/+1
| | | | Change-Id: Id34d3be6b11c4ba77b59dd9fb01a9cc050d581f6
* Removing ANDROID_INSTRUMENTATION codeKristian Monsen2011-11-172-22/+0
| | | | | | | | | | | | | | This has not been used for years, and due to WebKit merges the results are not accurate anymore. The resulting code is cleaner, less likely to create merge conflicts, and does not give the impression that this can be turned on and it will still work. Needs CL: https://android-git.corp.google.com/g/#/c/148912/ Change-Id: I617ad00c103ab72038371a3203452d2ccec0e50c
* Force LOG_ERROR() to be enabled in all buildsSteve Block2011-10-281-1/+4
| | | | | | | | Also, now that LOG() no longer collides with the system logging macro, don't force LOG() and LOG_VERBOSE() to always be disabled. Bug: 5448972 Change-Id: I7f3691b41b5d6f419f4b44c70750489cc6c9e4ed
* Implement all WebKit logging functions on AndroidSteve Block2011-10-281-1/+7
| | | | | | | | | | | | Currently, all WebKit logging goes to stderr. This change hooks it up to logcat. We use a single log level (LOG_DEBUG) to avoid forking this code excessively. Note that logging is enabled only in debug builds, and we force LOG() and LOG_VERBOSE() to never be enabled. This will be changed in a future patch. Bug: 5448972 Change-Id: I8b056743ae09adc518658a639185c3983dd56573
* Merge WebKit at branches/chromium/742 r89068: Initial merge by Git.Ben Murdoch2011-07-131-7/+17
| | | | | | Take us to top of Chrome 12 release branch (12.0.742.130) Change-Id: I4408a97e343a118cf4a1bb9d71367bcc2c16ae48
* Adds WebTiming IDL files to build and sets ENABLE_WEB_TIMINGSteve Block2011-06-141-0/+1
| | | | | Bug: 4442995 Change-Id: I9c37d7022946fd66e1ee635328182bf1456b0de7
* Merge WebKit at branches/chromium/742 r88085: Initial merge by git.Steve Block2011-06-142-10/+3
| | | | Change-Id: I0501b484b9528e31b0026e5ad64416dd6541cdde
* Move all ANDROID defines to wtf/Platform.hSteve Block2011-06-141-18/+103
| | | | | | | | | | | | | | This patch moves many defines from WebCore/config.h to keep all of the Android defines together. Also, WebCore/config.h should not be used by JavaScriptCore (though currently it is on Android), whereas wtf/Platform.h is always included. Some Android defines in WebCore/config.h are already usptreamed, but will be removed in https://bugs.webkit.org/show_bug.cgi?id=62602 Change-Id: Ic6d8c45f4f846a2a7a2d9766179302526c10e2af
* Merge WebKit at r84325: Fix makefiles.Ben Murdoch2011-06-101-3/+2
| | | | | | | See http://trac.webkit.org/changeset/82562 for new XMLTreeViewer generation. Change-Id: I52c8d510602e7e77ea6a134510f8e5bb6b0c4d9a
* Merge WebKit at r84325: Fix conflicts.Ben Murdoch2011-06-101-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platform.h ENABLE_FULLSCREEN_API (http://trac.webkit.org/changeset/83997) WTF_USE_SKIA (http://trac.webkit.org/changeset/84106) JSNavigatorCustom.cpp V8NavigatorCustom.cpp ENABLE(APPLICATION_INSTALLED) (http://trac.webkit.org/changeset/83287) CSSStyleSelector.cpp ANDROID_CSS_RING (http://trac.webkit.org/changeset/83986) Document.cpp ANDROID_META_SUPPORT (http://trac.webkit.org/changeset/83349) ANDROID_INSTRUMENT (http://trac.webkit.org/changeset/82992) HTMLInputElement.cpp ANDROID_ACCEPT_CHANGES_TO_FOCUSED_TEXTFIELDS (http://trac.webkit.org/changeset/82534) RangeInputType.cpp ENABLE(TOUCH_EVENTS) (http://trac.webkit.org/changeset/83256/) ChromeClient.h ANDROID_INSTALLABLE_WEB_APPS (http://trac.webkit.org/changeset/83375) EventHandler.cpp PLATFORM(ANDROID) (http://trac.webkit.org/changeset/83522) Settings ANDROID_PLUGINS (http://trac.webkit.org/changeset/83201) ANDROID_BLOCK_NETWORK_IMAGE (http://trac.webkit.org/changeset/83628) Gradient.cpp Graphicscontext.cpp HTMLCanvasElement.cpp USE(SKIA) && !PLATFORM(ANDROID) (http://trac.webkit.org/changeset/84088) USE(SKIA) && !PLATFORM(ANDROID) (http://trac.webkit.org/changeset/84101) PluginView.h ANDROID_PLUGINS (http://trac.webkit.org/changeset/84071) RenderBox.h ANDROID_LAYOUT (http://trac.webkit.org/changeset/82611) RenderIframe.cpp (moved code to RenderPart.cpp) PLATFORM(ANDROID) (http://trac.webkit.org/changeset/83518) RenderLayer.cpp ANDROID_OVERFLOW_SCROLL (http://trac.webkit.org/changeset/83899) RenderLayer.h RenderLayerBacking.cpp ANDROID_OVERFLOW_SCROLL (http://trac.webkit.org/changeset/83820) Change-Id: Ieabe98f4e01610b6a73e961b673e2fa99b0010e7
* Merge WebKit at r84325: Initial merge by git.Ben Murdoch2011-06-10294-4798/+12825
| | | | Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
* Merge WebKit at r82507: Fix makefilesSteve Block2011-06-081-0/+1
| | | | Change-Id: Ia541ed77797442b5894b6fb88b3b829cc59c3535
* Merge WebKit at r82507: Initial merge by gitSteve Block2011-06-08290-3107/+14905
| | | | Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
* Merge WebKit at r80534: Update uses of PLATFORM(SKIA).Ben Murdoch2011-06-021-1/+1
| | | | | | | | | PLATFORM(SKIA) is replaced with USE(SKIA), see http://trac.webkit.org/changeset/79578 Fix conflicts and update our code to reflect this. Change-Id: Ia23956874418552eb8f107d389557a4cdcb225b6
* Merge WebKit at r80534: Fix makefiles.Ben Murdoch2011-06-022-1/+10
| | | | | | | | | | | | | Add new and remove deleted files to fix makefiles. See http://trac.webkit.org/changeset/79861 for new XSLTreeViewer generation. Also remove a stub from TemporaryLInkStubs that we now get by compiling the correct files in JSC (see http://trac.webkit.org/changeset/78634). Change-Id: I550b035b7c9c915b42738366da7817dca020c9a8
* Merge WebKit at r80534: Intial merge by GitBen Murdoch2011-06-02271-27306/+32481
| | | | Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
* Merge WebKit at r78450: Fix conflicts due to new ENABLE_WEB_ARCHIVE guardSteve Block2011-05-251-7/+1
| | | | | | | | | | | | | This replaces, and therefore conflicts with, Android's existing ENABLE_ARCHIVE guard. This change resolves the conflicts by taking the upstream guard in WebCore, updates WebKit to use the new guard, and enables this guard on Android. See http://trac.webkit.org/changeset/78439 See also http://trac.webkit.org/changeset/78342 for FrameLoader.cpp Change-Id: I28ebaf3d69ea4c352ab4cfbf91c33a8ba25f89b5
* Merge WebKit at r78450: Fix MakefilesSteve Block2011-05-242-33/+12
| | | | | | PCRE switched for YARR - http://trac.webkit.org/changeset/78042 Change-Id: Ie5090e0d7a174e3c2975b807d0b4769b15494156
* Merge WebKit at r78450: Initial merge by git.Steve Block2011-05-24216-11989/+7909
| | | | Change-Id: I6d3e5f1f868ec266a0aafdef66182ddc3f265dc1
* Merge WebKit at r76408: Initial merge by git.Ben Murdoch2011-05-23112-459/+1358
| | | | Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53
* Fix some compiler warningsSteve Block2011-05-191-1/+1
| | | | Change-Id: I4c5fde4898313b26c9a97bd9571b02eaeb35c684
* Merge WebKit at r75993: Fix MakefilesBen Murdoch2011-05-161-7/+1
| | | | Change-Id: I81db2c8ade83fcaf85db13629a12b7e0d2e6dccc
* Merge WebKit at r75993: Initial merge by git.Ben Murdoch2011-05-1685-1895/+4063
| | | | Change-Id: I602bbdc3974787a3b0450456a30a7868286921c3
* Merge WebKit at r75315: Fix MakefilesSteve Block2011-05-131-6/+2
| | | | | | See http://trac.webkit.org/changeset/74646 Change-Id: Ib0ef9902925ddb13ec97fad0753515b10b1d3c01
* Merge WebKit at r75315: Initial merge by git.Steve Block2011-05-121928-0/+535558
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84