profile/ivi/webkit-efl.git
12 years agoPerfTestRunner.computeStatistics incorrectly calculates min, max and median
tomz@codeaurora.org [Sun, 29 Apr 2012 18:22:22 +0000 (18:22 +0000)]
PerfTestRunner.computeStatistics incorrectly calculates min, max and median
https://bugs.webkit.org/show_bug.cgi?id=85111

Reviewed by Ryosuke Niwa.

The sort of the data input was being done alphabetically.
So I provided a numeric compare function.

* resources/runner.js:

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

12 years ago[GTK] DRT needs an implementation of layoutTestController.setDomainRelaxationForbidde...
commit-queue@webkit.org [Sun, 29 Apr 2012 15:25:13 +0000 (15:25 +0000)]
[GTK] DRT needs an implementation of layoutTestController.setDomainRelaxationForbiddenForURLScheme
https://bugs.webkit.org/show_bug.cgi?id=85131

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-04-29
Reviewed by Martin Robinson.

Source/WebKit/gtk:

Add support for setDomainRelaxationForbiddenForURLScheme which allow
disabling domain relaxation.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::setDomainRelaxationForbiddenForURLScheme):
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Tools:

Add missing implementation setDomainRelaxationForbiddenForURLScheme to
GTK's LayoutTestController.

* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

LayoutTests:

Unskip http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

* platform/gtk/test_expectations.txt:

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

12 years ago[Texmap] Leaves demo: wrong geometry when opacity animation kicks in
noam.rosenthal@nokia.com [Sun, 29 Apr 2012 15:20:12 +0000 (15:20 +0000)]
[Texmap] Leaves demo: wrong geometry when opacity animation kicks in
https://bugs.webkit.org/show_bug.cgi?id=85096

Reviewed by Kenneth Rohde Christiansen.

We should use combined() instead of combinedForChildren() since we don't allow
intermediate surfaces for preserves-3d. Also, we should apply the offset before
multiplying the transforms, otherwise the transform-origin is incorrect.

Covered by existing compositing tests.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::paintRecursive):

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

12 years ago[Chromium] Call highUsageDeltaMB directly
pilgrim@chromium.org [Sun, 29 Apr 2012 08:58:05 +0000 (08:58 +0000)]
[Chromium] Call highUsageDeltaMB directly
https://bugs.webkit.org/show_bug.cgi?id=84844

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):
(WebCore::MemoryUsageSupport::highUsageDeltaMB):
* platform/MemoryUsageSupport.h:
(MemoryUsageSupport):
* platform/chromium/MemoryUsageSupportChromium.cpp:
(WebCore::MemoryUsageSupport::highUsageDeltaMB):
(WebCore):
* platform/chromium/PlatformSupport.h:
(PlatformSupport):

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

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

12 years agoREGRESSION(r113086): onresize event handler can be deleted in popup window
haraken@chromium.org [Sun, 29 Apr 2012 08:07:50 +0000 (08:07 +0000)]
REGRESSION(r113086): onresize event handler can be deleted in popup window
https://bugs.webkit.org/show_bug.cgi?id=84908

Reviewed by Ojan Vafai.

In a nutshell, an onresize event handler in the popup window
can be non-deterministically deleted. For more details, please
look at Chromium issue 123642:
http://code.google.com/p/chromium/issues/detail?id=123642

I confirmed that this bug is the regression caused by r113086.

r113086 introduced the following code:

void V8LazyEventListener::prepareListenerObject(...) {
    if (hasExistingListenerObject())
        return;
    ...;
    // Since we only parse once, there's no need to keep data
    // used for parsing around anymore.
    m_functionName = String();
    m_code = String();
    m_eventParameterName = String();
    m_sourceURL = String();

    setListenerObject(wrappedFunction);
}

This is not correct. The parsing can be done more than once,
and thus we cannot clear data. This patch removes the above code.

Consider the following situation:

(1) Assume '<body onresize="f()"></body>'.
(2) prepareListenerObject() runs.
(3) Since this is the first parsing, hasExistingListenerObject()
returns false. After the parsing, the listener object is set
by setListenerObject().
(4) GC runs. Since there is no strong reference to the listener
object, weakEventListenerCallback() is called back, and the listener
object is disposed.
(5) A resize event is triggered.
(6) prepareListenerObject() is called again. Since the listener object
is already disposed, hasExistingListenerObject() returns false,
and the second parsing starts.

In my investigation, the above situation is happening in the reported
Chromium bug. Anyway, I am sure that potentially the parsing can be
done more than once, and thus we must keep m_xxxx data.

However, this is just a temporary fix. We should fix the code so that
an alive event listener object is never reclaimed.
See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details.

No tests: I tried hard to create a DRT test, but could not.
The bug depends on the behavior of GC, and thus the reported bug is
non-deterministic. For example, (as explained in the Chromium issue,)
the bug does not happen if we load an HTML from network because
the network latency hides the bug. Also the bug happens in the
popup window only. If we open the reported HTML in the main window,
we cannot reproduce the bug.

* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):

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

12 years agoUnreviewed, gardening after revisions 115573 and 115582.
zandobersek@gmail.com [Sun, 29 Apr 2012 07:09:36 +0000 (07:09 +0000)]
Unreviewed, gardening after revisions 115573 and 115582.

* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt:
* platform/gtk/fast/forms/001-expected.txt:
* platform/gtk/fast/html/details-position-expected.txt: Added.
* platform/gtk/fast/replaced/width100percent-checkbox-expected.txt:
* platform/gtk/fast/replaced/width100percent-radio-expected.txt:
* platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Added.
* platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:

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

12 years ago[Qt] Unreviewed weekend gardening, update test results, skip new failing tests.
ossy@webkit.org [Sun, 29 Apr 2012 06:04:15 +0000 (06:04 +0000)]
[Qt] Unreviewed weekend gardening, update test results, skip new failing tests.

* fast/files/workers/inline-worker-via-blob-url.html: Trivial typo fix after r115582.
* platform/qt-4.8/fast/dom/Window/window-properties-expected.txt: Updated after r115582.
* platform/qt-5.0-wk2/fast/dom/Window/window-properties-expected.txt: Updated after r115582.
* platform/qt-5.0/fast/dom/Window/window-properties-expected.txt: Updated after r115582.
* platform/qt/Skipped: Skip a new failing reftest after r115554.
* platform/qt/fast/dom/constructed-objects-prototypes-expected.txt:
* platform/qt/fast/html/details-position-expected.png: Updated after r115573.
* platform/qt/fast/html/details-position-expected.txt: Updated after r115573.
* platform/qt/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Updated after r115573.

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

12 years agoSmooth scrolling needs a new key
weinig@apple.com [Sun, 29 Apr 2012 01:53:22 +0000 (01:53 +0000)]
Smooth scrolling needs a new key
<rdar://problem/11331632>

Reviewed by Dan Bernstein.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
* TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
(TestWebKitAPI::InjectedBundleController::platformInitialize):
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
Update for new key.

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

12 years agoFactored threaded block allocation into a separate object
ggaren@apple.com [Sun, 29 Apr 2012 01:44:37 +0000 (01:44 +0000)]
Factored threaded block allocation into a separate object
https://bugs.webkit.org/show_bug.cgi?id=85148

Reviewed by Sam Weinig.

99% of this patch just moves duplicated block allocation and
deallocation code into a new object named BlockAllocator, with these
exceptions:

* heap/BlockAllocator.h: Added.
(BlockAllocator::BlockAllocator): The order of declarations here now
guards us against an unlikely race condition during startup.

* heap/BlockAllocator.cpp:
JSC::BlockAllocator::blockFreeingThreadMain): Added a FIXME to
highlight a lack of clarity we have in our block deallocation routines.

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

12 years agoSmooth scrolling needs a new key
weinig@apple.com [Sun, 29 Apr 2012 01:32:16 +0000 (01:32 +0000)]
Smooth scrolling needs a new key
<rdar://problem/11331632>

