profile/ivi/webkit-efl.git
12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 years agoFix repetitions & by animation support for SVGAnimateTransformElement
zimmermann@webkit.org [Fri, 27 Apr 2012 14:10:59 +0000 (14:10 +0000)]
Fix repetitions & by animation support for SVGAnimateTransformElement
https://bugs.webkit.org/show_bug.cgi?id=85051

Reviewed by Antti Koivisto.

Source/WebCore:

Repetitions are currently handled by adjusting percentage (percentage += repeatCount).
This doesn't work for <animateTransform> as each repetition has to be post-multiplied to the animated transform list. Fix that.

By-animations are equal to values="0;by" animations in SMIL. '0' is the neutral element of addition, which is the _zero_ matrix,
not the identity matrix for SVGTransform. Add a new construction mode to SVGTransform to be able to construct zero transforms.

Tests: svg/animations/animateTransform-accumulation-expected.svg
       svg/animations/animateTransform-accumulation.svg
       svg/animations/animateTransform-by-scale-expected.svg
       svg/animations/animateTransform-by-scale.svg
       svg/animations/animateTransform-from-by-from-to-comparision-expected.svg
       svg/animations/animateTransform-from-by-from-to-comparision.svg
       svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg
       svg/animations/animateTransform-from-by-scale-additive-sum.svg
       svg/animations/animateTransform-from-by-scale-expected.svg
       svg/animations/animateTransform-from-by-scale.svg
       svg/animations/animateTransform-rotate-around-point-expected.svg
       svg/animations/animateTransform-rotate-around-point.svg
       svg/animations/animateTransform-skewX-expected.svg
       svg/animations/animateTransform-skewX.svg
       svg/animations/animateTransform-skewY-expected.svg
       svg/animations/animateTransform-skewY.svg
       svg/animations/animateTransform-translate-expected.svg
       svg/animations/animateTransform-translate.svg
       svg/animations/multiple-animateTransform-additive-sum-expected.svg
       svg/animations/multiple-animateTransform-additive-sum.svg

* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::parseAttribute):
* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
* svg/SVGAnimationElement.h:
(WebCore::SVGAnimationElement::adjustFromToListValues):
* svg/SVGTransform.cpp:
(WebCore::SVGTransform::SVGTransform):
* svg/SVGTransform.h:
* svg/SVGTransformDistance.cpp:
(WebCore::SVGTransformDistance::SVGTransformDistance):
(WebCore::SVGTransformDistance::scaledDistance):
(WebCore::SVGTransformDistance::addSVGTransforms):
(WebCore::SVGTransformDistance::addToSVGTransform):
(WebCore::SVGTransformDistance::distance):
* svg/SVGTransformDistance.h:
(SVGTransformDistance):

LayoutTests:

Enable <animateTransform> test in additive-type-by-animation, which was disabled as it triggered assertions before this patch.
Add lots of new <animateTransform> covering additive/accumulative animations using reftests, for all animateTransform types (translate/rotate/skewX/skewY/scale).

* svg/animations/additive-type-by-animation-expected.txt:
* svg/animations/animateTransform-accumulation-expected.svg: Added.
* svg/animations/animateTransform-accumulation.svg: Added.
* svg/animations/animateTransform-by-scale-expected.svg: Added.
* svg/animations/animateTransform-by-scale.svg: Added.
* svg/animations/animateTransform-from-by-from-to-comparision-expected.svg: Added.
* svg/animations/animateTransform-from-by-from-to-comparision.svg: Added.
* svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg: Added.
* svg/animations/animateTransform-from-by-scale-additive-sum.svg: Added.
* svg/animations/animateTransform-from-by-scale-expected.svg: Added.
* svg/animations/animateTransform-from-by-scale.svg: Added.
* svg/animations/animateTransform-rotate-around-point-expected.svg: Added.
* svg/animations/animateTransform-rotate-around-point.svg: Added.
* svg/animations/animateTransform-skewX-expected.svg: Added.
* svg/animations/animateTransform-skewX.svg: Added.
* svg/animations/animateTransform-skewY-expected.svg: Added.
* svg/animations/animateTransform-skewY.svg: Added.
* svg/animations/animateTransform-translate-expected.svg: Added.
* svg/animations/animateTransform-translate.svg: Added.
* svg/animations/multiple-animateTransform-additive-sum-expected.svg: Added.
* svg/animations/multiple-animateTransform-additive-sum.svg: Added.
* svg/animations/resources/additive-type-by-animation.svg:
* svg/animations/script-tests/additive-type-by-animation.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgtransform-animation-1.js:
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(executeTest):
* svg/animations/script-tests/svgtransform-animation-discrete.js:
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/svgtransform-animation-1-expected.txt:
* svg/animations/svgtransform-animation-discrete-expected.txt:

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

