WebKit.git
8 years agoStop using aligned allocation for WeakBlock
ggaren@apple.com [Sat, 28 Apr 2012 04:26:01 +0000 (04:26 +0000)]
Stop using aligned allocation for WeakBlock
https://bugs.webkit.org/show_bug.cgi?id=85124

Reviewed by Anders Carlsson.

We don't actually use the alignment for anything.

* heap/WeakBlock.cpp:
(JSC::WeakBlock::create):
(JSC::WeakBlock::WeakBlock): Switched from aligned allocation to regular
allocation.

* heap/WeakBlock.h:
(WeakBlock): Don't use HeapBlock because HeapBlock requires aligned
allocation. This change required me to add some declarations that we used
to inherit from HeapBlock.

(WeakBlock::blockFor): Removed. This function relied on aligned allocation
but didn't do anything for us.

(WeakBlock::deallocate): Removed. WeakBlock doesn't own any of the deallocation
logic, so it shouldn't own the function.

* heap/WeakSet.cpp:
(JSC::WeakSet::~WeakSet):
(JSC::WeakSet::finalizeAll):
(JSC::WeakSet::visitLiveWeakImpls):
(JSC::WeakSet::visitDeadWeakImpls):
(JSC::WeakSet::sweep):
(JSC::WeakSet::shrink):
(JSC::WeakSet::resetAllocator):
(JSC::WeakSet::tryFindAllocator):
* heap/WeakSet.h:
(WeakSet): Updated declarations to reflect WeakBlock not inheriting from
HeapBlock. This allowed me to remove some casts, which was nice.

(JSC::WeakSet::deallocate): Directly set the deallocated flag instead of
asking WeakBlock to do it for us.  We don't need to have a WeakBlock
pointer to set the flag, so stop asking for one.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115538 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115529.
commit-queue@webkit.org [Sat, 28 Apr 2012 04:16:22 +0000 (04:16 +0000)]
Unreviewed, rolling out r115529.
http://trac.webkit.org/changeset/115529
https://bugs.webkit.org/show_bug.cgi?id=85125

Broke Clang build (Requested by enne on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-27

* WebKit.gypi:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* tests/WebMediaPlayerClientImplTest.cpp: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115537 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[JSC] Implement a helper method createNotEnoughArgumentsError()
haraken@chromium.org [Sat, 28 Apr 2012 03:58:33 +0000 (03:58 +0000)]
[JSC] Implement a helper method createNotEnoughArgumentsError()
https://bugs.webkit.org/show_bug.cgi?id=85102

Reviewed by Geoffrey Garen.

In bug 84787, kbr@ requested to avoid hard-coding
createTypeError(exec, "Not enough arguments") here and there.
This patch implements createNotEnoughArgumentsError(exec)
and uses it in JSC bindings.

c.f. a corresponding bug for V8 bindings is bug 85097.

Source/JavaScriptCore:

* runtime/Error.cpp:
(JSC::createNotEnoughArgumentsError):
(JSC):
* runtime/Error.h:
(JSC):

Source/WebCore:

Test: bindings/scripts/test/TestObj.idl

* bindings/scripts/CodeGeneratorJS.pm: Modified as described above.
(GenerateArgumentsCountCheck):

* bindings/js/JSDataViewCustom.cpp: Ditto.
(WebCore::getDataViewMember):
(WebCore::setDataViewMember):
* bindings/js/JSDeprecatedPeerConnectionCustom.cpp:
(WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
* bindings/js/JSDirectoryEntryCustom.cpp:
(WebCore::JSDirectoryEntry::getFile):
(WebCore::JSDirectoryEntry::getDirectory):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
* bindings/js/JSWebKitMutationObserverCustom.cpp:
(WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
(WebCore::JSWebKitMutationObserver::observe):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorkerConstructor::constructJSWorker):

* bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests.
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjConstructorFunctionClassMethod2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
(WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115536 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Call highMemoryUsageMB directly
pilgrim@chromium.org [Sat, 28 Apr 2012 03:56:53 +0000 (03:56 +0000)]
[Chromium] Call highMemoryUsageMB directly
https://bugs.webkit.org/show_bug.cgi?id=84841

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::checkMemoryUsage):
* platform/MemoryUsageSupport.cpp:
(WebCore::MemoryUsageSupport::highMemoryUsageMB):
(WebCore):
* platform/MemoryUsageSupport.h:
(MemoryUsageSupport):
* platform/chromium/MemoryUsageSupportChromium.cpp:
(WebCore::MemoryUsageSupport::highMemoryUsageMB):
(WebCore):
* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115535 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoOnly allow non-null pointers in the WeakSet
ggaren@apple.com [Sat, 28 Apr 2012 03:43:29 +0000 (03:43 +0000)]
Only allow non-null pointers in the WeakSet
https://bugs.webkit.org/show_bug.cgi?id=85119

Reviewed by Darin Adler.

../JavaScriptCore:

This is a step toward more efficient finalization.

No clients put non-pointers (JSValues) into Weak<T> and PassWeak<T>.

Some clients put null pointers into Weak<T> and PassWeak<T>, but this is
more efficient and straight-forward to model with a null in the Weak<T>
or PassWeak<T> instead of allocating a WeakImpl just to hold null.

* heap/PassWeak.h:
(JSC): Removed the Unknown (JSValue) type of weak pointer because it's
unused now.

(PassWeak): Don't provide a default initializer for our JSCell* argument.
This feature was only used in one place, and it was a bug.

(JSC::::get): Don't check for a null stored inside our WeakImpl: that's
not allowed anymore.

(JSC::PassWeak::PassWeak): Handle null as a null WeakImpl instead of
allocating a WeakImpl and storing null into it.

* heap/Weak.h:
(Weak):
(JSC::::Weak): Same changes as in PassWeak<T>.

* heap/WeakBlock.cpp:
(JSC::WeakBlock::visitLiveWeakImpls):
(JSC::WeakBlock::visitDeadWeakImpls): Only non-null cells are valid in
the WeakSet now, so no need to check for non-cells and null cell pointers.

* heap/WeakImpl.h:
(JSC::WeakImpl::WeakImpl): Only non-null cells are valid in the WeakSet
now, so ASSERT that.

../WebCore:

* bridge/jsc/BridgeJSC.cpp:
(JSC::Bindings::Instance::Instance): Don't allocate a WeakImpl just to
store null. This was needless, and is now a compile error. Instead,
rely on the default constructor, which will produce a cheap null.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115534 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago"Not enough arguments" error should be TypeError
haraken@chromium.org [Sat, 28 Apr 2012 03:30:28 +0000 (03:30 +0000)]
"Not enough arguments" error should be TypeError
https://bugs.webkit.org/show_bug.cgi?id=84628

Reviewed by Darin Adler.

Source/WebCore:

Currently, some custom bindings implement "Not enough arguments"
error as SyntaxError. The Web IDL spec requires that it should be
TypeError: http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm
Thus, this patch changes SyntaxError to TypeError.

Tests: http/tests/websocket/tests/hixie76/url-parsing.html:
       http/tests/websocket/tests/hybi/url-parsing.html:
       http/tests/xmlhttprequest/exceptions.html:
       svg/dom/SVGLength.html:
       webaudio/audionode.html:

* bindings/js/JSAudioContextCustom.cpp:
(WebCore::JSAudioContextConstructor::constructJSAudioContext):
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocketConstructor::constructJSWebSocket):
(WebCore::JSWebSocket::send):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
* bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallback):
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
* bindings/v8/custom/V8WebSocketCustom.cpp:
(WebCore::V8WebSocket::constructorCallback):
(WebCore::V8WebSocket::sendCallback):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::openCallback):

LayoutTests:

Currently, some custom bindings implement "Not enough arguments"
error as SyntaxError. The Web IDL spec requires that it should be
TypeError: http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm
Thus, this patch changes SyntaxError to TypeError, and adds test
cases for the exception.

* http/tests/websocket/tests/hixie76/send-empty-expected.txt:
* http/tests/websocket/tests/hixie76/url-parsing.html:
* http/tests/websocket/tests/hybi/send-empty-expected.txt:
* http/tests/websocket/tests/hybi/url-parsing.html:
* http/tests/xmlhttprequest/exceptions-expected.txt:
* http/tests/xmlhttprequest/exceptions.html:
* platform/chromium-linux/http/tests/websocket/tests/hixie76/url-parsing-expected.txt:
* platform/chromium/http/tests/websocket/tests/hybi/url-parsing-expected.txt:
* svg/dom/SVGLength-expected.txt:
* webaudio/audionode-expected.txt:
* webaudio/audionode.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115533 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[GTK] jhbuild cloning is not following WEBKITOUTPUTDIR.
kov@webkit.org [Sat, 28 Apr 2012 03:23:49 +0000 (03:23 +0000)]
[GTK] jhbuild cloning is not following WEBKITOUTPUTDIR.
https://bugs.webkit.org/show_bug.cgi?id=76161

Reviewed by Martin Robinson.

* Scripts/webkitdirs.pm:
(getJhbuildPath): New method to obtain the jhbuild base directory,
using the product base directory
(jhbuildConfigurationChanged): Use the new method
(buildAutotoolsProject): Ditto.
* efl/jhbuildrc: Use WEBKITOUTPUTDIR when calculating the path.
* gtk/jhbuildrc: Ditto.
* jhbuild/jhbuild-wrapper: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115532 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove SHADER_COMPILER constant
kbr@google.com [Sat, 28 Apr 2012 03:20:53 +0000 (03:20 +0000)]
Remove SHADER_COMPILER constant
https://bugs.webkit.org/show_bug.cgi?id=85115

Reviewed by Darin Adler.

Source/WebCore:

Removed constant which was previously removed from spec. Updated
layout test and expected results.

* html/canvas/WebGLRenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/constants-expected.txt: Updated expected results.
* fast/canvas/webgl/constants.html: Synced test with Khronos repository.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115531 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Fixed background is scrolling in http://www.nieuwecode.nl
commit-queue@webkit.org [Sat, 28 Apr 2012 03:12:25 +0000 (03:12 +0000)]
[BlackBerry] Fixed background is scrolling in nieuwecode.nl
https://bugs.webkit.org/show_bug.cgi?id=85109

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.

Since the BlackBerry port uses very similar fixed position acceleration
as the Qt WebKit2 port, the same fix that worked for them in bug 83980
works for us.

Fixed by opting in to the FIXED_POSITION_CREATES_STACKING_CONTEXT
mechanism.

Covered by existing manual test fixed-position-no-z-index.html.

* css/StyleResolver.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115530 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Allow WebMediaPlayerClientImpl to switch clients
enne@google.com [Sat, 28 Apr 2012 02:55:49 +0000 (02:55 +0000)]
[chromium] Allow WebMediaPlayerClientImpl to switch clients
https://bugs.webkit.org/show_bug.cgi?id=85093

Reviewed by James Robinson.

WebVideoFrameProviderClient has a 1:1 relationship with a
WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
provider is WebMediaPlayerClientImpl.  If the provider gets a new
client, then the old client needs to be informed to stop using the
provider.

If this doesn't happen, then the old client will have an unsafe
pointer to the provider, will not get informed if the provider gets
deleted, and the client will crash when it dereferences the provider
pointer trying to tell the provider that its client is going away.

Test: WebMediaPlayerClientImplTest.InitialNullVideoClient
      WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
      WebMediaPlayerClientImplTest.DestroyProvider
      WebMediaPlayerClientImplTest.SetMultipleVideoClients