Reviewed by Geoffrey Garen.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::scrollAnimationEnabledForSystem):
(WebCore::ScrollAnimatorMac::scroll):
Update for new key.

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

12 years agoMessagePort must set m_closed to be true at the end of MessagePort::close function
commit-queue@webkit.org [Sun, 29 Apr 2012 01:14:05 +0000 (01:14 +0000)]
MessagePort must set m_closed to be true at the end of MessagePort::close function
https://bugs.webkit.org/show_bug.cgi?id=85139

Source/WebCore:

In the function MessagePort::close, the "m_closed = true" must be executed at the end, not at the beginning.
Or, the m_entangledChannel->close() will not be executed.
And it resulted in the failure of MS bench mark messagechannel_close.htm.
http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/messagechannel_close.htm

Patch by Li Yin <li.yin@intel.com> on 2012-04-28
Reviewed by Kentaro Hara.

Test: fast/events/message-port-close.html

* dom/MessagePort.cpp:
(WebCore::MessagePort::close):

LayoutTests:

Test MessageChannel.port whether can receive message after it is closed.

Patch by Li Yin <li.yin@intel.com> on 2012-04-28
Reviewed by Kentaro Hara.

* fast/events/message-port-close-expected.txt: Added.
* fast/events/message-port-close.html: Added.

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

12 years agoTry to fix the Qt build.
weinig@apple.com [Sat, 28 Apr 2012 22:50:02 +0000 (22:50 +0000)]
Try to fix the Qt build.

* heap/Heap.cpp:
(JSC::Heap::lastChanceToFinalize):

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

12 years agoAnd again.
weinig@apple.com [Sat, 28 Apr 2012 22:45:37 +0000 (22:45 +0000)]
And again.

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

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

12 years agoOnce again, try to make these puppies work.
weinig@apple.com [Sat, 28 Apr 2012 22:39:17 +0000 (22:39 +0000)]
Once again, try to make these puppies work.

* bindings/v8/custom/V8BlobCustom.cpp:

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

12 years agoFix the Chromium build.
weinig@apple.com [Sat, 28 Apr 2012 22:33:50 +0000 (22:33 +0000)]
Fix the Chromium build.

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

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