12 years ago[BlackBerry] Find-in-page fails to deactivate the old active match when moving backwards
commit-queue@webkit.org [Fri, 27 Apr 2012 13:52:26 +0000 (13:52 +0000)]
[BlackBerry] Find-in-page fails to deactivate the old active match when moving backwards
https://bugs.webkit.org/show_bug.cgi?id=84892

Patch by Andy Chen <andchen@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.

Find in page fails to deactivate the old active match when moving backwards
because searchStartingPoint was incorrectly initialized.
Create a real range object instead of referencing other range object.
PR 152009

Internally reviewed by Yongxin Dai.

* WebKitSupport/InPageSearchManager.cpp:
(BlackBerry::WebKit::InPageSearchManager::findNextString):

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

12 years agoSVG Animations update baseVal instead of animVal
zimmermann@webkit.org [Fri, 27 Apr 2012 13:50:44 +0000 (13:50 +0000)]
SVG Animations update baseVal instead of animVal
https://bugs.webkit.org/show_bug.cgi?id=12437

Reviewed by Dirk Schulze.

Source/WebCore:

Cleanup animation code, remove last remaining crufts of the old setAttribute() animation model.
Now only two animation modes remain: animate SVG DOM animVal properties or CSS properties.

Stop caching base values per string in SMILTimeContainer, as it breaks additive="sum" for CSS
properties if the underlying base value is changed from the outside (eg. when calling
style.fontSize="20px", if font-size was 10px, and we're running an additive by-animation with 50px).

This requires us to cache the computed style of a SVGElement, without SMIL style property changes,
in SVGElementRareData, similar to how the computed style itself is cached in ElementRareData.
To be able to compute the base value for a CSS property at any time, we have to exclude any
previous animation effects residing in the SMIL animated style properties, per SMIL2/3 specs.

NOTE: This doesn't change or affect the way CSS Animations/Transitions are applied, we still
      have some bugs in that area, but this patch doesn't address them. The idea is to only
      remove the cache, to pave the way for future additive="sum" patches.

Tests: svg/animations/change-css-property-while-animating-fill-freeze.html
       svg/animations/change-css-property-while-animating-fill-remove.html

* dom/Element.cpp:
(WebCore::Element::recalcStyle):
* dom/Node.h:
* svg/SVGAnimateElement.cpp:
(WebCore::propertyTypesAreConsistent):
(WebCore::SVGAnimateElement::resetToBaseValue):
(WebCore::SVGAnimateElement::applyResultsToTarget):
* svg/SVGAnimateElement.h:
(SVGAnimateElement):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::resetToBaseValue):
* svg/SVGAnimateMotionElement.h:
(SVGAnimateMotionElement):
* svg/SVGAnimationElement.cpp:
(WebCore::applyCSSPropertyToTarget):
(WebCore::SVGAnimationElement::setTargetAttributeAnimatedCSSValue):
* svg/SVGAnimationElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::SVGElement):
(WebCore::SVGElement::willRecalcStyle):
(WebCore):
(WebCore::SVGElement::rareSVGData):
(WebCore::SVGElement::ensureRareSVGData):
(WebCore::SVGElement::computedStyle):
(WebCore::SVGElement::isAnimatableAttribute):
* svg/SVGElement.h:
(SVGElement):
* svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::SVGElementRareData):
(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::overrideComputedStyle):
(WebCore::SVGElementRareData::setUseOverrideComputedStyle):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
* svg/animation/SMILTimeContainer.h:
(SMILTimeContainer):
* svg/animation/SVGSMILElement.h:
(SVGSMILElement):