* WebKit.gypi:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* tests/WebMediaPlayerClientImplTest.cpp: Added.
(WebKit):
(FakeWebMediaPlayerClientImpl):
(WebKit::FakeWebMediaPlayerClientImpl::create):
(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
(FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::create):
(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
(WebKit::FakeVideoFrameProviderClient::provider):
(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
(WebKit::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115529 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Double tap zooming does nothing on table element on bustedtees.com
commit-queue@webkit.org [Sat, 28 Apr 2012 02:43:48 +0000 (02:43 +0000)]
[BlackBerry] Double tap zooming does nothing on table element on bustedtees.com
https://bugs.webkit.org/show_bug.cgi?id=85104

Patch by Jacky Jiang <zhajiang@rim.com> on 2012-04-27
Reviewed by George Staikos.

PR: 147006
This was caused by the incorrect fix master_33/SHA:612caec4.
Calculations like this "originalArea / pageArea" would always return 0
so that the incorrect node and blockRect were used by block zoom. This
patch takes care of it.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
(BlackBerry::WebKit::WebPage::blockZoom):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115528 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Fix compiler warning in CCSchedulerTest.cpp with gcc 4.6.3
tony@chromium.org [Sat, 28 Apr 2012 02:29:26 +0000 (02:29 +0000)]
[chromium] Fix compiler warning in CCSchedulerTest.cpp with gcc 4.6.3
https://bugs.webkit.org/show_bug.cgi?id=85110

Reviewed by James Robinson.

Using gcc 4.6.3 (default on Precise), I get:
third_party/WebKit/Source/WebKit/chromium/tests/CCSchedulerTest.cpp:188:5: error: converting 'false' to pointer type
for argument 1 of 'char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)' [-Werror=conversion-null]

* tests/CCSchedulerTest.cpp:
(WebKitTests::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115527 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agofast/forms/listbox-clear-restore.html is failing
commit-queue@webkit.org [Sat, 28 Apr 2012 02:16:31 +0000 (02:16 +0000)]
fast/forms/listbox-clear-restore.html is failing
https://bugs.webkit.org/show_bug.cgi?id=82818

Patch by Joe Thomas <joethomas@motorola.com> on 2012-04-27
Reviewed by Darin Adler.

This testcase was flaky on the bot and from the screenshots it looks like the timer failed to fire.
Using document.body.offsetWidth to force a layout instead of timer.

* fast/forms/listbox-clear-restore.html:
* platform/mac/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115526 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoExpose high-resolution on requestAnimationFrame callback
nduca@chromium.org [Sat, 28 Apr 2012 01:28:07 +0000 (01:28 +0000)]
Expose high-resolution on requestAnimationFrame callback
https://bugs.webkit.org/show_bug.cgi?id=66683

This changes requestAnimationFrame's animationStartTime argument
to be a high resolution DOM timestamp, per disucssion here:
http://lists.w3.org/Archives/Public/public-web-perf/2012Apr/0004.html

Reviewed by James Robinson.

Source/WebCore:

Covered by existing requestAnimationFrame tests.

* dom/Document.cpp:
(WebCore::Document::serviceScriptedAnimations):
* dom/Document.h:
(Document):
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore):
(WebCore::ScriptedAnimationController::windowScreenDidChange):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):
(WebCore::ScriptedAnimationController::displayRefreshFired):
* dom/ScriptedAnimationController.h:
(ScriptedAnimationController):
* page/FrameView.cpp:
(WebCore::FrameView::serviceScriptedAnimations):
* page/FrameView.h:
(FrameView):
* platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
(WebCore::DisplayRefreshMonitor::notifyClients):
* platform/graphics/DisplayRefreshMonitor.h:
(DisplayRefreshMonitor):
* platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
(WebCore::DisplayRefreshMonitor::displayLinkFired):
* platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
(WebCore):
(WebCore::DisplayRefreshMonitor::requestRefreshCallback):
(WebCore::DisplayRefreshMonitor::displayLinkFired):

Source/WebKit/chromium:

* src/PageWidgetDelegate.cpp:
(WebKit::PageWidgetDelegate::animate):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateAnimations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115525 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Unreviewed, updating baselines for media/video-colorspace-yuv420/422.html...
scherkus@chromium.org [Sat, 28 Apr 2012 01:26:30 +0000 (01:26 +0000)]
[Chromium] Unreviewed, updating baselines for media/video-colorspace-yuv420/422.html due to r115510.

* platform/chromium-linux/media/video-colorspace-yuv420-expected.png:
* platform/chromium-linux/media/video-colorspace-yuv422-expected.png:
* platform/chromium-mac-leopard/media/video-colorspace-yuv420-expected.png:
* platform/chromium-mac-leopard/media/video-colorspace-yuv422-expected.png:
* platform/chromium-mac-snowleopard/media/video-colorspace-yuv420-expected.png:
* platform/chromium-mac-snowleopard/media/video-colorspace-yuv422-expected.png:
* platform/chromium-mac/media/video-colorspace-yuv420-expected.png:
* platform/chromium-mac/media/video-colorspace-yuv420-expected.txt:
* platform/chromium-mac/media/video-colorspace-yuv422-expected.png:
* platform/chromium-mac/media/video-colorspace-yuv422-expected.txt:
* platform/chromium-win/media/video-colorspace-yuv420-expected.png:
* platform/chromium-win/media/video-colorspace-yuv420-expected.txt:
* platform/chromium-win/media/video-colorspace-yuv422-expected.png:
* platform/chromium-win/media/video-colorspace-yuv422-expected.txt:
* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115524 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago<rdar://problem/7909395> Math in JavaScript is inaccurate on iOS
barraclough@apple.com [Sat, 28 Apr 2012 01:02:03 +0000 (01:02 +0000)]
<rdar://problem/7909395> Math in JavaScript is inaccurate on iOS

By defalut IEEE754 denormal support is disabled on iOS;
turn it on.

Reviewed by Filip Pizlo.

* jsc.cpp:
(main):
    - clear the appropriate bit in the fpscr.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115523 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[V8] Implement a helper method V8Proxy::throwNotEnoughArgumentsError()
haraken@chromium.org [Sat, 28 Apr 2012 01:00:47 +0000 (01:00 +0000)]
[V8] Implement a helper method V8Proxy::throwNotEnoughArgumentsError()
https://bugs.webkit.org/show_bug.cgi?id=85097

Reviewed by Kenneth Russell.

In bug 84787, kbr requested to avoid hard-coding
throwError("Not enough arguments", V8Proxy::TypeError) here and there.
This patch implements V8Proxy::throwNotEnoughArgumentsError()
and uses it in V8 bindings.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateArgumentsCountCheck):
(GenerateEventConstructorCallback):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::throwNotEnoughArgmentsError):
(WebCore):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::V8DataView::getInt8Callback):
(WebCore::V8DataView::getUint8Callback):
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* bindings/v8/custom/V8IntentConstructor.cpp:
(WebCore::V8Intent::constructorCallback):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::constructorCallback):
(WebCore::V8WebKitMutationObserver::observeCallback):

Test: bindings/scripts/test/TestObj.idl

* bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
(GenerateArgumentsCountCheck):
(GenerateEventConstructorCallback):

* bindings/v8/V8Proxy.cpp: Ditto.
(WebCore::V8Proxy::throwNotEnoughArgumentsError):
(WebCore):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::V8DataView::getInt8Callback):
(WebCore::V8DataView::getUint8Callback):
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* bindings/v8/custom/V8IntentConstructor.cpp:
(WebCore::V8Intent::constructorCallback):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::constructorCallback):
(WebCore::V8WebKitMutationObserver::observeCallback):

* bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests.
(WebCore::Float64ArrayV8Internal::fooCallback):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::constructorCallback):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::TestEventTargetV8Internal::itemCallback):
(WebCore::TestEventTargetV8Internal::dispatchEventCallback):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
(WebCore::TestObjV8Internal::intMethodWithArgsCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore::TestObjV8Internal::methodReturningSequenceCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::serializedValueCallback):
(WebCore::TestObjV8Internal::idbKeyCallback):
(WebCore::TestObjV8Internal::optionsObjectCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):
(WebCore::TestObjV8Internal::overloadedMethod2Callback):
(WebCore::TestObjV8Internal::overloadedMethod3Callback):
(WebCore::TestObjV8Internal::overloadedMethod4Callback):
(WebCore::TestObjV8Internal::overloadedMethod5Callback):
(WebCore::TestObjV8Internal::overloadedMethod6Callback):
(WebCore::TestObjV8Internal::overloadedMethod7Callback):
(WebCore::TestObjV8Internal::overloadedMethod11Callback):
(WebCore::TestObjV8Internal::overloadedMethod12Callback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
(WebCore::TestObjV8Internal::convert1Callback):
(WebCore::TestObjV8Internal::convert2Callback):
(WebCore::TestObjV8Internal::convert3Callback):
(WebCore::TestObjV8Internal::convert4Callback):
(WebCore::TestObjV8Internal::convert5Callback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::V8TestObj::constructorCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115522 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Call lowMemoryUsageMB directly
pilgrim@chromium.org [Sat, 28 Apr 2012 00:34:57 +0000 (00:34 +0000)]
[Chromium] Call lowMemoryUsageMB directly
https://bugs.webkit.org/show_bug.cgi?id=84840

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::checkMemoryUsage):
* platform/MemoryUsageSupport.cpp:
(WebCore::MemoryUsageSupport::lowMemoryUsageMB):
(WebCore):
* platform/MemoryUsageSupport.h:
(MemoryUsageSupport):
* platform/chromium/MemoryUsageSupportChromium.cpp:
(WebCore::MemoryUsageSupport::lowMemoryUsageMB):
(WebCore):
* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115521 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoREGRESSION(113723): Pressing enter in this list example deletes the whole list
yi.4.shen@nokia.com [Sat, 28 Apr 2012 00:10:23 +0000 (00:10 +0000)]
REGRESSION(113723): Pressing enter in this list example deletes the whole list
https://bugs.webkit.org/show_bug.cgi?id=85016

Reviewed by Enrica Casucci.

The bug was caused by CompositeEditCommand::breakOutOfEmptyListItem, which calls isListItem
on the empty list's siblings to decide which part of the list should get removed. However,
the check fails when the empty list's sibling is a text node, or a list element (e.g. ul, ol).
Fixed it by skipping empty list's non-element sibling and calling isListElement to do further
check.

Source/WebCore:

Test: added new test cases in the existing test (break-out-of-empty-list-item.html)

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem):

LayoutTests:

* editing/execCommand/break-out-of-empty-list-item-expected.txt:
* editing/execCommand/script-tests/break-out-of-empty-list-item.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115520 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Add pause and resume support for accelerated css animations.
commit-queue@webkit.org [Sat, 28 Apr 2012 00:07:49 +0000 (00:07 +0000)]
[chromium] Add pause and resume support for accelerated css animations.
https://bugs.webkit.org/show_bug.cgi?id=84601

Patch by Ian Vollick <vollick@chromium.org> on 2012-04-27
Reviewed by James Robinson.

Source/WebCore:

Tested in:
CCLayerAnimationControllerTest.syncPauseResume
CCActiveAnimationTest.TrimTimeTimeOffset
CCActiveAnimationTest.TrimTimeSuspendResume
CCActiveAnimationTest.IsFinishedNeedsSynchronizedStartTime
CCActiveAnimationTest.RunStateChangesIgnoredWhileSuspended

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::suspendAnimations):
(WebCore::GraphicsLayerChromium::resumeAnimations):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::suspendAnimations):
(WebCore::LayerChromium::resumeAnimations):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::setRunState):
(WebCore::CCActiveAnimation::suspend):
(WebCore::CCActiveAnimation::resume):
(WebCore::CCActiveAnimation::isFinishedAt):
(WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
(WebCore::CCActiveAnimation::cloneForImplThread):
(WebCore::CCActiveAnimation::pushPropertiesTo):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(CCActiveAnimation):
(WebCore::CCActiveAnimation::setStartTime):
(WebCore::CCActiveAnimation::timeOffset):
(WebCore::CCActiveAnimation::setTimeOffset):
(WebCore::CCActiveAnimation::isFinished):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::addAnimation):
(WebCore::CCLayerAnimationController::pauseAnimation):
(WebCore::CCLayerAnimationController::suspendAnimations):
(WebCore::CCLayerAnimationController::resumeAnimations):
(WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
(WebCore::CCLayerAnimationController::getActiveAnimation):
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
(WebCore::CCLayerAnimationController::pushPropertiesToImplThread):
(WebCore):
(WebCore::CCLayerAnimationController::tickAnimations):
* platform/graphics/chromium/cc/CCLayerAnimationController.h:
(CCLayerAnimationController):

Source/WebKit/chromium:

* tests/CCActiveAnimationTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCLayerAnimationControllerTest.cpp:
(WebKitTests::TEST):
(WebKitTests):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115519 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSMIL animation causes leak of the related Document (and many elements)
timothy_horton@apple.com [Sat, 28 Apr 2012 00:04:50 +0000 (00:04 +0000)]
SMIL animation causes leak of the related Document (and many elements)
https://bugs.webkit.org/show_bug.cgi?id=83856
<rdar://problem/11216047>

Reviewed by Dean Jackson.

The SVGAnimatedProperty cache was previously holding a reference to the properties it contained;
said references were cleared in the SVGAnimatedProperty destructor (which was never called because
there was always one remaining reference from the cache).

The SVGAnimatedProperty cache now holds raw pointers instead of RefPtrs; the SVGAnimateElement now
owns its own SVGAnimatedProperties, both for itself and for any <use/> instances of itself. They're
cleared and destroyed within SVGAnimateElement::targetElementWillChange, at which time they're removed
from the cache.

SVGPropertyTearOffs now keep a reference to their SVGElement (m_contextElement) instead of their SVGAnimatedProperty;
this way, there is no reference cycle, but the animated property (owned by the element) and the element itself are
kept alive until the TearOff is garbage collected.

Add a few tests for different parts of this patch: smil-leak-elements tests that animated
elements are garbage collected properly after being removed from the page;

smil-leak-element-instances and its related smil-leak-element-instances-noBaseValRef test
that we don't leak instances after they're removed from the document while the original element is still alive;

smil-leak-dynamically-added-element-instances tests the same thing, but adds half of the instances
while the animation is in the middle of running;

svglength-element-removed-crash ensures that an animated element is not freed
if JavaScript code is holding a reference to an animated property wrapper.

File lists left off because they're very long.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115518 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove misspelled, unused, unimplemented method from V8Proxy
adamk@chromium.org [Fri, 27 Apr 2012 23:56:42 +0000 (23:56 +0000)]
Remove misspelled, unused, unimplemented method from V8Proxy
https://bugs.webkit.org/show_bug.cgi?id=85091

Reviewed by Dimitri Glazkov.

* bindings/v8/V8Proxy.h:
(V8Proxy):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115517 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMemory wasted in JSString for non-rope strings
msaboff@apple.com [Fri, 27 Apr 2012 23:51:17 +0000 (23:51 +0000)]
Memory wasted in JSString for non-rope strings
https://bugs.webkit.org/show_bug.cgi?id=84907

Reviewed by Geoffrey Garen.

Split JSString into two classes, JSString as a base class that does not
include the fibers of a Rope, and a subclass JSRopeString that has the
rope functionality.  Both classes "share" the same ClassInfo.  Added
a bool to JSString to indicate that the string was allocated as a JSRopeString
to properly handle visiting the fiber children when the rope is resolved and
the JSRopeString appears as a JSString.  Didn't change the interface of JSString
to require any JIT changes.

As part of this change, removed "cellSize" from ClassInfo since both classes
share the same ClassInfo, but have different sizes.  The only use I could find
for cellSize was an ASSERT in allocateCell().

This appears to be neutral on performance tests.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Changed JSString::resolveRope
        to JSRopeString::resolveRope
* runtime/ClassInfo.h:
(JSC):
(ClassInfo):
* runtime/JSCell.h:
(JSC::allocateCell):
* runtime/JSString.cpp:
(JSC::JSRopeString::RopeBuilder::expand):
(JSC::JSString::visitChildren):
(JSC):
(JSC::JSRopeString::visitFibers):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):
(JSC::JSRopeString::outOfMemory):
(JSC::JSRopeString::getIndexSlowCase):
* runtime/JSString.h:
(JSC):
(JSString):
(JSC::JSString::finishCreation):
(JSC::JSString::create):
(JSC::JSString::isRope):
(JSC::JSString::is8Bit):
(JSRopeString):
(RopeBuilder):
(JSC::JSRopeString::RopeBuilder::RopeBuilder):
(JSC::JSRopeString::RopeBuilder::append):
(JSC::JSRopeString::RopeBuilder::release):
(JSC::JSRopeString::RopeBuilder::length):
(JSC::JSRopeString::JSRopeString):
(JSC::JSRopeString::finishCreation):
(JSC::JSRopeString::createNull):
(JSC::JSRopeString::create):
(JSC::JSString::value):
(JSC::JSString::tryGetValue):
(JSC::JSString::getIndex):
(JSC::jsStringBuilder):
* runtime/Operations.h:
(JSC::jsString):
(JSC::jsStringFromArguments):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115516 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt][WK2] Don't call syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLCo...
yael.aharon@nokia.com [Fri, 27 Apr 2012 23:48:57 +0000 (23:48 +0000)]
[Qt][WK2] Don't call syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext
https://bugs.webkit.org/show_bug.cgi?id=85088

Reviewed by Noam Rosenthal.

Remove the call to syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext,
since it was moved to QQuickWebPage::updatePaintNode.
To make sure that we always sync before painting, this patch also calls page->update()
when the viewport changes.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
* UIProcess/WebLayerTreeRenderer.cpp:
(WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115515 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMark tables/mozilla/other/slashlogo.html as SLOW
dpranke@chromium.org [Fri, 27 Apr 2012 23:31:58 +0000 (23:31 +0000)]
Mark tables/mozilla/other/slashlogo.html as SLOW
https://bugs.webkit.org/show_bug.cgi?id=85106

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115514 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDisable RTF in JavaScript drag-and-drop
jpfau@apple.com [Fri, 27 Apr 2012 23:27:01 +0000 (23:27 +0000)]
Disable RTF in JavaScript drag-and-drop
https://bugs.webkit.org/show_bug.cgi?id=76597

Reviewed by Maciej Stachowiak.

Source/WebCore:

Test: fast/events/drag-and-drop-subframe-dataTransfer.html

* platform/mac/ClipboardMac.mm:
(WebCore::cocoaTypeFromHTMLClipboardType):

LayoutTests:

* fast/events/drag-and-drop-subframe-dataTransfer-expected.txt: Added.
* fast/events/drag-and-drop-subframe-dataTransfer.html: Added.
* fast/events/resources/file-for-drag-and-drop-subframe-dataTransfer.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115513 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] [DRT] Unskip passing tests related to editing commands
commit-queue@webkit.org [Fri, 27 Apr 2012 23:23:12 +0000 (23:23 +0000)]
[EFL] [DRT] Unskip passing tests related to editing commands
https://bugs.webkit.org/show_bug.cgi?id=84944

Unreviewed, unskip passing editing commands tests.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-04-27

* platform/efl/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115511 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSupport video format yuv422p tests on different ports.
scherkus@chromium.org [Fri, 27 Apr 2012 23:18:38 +0000 (23:18 +0000)]
Support video format yuv422p tests on different ports.
https://bugs.webkit.org/show_bug.cgi?id=82281

Patch by Shadi Khalek <shadi@chromium.org>
Reviewed by Eric Carlson.

* media/content/test_yuv420.mp4: Added.
* media/content/test_yuv420.ogv:
* media/content/test_yuv422.mp4: Added.
* media/content/test_yuv422.ogv:
* media/video-colorspace-yuv420.html:
* media/video-colorspace-yuv422.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115510 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Separate IOSurface layer type from texture layers
jamesr@google.com [Fri, 27 Apr 2012 23:15:53 +0000 (23:15 +0000)]
[chromium] Separate IOSurface layer type from texture layers
https://bugs.webkit.org/show_bug.cgi?id=85030

Reviewed by Adrienne Walker.

Source/Platform:

Adds a new layer type for IOSurface backed layers, instead of sharing that functionality in
WebExternalTextureLayer. IOSurface backed layers do not share any other properties with external texture layers.

* Platform.gypi:
* chromium/public/WebExternalTextureLayer.h:
(WebExternalTextureLayer):
* chromium/public/WebIOSurfaceLayer.h:
(WebCore):
(WebKit):
(WebIOSurfaceLayer):
(WebKit::WebIOSurfaceLayer::WebIOSurfaceLayer):
(WebKit::WebIOSurfaceLayer::~WebIOSurfaceLayer):

Source/WebCore:

Adds a new layer type for IOSurface layers and pipes through a separate path through to rendering. IOSurface
layers are very simple - they have an IOSurface id and size, nothing else. All IOSurface layers are "flipped" in
our terminology.