12 years agoAdd support for the Blob constructor
weinig@apple.com [Sat, 28 Apr 2012 22:24:48 +0000 (22:24 +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: Added.
* fast/files/blob-constructor-expected.txt: Added.
* fast/files/script-tests/blob-constructor.js: Added.
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/constructed-objects-prototypes-expected.txt:
* fast/dom/window-domurl-crash.html:
* fast/files/blob-slice-overflow.html:
* fast/files/blob-slice-test.html:
* fast/files/file-reader-fffd-expected.txt:
* fast/files/file-reader-fffd.html:
* fast/files/not-enough-arguments-expected.txt:
* 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@115582 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMove PropertyWrapper out of the AnimationBase
igor.o@sisa.samsung.com [Sat, 28 Apr 2012 20:59:06 +0000 (20:59 +0000)]
Move PropertyWrapper out of the  AnimationBase
https://bugs.webkit.org/show_bug.cgi?id=84978

Reviewed by Dean Jackson.

AnimationBase is a complex class. It has a state machine and a bunch of
property handlers. This patch moves the property handlers to a separate
class making AnimationBase simpler.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* page/animation/AnimationBase.cpp:
* page/animation/AnimationBase.h:
(AnimationBase):
* page/animation/AnimationController.cpp:
(WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
* page/animation/CSSPropertyAnimation.cpp: Added.
(WebCore):
(WebCore::blendFunc):
(WebCore::crossfadeBlend):
(AnimationPropertyWrapperBase):
(WebCore::AnimationPropertyWrapperBase::AnimationPropertyWrapperBase):
(WebCore::AnimationPropertyWrapperBase::~AnimationPropertyWrapperBase):
(WebCore::AnimationPropertyWrapperBase::isShorthandWrapper):
(WebCore::AnimationPropertyWrapperBase::property):
(WebCore::AnimationPropertyWrapperBase::animationIsAccelerated):
(WebCore::addPropertyWrapper):
(WebCore::wrapperForProperty):
(PropertyWrapperGetter):
(WebCore::PropertyWrapperGetter::PropertyWrapperGetter):
(WebCore::PropertyWrapperGetter::equals):
(PropertyWrapper):
(WebCore::PropertyWrapper::PropertyWrapper):
(WebCore::PropertyWrapper::blend):
(RefCountedPropertyWrapper):
(WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
(WebCore::RefCountedPropertyWrapper::blend):
(StyleImagePropertyWrapper):
(WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
(WebCore::StyleImagePropertyWrapper::equals):
(PropertyWrapperColor):
(WebCore::PropertyWrapperColor::PropertyWrapperColor):
(WebCore::PropertyWrapperColor::blend):
(PropertyWrapperAcceleratedOpacity):
(WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
(WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
(WebCore::PropertyWrapperAcceleratedOpacity::blend):
(PropertyWrapperAcceleratedTransform):
(WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
(WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
(WebCore::PropertyWrapperAcceleratedTransform::blend):
(PropertyWrapperAcceleratedFilter):
(WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
(WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
(WebCore::PropertyWrapperAcceleratedFilter::blend):
(WebCore::shadowListLength):
(WebCore::shadowForBlending):
(PropertyWrapperShadow):
(WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
(WebCore::PropertyWrapperShadow::equals):
(WebCore::PropertyWrapperShadow::blend):
(WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
(WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
(PropertyWrapperMaybeInvalidColor):
(WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
(WebCore::PropertyWrapperMaybeInvalidColor::equals):
(WebCore::PropertyWrapperMaybeInvalidColor::blend):
(PropertyWrapperVisitedAffectedColor):
(WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
(WebCore::PropertyWrapperVisitedAffectedColor::equals):
(WebCore::PropertyWrapperVisitedAffectedColor::blend):
(FillLayerAnimationPropertyWrapperBase):
(WebCore::FillLayerAnimationPropertyWrapperBase::FillLayerAnimationPropertyWrapperBase):
(WebCore::FillLayerAnimationPropertyWrapperBase::~FillLayerAnimationPropertyWrapperBase):
(FillLayerPropertyWrapperGetter):
(WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
(WebCore::FillLayerPropertyWrapperGetter::equals):
(FillLayerPropertyWrapper):
(WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
(WebCore::FillLayerPropertyWrapper::blend):
(FillLayerRefCountedPropertyWrapper):
(WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
(WebCore::FillLayerRefCountedPropertyWrapper::blend):
(FillLayerStyleImagePropertyWrapper):
(WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
(WebCore::FillLayerStyleImagePropertyWrapper::equals):
(FillLayersPropertyWrapper):
(WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
(WebCore::FillLayersPropertyWrapper::equals):
(WebCore::FillLayersPropertyWrapper::blend):
(ShorthandPropertyWrapper):
(WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
(WebCore::ShorthandPropertyWrapper::isShorthandWrapper):
(WebCore::ShorthandPropertyWrapper::equals):
(WebCore::ShorthandPropertyWrapper::blend):
(WebCore::ShorthandPropertyWrapper::propertyWrappers):
(PropertyWrapperFlex):
(WebCore::PropertyWrapperFlex::PropertyWrapperFlex):
(WebCore::PropertyWrapperFlex::equals):
(WebCore::PropertyWrapperFlex::blend):
(PropertyWrapperSVGPaint):
(WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
(WebCore::PropertyWrapperSVGPaint::equals):
(WebCore::PropertyWrapperSVGPaint::blend):
(WebCore::addShorthandProperties):
(WebCore::CSSPropertyAnimation::ensurePropertyMap):
(WebCore::gatherEnclosingShorthandProperties):
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
(WebCore::CSSPropertyAnimation::propertiesEqual):
(WebCore::CSSPropertyAnimation::getPropertyAtIndex):
(WebCore::CSSPropertyAnimation::getNumProperties):
* page/animation/CSSPropertyAnimation.h: Added.
(WebCore):
(CSSPropertyAnimation):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::pauseTransitionAtTime):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate):
(WebCore::ImplicitAnimation::getAnimatedStyle):
(WebCore::ImplicitAnimation::isTargetPropertyEqual):
(WebCore::ImplicitAnimation::blendPropertyValueInStyle):
(WebCore::ImplicitAnimation::timeToNextService):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::getAnimatedStyle):
(WebCore::KeyframeAnimation::timeToNextService):
* rendering/style/RenderStyle.h:

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

12 years ago2012-04-28 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Sat, 28 Apr 2012 20:58:47 +0000 (20:58 +0000)]
2012-04-28  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the Windows build.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

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

12 years agoClarified JSGlobalData (JavaScript VM) lifetime
ggaren@apple.com [Sat, 28 Apr 2012 20:51:27 +0000 (20:51 +0000)]
Clarified JSGlobalData (JavaScript VM) lifetime
https://bugs.webkit.org/show_bug.cgi?id=85142

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

This was so confusing that I didn't feel like I could reason about
memory lifetime in the heap without fixing it.

The rules are:

(1) JSGlobalData owns the virtual machine and all memory in it.

(2) Deleting a JSGlobalData frees the virtual machine and all memory
in it.

(Caveat emptor: if you delete the virtual machine while you're running
JIT code or accessing GC objects, you're gonna have a bad time.)

(I opted not to make arbitrary sub-objects keep the virtual machine
alive automatically because:

        (a) doing that right would be complex and slow;

        (b) in the case of an exiting thread or process, there's no
        clear way to give the garbage collector a chance to try again
        later;

        (c) continuing to run the garbage collector after we've been
        asked to shut down the virtual machine seems rude;

        (d) we've never really supported that feature, anyway.)

(3) Normal ref-counting will do. No need to call a battery of
specialty functions to tear down a JSGlobalData. Its foibles
notwithstanding, C++ does in fact know how to execute destructors in
order.

* API/JSContextRef.cpp:
(JSGlobalContextCreate): Removed compatibility shim for older
operating systems because it's no longer used.

(JSGlobalContextRelease): Now that we can rely on JSGlobalData to "do
the right thing", this code is much simpler. We still have one special
case to notify the garbage collector if we're removing the last
reference to the global object, since this can improve memory behavior.

* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::freeAllBlocks):
* heap/CopiedSpace.h:
(CopiedSpace): Renamed "destroy" => "freeAllBlocks" because true
destruction-time behaviors should be limited to our C++ destructor.

* heap/Heap.cpp:
(JSC::Heap::~Heap):
(JSC):
(JSC::Heap::lastChanceToFinalize):
* heap/Heap.h:
(Heap):
(JSC::Heap::heap): Renamed "destroy" => "lastChanceToFinalize" because
true destruction-time behaviors should be limited to our C++
destructor.

Reorganized the code, putting code that must run before any objects
get torn down into lastChanceToFinalize, and code that just tears down
objects into our destructor.

* heap/Local.h:
(JSC::LocalStack::LocalStack):
(JSC::LocalStack::push):
(LocalStack): See rule (2).

* jsc.cpp:
(functionQuit):
(main):
(printUsageStatement):
(parseArguments):
(jscmain):
* testRegExp.cpp:
(main):
(printUsageStatement):
(parseArguments):
(realMain): See rule (3).

I removed the feature of ensuring orderly tear-down when calling quit()
or running in --help mode because it didn't seem very useful and
making it work with Windows structured exception handling and
NO_RETURN didn't seem like a fun way to spend a Saturday.

* runtime/JSGlobalData.h:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData): Moved heap to be the first data
member in JSGlobalData to ensure that it's destructed last, so other
objects that reference it destruct without crashing. This allowed me
to remove clearBuiltinStructures() altogether, and helped guarantee
rule (3).

(JSC::JSGlobalData::~JSGlobalData): Explicitly call
lastChanceToFinalize() at the head of our destructor to ensure that
all pending finalizers run while the virtual machine is still in a
valid state. Trying to resurrect (re-ref) the virtual machine at this
point is not valid, but all other operations are.

Changed a null to a 0xbbadbeef to clarify just how bad this beef is.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::globalData): See rule (3).

Source/WebCore:

* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::~WorkerScriptController): Slightly
simpler than before. We can't just rely on our default destructor
because we need to hold the JSLock when we tear down the VM.

* bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_Construct): Don't RefPtr<> the JSGlobalData because it makes it
seem like you know something the rest of our code doesn't know. The
plugin JSGlobalData is immortal, anyway.

I also removed some timeout checker related code because that feature
doesn't work anymore, so it was effectively dead code.

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):

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

12 years agoUnreviewed, removing a Mac WebKit2-specific test result for
zandobersek@gmail.com [Sat, 28 Apr 2012 19:22:33 +0000 (19:22 +0000)]
Unreviewed, removing a Mac WebKit2-specific test result for
http/tests/xmlviewer/dumpAsText/frames.html that is not required
anymore after changes in r115572.

* platform/mac-wk2/http/tests/xmlviewer: Removed.
* platform/mac-wk2/http/tests/xmlviewer/dumpAsText: Removed.
* platform/mac-wk2/http/tests/xmlviewer/dumpAsText/frames-expected.txt: Removed.

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

12 years agoWeb Inspector: InspectorFrontendHost.append has to be implemented for saving heap...
loislo@chromium.org [Sat, 28 Apr 2012 19:11:45 +0000 (19:11 +0000)]
Web Inspector: InspectorFrontendHost.append has to be implemented for saving heap snapshots.
https://bugs.webkit.org/show_bug.cgi?id=85137

We can save a file with help of InspectorFrontendHost.save method,
but it is suitable only for relatively small portions of data and
can't process the 6Gb heap snapshot.
These methods just pass the url and content into embedder.

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/InspectorFrontendClient.h:
(InspectorFrontendClient):
* inspector/InspectorFrontendClientLocal.h:
(WebCore::InspectorFrontendClientLocal::append):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::append):
(WebCore):
* inspector/InspectorFrontendHost.h:
(InspectorFrontendHost):
* inspector/InspectorFrontendHost.idl:

Source/WebKit/chromium:

* public/WebDevToolsFrontendClient.h:
(WebKit::WebDevToolsFrontendClient::append):
* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::append):
(WebKit):
* src/InspectorFrontendClientImpl.h:
(InspectorFrontendClientImpl):

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

12 years ago[Qt][Texmap] Error of cross-compiling webkit with Qt 4.8.1
noam.rosenthal@nokia.com [Sat, 28 Apr 2012 18:53:08 +0000 (18:53 +0000)]
[Qt][Texmap] Error of cross-compiling webkit with Qt 4.8.1
https://bugs.webkit.org/show_bug.cgi?id=84321

Speculative build-fix for Qt 4.8.
Use QGLContext for Qt 4.x instead of the platform-specific context.

Reviewed by Simon Hausmann.

No new tests, build fix.

* platform/graphics/texmap/TextureMapperGL.cpp:
(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):

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

12 years agoUnreviewed rebaseline for tests affected by Length change in r115573.
eae@chromium.org [Sat, 28 Apr 2012 17:31:52 +0000 (17:31 +0000)]
Unreviewed rebaseline for tests affected by Length change in r115573.

* fast/borders/border-radius-huge-assert-expected.txt: Added.
* fast/html/details-position-expected.txt: Added.
* platform/chromium-mac-leopard/fast/forms/001-expected.png:
* platform/chromium-mac-leopard/fast/replaced/width100percent-checkbox-expected.png:
* platform/chromium-mac-leopard/fast/replaced/width100percent-radio-expected.png:
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug1318-expected.png:
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug4527-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/001-expected.png:
* platform/chromium-mac-snowleopard/fast/replaced/width100percent-checkbox-expected.png:
* platform/chromium-mac-snowleopard/fast/replaced/width100percent-radio-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug1318-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug4527-expected.png:
* platform/chromium-mac/fast/forms/001-expected.png:
* platform/chromium-mac/fast/replaced/width100percent-checkbox-expected.png:
* platform/chromium-mac/fast/replaced/width100percent-radio-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Added.
* platform/chromium-mac/tables/mozilla/bugs/bug1318-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug4527-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug4527-expected.txt:
* platform/chromium-win/fast/borders/border-radius-huge-assert-expected.png:
* platform/chromium-win/fast/html/details-position-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
* platform/efl/fast/borders/border-radius-huge-assert-expected.txt: Removed.
* platform/efl/fast/html/details-position-expected.txt: Removed.
* platform/efl/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Removed.
* platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Removed.
* platform/gtk/fast/borders/border-radius-huge-assert-expected.txt: Removed.
* platform/gtk/fast/html/details-position-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Removed.
* platform/gtk/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Removed.
* svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Added.
* svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Added.

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

12 years ago[Texmap] Falling leaves demo missing opacity fade out animation
noam.rosenthal@nokia.com [Sat, 28 Apr 2012 17:26:58 +0000 (17:26 +0000)]
[Texmap] Falling leaves demo missing opacity fade out animation
https://bugs.webkit.org/show_bug.cgi?id=83691

Reviewed by Martin Robinson.

The bug originated from clearing an intermediate surface with glClear while the scissor
state was wrong.
When using intermediate surfaces, maintain a clip-stack for each surface, rather than
a single clip-stack for the whole scene. When a surface is bound, its clip stack should
be applied.

Covered by existing compositing tests.

* platform/graphics/texmap/TextureMapperGL.cpp:
(SharedGLData):
(WebCore::TextureMapperGL::ClipStack::push):
(WebCore):
(WebCore::TextureMapperGL::ClipStack::pop):
(WebCore::scissorClip):
(WebCore::TextureMapperGL::ClipStack::apply):
(WebCore::TextureMapperGL::clipStack):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::BitmapTextureGL::didReset):
(WebCore::BitmapTextureGL::clearIfNeeded):
(WebCore::BitmapTextureGL::createFboIfNeeded):
(WebCore::BitmapTextureGL::bind):
(WebCore::TextureMapperGL::bindDefaultSurface):
(WebCore::TextureMapperGL::bindSurface):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):
* platform/graphics/texmap/TextureMapperGL.h:
(TextureMapperGL):
(ClipState):
(WebCore::TextureMapperGL::ClipState::ClipState):
(ClipStack):
(WebCore::TextureMapperGL::ClipStack::current):
(WebCore::TextureMapperGL::ClipStack::clear):
(BitmapTextureGL):
(WebCore::BitmapTextureGL::BitmapTextureGL):

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

12 years agoMove Length and CSS length computation to float
eae@chromium.org [Sat, 28 Apr 2012 16:27:15 +0000 (16:27 +0000)]
Move Length and CSS length computation to float
https://bugs.webkit.org/show_bug.cgi?id=84801

Source/WebCore:

Patch by Emil A Eklund  <eae@chromium.org> and Levi Weintraub <leviw@chromium.org> on 2012-04-26
Reviewed by Eric Seidel.

Change Length and CSS length computation to floating point. This gets us
closer to the goal of supporting subpixel layout and improves precision
for SVG which already uses floating point for its layout.

This change makes computedStyle return fractional values for pixel values
if a fraction is specified. It also changes the result of computations
where two or more values with fractional precision. Prior to this change
the result of Length(2.9) + Length(2.9) would be 4 as each value would be
floored. With this change the result is 5 as the addition is done with
floating point precision and then the result will be floored. Once we
enable subpixel layout the resulting value in this example would be 5.8.

Updated existing layout tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::zoomAdjustedPixelValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLength):
* css/CSSPrimitiveValue.h:
(WebCore):
(WebCore::roundForImpreciseConversion):
Add specialized float version of roundForImpreciseConversion that matches
the int versions rounding logic.

If a value is sufficiently close to the next integer round it up to
ensure that a style rule such as "width: 4.999px" evaluates to 5px
instead of 4px. This is needed as, although Lengths are using floating
point, the layout system still uses integer precision and floors the
Length values.
This will change once we move to FractionalLayoutUnits but for now this
is needed to ensure compatibility with the existing system and tests.

Without this specialized rounding logic we fail a handful of tests
including acid3.

* platform/Length.h:
(WebCore::Length::value):
(Length):
(WebCore::Length::intValue):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleOrColLogicalWidth):

LayoutTests:

Reviewed by Eric Seidel.

Change Length and CSS length computation to floating point. This gets us
closer to the goal of supporting subpixel layout and improves precision
for SVG which already uses floating point for its layout.

This change makes computedStyle return fractional values for pixel values
if a fraction is specified. It also changes the result of computations
where two or more values with fractional precision. Prior to this change
the result of Length(2.9) + Length(2.9) would be 4 as each value would be
floored. with this change the result is 5 as the addition is done with
floating point precision and then the result will be floored. Once we
enable subpixel layout the resulting value in this example would be 5.8.

* fast/dom/length-attribute-mapping-expected.txt:
* fast/dom/length-attribute-mapping.html:
* platform/mac-snowleopard/fast/forms/001-expected.png:
* platform/mac-snowleopard/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/mac/fast/forms/001-expected.txt:
* platform/mac/fast/html/details-position-expected.png:
* platform/mac/fast/html/details-position-expected.txt:
* platform/mac/fast/replaced/width100percent-checkbox-expected.png:
* platform/mac/fast/replaced/width100percent-checkbox-expected.txt:
* platform/mac/fast/replaced/width100percent-radio-expected.png:
* platform/mac/fast/replaced/width100percent-radio-expected.txt:
* platform/mac/mathml/presentation/fractions-expected.png:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:
* platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/mac/tables/mozilla/bugs/bug1318-expected.png:
* platform/mac/tables/mozilla/bugs/bug1318-expected.txt:

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

12 years ago[WK2] http/tests/navigation/anchor-frames-gbk.html fails
zandobersek@gmail.com [Sat, 28 Apr 2012 16:00:53 +0000 (16:00 +0000)]
[WK2] http/tests/navigation/anchor-frames-gbk.html fails
https://bugs.webkit.org/show_bug.cgi?id=76896

Reviewed by Darin Adler.

Tools:

Only dump as text if currently dumping render tree. This ensures that
calling dumpAsText in a test with dumpChildFramesAsText already being
called doesn't override the first decision, possibly making tests fail.

* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::dumpAsText):

LayoutTests:

Unskip the now-passing test for Mac and Qt WK2 ports.

* platform/mac-wk2/Skipped:
* platform/qt-5.0-wk2/Skipped:

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

12 years agoUnreviewed, adding a Gtk-specific baseline for
zandobersek@gmail.com [Sat, 28 Apr 2012 15:57:46 +0000 (15:57 +0000)]
Unreviewed, adding a Gtk-specific baseline for
fast/dom/Window/window-lookup-precedence.html.

* platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt: Added.

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

12 years agowatchlist: Add danw@gnome.org to SoupNetwork
danw@gnome.org [Sat, 28 Apr 2012 15:42:27 +0000 (15:42 +0000)]
watchlist: Add danw@gnome.org to SoupNetwork

* Scripts/webkitpy/common/config/watchlist:

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

12 years agoWeb Inspector: Enable touch events feature fails touch feature detection
apavlov@chromium.org [Sat, 28 Apr 2012 14:20:37 +0000 (14:20 +0000)]
Web Inspector: Enable touch events feature fails touch feature detection
https://bugs.webkit.org/show_bug.cgi?id=84397

Source/WebCore:

Whenever the touch emulation is enabled, Inspector adds a script to evaluate on load,
that adds ontouch(start|end|move|cancel) properties to window.__proto__ and document.__proto__.

Reviewed by Pavel Feldman.

* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
(WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.scriptAddedCallback):
(WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
* inspector/front-end/inspector.js:

LayoutTests:

Reviewed by Pavel Feldman.

* fast/events/touch/emulate-touch-events-expected.txt:
* fast/events/touch/emulate-touch-events.html:

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

12 years agoWeb Inspector: Shortcuts screen UI polish
commit-queue@webkit.org [Sat, 28 Apr 2012 14:11:02 +0000 (14:11 +0000)]
Web Inspector: Shortcuts screen UI polish
https://bugs.webkit.org/show_bug.cgi?id=84708

  1) remove inconsistent shadow;
  2) reduce border radius;
  3) vertically center the “X” button;
  4) replace unreadable symbolic shortcuts with text;
  5) gaps / colors / opacity adjustments;
  6) section-to-column distribution algorithm is replaced with a fair one.

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-04-28
Reviewed by Pavel Feldman.

This is a UI polising patch, so no new tests added.

* English.lproj/localizedStrings.js: added keyboars arrow keys items
* inspector/front-end/KeyboardShortcut.js: replace unreadable symbolic shortcuts with text
* inspector/front-end/ShortcutsScreen.js:
(WebInspector.ShortcutsScreen):
(WebInspector.ShortcutsScreen.prototype.show): remove redundant parameter
(WebInspector.ShortcutsScreen.prototype._buildTable): change section distributing algorithm
(WebInspector.ShortcutsSection.prototype.renderSection): render colon with margins
(WebInspector.ShortcutsSection.prototype._renderHeader): apply classname to th elements
* inspector/front-end/helpScreen.css:
(.help-window-main): reduce radius, remove shadow; tune color and opacity
(.help-window-caption): fix spacing; add ruler
(.help-window-title): fix spacing; remove ruler
(.help-content): fix spacing
(.help-close-button): fix spacing; adjust background color
(.help-column-table): fix spacing
(.help-table > tr > th): fix color
(.help-key): fix color
(.help-combine-keys, .help-key-delimiter): extract common style
(.help-combine-keys): remove dupe
(.help-section-title): add space between sections

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

12 years agoRemove PlatformTouchPointQt.cpp PlatformTouchEventQt.cpp from the gyp projects
noel.gordon@gmail.com [Sat, 28 Apr 2012 12:47:18 +0000 (12:47 +0000)]
Remove PlatformTouchPointQt.cpp PlatformTouchEventQt.cpp from the gyp projects
https://bugs.webkit.org/show_bug.cgi?id=85132

Unreviewed VS2010 gyp project generation fix.

PlatformTouchPointQt.cpp and PlatformTouchEventQt.cpp were removed in r115312,
so remove them from the gyp projects.

* WebCore.gypi:

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

12 years ago<animateTransform type="scale"> should use '0' as effective from value not '1', if...
zimmermann@webkit.org [Sat, 28 Apr 2012 12:01:48 +0000 (12:01 +0000)]
<animateTransform type="scale"> should use '0' as effective from value not '1', if no base value is specified and from is not given
https://bugs.webkit.org/show_bug.cgi?id=85133

Source/WebCore:

It should start from scale=0. I had that fixed before, but it got lost during merging. Restore the fix.
See bug 85051, for more context why this is correct.

Tests: svg/animations/animateTransform-by-scale-1-expected.svg
       svg/animations/animateTransform-by-scale-1.svg

* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):

LayoutTests:

Reviewed by Antti Koivisto.

* svg/animations/animateTransform-by-scale-1-expected.svg: Added.
* svg/animations/animateTransform-by-scale-1.svg: Added.

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

12 years ago[chromium] http/tests/websocket/tests/hixie76/url-parsing.html is failing
noel.gordon@gmail.com [Sat, 28 Apr 2012 11:21:13 +0000 (11:21 +0000)]
[chromium] http/tests/websocket/tests/hixie76/url-parsing.html is failing
https://bugs.webkit.org/show_bug.cgi?id=85130

Unreviewed test expectations update: fix expected text after r115533.

* platform/chromium-mac/http/tests/websocket/tests/hixie76/url-parsing-expected.txt: Removed.
* platform/chromium-win/http/tests/websocket/tests/hixie76/url-parsing-expected.txt: Removed.
* platform/chromium/http/tests/websocket/tests/hixie76/url-parsing-expected.txt: Renamed from LayoutTests/platform/chromium-linux/http/tests/websocket/tests/hixie76/url-parsing-expected.txt.

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

12 years agoSVGAnimateColorElement doesn't support by/to animations properly
zimmermann@webkit.org [Sat, 28 Apr 2012 11:03:11 +0000 (11:03 +0000)]
SVGAnimateColorElement doesn't support by/to animations properly
https://bugs.webkit.org/show_bug.cgi?id=36704

Reviewed by Antti Koivisto.

Source/WebCore:

Switch AnimatedColorAnimator to use the standard animateAdditiveNumber() method, taking progress & repeatCount into account.
This gives us accumulation/repeatCount support for free.

We just animate the four color components on their own now and clamp once at the end after addition/accumulation finished.
Import <animateColor> tests from Dr. Olaf Hoffmanns SVG Animation test suite, which all pass now.

While I was at it, remove the includeSMILProperties boolean from computeCSSPropertyValue - we always use the computed style
without SMIL effects included, whenever we want to retrieve the "base value", or handle "inherit/currentColor".

Tests: svg/animations/animateColor-additive-2a-expected.svg
       svg/animations/animateColor-additive-2a.svg
       svg/animations/animateColor-additive-2b-expected.svg
       svg/animations/animateColor-additive-2b.svg
       svg/animations/animateColor-additive-2c-expected.svg
       svg/animations/animateColor-additive-2c.svg
       svg/animations/animateColor-additive-2d-expected.svg
       svg/animations/animateColor-additive-2d.svg

* svg/ColorDistance.cpp:
(WebCore::ColorDistance::clampColor):
(WebCore::ColorDistance::addColors):
(WebCore::ColorDistance::addToColor):
* svg/ColorDistance.h:
(ColorDistance):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::resetToBaseValue):
* svg/SVGAnimatedColor.cpp:
(WebCore::SVGAnimatedColorAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::computeCSSPropertyValue):
(WebCore::SVGAnimationElement::adjustForInheritance):
* svg/SVGAnimationElement.h:
(SVGAnimationElement):

LayoutTests:

* svg/animations/animateColor-additive-2a-expected.svg: Added.
* svg/animations/animateColor-additive-2a.svg: Added.
* svg/animations/animateColor-additive-2b-expected.svg: Added.
* svg/animations/animateColor-additive-2b.svg: Added.
* svg/animations/animateColor-additive-2c-expected.svg: Added.
* svg/animations/animateColor-additive-2c.svg: Added.
* svg/animations/animateColor-additive-2d-expected.svg: Added.
* svg/animations/animateColor-additive-2d.svg: Added.

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

12 years ago[chromium] add frame boundaries instrumentation for the threaded compositor
caseq@chromium.org [Sat, 28 Apr 2012 09:57:14 +0000 (09:57 +0000)]
[chromium] add frame boundaries instrumentation for the threaded compositor
https://bugs.webkit.org/show_bug.cgi?id=83926

- call instrumentBeginFrame() in a callback invoked by CCThreadProxy to fix frame marks in WebInspector's
  timeline panel, currently broken for threaded compositor.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::willBeginFrame):

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