LayoutTests:

Add tests that change the CSS property while an animation is running, finally fixed now for both SVG DOM & CSS animations.

* svg/animations/change-css-property-while-animating-fill-freeze-expected.txt: Added.
* svg/animations/change-css-property-while-animating-fill-freeze.html: Added.
* svg/animations/change-css-property-while-animating-fill-remove-expected.txt: Added.
* svg/animations/change-css-property-while-animating-fill-remove.html: Added.
* svg/animations/resources/change-css-property-while-animating-fill-freeze.svg: Added.
* svg/animations/resources/change-css-property-while-animating-fill-remove.svg: Added.
* svg/animations/script-tests/change-css-property-while-animating-fill-freeze.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/change-css-property-while-animating-fill-remove.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):

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

12 years agoUnreviewed, GTK gardening.
philn@webkit.org [Fri, 27 Apr 2012 13:13:53 +0000 (13:13 +0000)]
Unreviewed, GTK gardening.

* Scripts/run-gtk-tests:
(TestRunner): Fix another typo. So easy to get confused by a Test
name and the actual name of the executable...

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

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

Unreviewed build fix.

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

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

12 years agoMove WebKit1 specific conversion of touch-events to WebKit1
kkristof@inf.u-szeged.hu [Fri, 27 Apr 2012 12:02:12 +0000 (12:02 +0000)]
Move WebKit1 specific conversion of touch-events to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=84951

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-27
Reviewed by Kenneth Rohde Christiansen.

Fix compile when touch-events are disabled.

* WebCoreSupport/WebEventConversion.cpp:
(WebCore):
* WebCoreSupport/WebEventConversion.h:
(WebCore):

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

12 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 27 Apr 2012 11:51:22 +0000 (11:51 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt: Mark another http/inspector
test as crashing.

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

12 years agoUnreviewed, GTK gardening.
philn@webkit.org [Fri, 27 Apr 2012 11:42:55 +0000 (11:42 +0000)]
Unreviewed, GTK gardening.

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

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

12 years agoSource/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the setti...
apavlov@chromium.org [Fri, 27 Apr 2012 10:07:37 +0000 (10:07 +0000)]
Source/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
(re-landing r115323 with a fixed test.)
https://bugs.webkit.org/show_bug.cgi?id=84946

Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
for the associated page to switch the script execution therein.

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@115417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 27 Apr 2012 09:59:10 +0000 (09:59 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt: Flag http test hitting an ASSERT.

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

12 years ago[EFL] DRT should support LayoutTestController's dumpResourceLoadCallbacks()
commit-queue@webkit.org [Fri, 27 Apr 2012 09:47:05 +0000 (09:47 +0000)]
[EFL] DRT should support LayoutTestController's dumpResourceLoadCallbacks()
https://bugs.webkit.org/show_bug.cgi?id=81891

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

Source/WebKit/efl:

New "load,resource,finished", "load,resource,failed", and
"resource,response,received" signals were added to notify about different
resource load events. These additional signals are needed for proper
support of LayoutTestController's dumpResourceLoadCallbacks() in EFL's
DumpRenderTree.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::assignIdentifierToInitialRequest):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveResponse):
(WebCore::FrameLoaderClientEfl::dispatchDidFinishLoading):
(WebCore::FrameLoaderClientEfl::dispatchDidFailLoading):
* ewk/ewk_frame.cpp:
(ewk_frame_response_received):
(ewk_frame_load_finished):
(ewk_frame_load_resource_finished):
(ewk_frame_load_resource_failed):
(ewk_frame_load_error):
* ewk/ewk_frame.h:
* ewk/ewk_private.h:
* ewk/ewk_view.h:

Tools:

Implement support for LayoutTestController's
dumpResourceLoadCallbacks() in EFL's DumpRenderTree by catching new
ewk_view signals about resource loading and print out the expected
information. This allows for several test cases to be removed from the
skip list.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::createView):
(descriptionSuitableForTestResult):
(DumpRenderTreeChrome::onResponseReceived):
(DumpRenderTreeChrome::onResourceLoadFinished):
(DumpRenderTreeChrome::onResourceLoadFailed):
(DumpRenderTreeChrome::onNewResourceRequest):
* DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):

LayoutTests:

Unskip tests which depend on EFL's DumpRenderTree support for
LayoutTestController's dumpResourceLoadCallbacks(), now that it is
implemented.

* platform/efl/Skipped:

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

12 years agoUnreviewed, GTK typo fix.
philn@webkit.org [Fri, 27 Apr 2012 09:16:37 +0000 (09:16 +0000)]
Unreviewed, GTK typo fix.

* Scripts/run-gtk-tests:
(TestRunner): Fix-up skipped WebKit2 API test name TestWKConnection.

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

12 years ago[chromium] Update test expectation.
bulach@chromium.org [Fri, 27 Apr 2012 09:07:18 +0000 (09:07 +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@115413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Fri, 27 Apr 2012 08:09:47 +0000 (08:09 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt: Fix expected results of
css2.1 results and remove non-existant fast/form test.

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

12 years ago[SOUP] Add a way to register custom uri schemes in WebKit2
carlosgc@webkit.org [Fri, 27 Apr 2012 07:13:40 +0000 (07:13 +0000)]
[SOUP] Add a way to register custom uri schemes in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=84130

Reviewed by Martin Robinson.

.:

* GNUmakefile.am: Add BUILDING_SOUP__ macro to compilation.

Source/WebKit2:

* GNUmakefile.am: Add new files to compilation.
* Platform/CoreIPC/MessageID.h: Add
MessageClassWebSoupRequestManager and
MessageClassWebSoupRequestManagerProxy message types to identify
WebSoupRequestManager messages.
* Shared/API/c/WKBase.h: Include WKBaseSoup.h when building with
soup network backend.
* Shared/API/c/soup/WKBaseSoup.h: Added.
* Shared/APIObject.h: Add SoupRequestManager type when using soup.
* UIProcess/API/C/WKAPICast.h: Include WKAPICastSoup.h when
building with soup network backend.
* UIProcess/API/C/soup/WKAPICastSoup.h: Added.
(WebKit): Map WKSoupRequestManagerRef to
WebSoupRequestManagerProxy.
* UIProcess/API/C/soup/WKContextSoup.cpp: Added.
(WKContextGetSoupRequestManager): Return WKSoupRequestManagerRef
associated to the context.
* UIProcess/API/C/soup/WKContextSoup.h: Added.
* UIProcess/API/C/soup/WKSoupRequestManager.cpp: Added.
(WKSoupRequestManagerGetTypeID): Return the
WebSoupRequestManagerProxy API type.
(WKSoupRequestManagerSetClient): Set the WKSoupRequestManagerClient.
(WKSoupRequestManagerRegisterURIScheme): Call
WebSoupRequestManagerProxy::registerURIScheme().
(WKSoupRequestManagerHandleURIRequest): Call
WebSoupRequestManagerProxy::handleURIRequest().
* UIProcess/API/C/soup/WKSoupRequestManager.h: Added.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialize
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::~WebContext): Invalidate and clear the
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::disconnectProcess): Invalidate the
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::didReceiveMessage): Forward the message to
m_soupRequestManagerProxy if it's a
MessageClassWebSoupRequestManagerProxy message.
* UIProcess/WebContext.h:
(WebKit::WebContext::soupRequestManagerProxy): Return
m_soupRequestManagerProxy.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage): Forward message to
the web context if it's a MessageClassWebSoupRequestManagerProxy
message.
* UIProcess/soup/WebSoupRequestManagerClient.cpp: Added.
(WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): Call
didReceiveURIRequest callback if it has an implementation.
* UIProcess/soup/WebSoupRequestManagerClient.h: Added.
* UIProcess/soup/WebSoupRequestManagerProxy.cpp: Added.
(WebKit::WebSoupRequestManagerProxy::create): Create a new
WebSoupRequestManagerProxy.
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::invalidate):
(WebKit::WebSoupRequestManagerProxy::initializeClient):
(WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
(WebKit::WebSoupRequestManagerProxy::registerURIScheme): Send
RegisterURIScheme message to the WebProcess to register the given
URI scheme.
(WebKit::WebSoupRequestManagerProxy::handleURIRequest): Send
HandleURIRequest message to the WebProcess with the given data and
data type.
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Call
didReceiveURIRequest callback to allow the user to handle the
request.
* UIProcess/soup/WebSoupRequestManagerProxy.h: Added.
* UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Added.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Initialize m_soupRequestManager
when using soup.
(WebKit::WebProcess::didReceiveMessage): Forward the message to
m_soupRequestManager if it's a MessageClassWebSoupRequestManager
message.
* WebProcess/WebProcess.h:
(WebKit::WebProcess::soupRequestManager): Return m_soupRequestManager.
* WebProcess/soup/WebKitSoupRequestGeneric.cpp: Added.
(webkitSoupRequestGenericFinalize):
(webkit_soup_request_generic_init):
(webkitSoupRequestGenericSendAsync): Create a GSimpleAsyncResult
to handle the request and pass it to the WebSoupRequestManager.
(webkitSoupRequestGenericSendFinish): Finish the async operation
started by webkitSoupRequestGenericSendAsync() and return the
contents of the request as returned by WebSoupRequestManager.
(webkitSoupRequestGenericGetContentLength): Get the request
contents length.
(webkitSoupRequestGenericGetContentType): Get the request mime
type.
(webkit_soup_request_generic_class_init):
(webkitSoupRequestGenericSetContentLength): Set the request
contents length.
(webkitSoupRequestGenericSetContentType): Set the request mime
type.
* WebProcess/soup/WebKitSoupRequestGeneric.h: Added.
* WebProcess/soup/WebSoupRequestManager.cpp: Added.
(WebKit::generateSoupRequestID): Helper function to generate a
unique request identifier.
(WebKit::WebSoupRequestManager::WebSoupRequestManager):
(WebKit::WebSoupRequestManager::~WebSoupRequestManager):
(WebKit::WebSoupRequestManager::didReceiveMessage):
(WebKit::WebSoupRequestManager::registerURIScheme): Add the scheme
to the schemes array and add a new WebKitSoupRequestGeneric
feature with the new scheme list to the SoupRequester feature.
(WebKit::WebSoupRequestManager::handleURIRequest): Complete the
async operation by creating a GInputStream with the request data,
or setting an error in case of failure.
(WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
message to the UI process.
(WebKit::WebSoupRequestManager::finish): Return the GInputStream
containing the request data.
* WebProcess/soup/WebSoupRequestManager.h: Added.
* WebProcess/soup/WebSoupRequestManager.messages.in: Added.

Source/WTF:

Add GPtrArray template to be able to use GRefPtr with GPtrArrays.

* wtf/gobject/GRefPtr.cpp:
(WTF::refGPtr):
(WTF):
(WTF::derefGPtr):
* wtf/gobject/GRefPtr.h:
(WTF):
* wtf/gobject/GTypedefs.h:

Tools:

* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration): Add webkit_soup prefix to
the list of exceptions to the underscores in identifiers rule.

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