* WebCore.gypi:
* platform/graphics/chromium/IOSurfaceLayerChromium.cpp:
(WebCore):
(WebCore::IOSurfaceLayerChromium::create):
(WebCore::IOSurfaceLayerChromium::IOSurfaceLayerChromium):
(WebCore::IOSurfaceLayerChromium::~IOSurfaceLayerChromium):
(WebCore::IOSurfaceLayerChromium::setIOSurfaceProperties):
(WebCore::IOSurfaceLayerChromium::createCCLayerImpl):
(WebCore::IOSurfaceLayerChromium::drawsContent):
(WebCore::IOSurfaceLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/IOSurfaceLayerChromium.h:
(WebCore):
(IOSurfaceLayerChromium):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawIOSurfaceQuad):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/TextureLayerChromium.cpp:
(WebCore::TextureLayerChromium::TextureLayerChromium):
(WebCore::TextureLayerChromium::drawsContent):
(WebCore::TextureLayerChromium::pushPropertiesTo):
* platform/graphics/chromium/TextureLayerChromium.h:
(TextureLayerChromium):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
(WebCore::CCIOSurfaceDrawQuad::create):
(WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
* platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
(CCIOSurfaceDrawQuad):
* platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
(WebCore):
(WebCore::CCIOSurfaceLayerImpl::CCIOSurfaceLayerImpl):
(WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
(WebCore::CCIOSurfaceLayerImpl::willDraw):
(WebCore::CCIOSurfaceLayerImpl::appendQuads):
(WebCore::CCIOSurfaceLayerImpl::dumpLayerProperties):
(WebCore::CCIOSurfaceLayerImpl::didLoseContext):
(WebCore::CCIOSurfaceLayerImpl::setIOSurfaceProperties):
* platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
(WebCore):
(CCIOSurfaceLayerImpl):
(WebCore::CCIOSurfaceLayerImpl::create):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
(WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
(WebCore::CCTextureLayerImpl::appendQuads):
(WebCore::CCTextureLayerImpl::didLoseContext):
* platform/graphics/chromium/cc/CCTextureLayerImpl.h:
(CCTextureLayerImpl):

Source/WebKit/chromium:

Update WebPluginContainerImpl to support having either a texture or IOSurface layer (but never both) depending
on the plugin's contents.

* WebKit.gyp:
* src/WebExternalTextureLayer.cpp:
* src/WebIOSurfaceLayer.cpp:
(WebKit):
(WebKit::WebIOSurfaceLayer::create):
(WebKit::WebIOSurfaceLayer::setIOSurfaceProperties):
(WebKit::WebIOSurfaceLayer::WebIOSurfaceLayer):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
(WebKit::WebPluginContainerImpl::commitBackingTexture):
(WebKit::WebPluginContainerImpl::setOpaque):
(WebKit::WebPluginContainerImpl::platformLayer):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115509 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] fast/js/dfg-uint32array.html is a flaky timeout.
dglazkov@chromium.org [Fri, 27 Apr 2012 23:13:02 +0000 (23:13 +0000)]
[Chromium] fast/js/dfg-uint32array.html is a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=85090

* platform/chromium/test_expectations.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115508 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMark svg/as-image/svg-as-relative-image-with-explicit-size.html as flaky.
dglazkov@chromium.org [Fri, 27 Apr 2012 23:09:04 +0000 (23:09 +0000)]
Mark svg/as-image/svg-as-relative-image-with-explicit-size.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=85107

* platform/chromium/test_expectations.txt: Registered flakiness.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115507 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] OpenGL related bug fixes
commit-queue@webkit.org [Fri, 27 Apr 2012 23:08:10 +0000 (23:08 +0000)]
[BlackBerry] OpenGL related bug fixes
https://bugs.webkit.org/show_bug.cgi?id=84836

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.

PR147254, 148933, 149117, 149721, 150228

No new tests, covered by existing BlackBerry browser stress tests

* platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
(WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
* platform/graphics/blackberry/LayerCompositingThread.cpp:
(WebCore::LayerCompositingThread::drawTextures):
* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::~LayerRenderer):
(WebCore::LayerRenderer::drawLayers):
(WebCore::LayerRenderer::initializeSharedGLObjects):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115506 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMark tables/mozilla/other/slashlogo.html as flaky timeout.
dglazkov@chromium.org [Fri, 27 Apr 2012 23:06:46 +0000 (23:06 +0000)]
Mark tables/mozilla/other/slashlogo.html as flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=85106

* platform/chromium/test_expectations.txt: Marked.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115505 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Remove remaining mentions of platform/mac-leopard.
dglazkov@chromium.org [Fri, 27 Apr 2012 23:03:52 +0000 (23:03 +0000)]
[Chromium] Remove remaining mentions of platform/mac-leopard.

* platform/chromium/test_expectations.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115504 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSource/WebCore: Implement high-resolution time via window.performance.webkitNow()
nduca@chromium.org [Fri, 27 Apr 2012 22:34:46 +0000 (22:34 +0000)]
Source/WebCore: Implement high-resolution time via window.performance.webkitNow()
https://bugs.webkit.org/show_bug.cgi?id=66684

This implements the high resolution time spec from
http://www.w3.org/TR/hr-time/, giving javascript access to
sub-millisecond timestamps that increase over time instead of being
subject to skewing, for example when the host machine's clock changes.

Reviewed by Tony Gentilcore.

Test: fast/performance/performance-now-timestamps.html

* page/Performance.cpp:
(WebCore::Performance::now):
(WebCore):
* page/Performance.h:
(Performance):
* page/Performance.idl:

LayoutTests: Implement high-resolution time via window.performance.now()
https://bugs.webkit.org/show_bug.cgi?id=66684

This implements the high resolution time spec from
http://www.w3.org/TR/hr-time/, giving javascript access to
sub-millisecond timestamps that increase over time instead of being
subject to skewing, for example when the host machine's clock changes.

Reviewed by Tony Gentilcore.

* fast/dom/Window/window-properties-performance-expected.txt:
* fast/performance/performance-now-timestamps-expected.txt: Added.
* fast/performance/performance-now-timestamps.html: Added.
* fast/performance/script-tests/TEMPLATE.html: Added.
* fast/performance/script-tests/performance-now-timestamps.js: Added.
(busyWait):
* platform/qt/fast/dom/Window/window-properties-performance-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115503 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoremove LayoutTests/platform/mac-leopard
tony@chromium.org [Fri, 27 Apr 2012 22:30:39 +0000 (22:30 +0000)]
remove LayoutTests/platform/mac-leopard
https://bugs.webkit.org/show_bug.cgi?id=84999

These results are no longer used by any ports.

* platform/mac-leopard: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115502 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago<rdar://problem/11339645> WebKit projects should explicitly ask for dSYM files in...
mrowe@apple.com [Fri, 27 Apr 2012 22:14:49 +0000 (22:14 +0000)]
<rdar://problem/11339645> WebKit projects should explicitly ask for dSYM files in production builds

Rubber-stamped by Dan Bernstein.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115501 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] make case of npTestNetscapePlugIn.dll match case in copy rule
commit-queue@webkit.org [Fri, 27 Apr 2012 22:11:56 +0000 (22:11 +0000)]
[chromium] make case of npTestNetscapePlugIn.dll match case in copy rule
https://bugs.webkit.org/show_bug.cgi?id=85083

Patch by Scott Graham <scottmg@chromium.org> on 2012-04-27
Reviewed by Dirk Pranke.

Make output product_name for npTestNetscapePlugIn.dll match the case
of the copy_TestNetscapePlugIn rule. This is required for ninja, which
is more particular about case matching in rules than the VS build.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115500 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] Several media layout tests need rebaselining
commit-queue@webkit.org [Fri, 27 Apr 2012 22:02:23 +0000 (22:02 +0000)]
[EFL] Several media layout tests need rebaselining
https://bugs.webkit.org/show_bug.cgi?id=84943

Unreviewed, rebaseline EFL media layout tests due to r114957.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-04-27

* platform/efl/media/media-controls-clone-expected.txt:
* platform/efl/media/video-empty-source-expected.txt:
* platform/efl/media/video-zoom-controls-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115499 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoIf you get a list of DOMWrapperWorld*'s and then plan to allocate in the heap, you...
fpizlo@apple.com [Fri, 27 Apr 2012 21:55:29 +0000 (21:55 +0000)]
If you get a list of DOMWrapperWorld*'s and then plan to allocate in the heap, you should ref
the DOMWrapperWorld*'s
https://bugs.webkit.org/show_bug.cgi?id=85098
<rdar://problem/11318170>

Reviewed by Sam Weinig.

No new tests because this addresses hard-to-repro flaky behavior arising from GCs at inconvenient
times.

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::getAllWorlds):
* bindings/js/ScriptController.h:
(ScriptController):
* bindings/js/WebCoreJSClientData.h:
(WebCore::WebCoreJSClientData::getAllWorlds):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::getAllWorlds):
* bindings/v8/ScriptController.h:
(ScriptController):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
(WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFixed accidental ';' in ChangeLog
ggaren@apple.com [Fri, 27 Apr 2012 21:47:49 +0000 (21:47 +0000)]
Fixed accidental ';' in ChangeLog

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115497 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago;2012-04-27 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 27 Apr 2012 21:46:11 +0000 (21:46 +0000)]
;2012-04-27  Geoffrey Garen  <ggaren@apple.com>

Removed the sole use of Weak<Unknown>
https://bugs.webkit.org/show_bug.cgi?id=85099

Reviewed by Sam Weinig.

The semantics and implementation of Weak<Unknown> are unclear because:
    - Should you call a finalizer for a non-GC thingy? If so, when?

        * Possible answer: No.

    - If WeakImpls for GC thingies live with the GC thingies in the
      heap, where do WeakImpls for non-GC thingies live?

        * Possible answer: Directly in the Weak<T>.

Since no clients actually want these behaviors, it's hard to tell if
they're the right behaviors, and it's not worth the implementation
complexity. If we come up with a client that wants these behaviors, we
can always revisit this.

* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::JSNodeFilterCondition): Just leave our
filter NULL if it's not an object -- that's a better way to indicate
"not a valid filter object".

(WebCore::JSNodeFilterCondition::acceptNode): Fixed up some naming to
clarify that the object we're working with is not necessarily a function.

* bindings/js/JSNodeFilterCondition.h:
(JSNodeFilterCondition): Use Weak<JSObject>, since that more closely
matches what we're trying to do.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115496 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[V8] Pass Isolate to getDOMXXXMap()
haraken@chromium.org [Fri, 27 Apr 2012 21:38:39 +0000 (21:38 +0000)]
[V8] Pass Isolate to getDOMXXXMap()
https://bugs.webkit.org/show_bug.cgi?id=85022

Reviewed by Nate Chapin.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to getDOMXXXMap().

Also this patch removes DOMMap::getDOMDataStore() and
DOMData::getDefalutStore(), since the indirection by the
methods is redundant. This is not for performance
optimization but just for refactoring.

No tests. No change in behavior.

* bindings/v8/DOMData.cpp:
(WebCore::DOMData::getCurrentStore):
* bindings/v8/DOMData.h:
(DOMData):
* bindings/v8/V8DOMMap.cpp:
(WebCore::getDOMNodeMap):
(WebCore::getActiveDOMNodeMap):
(WebCore::getDOMObjectMap):
(WebCore::getActiveDOMObjectMap):
(WebCore::removeAllDOMObjects):
* bindings/v8/V8DOMMap.h:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115495 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[V8] Pass Isolate to V8BindingPerIsolateData::current()
haraken@chromium.org [Fri, 27 Apr 2012 21:36:19 +0000 (21:36 +0000)]
[V8] Pass Isolate to V8BindingPerIsolateData::current()
https://bugs.webkit.org/show_bug.cgi?id=85023

Reviewed by Nate Chapin.

The objective is to pass Isolate around in V8 bindings.
This patch passes Isolate to V8BindingPerIsolateData::current().

No tests. No change in behavior.

* bindings/v8/V8Binding.h:
(WebCore::V8BindingPerIsolateData::current):
(WebCore::v8ExternalString):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115494 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoCorrect assertion.
oliver@apple.com [Fri, 27 Apr 2012 21:16:29 +0000 (21:16 +0000)]
Correct assertion.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115493 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115484.
dglazkov@chromium.org [Fri, 27 Apr 2012 21:07:11 +0000 (21:07 +0000)]
Unreviewed, rolling out r115484.
http://trac.webkit.org/changeset/115484
https://bugs.webkit.org/show_bug.cgi?id=84555

Broke Chromium compile.

Source/WebCore:

* bindings/js/JSBlobCustom.cpp:
* bindings/v8/custom/V8BlobCustom.cpp:
* fileapi/Blob.cpp:
* fileapi/Blob.h:
(Blob):
* fileapi/Blob.idl:
* workers/WorkerContext.idl:

LayoutTests:

* fast/dom/HTMLAnchorElement/anchor-download-unset.html:
* fast/dom/HTMLAnchorElement/anchor-download.html:
* fast/dom/HTMLAnchorElement/anchor-nodownload-set.html:
* fast/dom/HTMLAnchorElement/anchor-nodownload.html:
* fast/dom/window-domurl-crash.html:
* fast/files/blob-constructor-expected.txt: Removed.
* fast/files/blob-constructor.html: Removed.
* fast/files/blob-slice-overflow.html:
* fast/files/blob-slice-test.html:
* fast/files/file-reader-fffd.html:
* fast/files/not-enough-arguments.html:
* fast/files/resources/read-blob-test-cases.js:
(testReadingTripleSlicedHybridBlob):
* fast/files/resources/read-common.js:
(buildBlob):
* fast/files/script-tests/blob-constructor.js: Removed.
* fast/files/workers/inline-worker-via-blob-url.html:
* fast/filesystem/resources/file-writer-abort-continue.js:
(tenXBlob):
(startWrite):
* fast/filesystem/resources/file-writer-abort-depth.js:
* fast/filesystem/resources/file-writer-abort.js:
(tenXBlob):
(startWrite):
* fast/filesystem/resources/file-writer-events.js:
(tenXBlob):
(startWrite):
* fast/filesystem/resources/file-writer-gc-blob.js:
(tenXBlob):
(startWrite):
* fast/filesystem/resources/file-writer-sync-truncate-extend.js:
* fast/filesystem/resources/file-writer-sync-write-overlapped.js:
* fast/filesystem/resources/file-writer-utils.js:
* http/tests/fileapi/create-blob-url-from-data-url.html:
* http/tests/filesystem/no-cache-filesystem-url.html:
* http/tests/local/blob/resources/hybrid-blob-util.js:
(HybridBlobTestUtil.this.appendAndCreateBlob):
(HybridBlobTestUtil):
* http/tests/security/resources/create-filesystem-file.html:
* http/tests/websocket/tests/hixie76/send-object.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close.html:
* http/tests/websocket/tests/hybi/send-blob.html:
* http/tests/websocket/tests/hybi/send-file-blob-fail.html:
* http/tests/websocket/tests/hybi/send-file-blob.html:
* http/tests/websocket/tests/hybi/workers/resources/send-blob.js:
(createBlobContainingHelloWorld):
(createEmptyBlob):
(createBlobContainingAllDistinctBytes):
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/structured-clone.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115491 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] use "drt-style" output, not "test-shell-style" output, on mac and linux DRT
dpranke@chromium.org [Fri, 27 Apr 2012 21:03:29 +0000 (21:03 +0000)]
[chromium] use "drt-style" output, not "test-shell-style" output, on mac and linux DRT
https://bugs.webkit.org/show_bug.cgi?id=84917