12 years agoUnreviewed. Gtk build fix after r115553.
yurys@chromium.org [Sat, 28 Apr 2012 09:49:06 +0000 (09:49 +0000)]
Unreviewed. Gtk build fix after r115553.

* Source/autotools/symbols.filter:

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

12 years ago2012-04-28 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Sat, 28 Apr 2012 09:44:39 +0000 (09:44 +0000)]
2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix Qt build -- I was too quick.

        * rendering/svg/SVGPathData.cpp: Add back Path.h include.

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

12 years agoRename SVGPathParserFactory to SVGPathUtilities and remove the obsolete singleton
zimmermann@webkit.org [Sat, 28 Apr 2012 09:29:32 +0000 (09:29 +0000)]
Rename SVGPathParserFactory to SVGPathUtilities and remove the obsolete singleton
https://bugs.webkit.org/show_bug.cgi?id=85129

SVGPathParserFactory implements the singleton pattern, but stores no members.
Remove the singleton and move all functions to free-functions into SVGPathUtilities.h.

Makes the code easier to read - doesn't affect any tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromPathElement):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* svg/SVGAllInOne.cpp:
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::parseAttribute):
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::constructFromString):
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
* svg/SVGAnimatedType.cpp:
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
* svg/SVGPathBlender.cpp: Fix typo s/;;/;/
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getTotalLength):
(WebCore::SVGPathElement::getPointAtLength):
(WebCore::SVGPathElement::getPathSegAtLength):
(WebCore::SVGPathElement::parseAttribute):
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::pathSegListChanged):
* svg/SVGPathParserFactory.h: Removed.
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::valueAsString):
* svg/SVGPathUtilities.cpp: Renamed from Source/WebCore/svg/SVGPathParserFactory.cpp.
(WebCore):
(WebCore::globalSVGPathBuilder):
(WebCore::globalSVGPathSegListBuilder):
(WebCore::globalSVGPathByteStreamBuilder):
(WebCore::globalSVGPathStringBuilder):
(WebCore::globalSVGPathTraversalStateBuilder):
(WebCore::globalSVGPathParser):
(WebCore::globalSVGPathBlender):
(WebCore::buildPathFromString):
(WebCore::buildSVGPathByteStreamFromSVGPathSegList):
(WebCore::buildPathFromByteStream):
(WebCore::buildSVGPathSegListFromByteStream):
(WebCore::buildStringFromByteStream):
(WebCore::buildStringFromSVGPathSegList):
(WebCore::buildSVGPathByteStreamFromString):
(WebCore::buildAnimatedSVGPathByteStream):
(WebCore::addToSVGPathByteStream):
(WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
(WebCore::getTotalLengthOfSVGPathByteStream):
(WebCore::getPointAtLengthOfSVGPathByteStream):
* svg/SVGPathUtilities.h: Added.
(WebCore):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):

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