Unreviewed, build fix.

Tools:

Reland the change in r115453 with a fix for chromium win.
The logic in ChromiumDriver was busted on windows, causing DRT
to get launched without the --test-shell flag.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver):
(ChromiumDriver.__init__):
(ChromiumDriver._wrapper_options):
(ChromiumDriver.cmd_line):
(ChromiumDriver._start):
(ChromiumDriver.has_crashed):
(ChromiumDriver.run_test):
(ChromiumDriver.stop):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumDriverTest.setUp):
(ChromiumDriverTest.test_stop):
(ChromiumDriverTest.test_two_drivers.MockDriver.__init__):
(ChromiumDriverTest.test_two_drivers):

LayoutTests:

Reland the change in r115453 with a fix for chromium win.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115490 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd John Grabowski as a non-committer to committers.py
peter@chromium.org [Fri, 27 Apr 2012 20:59:35 +0000 (20:59 +0000)]
Add John Grabowski as a non-committer to committers.py
https://bugs.webkit.org/show_bug.cgi?id=85080

Reviewed by Dirk Pranke.

He's being CC'ed often enough because of his involvement in the Chromium
side of Chrome for Android upstreaming.

* Scripts/webkitpy/common/config/committers.py:
  add jrg@chromium.org

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=85038
eric.carlson@apple.com [Fri, 27 Apr 2012 20:32:52 +0000 (20:32 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=85038

Unreviewed, Mac test_expectations update.

* platform/mac/test_expectations.txt: Skip http/tests/inspector/network/network-initiator.html.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[CSS Shaders] Implement CSS Animations and Transitions for CSS Shaders
achicu@adobe.com [Fri, 27 Apr 2012 20:30:40 +0000 (20:30 +0000)]
[CSS Shaders] Implement CSS Animations and Transitions for CSS Shaders
https://bugs.webkit.org/show_bug.cgi?id=71406

Reviewed by Dean Jackson.

Source/WebCore:

I've implemented the blend function for the CustomFilterOperation. This should enable animations for CSS Shaders.
Currently, just floats are implemented. If any of the filter attributes like shader, mesh size or box mode are different,
the fallback is to use the "to" part of the animation instead. If other shader parameters do not match, it will merge the parameter values
between the "from" and "to" states.

Test: css3/filters/custom/custom-filter-animation.html

* platform/graphics/filters/CustomFilterNumberParameter.h:
(WebCore::CustomFilterNumberParameter::blend):
(CustomFilterNumberParameter):
(WebCore::CustomFilterNumberParameter::operator==):
* platform/graphics/filters/CustomFilterOperation.cpp:
(WebCore::equalCustomFilterParameters):
(WebCore):
(WebCore::checkCustomFilterParametersOrder):
(WebCore::blendCustomFilterParameters):
(WebCore::CustomFilterOperation::CustomFilterOperation):
(WebCore::CustomFilterOperation::blend):
* platform/graphics/filters/CustomFilterOperation.h:
(WebCore):
(CustomFilterOperation):
(WebCore::CustomFilterOperation::operator==):
(WebCore::CustomFilterOperation::operator!=):
* platform/graphics/filters/CustomFilterParameter.h:
(CustomFilterParameter):
(WebCore::CustomFilterParameter::isSameType):
(WebCore::CustomFilterParameter::operator==):
(WebCore::CustomFilterParameter::operator!=):
* platform/graphics/filters/CustomFilterProgram.h:
* rendering/style/StyleCustomFilterProgram.h:
(StyleCustomFilterProgram):
(WebCore::StyleCustomFilterProgram::cachedVertexShader):
(WebCore::StyleCustomFilterProgram::cachedFragmentShader):
(WebCore::StyleCustomFilterProgram::operator==):

LayoutTests:

* animations/resources/animation-test-helpers.js: Added a check for the "custom" function and used the parser in custom-filter-parser.js instead.
(getFilterParameters):
(filterParametersMatch):
* css3/filters/custom/custom-filter-animation-expected.txt: Added.
* css3/filters/custom/custom-filter-animation.html: Added.
* css3/filters/resources/custom-filter-parser.js: Added a simple parser for the "custom" function, so that multiple types can be checked correctly.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSpeech JavaScript API: Fix Vector use failure
hans@chromium.org [Fri, 27 Apr 2012 20:29:31 +0000 (20:29 +0000)]
Speech JavaScript API: Fix Vector use failure
https://bugs.webkit.org/show_bug.cgi?id=85069

Reviewed by Tony Gentilcore.

Fix think-o in code copying from WebVector to Vector.

* src/SpeechRecognitionClientProxy.cpp:
(WebKit::SpeechRecognitionClientProxy::didReceiveResult):
(WebKit::SpeechRecognitionClientProxy::didDeleteResult):
* src/WebSpeechRecognitionResult.cpp:
(WebKit::WebSpeechRecognitionResult::assign):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRe-factor scheduling logic from AudioBufferSourceNode into AudioScheduledSourceNode
crogers@google.com [Fri, 27 Apr 2012 20:27:43 +0000 (20:27 +0000)]
Re-factor scheduling logic from AudioBufferSourceNode into AudioScheduledSourceNode
https://bugs.webkit.org/show_bug.cgi?id=84639

Reviewed by Eric Carlson.

Playback logic involving noteOn(), noteOff(), and playbackState were intertwined with
the AudioBufferSourceNode's buffer playback code.  These are more general concepts and
may be implemented separately in another class called AudioScheduledSourceNode.

No new tests. Covered by existing layout tests.

* GNUmakefile.list.am:
Add AudioScheduledSourceNode files to makefile.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore):
(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
Re-factor some member variables into new base class AudioScheduledSourceNode.

(WebCore::AudioBufferSourceNode::process):
Re-factor scheduling logic into AudioScheduledSourceNode.

* Modules/webaudio/AudioBufferSourceNode.h:
(AudioBufferSourceNode):
Simplify by re-factoring scheduling logic into AudioScheduledSourceNode.

* Modules/webaudio/AudioScheduledSourceNode.cpp: Added.
(WebCore):
(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
Get frame information for the current time quantum.

* Modules/webaudio/AudioScheduledSourceNode.h: Added.
(WebCore::AudioScheduledSourceNode::noteOn):
(WebCore::AudioScheduledSourceNode::noteOff):
(WebCore::AudioScheduledSourceNode::finish):
(WebCore::AudioScheduledSourceNode::playbackState):
(WebCore::AudioScheduledSourceNode::isPlayingOrScheduled):
(WebCore::AudioScheduledSourceNode::hasFinished):
Re-factored from AudioBufferSourceNode.

* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
Add AudioScheduledSourceNode files to makefiles.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd support for the Blob constructor
weinig@apple.com [Fri, 27 Apr 2012 20:23:53 +0000 (20:23 +0000)]
Add support for the Blob constructor
https://bugs.webkit.org/show_bug.cgi?id=84555

Reviewed by Maciej Stachowiak.

Source/WebCore:

Test: fast/files/blob-constructor.html

This adds an implementation of the Blob constructor that willfully
violates the W3C Editor’s Draft 29 February 2012 in the following ways:
- Elements in the parts array are coerced to DOMStrings https://www.w3.org/Bugs/Public/show_bug.cgi?id=16721
- Don't throw for invalid key in the dictionary https://www.w3.org/Bugs/Public/show_bug.cgi?id=16727
- Values for the endings property are treated as enums https://www.w3.org/Bugs/Public/show_bug.cgi?id=16729

* bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob):
Implement blob constructor.

* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCallback):
Implement blob constructor.

* fileapi/Blob.idl:
Add constructor to IDL.

* workers/WorkerContext.idl:
Add Blob constructor to the worker global object.

LayoutTests:

Switch tests that were not directly testing BlobBuilder over to
using the Blob constructor, to get test coverage of standard way
constructing blobs.

* fast/files/blob-constructor.html:
* fast/files/blob-constructor-expected.txt:
* fast/files/script-tests/blob-constructor.js:
New test.

* fast/dom/HTMLAnchorElement/anchor-download-unset.html:
* fast/dom/HTMLAnchorElement/anchor-download.html:
* fast/dom/HTMLAnchorElement/anchor-nodownload-set.html:
* fast/dom/HTMLAnchorElement/anchor-nodownload.html:
* fast/dom/window-domurl-crash.html:
* fast/files/blob-builder-crash-expected.txt: Removed.
* fast/files/blob-builder-crash.html: Removed.
* fast/files/blob-slice-overflow.html:
* fast/files/blob-slice-test.html:
* fast/files/file-reader-fffd.html:
* fast/files/not-enough-arguments.html:
* fast/files/resources/read-blob-test-cases.js:
* fast/files/resources/read-common.js:
* fast/files/workers/inline-worker-via-blob-url.html:
* fast/filesystem/resources/file-writer-abort-continue.js:
* fast/filesystem/resources/file-writer-abort-depth.js:
* fast/filesystem/resources/file-writer-abort.js:
* fast/filesystem/resources/file-writer-events.js:
* fast/filesystem/resources/file-writer-gc-blob.js:
* fast/filesystem/resources/file-writer-sync-truncate-extend.js:
* fast/filesystem/resources/file-writer-sync-write-overlapped.js:
* fast/filesystem/resources/file-writer-utils.js:
* http/tests/fileapi/create-blob-url-from-data-url.html:
* http/tests/filesystem/no-cache-filesystem-url.html:
* http/tests/local/blob/resources/hybrid-blob-util.js:
* http/tests/security/resources/create-filesystem-file.html:
* http/tests/websocket/tests/hixie76/send-object.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close.html:
* http/tests/websocket/tests/hybi/send-blob.html:
* http/tests/websocket/tests/hybi/send-file-blob-fail.html:
* http/tests/websocket/tests/hybi/send-file-blob.html:
* http/tests/websocket/tests/hybi/workers/resources/send-blob.js:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* storage/indexeddb/noblobs.html:
* storage/indexeddb/structured-clone.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoLazy link phase of baseline jit fails to propagate exception
oliver@apple.com [Fri, 27 Apr 2012 20:19:24 +0000 (20:19 +0000)]
Lazy link phase of baseline jit fails to propagate exception
https://bugs.webkit.org/show_bug.cgi?id=85092

Reviewed by Filip Pizlo.

Very simple patch, when linking produces an error we need to actually store
the exception prior to throwing it.  I can't find any other examples of this,
but as we're already in the slow path when throwing an exception I've hardened
exception throwing against null exceptions.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::throwException):
* jit/JITStubs.cpp:
(JSC::lazyLinkFor):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Fix minimal build.
commit-queue@webkit.org [Fri, 27 Apr 2012 20:18:41 +0000 (20:18 +0000)]
[Qt] Fix minimal build.
https://bugs.webkit.org/show_bug.cgi?id=85045

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-27
Reviewed by Tor Arne Vestbø.

Source/WebCore:

Compile LIBXML XML parser even if ENABLE_XSLT is not set.

* Target.pri:

Tools:

Do not set conflicting values of ENABLE_XSLT.