12 years agoUnreviewed. Added new exported symbols after r115553.
yurys@chromium.org [Sat, 28 Apr 2012 09:20:24 +0000 (09:20 +0000)]
Unreviewed. Added new exported symbols after r115553.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

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

12 years ago2012-04-28 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Sat, 28 Apr 2012 09:16:27 +0000 (09:16 +0000)]
2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>

        Fix repetitions & by animation support for path animations
        https://bugs.webkit.org/show_bug.cgi?id=85071

        Rubber-stamped by Antti Koivisto.

        Cleanup SVGPathBlender, to make it more readable.

        * svg/SVGPathBlender.cpp:
        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
        (WebCore::SVGPathBlender::blendArcToSegment):
        (WebCore::SVGPathBlender::blendAnimatedPath):

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

12 years ago2012-04-28 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Sat, 28 Apr 2012 09:07:54 +0000 (09:07 +0000)]
2012-04-28  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Qt build fix: added new exported symbols.

        * WebCore.exp.in:

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

12 years agoUnreviewed. Fix Qt minimal build after r115553.
yurys@chromium.org [Sat, 28 Apr 2012 08:49:22 +0000 (08:49 +0000)]
Unreviewed. Fix Qt minimal build after r115553.

* inspector/InspectorConsoleAgent.h:

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

12 years agoFix repetitions & by animation support for path animations
zimmermann@webkit.org [Sat, 28 Apr 2012 08:27:08 +0000 (08:27 +0000)]
Fix repetitions & by animation support for path animations
https://bugs.webkit.org/show_bug.cgi?id=85071

Reviewed by Antti Koivisto.

Source/WebCore:

Implement additive="sum" / by-animation support for path animations, eg.
<path d="M 10 10 L 10 100 Z">
    <animate attributeName="d" begin="0s" dur="4s" by="M 0 0 L 90 0 Z"/>
<path>

animates the d attribute to "M 10 10 L 100 100 0 Z".

Now only <animateColor> and <animateMotion> are left to be fixed, all other types are working as expected now in all additive/accumulate/from-by/by/from-to animations.

Tests: svg/animations/path-animation-expected.svg
       svg/animations/repeating-path-animation-expected.svg
       svg/animations/repeating-path-animation.svg

* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::addAnimatedTypes): Implemented, to support by-animations, instead of falling back to to-animations.
(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue): Handle repetitions, accumulation & addition.
* svg/SVGPathBlender.cpp: Allow empty from source everywhere, use default values if no from value is specified, needed for by-animations.
(WebCore::SVGPathBlender::SVGPathBlender):
(WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
(WebCore::SVGPathBlender::blendAnimatedFloatPoint):
(WebCore::SVGPathBlender::blendMoveToSegment):
(WebCore::SVGPathBlender::blendLineToSegment):
(WebCore::SVGPathBlender::blendLineToHorizontalSegment):
(WebCore::SVGPathBlender::blendLineToVerticalSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSegment):
(WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
(WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
(WebCore::SVGPathBlender::blendArcToSegment):
(WebCore::SVGPathBlender::addAnimatedPath):
(WebCore::SVGPathBlender::blendAnimatedPath):
* svg/SVGPathBlender.h: Add new addAnimatedPath function.
(SVGPathBlender):
* svg/SVGPathByteStream.h:
(SVGPathByteStream): Make SVGPathByteStreams copyable, needed for SVGAnimatedPathAnimator.
(WebCore::SVGPathByteStream::size): Returns size of the SVGPathByteStream.
* svg/SVGPathParserFactory.cpp:
(WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream): Allow empty from streams, needed for by animations.
(WebCore::SVGPathParserFactory::addToSVGPathByteStream): Add 'byStream' 'repeatCount' times to 'toStream'. Both streams must match in size.
* svg/SVGPathParserFactory.h: Add new addToSVGPathByteStream function.
* svg/SVGPointList.cpp: Remove dead code.
* svg/SVGPointList.h: Ditto.
(SVGPointList):

LayoutTests:

* svg/animations/path-animation.svg: Added.
* svg/animations/path-animation-expected.svg: Added.
* svg/animations/repeating-path-animation-expected.svg: Added.
* svg/animations/repeating-path-animation.svg: Added.
* svg/animations/script-tests/svgpath-animation-1.js: Correct testcase, now that by animations are supported.
(sample2):
(sample3):
(executeTest):
* svg/animations/svgpath-animation-1-expected.txt:

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

12 years agoSVGAnimateMotion does not handle accumulation
zimmermann@webkit.org [Sat, 28 Apr 2012 08:22:07 +0000 (08:22 +0000)]
SVGAnimateMotion does not handle accumulation
https://bugs.webkit.org/show_bug.cgi?id=18564

Reviewed by Antti Koivisto.

Source/WebCore:

Implement accumulation for <animateMotion>. Add lots of new
reftests, verifying additive/accumulate behavior is correct.

Tests: svg/animations/animateMotion-additive-1-expected.svg
       svg/animations/animateMotion-additive-1.svg
       svg/animations/animateMotion-additive-2a-expected.svg
       svg/animations/animateMotion-additive-2a.svg
       svg/animations/animateMotion-additive-2b-expected.svg
       svg/animations/animateMotion-additive-2b.svg
       svg/animations/animateMotion-additive-2c-expected.svg
       svg/animations/animateMotion-additive-2c.svg
       svg/animations/animateMotion-additive-2d-expected.svg
       svg/animations/animateMotion-additive-2d.svg
       svg/animations/mozilla/animateMotion-by-1-expected.svg
       svg/animations/mozilla/animateMotion-by-1.svg
       svg/animations/mozilla/animateMotion-from-to-1-expected.svg
       svg/animations/mozilla/animateMotion-from-to-1.svg
       svg/animations/mozilla/animateMotion-indefinite-to-1-expected.svg
       svg/animations/mozilla/animateMotion-indefinite-to-1.svg
       svg/animations/mozilla/animateMotion-indefinite-to-2-expected.svg
       svg/animations/mozilla/animateMotion-indefinite-to-2.svg
       svg/animations/mozilla/animateMotion-mpath-pathLength-1-expected.svg
       svg/animations/mozilla/animateMotion-mpath-pathLength-1.svg
       svg/animations/mozilla/animateMotion-mpath-targetChange-1-expected.svg
       svg/animations/mozilla/animateMotion-mpath-targetChange-1.svg
       svg/animations/mozilla/animateMotion-to-overridden-1-expected.svg
       svg/animations/mozilla/animateMotion-to-overridden-1.svg

* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
(WebCore::SVGAnimateMotionElement::buildTransformForProgress):
(WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
* svg/SVGAnimateMotionElement.h:

LayoutTests:

Import mozilla <animateMotion> reftests, and two testscases from
Dr. Olaf Hoffmanns SVG test suite, covering all additive/accumulate modes
for <animateMotion>.

* svg/animations/animateMotion-additive-1-expected.svg: Added.
* svg/animations/animateMotion-additive-1.svg: Added.
* svg/animations/animateMotion-additive-2a-expected.svg: Added.
* svg/animations/animateMotion-additive-2a.svg: Added.
* svg/animations/animateMotion-additive-2b-expected.svg: Added.
* svg/animations/animateMotion-additive-2b.svg: Added.
* svg/animations/animateMotion-additive-2c-expected.svg: Added.
* svg/animations/animateMotion-additive-2c.svg: Added.
* svg/animations/animateMotion-additive-2d-expected.svg: Added.
* svg/animations/animateMotion-additive-2d.svg: Added.
* svg/animations/mozilla/animateMotion-by-1-expected.svg: Added.
* svg/animations/mozilla/animateMotion-by-1.svg: Added.
* svg/animations/mozilla/animateMotion-from-to-1-expected.svg: Added.
* svg/animations/mozilla/animateMotion-from-to-1.svg: Added.
* svg/animations/mozilla/animateMotion-indefinite-to-1-expected.svg: Added.
* svg/animations/mozilla/animateMotion-indefinite-to-1.svg: Added.
* svg/animations/mozilla/animateMotion-indefinite-to-2-expected.svg: Added.
* svg/animations/mozilla/animateMotion-indefinite-to-2.svg: Added.
* svg/animations/mozilla/animateMotion-mpath-pathLength-1-expected.svg: Added.
* svg/animations/mozilla/animateMotion-mpath-pathLength-1.svg: Added.
* svg/animations/mozilla/animateMotion-mpath-targetChange-1-expected.svg: Added.
* svg/animations/mozilla/animateMotion-mpath-targetChange-1.svg: Added.
* svg/animations/mozilla/animateMotion-to-overridden-1-expected.svg: Added.
* svg/animations/mozilla/animateMotion-to-overridden-1.svg: Added.

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

12 years agoScriptStateProtectedPtr should not keep a strong reference to the context
yurys@chromium.org [Sat, 28 Apr 2012 08:20:27 +0000 (08:20 +0000)]
ScriptStateProtectedPtr should not keep a strong reference to the context
https://bugs.webkit.org/show_bug.cgi?id=85009

Source/WebCore:

Delete console message arguments when DOMWindow where the messages were created
is reset on its frame.

Reviewed by Pavel Feldman.

Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html

* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::windowCleared):
(WebCore::ConsoleMessage::argumentCount):
(WebCore):
* inspector/ConsoleMessage.h:
(ConsoleMessage):
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::consoleMessageArgumentCounts):
(WebCore):
* inspector/InspectorConsoleAgent.h:
(InspectorConsoleAgent):
* page/Frame.cpp:
(WebCore::Frame::clearDOMWindow):
(WebCore::Frame::setDOMWindow):
* testing/Internals.cpp:
(WebCore):
(WebCore::Internals::consoleMessageArgumentCounts):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

LayoutTests:

Test that after frame navigation all arguments passed to the console messages
created in that frame will be discarded and not prevent the frame context from
being GC'ed.

Reviewed by Pavel Feldman.

* http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation-expected.txt: Added.
* http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html: Added.
* http/tests/inspector-enabled/console-clear-arguments-on-frame-remove-expected.txt:
* http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html:
* http/tests/inspector-enabled/resources/console-clear-arguments-test.js: Added.
(print):
(dumpConsoleMessageArgumentCounts):
* http/tests/inspector/console-test.js:
(initialize_ConsoleTest.InspectorTest.checkConsoleMessagesDontHaveParameters):
(initialize_ConsoleTest):

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

12 years ago[Qt] Unreviewed weekend gardening, skip new failing tests.
ossy@webkit.org [Sat, 28 Apr 2012 08:08:45 +0000 (08:08 +0000)]
[Qt] Unreviewed weekend gardening, skip new failing tests.

* platform/qt/Skipped:

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

12 years agoLayout Test fast/images/gif-large-checkerboard.html is a flaky crash
noel.gordon@gmail.com [Sat, 28 Apr 2012 07:02:12 +0000 (07:02 +0000)]
Layout Test fast/images/gif-large-checkerboard.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=85073

Unreviewed text expectations update. Test has been a solid PASS for past 12 hours
since the patch for bug 85077 rolled in.

* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed gardening, update expected files after r115446.
ossy@webkit.org [Sat, 28 Apr 2012 06:32:14 +0000 (06:32 +0000)]
Unreviewed gardening, update expected files after r115446.

* fast/dom/Window/window-lookup-precedence-expected.txt: Updated after r115446.
* platform/qt-4.8/fast/dom/Window/window-properties-expected.txt: Updated after r115446.
* platform/qt-5.0-wk2/fast/dom/Window/window-properties-expected.txt: Updated after r115446.
* platform/qt-5.0-wk2/fast/dom/prototype-inheritance-2-expected.txt: Updated after r115446.
* platform/qt-5.0/fast/dom/Window/window-properties-expected.txt: Updated after r115446.
* platform/qt-5.0/fast/dom/prototype-inheritance-2-expected.txt: Updated after r115446.
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt: Updated after r115446.
* platform/qt/fast/js/global-constructors-expected.txt: Updated after r115446.

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

12 years agoEnsure that there's always a provisional document loader if the frame loader is in...
jochen@chromium.org [Sat, 28 Apr 2012 06:28:37 +0000 (06:28 +0000)]
Ensure that there's always a provisional document loader if the frame loader is in provisional state
https://bugs.webkit.org/show_bug.cgi?id=83894

Reviewed by Nate Chapin.

We're still seeing crashes in the FrameLoader where the FrameLoader's
state is "provisional" but there is no provisional document loader. I
added code to update the FrameLoader's state everytime the provisional
document loader is cleared, and added checks that the FrameLoader's
state can't be set to provisional without a provisional loader.

If the crashes go away, or the newly added checks reveal the culprit,
we should relex the checks to use ASSERT() instead of CRASH().

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

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

12 years agoTry to fix the Windows build.
ggaren@apple.com [Sat, 28 Apr 2012 06:06:14 +0000 (06:06 +0000)]
Try to fix the Windows build.

* heap/WeakBlock.h:
(WeakBlock):

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

12 years agoUnreviewed, rebaselining after revisions 115446, 115510 and 115533.
zandobersek@gmail.com [Sat, 28 Apr 2012 06:05:00 +0000 (06:05 +0000)]
Unreviewed, rebaselining after revisions 115446, 115510 and 115533.

* fast/dom/Window/window-lookup-precedence-expected.txt:
* http/tests/websocket/tests/hixie76/url-parsing-expected.txt:
* http/tests/websocket/tests/hybi/url-parsing-expected.txt:
* platform/gtk/media/video-colorspace-yuv420-expected.txt:
* platform/gtk/media/video-colorspace-yuv422-expected.txt:

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

12 years agoTry to fix the Qt build.
ggaren@apple.com [Sat, 28 Apr 2012 06:02:42 +0000 (06:02 +0000)]
Try to fix the Qt build.

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMethod::finishCreation):

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

12 years agoMade WeakSet::allocate() static and removed its JSGlobalData argument
ggaren@apple.com [Sat, 28 Apr 2012 05:57:46 +0000 (05:57 +0000)]
Made WeakSet::allocate() static and removed its JSGlobalData argument
https://bugs.webkit.org/show_bug.cgi?id=85128

Reviewed by Anders Carlsson.

../JavaScriptCore:

This is a step toward faster finalization.

WeakSet::allocate() now deduces which WeakSet to allocate from based on
its JSCell* argument. (Currently, there's only one WeakSet, but soon
there will be many.)

This was a global replace of "globalData.heap.weakSet()->allocate" with
"WeakSet::allocate", plus by-hand removal of the JSGlobalData argument.

* heap/WeakSetInlines.h: Copied from Source/JavaScriptCore/heap/WeakSet.h.

I had to split out WeakSet::allocate() in to a separate header to avoid
a cycle.

(JSC::WeakSet::allocate): We can mask the pointer we're passed to
figure out where to allocate our WeakImpl. (Soon, we'll use this to
associate the WeakImpl with the GC block it references.)

../WebCore:

Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation.

* bindings/js/JSDOMBinding.cpp:
(WebCore::jsStringSlowCase):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::setWrapper):
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
* bindings/js/ScriptWrappable.h:
(WebCore::ScriptWrappable::setWrapper):
* bridge/jsc/BridgeJSC.cpp:
(JSC::Bindings::Instance::createRuntimeObject):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMethod::finishCreation):
* bridge/runtime_root.cpp:
(JSC::Bindings::RootObject::addRuntimeObject):