* qmake/mkspecs/features/features.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115482 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove passing test from expectations.
dglazkov@chromium.org [Fri, 27 Apr 2012 20:18:00 +0000 (20:18 +0000)]
Remove passing test from expectations.

* platform/chromium/test_expectations.txt: Another one bites the dust.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115481 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Layout Tests fast/js/dfg-float64array.html, fast/js/dfg-uint16array.html...
dglazkov@chromium.org [Fri, 27 Apr 2012 20:09:02 +0000 (20:09 +0000)]
[Chromium] Layout Tests fast/js/dfg-float64array.html, fast/js/dfg-uint16array.html, and fast/js/dfg-uint8array.html are flaky timeouts.
https://bugs.webkit.org/show_bug.cgi?id=85090

* platform/chromium/test_expectations.txt: Marked as flakes.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115480 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL][DRT] EFL should sanitize pulseaudio module configuration too
commit-queue@webkit.org [Fri, 27 Apr 2012 20:07:30 +0000 (20:07 +0000)]
[EFL][DRT] EFL should sanitize pulseaudio module configuration too
https://bugs.webkit.org/show_bug.cgi?id=85047

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-04-27
Reviewed by Dirk Pranke.

PulseAudio test setup sanitization shared between EFL and GTK.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort):
(EflPort.setup_test_run):
(EflPort.clean_up_test_run):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort): Moving pulseaudio unload/restore out to shared class.
* Scripts/webkitpy/layout_tests/port/pulseaudio_sanitizer.py: Added.
(PulseAudioSanitizer):
(PulseAudioSanitizer._unload_pulseaudio_module):
(PulseAudioSanitizer._restore_pulseaudio_module):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115478 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSelectively retrieve text around a touched point.
leandrogracia@chromium.org [Fri, 27 Apr 2012 19:44:17 +0000 (19:44 +0000)]
Selectively retrieve text around a touched point.
https://bugs.webkit.org/show_bug.cgi?id=82460

Reviewed by Darin Fisher.

Implements an embedding API to WebCore's SurroundingText, adding also
the possibility of select and highlight the retrieved text range.

* WebKit.gyp:
* public/WebFrame.h:
(WebFrame):
* public/WebHitTestResult.h: Added.
(WebCore):
(WebKit):
(WebHitTestResult):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::~WebHitTestResult):
* public/WebRange.h:
(WebKit):
(WebRange):
* public/WebSurroundingText.h: Added.
(WebCore):
(WebKit):
(WebSurroundingText):
(WebKit::WebSurroundingText::WebSurroundingText):
(WebKit::WebSurroundingText::~WebSurroundingText):
* public/WebView.h:
(WebKit):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::selectRange):
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebHitTestResult.cpp: Added.
(WebKit):
(WebKit::WebHitTestResult::node):
(WebKit::WebHitTestResult::localPoint):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::operator=):
(WebKit::WebHitTestResult::operator HitTestResult):
(WebKit::WebHitTestResult::isNull):
(WebKit::WebHitTestResult::assign):
(WebKit::WebHitTestResult::reset):
* src/WebRange.cpp:
(WebKit::WebRange::textQuads):
(WebKit):
* src/WebSurroundingText.cpp: Added.
(WebKit):
(WebKit::WebSurroundingText::initialize):
(WebKit::WebSurroundingText::textContent):
(WebKit::WebSurroundingText::hitOffsetInTextContent):
(WebKit::WebSurroundingText::rangeFromContentOffsets):
(WebKit::WebSurroundingText::isNull):
(WebKit::WebSurroundingText::reset):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoInfinite backgroundClipRect should not be scrolled.
shawnsingh@chromium.org [Fri, 27 Apr 2012 19:35:14 +0000 (19:35 +0000)]
Infinite backgroundClipRect should not be scrolled.
https://bugs.webkit.org/show_bug.cgi?id=84979

Reviewed by Adrienne Walker.

Source/WebCore:

Test: compositing/iframes/scroll-fixed-transformed-element.html

By accidentally scrolling clipRects that should be considered
"infinite", they were no longer being considered infinite. This
caused a chain of un-intended code paths that caused fixed
position elements to stutter when scrolling in Chromium.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundClipRect):

LayoutTests:

* compositing/iframes/resources/fixed-position-transformed-subframe.html: Added.
* compositing/iframes/scroll-fixed-transformed-element-expected.png: Added.
* compositing/iframes/scroll-fixed-transformed-element-expected.txt: Added.
* compositing/iframes/scroll-fixed-transformed-element.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoClean up tests in preparation for ES5.2 global scope fix
arv@chromium.org [Fri, 27 Apr 2012 19:31:24 +0000 (19:31 +0000)]
Clean up tests in preparation for ES5.2 global scope fix
https://bugs.webkit.org/show_bug.cgi?id=85001

Reviewed by Gavin Barraclough.

* fast/css/resize-value-compared.html:
* fast/dom/resources/navigation-type-matches-querystring.html:
* fast/dom/script-tests/webtiming-document-open.js:
* fast/dom/script-tests/webtiming-navigate-within-document.js:
* fast/dom/script-tests/webtiming.js:
* http/tests/inspector/indexeddb/indexeddb-test.js:
* http/tests/misc/resources/webtiming-cross-origin-and-back2.html:
* http/tests/misc/resources/webtiming-cross-origin-redirect.html:
* http/tests/misc/resources/webtiming-no-origin.html:
* http/tests/misc/resources/webtiming-one-redirect.html:
* http/tests/misc/resources/webtiming-ssl.html:
* http/tests/misc/resources/webtiming-two-redirects.html:
* http/tests/misc/webtiming-slow-load.php:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115470 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, revert r115453 - broke chromium win bots
dpranke@chromium.org [Fri, 27 Apr 2012 19:24:18 +0000 (19:24 +0000)]
Unreviewed, revert r115453 - broke chromium win bots

Tools:

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._path_to_image_diff):
(ChromiumDriver):
(ChromiumDriver.__init__):
(ChromiumDriver._wrapper_options):
(ChromiumDriver.cmd_line):
(ChromiumDriver.stop):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumDriverTest.setUp):
(ChromiumDriverTest.test_stop):
(ChromiumDriverTest.test_two_drivers):
(ChromiumDriverTest.test_two_drivers.MockDriver.__init__):

LayoutTests:

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115469 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115463.
dglazkov@chromium.org [Fri, 27 Apr 2012 19:24:00 +0000 (19:24 +0000)]
Unreviewed, rolling out r115463.
http://trac.webkit.org/changeset/115463
https://bugs.webkit.org/show_bug.cgi?id=82460

Broke Mac build.

* WebKit.gyp:
* public/WebFrame.h:
(WebFrame):
* public/WebHitTestResult.h: Removed.
* public/WebRange.h:
(WebRange):
* public/WebSurroundingText.h: Removed.
* public/WebView.h:
(WebKit):
* src/WebFrameImpl.cpp:
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebHitTestResult.cpp: Removed.
* src/WebRange.cpp:
* src/WebSurroundingText.cpp: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115467 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoChromium Windows Perf bots timeout due to not output
rniwa@webkit.org [Fri, 27 Apr 2012 19:21:16 +0000 (19:21 +0000)]
Chromium Windows Perf bots timeout due to not output
https://bugs.webkit.org/show_bug.cgi?id=84940

Reviewed by Dirk Pranke.

Dirk and I investigated the issue on the bot but we couldn't figure out what is going wrong.
Since we run-perf-tests don't need any of fancy feature printer provides, just use python's
built-in logging module instead. Printing out to stdout and stderr seem to work so hopefully
this will fix the issue on the bot.

* Scripts/run-perf-tests:
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.run):
(PerfTest.run_failed):
(PerfTest.parse_output):
(PerfTest.output_statistics):
(ChromiumStylePerfTest.parse_output):
(PageLoadingPerfTest.run):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):
(TestPageLoadingPerfTest):
(TestPageLoadingPerfTest.test_run):
(TestPageLoadingPerfTest.test_run_with_bad_output):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):
(PerfTestsRunner._upload_json):
(PerfTestsRunner._print_status):
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_test_set):
(test_run_test_set_kills_drt_per_run):
(test_run_test_pause_before_testing):
(test_run_test_set_for_parser_tests):
(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):
(test_run_test_set_with_multiple_repositories):
(test_upload_json):
(test_parse_args):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoGeneralize the single character optimization of numberProtoFuncToString
benjamin@webkit.org [Fri, 27 Apr 2012 19:15:38 +0000 (19:15 +0000)]
Generalize the single character optimization of numberProtoFuncToString
https://bugs.webkit.org/show_bug.cgi?id=85027

Reviewed by Geoffrey Garen.

The function numberProtoFuncToString() has an optimization to use SmallStrings::singleCharacterString()
when the radix is 36.

This patch generalize the optimization for any radix. Any positive number smaller than its radix
can be represented by a single character of radixDigits.

This makes numberProtoFuncToString() about twice as fast for this case of single digit conversion.

* runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToString):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdded a chromium webkit public header file to support different web print scaling...
commit-queue@webkit.org [Fri, 27 Apr 2012 19:02:37 +0000 (19:02 +0000)]
Added a chromium webkit public header file to support different web print scaling options.
https://bugs.webkit.org/show_bug.cgi?id=84608

Patch by Kausalya Madhusudhanan <kmadhusu@chromium.org> on 2012-04-27
Reviewed by Darin Fisher.

* WebKit.gyp:
* public/WebPrintScalingOption.h: Added.
(WebKit):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115464 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSelectively retrieve text around a touched point.
leandrogracia@chromium.org [Fri, 27 Apr 2012 18:56:28 +0000 (18:56 +0000)]
Selectively retrieve text around a touched point.
https://bugs.webkit.org/show_bug.cgi?id=82460

Reviewed by Darin Fisher.

Implements an embedding API to WebCore's SurroundingText, adding also
the possibility of select and highlight the retrieved text range.

* WebKit.gyp:
* public/WebFrame.h:
(WebFrame):
* public/WebHitTestResult.h: Added.
(WebCore):
(WebKit):
(WebHitTestResult):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::~WebHitTestResult):
* public/WebRange.h:
(WebKit):
(WebRange):
* public/WebSurroundingText.h: Added.
(WebCore):
(WebKit):
(WebSurroundingText):
(WebKit::WebSurroundingText::WebSurroundingText):
(WebKit::WebSurroundingText::~WebSurroundingText):
* public/WebView.h:
(WebKit):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::selectRange):
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebHitTestResult.cpp: Added.
(WebKit):
(WebKit::WebHitTestResult::node):
(WebKit::WebHitTestResult::localPoint):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::operator=):
(WebKit::WebHitTestResult::operator HitTestResult):
(WebKit::WebHitTestResult::isNull):
(WebKit::WebHitTestResult::assign):
(WebKit::WebHitTestResult::reset):
* src/WebRange.cpp:
(WebKit::WebRange::textQuads):
(WebKit):
* src/WebSurroundingText.cpp: Added.
(WebKit):
(WebKit::WebSurroundingText::initialize):
(WebKit::WebSurroundingText::textContent):
(WebKit::WebSurroundingText::hitOffsetInTextContent):
(WebKit::WebSurroundingText::rangeFromContentOffsets):
(WebKit::WebSurroundingText::isNull):
(WebKit::WebSurroundingText::reset):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoLayout Test media/video-currentTime-set.html is still flaky
dglazkov@chromium.org [Fri, 27 Apr 2012 18:55:07 +0000 (18:55 +0000)]
Layout Test media/video-currentTime-set.html is still flaky
https://bugs.webkit.org/show_bug.cgi?id=85003

Reviewed by Eric Carlson.

* media/video-currentTime-set.html: Removed extraneous timeout code.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFormatBlock crashes when body element is removed prior to the command execution
rniwa@webkit.org [Fri, 27 Apr 2012 18:53:13 +0000 (18:53 +0000)]
FormatBlock crashes when body element is removed prior to the command execution
https://bugs.webkit.org/show_bug.cgi?id=84937