../WebKit2:

Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateJSObject):

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

12 years ago<rdar://problem/10346980> REGRESSION: Cannot enter text in Dashboard widget fields...
mrowe@apple.com [Sat, 28 Apr 2012 05:31:32 +0000 (05:31 +0000)]
<rdar://problem/10346980> REGRESSION: Cannot enter text in Dashboard widget fields that have placeholder attribute

Remove a dashboard backwards compatibility quirk that was in place to support an old version
of the Stocks widget. It prevented the pointer-events property from being applied in Dashboard
widgets, which caused -webkit-input-placeholder elements to eat mouse clicks rather than giving
focus to the containing input elements. The offending widget has long since been fixed.

Reviewed by Dan Bernstein.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

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

12 years agoSupport reverse and alternate-reverse in CA animations
dino@apple.com [Sat, 28 Apr 2012 04:59:53 +0000 (04:59 +0000)]
Support reverse and alternate-reverse in CA animations
https://bugs.webkit.org/show_bug.cgi?id=78041

Reviewed by Beth Dakin.

Source/WebCore:

CoreAnimation does not natively support reverse and alternate-reverse
animation directions so we need to flip the animation values (keyframe
keys and timing functions) that we send to GraphicsLayerCA. Unfortunately
this code adds a lot of conditionals because it isn't as simple as
reversing the order of keys. You also now have a different alignment of
timing functions to the reversed list.