Reviewed by Tony Chang.

Source/WebCore:

The crash was because because DOM had been modified since the last time selection had been "validated",
and therefore frame selection's endpoints are no longer visible when we instantiated visibleStart
and visibleEnd from m_endingSelection of the edit command.

Fixed the bug by checking the nullity and orphanedness of visible start and visible end directly.
I suspect we have similar bugs in other commands. The fundamental problem is that the copy constructor
of VisibleSelection never validates so when a VisibleSelection is passed from one class to another
(e.g. FrameSelection to EditCommand), we may not adjust end points as needed.

Test: editing/execCommand/format-block-without-body-crash.html

* editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::doApply):

LayoutTests:

Add a regression test for executing FormatCommand immediately after removing
the body element thereby turning the selection end points to non-candidates.

* editing/execCommand/format-block-without-body-crash-expected.txt: Added.
* editing/execCommand/format-block-without-body-crash.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoREGRESSION(r96257): Deleting a large amount of text is very slow.
enrica@apple.com [Fri, 27 Apr 2012 18:51:14 +0000 (18:51 +0000)]
REGRESSION(r96257): Deleting a large amount of text is very slow.
https://bugs.webkit.org/show_bug.cgi?id=83983
<rdar://problem/10826076>

Reviewed by Ryosuke Niwa.

The change in r96257 did not cause the performance regression per se,
but exposed a problem in the way we calculate the offset in container
node when the anchorType is PositionIsOffsetInAnchor.
The offset was computed as the minimum between the given offset and
lastOffsetInNode. If the container has a very large number of children,
we walk the entire list of child nodes in the container simply to find
out how many they are.
Looking through the entire editing code, I found other 2 cases (one
is only an ASSERT) where we could do a similar optimization.

No new tests. No behavior change, only performance optimization.

* dom/Position.cpp:
(WebCore::Position::computeOffsetInContainerNode):
* dom/Position.h:
(WebCore::minOffsetForNode):
(WebCore::offsetIsBeforeLastNodeOffset):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoNULL-deref in RenderBox::clippedOverflowRectForRepaint
jchaffraix@webkit.org [Fri, 27 Apr 2012 18:44:03 +0000 (18:44 +0000)]
NULL-deref in RenderBox::clippedOverflowRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=84774

Reviewed by Tony Chang.

Source/WebCore:

Test: fast/inline/crash-new-continuation-with-outline.html

The bug comes from trying to repaint the :after content as part of updateBeforeAfterContent.
The repainting logic would query the yet-to-be-inserted continuation(). Then we would crash in
RenderBox::clippedOverflowRectForRepaint as we didn't have an enclosingLayer() (which any
RenderObject in the tree will have).

The fix is to check in RenderInline::clippedOverflowRectForRepaint that our continuation()
is properly inserted in the tree. We could check that it isRooted() but it's an overkill here.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):

LayoutTests:

* fast/inline/crash-new-continuation-with-outline-expected.txt: Added.
* fast/inline/crash-new-continuation-with-outline.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMemory cache pruning should be protected against reentering.
antti@apple.com [Fri, 27 Apr 2012 18:26:25 +0000 (18:26 +0000)]
Memory cache pruning should be protected against reentering.
https://bugs.webkit.org/show_bug.cgi?id=85077

Reviewed by Alexey Proskuryakov.

MemoryCache::pruneDeadResourcesToSize() has some ad-hock protection against reentering.
This patch adds more complete protection.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::MemoryCache):
(WebCore::MemoryCache::pruneLiveResourcesToSize):

    Protect live resource pruning too.

(WebCore::MemoryCache::pruneDeadResourcesToSize):

    Remove the existing weak reentrancy handling in favor of full proctection.

* loader/cache/MemoryCache.h:
(MemoryCache):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] use "drt-style" output, not "test-shell-style" output, on mac and linux DRT
dpranke@chromium.org [Fri, 27 Apr 2012 18:24:44 +0000 (18:24 +0000)]
[chromium] use "drt-style" output, not "test-shell-style" output, on mac and linux DRT
https://bugs.webkit.org/show_bug.cgi?id=84917

Tools:

Reviewed by Ojan Vafai.

This change changes the chromium new-run-webkit-tests
implementation to use the code in WebKitDriver and ServerProcess
by default on Mac and Linux, instead of using the old-style
Chromium/test_shell style of output.

We will still use the test_shell style on Windows for now
and you can still get the old style of behavior with
new-run-webkit-tests --additional-drt-flag --test-shell

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver):
(ChromiumDriver.__init__):
(ChromiumDriver._wrapper_options):
(ChromiumDriver.cmd_line):
(ChromiumDriver._start):
(ChromiumDriver.has_crashed):
(ChromiumDriver.run_test):
(ChromiumDriver.stop):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumDriverTest.setUp):
(ChromiumDriverTest.test_stop):
(ChromiumDriverTest.test_two_drivers.MockDriver.__init__):
(ChromiumDriverTest.test_two_drivers):

LayoutTests:

Unreviewed, expectations change to accompany the new-run-webkit-tests change.

* platform/chromium/test_expectations.txt

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agowebkitpy: fix race in unit tests for manager_worker_broker
dpranke@chromium.org [Fri, 27 Apr 2012 18:12:09 +0000 (18:12 +0000)]
webkitpy: fix race in unit tests for manager_worker_broker
https://bugs.webkit.org/show_bug.cgi?id=84925

Reviewed by Ojan Vafai.

I have been intermittently seeing hangs when running
test-webkitpy on Mac SL; it appears that there's a bug (?) in
the multiprocessing module where queue references are getting
leaked or not cleaned up somehow. By explicitly closing the
queues, things seem to be happy, so this patch adds a cleanup()
method to the message broker and modifies the manager (and the
unit tests) to call it. This may get rid of the intermittent
error on shutdown on Linux I've seen as well.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_Broker.__del__):
(_Broker):
(_Broker.cleanup):
(_BrokerConnection.cleanup):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(_TestsMixin.test_name):
(_TestsMixin.test_cancel):
(_TestsMixin.test_done):
(_TestsMixin.test_unknown_message):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] ResourceError domain needs to be properly set in FrameLoaderClient
commit-queue@webkit.org [Fri, 27 Apr 2012 18:05:58 +0000 (18:05 +0000)]
[EFL] ResourceError domain needs to be properly set in FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=84129

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-04-27
Reviewed by Nate Chapin.

Source/WebKit/efl:

Properly set ResourceError objects' domain instead of using a generic
one. This allows WebKit and NSURL errors to be distinguished, which is
required to properly print out information in EFL's DumpRenderTree
when dumpResourceLoadCallbacks() returns true.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::cancelledError):
(WebCore::FrameLoaderClientEfl::blockedError):
(WebCore::FrameLoaderClientEfl::cannotShowURLError):
(WebCore::FrameLoaderClientEfl::interruptedForPolicyChangeError):
(WebCore::FrameLoaderClientEfl::cannotShowMIMETypeError):
(WebCore::FrameLoaderClientEfl::fileDoesNotExistError):
(WebCore::FrameLoaderClientEfl::pluginWillHandleLoadError):

LayoutTests:

Unskip the tests which require EFL's DumpRenderTree to support
LayoutTestController's dumpResourceLoadCallbacks() and print out
correctly information about resource loading errors.

* platform/efl/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] platform/chromium/media/video-capture-preview.html is a flaky crash.
dglazkov@chromium.org [Fri, 27 Apr 2012 18:03:07 +0000 (18:03 +0000)]
[Chromium] platform/chromium/media/video-capture-preview.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=85082

* platform/chromium/test_expectations.txt: Added expectation of flakiness.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] tabsToLinks ewk_view setting
commit-queue@webkit.org [Fri, 27 Apr 2012 18:01:13 +0000 (18:01 +0000)]
[EFL] tabsToLinks ewk_view setting
https://bugs.webkit.org/show_bug.cgi?id=84340

Exporting new ewk_view setting: tabsToLinks - enbles/disables tab key focusing of page elements.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-04-27
Reviewed by Antonio Gomes.

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::keyboardUIMode):
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_include_links_in_focus_chain_get):
(ewk_view_setting_include_links_in_focus_chain_set):
* ewk/ewk_view.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115436.
tonyg@chromium.org [Fri, 27 Apr 2012 17:37:02 +0000 (17:37 +0000)]
Unreviewed, rolling out r115436.
http://trac.webkit.org/changeset/115436
https://bugs.webkit.org/show_bug.cgi?id=85079

"broke the build" (Requested by tonyg-cr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-27

* WebKit.gyp:
* public/WebReferrerPolicy.h: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSource/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the setti...
apavlov@chromium.org [Fri, 27 Apr 2012 17:32:07 +0000 (17:32 +0000)]
Source/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
(re-landing r115417 with a test that should work on Windows.)
https://bugs.webkit.org/show_bug.cgi?id=84946

Reviewed by Yury Semikhatsky.

Test: inspector/debugger/disable-script.html

* inspector/Inspector.json:
* inspector/InspectorPageAgent.cpp:
(PageAgentState):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
(WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
* inspector/front-end/inspector.js:

LayoutTests: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
https://bugs.webkit.org/show_bug.cgi?id=84946

Reviewed by Yury Semikhatsky.

* inspector/debugger/disable-script-expected.txt: Added.
* inspector/debugger/disable-script.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoIETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
keishi@webkit.org [Fri, 27 Apr 2012 16:56:15 +0000 (16:56 +0000)]
IETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
https://bugs.webkit.org/show_bug.cgi?id=81196

Reviewed by Kent Tamura.

Source/WebCore:

Test: fast/dom/Window/window-properties.html, fast/dom/Window/window-lookup-precedence.html

HTMLDataListElement should be available on DOMWindow.

* page/DOMWindow.idl: Added HTMLDataListElement.

LayoutTests:

* fast/dom/Window/resources/window-properties.js: Added HTMLDataListElement to the list.
* platform/chromium/fast/dom/Window/window-lookup-precedence-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115417.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:53:01 +0000 (16:53 +0000)]
Unreviewed, rolling out r115417.
http://trac.webkit.org/changeset/115417
https://bugs.webkit.org/show_bug.cgi?id=84946

Added test is broken on windows.

Source/WebCore:

* inspector/Inspector.json:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
* inspector/front-end/inspector.js:

LayoutTests:

* inspector/debugger/disable-script-expected.txt: Removed.
* inspector/debugger/disable-script.html: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] fast/images/gif-large-checkerboard.html is a flaky crash
dglazkov@chromium.org [Fri, 27 Apr 2012 16:46:55 +0000 (16:46 +0000)]
[Chromium] fast/images/gif-large-checkerboard.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=85073

* platform/chromium/test_expectations.txt: Marked flaky crash.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAdd new ENABLE_LINK_PRERENDER define to control the Prerendering API
gavinp@chromium.org [Fri, 27 Apr 2012 16:38:33 +0000 (16:38 +0000)]
Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
https://bugs.webkit.org/show_bug.cgi?id=84871

Reviewed by Adam Barth.

Source/JavaScriptCore:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/chromium:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

Source/WebKit/mac:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

Source/WebKit2:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

Tools:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

WebKitLibraries:

Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.

* win/tools/vsprops/FeatureDefinesCairo.vsprops:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Gtk][DOM Bindings] Feature-protected properties are put under condition guards
zandobersek@gmail.com [Fri, 27 Apr 2012 16:35:38 +0000 (16:35 +0000)]
[Gtk][DOM Bindings] Feature-protected properties are put under condition guards
https://bugs.webkit.org/show_bug.cgi?id=85068

Reviewed by Martin Robinson.

Generated feature-dependent properties are now present regardless of that
feature being enabled. On getting or setting that property's value a warning
is thrown if the feature is not enabled. Additionally, if the generated
interface is feature-dependant, when getting or setting any property's value
a warning is thrown if the feature is not enabled.

No new tests - covered by existing bindings tests.

* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty):
(GenerateProperties):
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Rebaseline.
(webkit_dom_test_interface_set_property):
(webkit_dom_test_interface_get_property):
(webkit_dom_test_interface_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
(webkit_dom_test_serialized_script_value_interface_get_property):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115433.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:34:33 +0000 (16:34 +0000)]
Unreviewed, rolling out r115433.
http://trac.webkit.org/changeset/115433
https://bugs.webkit.org/show_bug.cgi?id=85052

Enable unit tests again.

* tests/PopupMenuTest.cpp:
(WebKit::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115421.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:32:50 +0000 (16:32 +0000)]
Unreviewed, rolling out r115421.
http://trac.webkit.org/changeset/115421
https://bugs.webkit.org/show_bug.cgi?id=85052

Enable unit tests again.

* tests/PopupMenuTest.cpp:
(WebKit::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r115400.
dglazkov@chromium.org [Fri, 27 Apr 2012 16:29:13 +0000 (16:29 +0000)]
Unreviewed, rolling out r115400.
http://trac.webkit.org/changeset/115400
https://bugs.webkit.org/show_bug.cgi?id=84420

Broke unit tests.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::popupOpened):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::applyAutofillSuggestions):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Gtk][DOM Bindings] Conditional string in implementation file generated in wrong...
zandobersek@gmail.com [Fri, 27 Apr 2012 16:27:22 +0000 (16:27 +0000)]
[Gtk][DOM Bindings] Conditional string in implementation file generated in wrong place after 113450
https://bugs.webkit.org/show_bug.cgi?id=85065

Reviewed by Martin Robinson.

Put the condition string in implementation file after the header inclusions. This ensures
that build errors do not occur when disabling the future that applies to the condition string
because of WebCore objects and methods that are still in use despite the feature being disabled.

No new tests - covered by bindings tests.

* bindings/scripts/CodeGeneratorGObject.pm:
(WriteData):
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Rebaseline generated results.
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Improve log output in InputHandler.cpp
commit-queue@webkit.org [Fri, 27 Apr 2012 16:10:53 +0000 (16:10 +0000)]
[BlackBerry] Improve log output in InputHandler.cpp
https://bugs.webkit.org/show_bug.cgi?id=85007

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.

PR 138292
Improving logging in InputHandler.
In setText we had an early return which wasn't being captured.
Also, cleaning up the output to make it more clear and descriptive.

Internally reviewed by Mike Fenton.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::learnText):
(BlackBerry::WebKit::InputHandler::enableInputMode):
(BlackBerry::WebKit::InputHandler::setText):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Remove Webkit/chromium/public/WebReferrerPolicy.h thunk.
gavinp@chromium.org [Fri, 27 Apr 2012 15:57:06 +0000 (15:57 +0000)]
[Chromium] Remove Webkit/chromium/public/WebReferrerPolicy.h thunk.
https://bugs.webkit.org/show_bug.cgi?id=84552

After http://codereview.chromium.org/10139023/ lands, this thunk is no
longer needed.

Reviewed by Adam Barth.

* WebKit.gyp:
* public/WebReferrerPolicy.h: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Blackberry] remove redundant returns
commit-queue@webkit.org [Fri, 27 Apr 2012 15:29:08 +0000 (15:29 +0000)]
[Blackberry] remove redundant returns
https://bugs.webkit.org/show_bug.cgi?id=85033

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-04-27
Reviewed by Antonio Gomes.

Remove two redundant returns which were added by accident.

No new test cases, because no behaviour has changed.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setSelection):
(BlackBerry::WebKit::WebPage::setCaretPosition):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAvoid mutating Element attribute storage in StepRange constructor.
kling@webkit.org [Fri, 27 Apr 2012 15:27:45 +0000 (15:27 +0000)]
Avoid mutating Element attribute storage in StepRange constructor.
<http://webkit.org/b/84797>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/selectors/querySelector-in-range-crash.html

* dom/Attribute.h:

    Add comment about the volatility of references returned by getters.

* html/StepRange.cpp:
(WebCore::StepRange::StepRange):

    Replace hasAttribute/getAttribute pair by a single fastGetAttribute.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::value):

    Store the value attribute in an local variable before passing it to sanitizeValue().

LayoutTests:

* fast/selectors/querySelector-in-range-crash-expected.txt: Added.
* fast/selectors/querySelector-in-range-crash.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Disables a few more webkit_unittests.
bulach@chromium.org [Fri, 27 Apr 2012 15:14:41 +0000 (15:14 +0000)]
[chromium] Disables a few more webkit_unittests.
https://bugs.webkit.org/show_bug.cgi?id=85052

Unreviewed build fix.

Failing on Windows bots, probably due to r115400.

* tests/PopupMenuTest.cpp:
(WebKit::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSVG inline style of 'marker-*' does not override
rwlbuis@webkit.org [Fri, 27 Apr 2012 15:05:21 +0000 (15:05 +0000)]
SVG inline style of 'marker-*' does not override
https://bugs.webkit.org/show_bug.cgi?id=84824

Source/WebCore:

Reviewed by Nikolas Zimmermann.

Properly handle CSSValueNone for clip-path, filter, mask and marker-* properties. Instead
of bailing out, set the none value explicitly, since an earlier match may have set it to
something other than none.

Tests: svg/custom/inline-style-overrides-clipPath-expected.svg
       svg/custom/inline-style-overrides-clipPath.svg
       svg/custom/inline-style-overrides-filter-expected.svg
       svg/custom/inline-style-overrides-filter.svg
       svg/custom/inline-style-overrides-markers-expected.svg
       svg/custom/inline-style-overrides-markers.svg
       svg/custom/inline-style-overrides-mask-expected.svg
       svg/custom/inline-style-overrides-mask.svg

* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):

LayoutTests:

Add tests for clip-path, filter, mask and marker-* properties.

Reviewed by Nikolas Zimmermann.

* svg/custom/inline-style-overrides-clipPath-expected.svg: Added.
* svg/custom/inline-style-overrides-clipPath.svg: Added.
* svg/custom/inline-style-overrides-filter-expected.svg: Added.
* svg/custom/inline-style-overrides-filter.svg: Added.
* svg/custom/inline-style-overrides-markers-expected.svg: Added.
* svg/custom/inline-style-overrides-markers.svg: Added.
* svg/custom/inline-style-overrides-mask-expected.svg: Added.
* svg/custom/inline-style-overrides-mask.svg: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, GTK gardening.
philn@webkit.org [Fri, 27 Apr 2012 15:05:09 +0000 (15:05 +0000)]
Unreviewed, GTK gardening.

* Scripts/run-gtk-tests:
(TestRunner): Skip flaky WebKit2 API test.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] media/video-controls-rendering-toggle-display-none.html is failing
commit-queue@webkit.org [Fri, 27 Apr 2012 15:00:36 +0000 (15:00 +0000)]
[EFL] media/video-controls-rendering-toggle-display-none.html is failing
https://bugs.webkit.org/show_bug.cgi?id=84949

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-04-27
Reviewed by Antonio Gomes.

Fix volume slider rendering so that the
media/video-controls-rendering-toggle-display-none.html passes.

* css/mediaControlsEfl.css:
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSupport values animation mode with just a single value
zimmermann@webkit.org [Fri, 27 Apr 2012 14:58:46 +0000 (14:58 +0000)]
Support values animation mode with just a single value
https://bugs.webkit.org/show_bug.cgi?id=85064

Reviewed by Antti Koivisto.

Source/WebCore:

values="a" is equal to <set to="a"> per SMIL specification.
We currently only support values animation if at least two values are given, fix that.

The reference animations in Dr. Olaf Hoffmanns SVG Animation test suite are mostly using
values animations, sometimes with only a single value given. Lots of the reference animations
are broken in trunk w/o this patch and now work as expected.

See http://hoffmann.bplaced.net/svgtest/index.php?s=en&in=start.

Test: svg/animations/single-values-animation.html

* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::startedActiveInterval):

LayoutTests:

* svg/animations/resources/single-values-animation.svg: Added.
* svg/animations/script-tests/single-values-animation.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/single-values-animation-expected.txt: Added.
* svg/animations/single-values-animation.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Update test expectation.
bulach@chromium.org [Fri, 27 Apr 2012 14:55:48 +0000 (14:55 +0000)]
[chromium] Update test expectation.
https://bugs.webkit.org/show_bug.cgi?id=85038

Unreviewed, chromium test_expectations update.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Allow inspection of Web Socket Frames
commit-queue@webkit.org [Fri, 27 Apr 2012 14:17:45 +0000 (14:17 +0000)]
Web Inspector: Allow inspection of Web Socket Frames
https://bugs.webkit.org/show_bug.cgi?id=83282

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-04-27
Reviewed by Pavel Feldman.

Source/WebCore:

Tests: http/tests/inspector/web-socket-frame-error.html
       http/tests/inspector/web-socket-frame.html

* English.lproj/localizedStrings.js: Added new Web Inspector front-end UI strings.
* Modules/websockets/WebSocketChannel.cpp:  Added InspectorInstrumentation calls to
                                            the following methods.
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::sendFrame):
* WebCore.gypi: Added new Web Inspector resource file.
* WebCore.vcproj/WebCore.vcproj: Added new Web Inspector resource file.
* inspector/Inspector.json: Added new Web Inspector resource file.
* inspector/InspectorInstrumentation.cpp: Added new methods for instrumenting a Web Socket frame or error.
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
(WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
* inspector/InspectorResourceAgent.h:
(WebCore):
(InspectorResourceAgent):
* inspector/compile-front-end.py: Added new Web Inspector resource file.
* inspector/front-end/NetworkItemView.js: Added a new View for inspecting Web Socket frames and errors.
(WebInspector.NetworkItemView):
* inspector/front-end/NetworkManager.js: Implemented callback called by InspectorResourceAgent for
                                         the new Web Socket frame and error calls.
(WebInspector.NetworkDispatcher.prototype.webSocketFrameReceived):
(WebInspector.NetworkDispatcher.prototype.webSocketFrameSent):
(WebInspector.NetworkDispatcher.prototype.webSocketFrameError):
* inspector/front-end/NetworkRequest.js: Added a frames array to a Resource request along
                                         with accessor and helper methods
(WebInspector.NetworkRequest):
(WebInspector.NetworkRequest.prototype.resource):
(WebInspector.NetworkRequest.prototype.hasFrames):
(WebInspector.NetworkRequest.prototype.frameLength):
(WebInspector.NetworkRequest.prototype.getFrame):
(WebInspector.NetworkRequest.prototype.addFrameError):
(WebInspector.NetworkRequest.prototype.addFrame):
(WebInspector.NetworkRequest.prototype._pushFrame):
* inspector/front-end/ResourceWebSocketFrameView.js: Added to help display Web Socket frame and error data.
(WebInspector.ResourceWebSocketFrameView):
* inspector/front-end/WebKit.qrc: Added new Web Inspector resource file.
* inspector/front-end/inspector.html: Added new Web Inspector resource file.

LayoutTests:

* http/tests/inspector/web-socket-frame-error-expected.txt: Added.
* http/tests/inspector/web-socket-frame-error.html: Added.
* http/tests/inspector/web-socket-frame-expected.txt: Added.
* http/tests/inspector/web-socket-frame.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt][WK2] setVisibleContentsRect is not thread safe
yael.aharon@nokia.com [Fri, 27 Apr 2012 14:12:51 +0000 (14:12 +0000)]
[Qt][WK2] setVisibleContentsRect is not thread safe
https://bugs.webkit.org/show_bug.cgi?id=85060

Reviewed by Noam Rosenthal.

Don't call WebLayerTreeRenderer::setVisibleContentsRect directly. Use bind() instead.

* UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::setVisibleContentsRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115426 268f45cc-cd09-0410-ab3c-d52691b4dbfc