New tests to cover the two new directions, making sure the timing
functions are correctly inverted, and exercising fill modes.

Tests: animations/animation-direction-reverse-fill-mode-hardware.html
       animations/animation-direction-reverse-fill-mode.html
       animations/animation-direction-reverse-hardware-opacity.html
       animations/animation-direction-reverse-hardware.html
       animations/animation-direction-reverse-non-hardware.html
       animations/animation-direction-reverse-timing-functions-hardware.html
       animations/animation-direction-reverse-timing-functions.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
  Handle the previously unsupported animation directions, reversing
  the list of values and keytimes that would be used to create
  the CA Animation.
(WebCore::GraphicsLayerCA::addAnimation):
  Do not create an animation if on Windows and using a reverse
  direction.
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::setupAnimation):
(WebCore::GraphicsLayerCA::setAnimationEndpoints):
(WebCore::GraphicsLayerCA::setAnimationKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
* platform/graphics/ca/PlatformCAAnimation.h:
(PlatformCAAnimation): Pass through a flag that tells the CA Animation
that it should invert the timing functions.
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(toCAMediaTimingFunction): Add a parameter that will invert the timing
function coefficients if necessary.
(PlatformCAAnimation::setTimingFunction):
(PlatformCAAnimation::setTimingFunctions):
* platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
(toCACFTimingFunction):
  New unused parameter.

LayoutTests:

Tests support for reverse and alternate-reverse animations on
CoreAnimation objects, as well as filling out some of the software
animator tests. There are three variables to exercise: reverse vs
forward direction animations, whether reversed timing functions are
inverted correctly, and that fill mode respects the direction of
animation.

Refactored the animation test helper class so we could reuse
property parsing and evaluation.

* animations/animation-direction-reverse-fill-mode-expected.txt: Added.
* animations/animation-direction-reverse-fill-mode-hardware-expected.txt: Added.
* animations/animation-direction-reverse-fill-mode-hardware.html: Added.
* animations/animation-direction-reverse-fill-mode.html: Added.
* animations/animation-direction-reverse-hardware-expected.txt: Added.
* animations/animation-direction-reverse-hardware-opacity-expected.txt: Added.
* animations/animation-direction-reverse-hardware-opacity.html: Added.
* animations/animation-direction-reverse-hardware.html: Added.
* animations/animation-direction-reverse-non-hardware-expected.txt: Added.
* animations/animation-direction-reverse-non-hardware.html: Added.
* animations/animation-direction-reverse-timing-functions-expected.txt: Added.
* animations/animation-direction-reverse-timing-functions-hardware-expected.txt: Added.
* animations/animation-direction-reverse-timing-functions-hardware.html: Added.
* animations/animation-direction-reverse-timing-functions.html: Added.
* animations/resources/animation-test-helpers.js:
(checkExpectedValue):
(getPropertyValue):
(comparePropertyValue):

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

12 years agoUnreviewed, rolling out r115407.
commit-queue@webkit.org [Sat, 28 Apr 2012 04:57:04 +0000 (04:57 +0000)]
Unreviewed, rolling out r115407.
http://trac.webkit.org/changeset/115407
https://bugs.webkit.org/show_bug.cgi?id=85126

Caused heap use after free (Requested by keishi_ on #webkit).

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

Source/WebCore:

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
(WebCore::HTMLFormControlElement::insertedInto):
(WebCore::HTMLFormControlElement::removedFrom):
(WebCore::HTMLFormControlElement::disabled):
(WebCore::HTMLFormControlElement::recalcWillValidate):
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
* html/HTMLFormControlElement.h:
(HTMLFormControlElement):

LayoutTests:

* fast/forms/datalist/datalist-child-validation-expected.txt: Removed.
* fast/forms/datalist/datalist-child-validation.html: Removed.

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

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

Reviewed by Anders Carlsson.

We don't actually use the alignment for anything.

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

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

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

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

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

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

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

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

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

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

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

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

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

Reviewed by Geoffrey Garen.

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

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

Source/JavaScriptCore:

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

Source/WebCore:

Test: bindings/scripts/test/TestObj.idl

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

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

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

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

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

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

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

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

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

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

Reviewed by Darin Adler.

../JavaScriptCore:

This is a step toward more efficient finalization.

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

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

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

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

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

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

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

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

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

../WebCore:

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

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

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

Reviewed by Darin Adler.

Source/WebCore:

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

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

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

LayoutTests:

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

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

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

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

Reviewed by Martin Robinson.

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

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

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

Reviewed by Darin Adler.

Source/WebCore:

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

* html/canvas/WebGLRenderingContext.idl:

LayoutTests:

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

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

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

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

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

Fixed by opting in to the FIXED_POSITION_CREATES_STACKING_CONTEXT
mechanism.

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

* css/StyleResolver.cpp:

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

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

Reviewed by James Robinson.

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

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

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

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

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

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

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

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

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

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

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

Reviewed by James Robinson.

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

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

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

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

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

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

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

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

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

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

Reviewed by James Robinson.

Source/WebCore:

Covered by existing requestAnimationFrame tests.

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

Source/WebKit/chromium:

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

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

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

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

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

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