Timeline
Apr 28, 2012:
- 11:04 PM Changeset in webkit [115592] by
-
- 10 edits in trunk/LayoutTests
[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.
- 6:53 PM Changeset in webkit [115591] by
-
- 4 edits in trunk/Tools
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.
- 6:44 PM Changeset in webkit [115590] by
-
- 13 edits2 adds in trunk/Source/JavaScriptCore
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.
- 6:32 PM Changeset in webkit [115589] by
-
- 2 edits in trunk/Source/WebCore
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.
- 6:14 PM Changeset in webkit [115588] by
-
- 3 edits2 adds in trunk
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.
- 4:53 PM Changeset in webkit [115587] by
-
- 2 edits in branches/dfgopt/Source/JavaScriptCore
Bytecompiler should emit trivially fewer jumps in loops
https://bugs.webkit.org/show_bug.cgi?id=85144
Reviewed by Oliver Hunt.
1-2% across the board win.
- bytecompiler/NodesCodegen.cpp:
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
- 3:50 PM Changeset in webkit [115586] by
-
- 2 edits in trunk/Source/JavaScriptCore
Try to fix the Qt build.
- heap/Heap.cpp:
(JSC::Heap::lastChanceToFinalize):
- 3:45 PM Changeset in webkit [115585] by
-
- 2 edits in trunk/Source/WebCore
And again.
- bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCallback):
- 3:39 PM Changeset in webkit [115584] by
-
- 2 edits in trunk/Source/WebCore
Once again, try to make these puppies work.
- bindings/v8/custom/V8BlobCustom.cpp:
- 3:33 PM Changeset in webkit [115583] by
-
- 2 edits in trunk/Source/WebCore
Fix the Chromium build.
- bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCallback):
- 3:24 PM Changeset in webkit [115582] by
-
- 45 edits3 adds in trunk
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:
- 1:59 PM Changeset in webkit [115581] by
-
- 14 edits2 adds in trunk/Source/WebCore
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:
- 1:58 PM Changeset in webkit [115580] by
-
- 3 edits in trunk/Source/JavaScriptCore
2012-04-28 Geoffrey Garen <ggaren@apple.com>
Try to fix the Windows build.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- 1:51 PM Changeset in webkit [115579] by
-
- 18 edits in trunk/Source
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):
- 12:22 PM Changeset in webkit [115578] by
-
- 1 edit1 delete in trunk/LayoutTests
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.
- 12:11 PM Changeset in webkit [115577] by
-
- 10 edits in trunk/Source
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):
- 11:53 AM Changeset in webkit [115576] by
-
- 2 edits in trunk/Source/WebCore
[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):
- 10:31 AM Changeset in webkit [115575] by
-
- 20 edits5 adds8 deletes in trunk/LayoutTests
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.
- 10:26 AM Changeset in webkit [115574] by
-
- 3 edits in trunk/Source/WebCore
[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):
- 9:27 AM Changeset in webkit [115573] by
-
- 29 edits in trunk
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:
- 9:00 AM Changeset in webkit [115572] by
-
- 5 edits in trunk
[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:
- 8:57 AM Changeset in webkit [115571] by
-
- 1 edit1 add in trunk/LayoutTests
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.
- 8:42 AM Changeset in webkit [115570] by
-
- 2 edits in trunk/Tools
watchlist: Add danw@gnome.org to SoupNetwork
- Scripts/webkitpy/common/config/watchlist:
- 7:20 AM Changeset in webkit [115569] by
-
- 6 edits in trunk
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:
- 7:11 AM Changeset in webkit [115568] by
-
- 5 edits in trunk/Source/WebCore
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
- 5:47 AM Changeset in webkit [115567] by
-
- 2 edits in trunk/Source/WebCore
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:
- 5:01 AM Changeset in webkit [115566] by
-
- 3 edits2 adds in trunk
<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.
- 4:21 AM Changeset in webkit [115565] by
-
- 1 edit1 move1 add2 deletes in trunk/LayoutTests
[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.
- 4:03 AM Changeset in webkit [115564] by
-
- 8 edits8 adds in trunk
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.
- 2:57 AM Changeset in webkit [115563] by
-
- 2 edits in trunk/Source/WebKit/chromium
[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):
- 2:49 AM Changeset in webkit [115562] by
-
- 2 edits in trunk
Unreviewed. Gtk build fix after r115553.
- Source/autotools/symbols.filter:
- 2:44 AM Changeset in webkit [115561] by
-
- 2 edits in trunk/Source/WebCore
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.
- 2:29 AM Changeset in webkit [115560] by
-
- 18 edits1 move1 add1 delete in trunk/Source/WebCore
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):
- 2:20 AM Changeset in webkit [115559] by
-
- 3 edits in trunk/Source/WebKit2
Unreviewed. Added new exported symbols after r115553.
- win/WebKit2.def:
- win/WebKit2CFLite.def:
- 2:16 AM Changeset in webkit [115558] by
-
- 2 edits in trunk/Source/WebCore
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):
- 2:07 AM Changeset in webkit [115557] by
-
- 2 edits in trunk/Source/WebCore
2012-04-28 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Qt build fix: added new exported symbols.
- WebCore.exp.in:
- 1:49 AM Changeset in webkit [115556] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix Qt minimal build after r115553.
- inspector/InspectorConsoleAgent.h:
- 1:27 AM Changeset in webkit [115555] by
-
- 12 edits4 adds in trunk
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:
- 1:22 AM Changeset in webkit [115554] by
-
- 4 edits25 adds in trunk
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.
- 1:20 AM Changeset in webkit [115553] by
-
- 13 edits3 adds in trunk
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):
- 1:08 AM Changeset in webkit [115552] by
-
- 2 edits in trunk/LayoutTests
[Qt] Unreviewed weekend gardening, skip new failing tests.
- platform/qt/Skipped:
- 12:02 AM Changeset in webkit [115551] by
-
- 2 edits in trunk/LayoutTests
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:
Apr 27, 2012:
- 11:32 PM Changeset in webkit [115550] by
-
- 9 edits in trunk/LayoutTests
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.
- 11:28 PM Changeset in webkit [115549] by
-
- 2 edits in trunk/Source/WebCore
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):
- 11:06 PM Changeset in webkit [115548] by
-
- 2 edits in trunk/Source/JavaScriptCore
Try to fix the Windows build.
- heap/WeakBlock.h:
(WeakBlock):
- 11:05 PM Changeset in webkit [115547] by
-
- 6 edits in trunk/LayoutTests
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:
- 11:02 PM Changeset in webkit [115546] by
-
- 2 edits in trunk/Source/WebCore
Try to fix the Qt build.
- bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMethod::finishCreation):
- 10:57 PM Changeset in webkit [115545] by
-
- 27 edits1 copy in trunk/Source
Made WeakSet::allocate() static and removed its JSGlobalData argument
https://bugs.webkit.org/show_bug.cgi?id=85128
Reviewed by Anders Carlsson.
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):
- 10:33 PM DeprecatingFeatures edited by
- Spelling corrections (diff)
- 10:31 PM Changeset in webkit [115544] by
-
- 2 edits in trunk/Source/WebCore
<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):
- 10:20 PM Changeset in webkit [115543] by
-
- 17 edits in tags/Safari-536.8.5
Merge r115501.
- 10:19 PM Changeset in webkit [115542] by
-
- 4 edits in tags/Safari-536.8.5/Source
Versioning.
- 10:16 PM Changeset in webkit [115541] by
-
- 1 copy in tags/Safari-536.8.5
New tag.
- 9:59 PM Changeset in webkit [115540] by
-
- 8 edits14 adds in trunk
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):
- 9:57 PM Changeset in webkit [115539] by
-
- 4 edits2 deletes in trunk
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.
- 9:26 PM Changeset in webkit [115538] by
-
- 5 edits in trunk/Source/JavaScriptCore
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.
- 9:16 PM Changeset in webkit [115537] by
-
- 4 edits1 delete in trunk/Source/WebKit/chromium
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.
- 8:58 PM Changeset in webkit [115536] by
-
- 21 edits in trunk/Source
[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):
- 8:56 PM Changeset in webkit [115535] by
-
- 8 edits in trunk/Source
[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):
- 8:43 PM Changeset in webkit [115534] by
-
- 7 edits in trunk/Source
Only allow non-null pointers in the WeakSet
https://bugs.webkit.org/show_bug.cgi?id=85119
Reviewed by Darin Adler.
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.
- 8:30 PM Changeset in webkit [115533] by
-
- 21 edits in trunk
"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:
- 8:23 PM Changeset in webkit [115532] by
-
- 5 edits in trunk/Tools
[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.
- 8:20 PM Changeset in webkit [115531] by
-
- 5 edits in trunk
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.
- 8:12 PM Changeset in webkit [115530] by
-
- 2 edits in trunk/Source/WebCore
[BlackBerry] Fixed background is scrolling in http://www.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:
- 7:55 PM Changeset in webkit [115529] by
-
- 4 edits1 add in trunk/Source/WebKit/chromium
[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):
- 7:43 PM Changeset in webkit [115528] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[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):
- 7:29 PM Changeset in webkit [115527] by
-
- 2 edits in trunk/Source/WebKit/chromium
[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):
- 7:16 PM Changeset in webkit [115526] by
-
- 3 edits in trunk/LayoutTests
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:
- 6:28 PM Changeset in webkit [115525] by
-
- 18 edits in trunk/Source
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):
- 6:26 PM Changeset in webkit [115524] by
-
- 16 edits in trunk/LayoutTests
[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:
- 6:02 PM Changeset in webkit [115523] by
-
- 2 edits in trunk/Source/JavaScriptCore
<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.
- 6:00 PM Changeset in webkit [115522] by
-
- 18 edits in trunk/Source/WebCore
[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):
- 5:34 PM Changeset in webkit [115521] by
-
- 8 edits in trunk/Source
[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):
- 5:10 PM Changeset in webkit [115520] by
-
- 5 edits in trunk
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:
- 5:07 PM Changeset in webkit [115519] by
-
- 12 edits in trunk/Source
[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):
- 5:04 PM Changeset in webkit [115518] by
-
- 40 edits10 adds in trunk
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.
- 4:56 PM Changeset in webkit [115517] by
-
- 2 edits in trunk/Source/WebCore
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):
- 4:51 PM Changeset in webkit [115516] by
-
- 7 edits in trunk/Source/JavaScriptCore
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):
- 4:48 PM Changeset in webkit [115515] by
-
- 3 edits in trunk/Source/WebKit2
[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):
- 4:31 PM Changeset in webkit [115514] by
-
- 2 edits in trunk/LayoutTests
Mark tables/mozilla/other/slashlogo.html as SLOW
https://bugs.webkit.org/show_bug.cgi?id=85106
- platform/chromium/test_expectations.txt:
- 4:27 PM Changeset in webkit [115513] by
-
- 3 edits3 adds in trunk
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.
- 4:26 PM Changeset in webkit [115512] by
-
- 76 edits4 adds in branches/dfgopt/Source
DFG should have control flow graph simplification
https://bugs.webkit.org/show_bug.cgi?id=84553
Source/JavaScriptCore:
Reviewed by Oliver Hunt.
This change gives the DFG the ability to simplify the control flow graph
as part of an optimization fixpoint that includes CSE, CFA, and constant
folding. This required a number of interesting changes including:
- Solidifying the set of invariants that the DFG obeys. For example, the head and tail of each basic block must advertise the set of live locals and the set of available locals, respectively. It must do so by referring to the first access to the local in the block (for head) and the last one (for tail). This patch introduces the start of a validation step that may be turned on even with asserts disabled. To ensure that these invariants are preserved, I had to remove the redundant phi elimination phase. For now I just remove the call, but in the future we will probably remove it entirely unless we find a use for it.
- Making it easier to get the boolean version of a JSValue. This is a pure operation, but we previously did not treat it as such.
- Fixing the merging and filtering of AbstractValues that correspond to concrete JSValues. This was previously broken and was limiting the effect of running constant folding. Fixing this meant that I had to change how constant folding eliminates GetLocal nodes, so as to ensure that the resulting graph still obeys DFG rules.
- Introducing simplified getters for some of the things that DFG phases want to know about, like the Nth child of a node (now just graph.child(...) if you don't care about performance too much) or getting successors of a basic block.
The current CFG simplifier can handle almost all of the cases that it
ought to handle; the noteworthy one that is not yet handled is removing
basic blocks that just have jumps. To do this right we need to be able
to remove jump-only blocks that also perform keep-alive on some values.
To make this work, we need to be able to hoist the keep-alive into (or
just above) a Branch. This is not fundamentally difficult but I opted to
let this patch omit this optimization. We can handle this later.
This is a big win on programs that include inline functions that are
often called with constant arguments. Of course, SunSpider, V8, and
Kraken don't count. Those benchmarks are completely neutral with this
change.
- API/JSValueRef.cpp:
(JSValueToBoolean):
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeBlock.h:
(JSC::CodeBlock::dfgOSREntryDataForBytecodeIndex):
- bytecode/Operands.h:
(JSC::Operands::setOperandFirstTime):
(Operands):
- dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeStateAtTail):
(JSC::DFG::AbstractState::mergeToSuccessors):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::isClear):
(JSC::DFG::AbstractValue::operator!=):
(JSC::DFG::AbstractValue::merge):
(JSC::DFG::AbstractValue::filter):
(JSC::DFG::AbstractValue::validateIgnoringValue):
(AbstractValue):
- dfg/DFGAdjacencyList.h:
(JSC::DFG::AdjacencyList::child):
(JSC::DFG::AdjacencyList::setChild):
(AdjacencyList):
- dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::~BasicBlock):
(BasicBlock):
(JSC::DFG::BasicBlock::numNodes):
(JSC::DFG::BasicBlock::nodeIndex):
(JSC::DFG::BasicBlock::isPhiIndex):
(JSC::DFG::BasicBlock::isInPhis):
(JSC::DFG::BasicBlock::isInBlock):
- dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(DFG):
(JSC::DFG::ByteCodeParser::parse):
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::run):
(JSC::DFG::CFAPhase::performBlockCFA):
(JSC::DFG::performCFA):
- dfg/DFGCFAPhase.h:
(DFG):
- dfg/DFGCFGSimplificationPhase.cpp: Added.
(DFG):
(CFGSimplificationPhase):
(JSC::DFG::CFGSimplificationPhase::CFGSimplificationPhase):
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::killUnreachable):
(JSC::DFG::CFGSimplificationPhase::findOperandSource):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::jettisonBlock):
(JSC::DFG::CFGSimplificationPhase::fixPhis):
(JSC::DFG::CFGSimplificationPhase::fixJettisonedPredecessors):
(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::OperandSubstitution):
(OperandSubstitution):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::dump):
(JSC::DFG::CFGSimplificationPhase::skipGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
(JSC::DFG::performCFGSimplification):
- dfg/DFGCFGSimplificationPhase.h: Added.
(DFG):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::run):
(CSEPhase):
(JSC::DFG::CSEPhase::impureCSE):
(JSC::DFG::CSEPhase::globalVarLoadElimination):
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::checkStructureLoadElimination):
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::getPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::getIndexedPropertyStorageLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::performBlockCSE):
(JSC::DFG::performCSE):
- dfg/DFGCSEPhase.h:
(DFG):
- dfg/DFGCommon.h:
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::run):
(JSC::DFG::performConstantFolding):
- dfg/DFGConstantFoldingPhase.h:
(DFG):
- dfg/DFGDriver.cpp:
(JSC::DFG::compile):
- dfg/DFGEdge.h:
(Edge):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::run):
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::performFixup):
- dfg/DFGFixupPhase.h:
(DFG):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::handleSuccessor):
(DFG):
(JSC::DFG::Graph::determineReachability):
(JSC::DFG::Graph::resetReachability):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::deref):
(JSC::DFG::Graph::changeIndex):
(Graph):
(JSC::DFG::Graph::changeEdge):
(JSC::DFG::Graph::numSuccessors):
(JSC::DFG::Graph::successor):
(JSC::DFG::Graph::successorForCondition):
(JSC::DFG::Graph::isPredictedNumerical):
(JSC::DFG::Graph::byValIsPure):
(JSC::DFG::Graph::clobbersWorld):
(JSC::DFG::Graph::numChildren):
(JSC::DFG::Graph::child):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::numSuccessors):
(Node):
(JSC::DFG::Node::successor):
(JSC::DFG::Node::successorForCondition):
- dfg/DFGNodeType.h:
(DFG):
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- dfg/DFGOperations.cpp:
- dfg/DFGPhase.cpp:
(JSC::DFG::Phase::endPhase):
- dfg/DFGPhase.h:
(JSC::DFG::runPhase):
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::run):
(JSC::DFG::performPredictionPropagation):
- dfg/DFGPredictionPropagationPhase.h:
(DFG):
- dfg/DFGRedundantPhiEliminationPhase.cpp:
(JSC::DFG::RedundantPhiEliminationPhase::run):
(JSC::DFG::performRedundantPhiElimination):
- dfg/DFGRedundantPhiEliminationPhase.h:
(DFG):
- dfg/DFGScoreBoard.h:
(JSC::DFG::ScoreBoard::use):
(ScoreBoard):
(JSC::DFG::ScoreBoard::useIfHasResult):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::createOSREntries):
(JSC::DFG::SpeculativeJIT::linkOSREntries):
(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::nextBlock):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::use):
(JSC::DFG::SpeculativeJIT::jump):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp: Added.
(DFG):
(Validate):
(JSC::DFG::Validate::Validate):
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::reportValidationContext):
(JSC::DFG::Validate::dumpData):
(JSC::DFG::Validate::dumpGraphIfAppropriate):
(JSC::DFG::validate):
- dfg/DFGValidate.h: Added.
(DFG):
(JSC::DFG::validate):
- dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):
(JSC::DFG::performVirtualRegisterAllocation):
- dfg/DFGVirtualRegisterAllocationPhase.h:
(DFG):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
- jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncSome):
- runtime/BooleanConstructor.cpp:
(JSC::constructBoolean):
(JSC::callBooleanConstructor):
- runtime/JSCell.h:
(JSCell):
- runtime/JSObject.cpp:
(JSC):
- runtime/JSObject.h:
- runtime/JSString.cpp:
(JSC::JSString::toBoolean):
- runtime/JSString.h:
(JSString):
(JSC::JSCell::toBoolean):
(JSC::JSValue::toBoolean):
- runtime/JSValue.h:
- runtime/ObjectConstructor.cpp:
(JSC::toPropertyDescriptor):
- runtime/RegExpConstructor.cpp:
(JSC::setRegExpConstructorMultiline):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncToString):
Source/WebCore:
Reviewed by Oliver Hunt.
JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
No new tests, because no new behavior.
- bindings/js/JSCustomSQLStatementErrorCallback.cpp:
(WebCore::JSSQLStatementErrorCallback::handleEvent):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
- bindings/js/JSDataViewCustom.cpp:
(WebCore::getDataViewMember):
- bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
- bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSDirectoryEntryCustom.cpp:
(WebCore::JSDirectoryEntry::getFile):
(WebCore::JSDirectoryEntry::getDirectory):
- bindings/js/JSDirectoryEntrySyncCustom.cpp:
(WebCore::getFlags):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
- bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::showContextMenu):
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
- bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::dataFunctionMatrix):
- bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
- bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::hasBreakpoint):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateEventListenerCall):
(GenerateImplementation):
(JSValueToNative):
- bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
- bridge/jni/jni_jsobject.mm:
(JavaJSObject::convertValueToJObject):
Source/WebKit/mac:
Reviewed by Oliver Hunt.
JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
Source/WebKit2:
Reviewed by Oliver Hunt.
JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
- WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
- 4:23 PM Changeset in webkit [115511] by
-
- 2 edits in trunk/LayoutTests
[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:
- 4:18 PM Changeset in webkit [115510] by
-
- 6 edits2 adds in trunk/LayoutTests
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:
- 4:15 PM Changeset in webkit [115509] by
-
- 18 edits6 copies in trunk/Source
[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):
- 4:13 PM Changeset in webkit [115508] by
-
- 2 edits in trunk/LayoutTests
[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.
- 4:09 PM Changeset in webkit [115507] by
-
- 2 edits in trunk/LayoutTests
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.
- 4:08 PM Changeset in webkit [115506] by
-
- 4 edits in trunk/Source/WebCore
[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):
- 4:06 PM Changeset in webkit [115505] by
-
- 2 edits in trunk/LayoutTests
Mark tables/mozilla/other/slashlogo.html as flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=85106
- platform/chromium/test_expectations.txt: Marked.
- 4:06 PM UsingGitWithWebKit edited by
- Change "path/to/resolve-ChangeLogs" to … (diff)
- 4:03 PM Changeset in webkit [115504] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Remove remaining mentions of platform/mac-leopard.
- platform/chromium/test_expectations.txt: Removed.
- 3:36 PM LayoutTestsSearchPath edited by
- (diff)
- 3:34 PM Changeset in webkit [115503] by
-
- 9 edits6 adds in trunk
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:
- 3:30 PM Changeset in webkit [115502] by
-
- 1 edit1 delete in trunk/LayoutTests
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.
- 3:14 PM Changeset in webkit [115501] by
-
- 17 edits in trunk
<rdar://problem/11339645> WebKit projects should explicitly ask for dSYM files in production builds
Rubber-stamped by Dan Bernstein.
- 3:11 PM Changeset in webkit [115500] by
-
- 2 edits in trunk/Tools
[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:
- 3:02 PM Changeset in webkit [115499] by
-
- 4 edits in trunk/LayoutTests
[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> 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:
- 2:55 PM Changeset in webkit [115498] by
-
- 7 edits in trunk/Source/WebCore
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):
- 2:47 PM Changeset in webkit [115497] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
Fixed accidental ';' in ChangeLog
- 2:46 PM Changeset in webkit [115496] by
-
- 3 edits in trunk/Source/WebCore
;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.
- 2:38 PM Changeset in webkit [115495] by
-
- 5 edits in trunk/Source/WebCore
[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):
- 2:36 PM Changeset in webkit [115494] by
-
- 2 edits in trunk/Source/WebCore
[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):
- 2:16 PM Changeset in webkit [115493] by
-
- 2 edits in trunk/Source/JavaScriptCore
Correct assertion.
- 2:08 PM Changeset in webkit [115492] by
-
- 2 edits in branches/chromium/1084/Source
Merge 114791 - [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
https://bugs.webkit.org/show_bug.cgi?id=84289
Reviewed by James Robinson.
Source/WebCore:
TransparencyWin will create a Skia canvas of whatever size is passed
in, even if the result will ultimately be clipped. Handle the clip
implicitly and try (in some cases) to create a smaller canvas. This
can happen due to RenderBox::paintBoxDecorations passing a paint rect
down of the entire element's size.
Modes with more complicated transforms (ScaleTransform, UnTransform)
are not handled yet.
Tests: TransparencyWin.ClippedKeepTransformNoLayer
TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer
- platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::computeLayerSize):
Source/WebKit/chromium:
Add a test that would OOM if the layer wasn't clipped. Also, verify
that clipping the canvas doesn't shift pixels around incorrectly.
- tests/TransparencyWinTest.cpp:
(WebCore::testClippedLayerKeepTransform):
(WebCore):
(WebCore::TEST):
TBR=enne@google.com
Review URL: https://chromiumcodereview.appspot.com/10254020
- 2:07 PM Changeset in webkit [115491] by
-
- 42 edits3 deletes in trunk
Unreviewed, rolling out r115484.
http://trac.webkit.org/changeset/115484
https://bugs.webkit.org/show_bug.cgi?id=84555
Broke Chromium compile.
Source/WebCore:
- bindings/js/JSBlobCustom.cpp:
- bindings/v8/custom/V8BlobCustom.cpp:
- fileapi/Blob.cpp:
- fileapi/Blob.h:
(Blob):
- fileapi/Blob.idl:
- workers/WorkerContext.idl:
LayoutTests:
- fast/dom/HTMLAnchorElement/anchor-download-unset.html:
- fast/dom/HTMLAnchorElement/anchor-download.html:
- fast/dom/HTMLAnchorElement/anchor-nodownload-set.html:
- fast/dom/HTMLAnchorElement/anchor-nodownload.html:
- fast/dom/window-domurl-crash.html:
- fast/files/blob-constructor-expected.txt: Removed.
- fast/files/blob-constructor.html: Removed.
- fast/files/blob-slice-overflow.html:
- fast/files/blob-slice-test.html:
- fast/files/file-reader-fffd.html:
- fast/files/not-enough-arguments.html:
- fast/files/resources/read-blob-test-cases.js:
(testReadingTripleSlicedHybridBlob):
- fast/files/resources/read-common.js:
(buildBlob):
- fast/files/script-tests/blob-constructor.js: Removed.
- fast/files/workers/inline-worker-via-blob-url.html:
- fast/filesystem/resources/file-writer-abort-continue.js:
(tenXBlob):
(startWrite):
- fast/filesystem/resources/file-writer-abort-depth.js:
- fast/filesystem/resources/file-writer-abort.js:
(tenXBlob):
(startWrite):
- fast/filesystem/resources/file-writer-events.js:
(tenXBlob):
(startWrite):
- fast/filesystem/resources/file-writer-gc-blob.js:
(tenXBlob):
(startWrite):
- fast/filesystem/resources/file-writer-sync-truncate-extend.js:
- fast/filesystem/resources/file-writer-sync-write-overlapped.js:
- fast/filesystem/resources/file-writer-utils.js:
- http/tests/fileapi/create-blob-url-from-data-url.html:
- http/tests/filesystem/no-cache-filesystem-url.html:
- http/tests/local/blob/resources/hybrid-blob-util.js:
(HybridBlobTestUtil.this.appendAndCreateBlob):
(HybridBlobTestUtil):
- http/tests/security/resources/create-filesystem-file.html:
- http/tests/websocket/tests/hixie76/send-object.html:
- http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
- http/tests/websocket/tests/hybi/bufferedAmount-after-close.html:
- http/tests/websocket/tests/hybi/send-blob.html:
- http/tests/websocket/tests/hybi/send-file-blob-fail.html:
- http/tests/websocket/tests/hybi/send-file-blob.html:
- http/tests/websocket/tests/hybi/workers/resources/send-blob.js:
(createBlobContainingHelloWorld):
(createEmptyBlob):
(createBlobContainingAllDistinctBytes):
- platform/mac/fast/dom/Window/window-properties-expected.txt:
- storage/indexeddb/noblobs.html:
- storage/indexeddb/structured-clone.html:
- 2:03 PM Changeset in webkit [115490] by
-
- 5 edits in trunk
[chromium] use "drt-style" output, not "test-shell-style" output, on mac and linux DRT
https://bugs.webkit.org/show_bug.cgi?id=84917
Unreviewed, build fix.
Tools:
Reland the change in r115453 with a fix for chromium win.
The logic in ChromiumDriver was busted on windows, causing DRT
to get launched without the --test-shell flag.
- Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver):
(ChromiumDriver.init):
(ChromiumDriver._wrapper_options):
(ChromiumDriver.cmd_line):
(ChromiumDriver._start):
(ChromiumDriver.has_crashed):
(ChromiumDriver.run_test):
(ChromiumDriver.stop):
- Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumDriverTest.setUp):
(ChromiumDriverTest.test_stop):
(ChromiumDriverTest.test_two_drivers.MockDriver.init):
(ChromiumDriverTest.test_two_drivers):
LayoutTests:
Reland the change in r115453 with a fix for chromium win.
- platform/chromium/test_expectations.txt:
- 1:59 PM Changeset in webkit [115489] by
-
- 2 edits in trunk/Tools
Add John Grabowski as a non-committer to committers.py
https://bugs.webkit.org/show_bug.cgi?id=85080
Reviewed by Dirk Pranke.
He's being CC'ed often enough because of his involvement in the Chromium
side of Chrome for Android upstreaming.
- Scripts/webkitpy/common/config/committers.py: add jrg@chromium.org
- 1:32 PM Changeset in webkit [115488] by
-
- 2 edits in trunk/LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=85038
Unreviewed, Mac test_expectations update.
- platform/mac/test_expectations.txt: Skip http/tests/inspector/network/network-initiator.html.
- 1:30 PM Changeset in webkit [115487] by
-
- 9 edits3 adds in trunk
[CSS Shaders] Implement CSS Animations and Transitions for CSS Shaders
https://bugs.webkit.org/show_bug.cgi?id=71406
Reviewed by Dean Jackson.
Source/WebCore:
I've implemented the blend function for the CustomFilterOperation. This should enable animations for CSS Shaders.
Currently, just floats are implemented. If any of the filter attributes like shader, mesh size or box mode are different,
the fallback is to use the "to" part of the animation instead. If other shader parameters do not match, it will merge the parameter values
between the "from" and "to" states.
Test: css3/filters/custom/custom-filter-animation.html
- platform/graphics/filters/CustomFilterNumberParameter.h:
(WebCore::CustomFilterNumberParameter::blend):
(CustomFilterNumberParameter):
(WebCore::CustomFilterNumberParameter::operator==):
- platform/graphics/filters/CustomFilterOperation.cpp:
(WebCore::equalCustomFilterParameters):
(WebCore):
(WebCore::checkCustomFilterParametersOrder):
(WebCore::blendCustomFilterParameters):
(WebCore::CustomFilterOperation::CustomFilterOperation):
(WebCore::CustomFilterOperation::blend):
- platform/graphics/filters/CustomFilterOperation.h:
(WebCore):
(CustomFilterOperation):
(WebCore::CustomFilterOperation::operator==):
(WebCore::CustomFilterOperation::operator!=):
- platform/graphics/filters/CustomFilterParameter.h:
(CustomFilterParameter):
(WebCore::CustomFilterParameter::isSameType):
(WebCore::CustomFilterParameter::operator==):
(WebCore::CustomFilterParameter::operator!=):
- platform/graphics/filters/CustomFilterProgram.h:
- rendering/style/StyleCustomFilterProgram.h:
(StyleCustomFilterProgram):
(WebCore::StyleCustomFilterProgram::cachedVertexShader):
(WebCore::StyleCustomFilterProgram::cachedFragmentShader):
(WebCore::StyleCustomFilterProgram::operator==):
LayoutTests:
- animations/resources/animation-test-helpers.js: Added a check for the "custom" function and used the parser in custom-filter-parser.js instead.
(getFilterParameters):
(filterParametersMatch):
- css3/filters/custom/custom-filter-animation-expected.txt: Added.
- css3/filters/custom/custom-filter-animation.html: Added.
- css3/filters/resources/custom-filter-parser.js: Added a simple parser for the "custom" function, so that multiple types can be checked correctly.
- 1:29 PM Changeset in webkit [115486] by
-
- 3 edits in trunk/Source/WebKit/chromium
Speech JavaScript API: Fix Vector use failure
https://bugs.webkit.org/show_bug.cgi?id=85069
Reviewed by Tony Gentilcore.
Fix think-o in code copying from WebVector to Vector.
- src/SpeechRecognitionClientProxy.cpp:
(WebKit::SpeechRecognitionClientProxy::didReceiveResult):
(WebKit::SpeechRecognitionClientProxy::didDeleteResult):
- src/WebSpeechRecognitionResult.cpp:
(WebKit::WebSpeechRecognitionResult::assign):
- 1:27 PM Changeset in webkit [115485] by
-
- 6 edits2 adds in trunk/Source/WebCore
Re-factor scheduling logic from AudioBufferSourceNode into AudioScheduledSourceNode
https://bugs.webkit.org/show_bug.cgi?id=84639
Reviewed by Eric Carlson.
Playback logic involving noteOn(), noteOff(), and playbackState were intertwined with
the AudioBufferSourceNode's buffer playback code. These are more general concepts and
may be implemented separately in another class called AudioScheduledSourceNode.
No new tests. Covered by existing layout tests.
- GNUmakefile.list.am:
Add AudioScheduledSourceNode files to makefile.
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore):
(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
Re-factor some member variables into new base class AudioScheduledSourceNode.
(WebCore::AudioBufferSourceNode::process):
Re-factor scheduling logic into AudioScheduledSourceNode.
- Modules/webaudio/AudioBufferSourceNode.h:
(AudioBufferSourceNode):
Simplify by re-factoring scheduling logic into AudioScheduledSourceNode.
- Modules/webaudio/AudioScheduledSourceNode.cpp: Added.
(WebCore):
(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
(WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
Get frame information for the current time quantum.
- Modules/webaudio/AudioScheduledSourceNode.h: Added.
(WebCore::AudioScheduledSourceNode::noteOn):
(WebCore::AudioScheduledSourceNode::noteOff):
(WebCore::AudioScheduledSourceNode::finish):
(WebCore::AudioScheduledSourceNode::playbackState):
(WebCore::AudioScheduledSourceNode::isPlayingOrScheduled):
(WebCore::AudioScheduledSourceNode::hasFinished):
Re-factored from AudioBufferSourceNode.
- WebCore.gypi:
- WebCore.xcodeproj/project.pbxproj:
Add AudioScheduledSourceNode files to makefiles.
- 1:23 PM Changeset in webkit [115484] by
-
- 42 edits3 adds in trunk
Add support for the Blob constructor
https://bugs.webkit.org/show_bug.cgi?id=84555
Reviewed by Maciej Stachowiak.
Source/WebCore:
Test: fast/files/blob-constructor.html
This adds an implementation of the Blob constructor that willfully
violates the W3C Editor’s Draft 29 February 2012 in the following ways:
- Elements in the parts array are coerced to DOMStrings https://www.w3.org/Bugs/Public/show_bug.cgi?id=16721
- Don't throw for invalid key in the dictionary https://www.w3.org/Bugs/Public/show_bug.cgi?id=16727
- Values for the endings property are treated as enums https://www.w3.org/Bugs/Public/show_bug.cgi?id=16729
- bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob):
Implement blob constructor.
- bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::V8Blob::constructorCallback):
Implement blob constructor.
- fileapi/Blob.idl:
Add constructor to IDL.
- workers/WorkerContext.idl:
Add Blob constructor to the worker global object.
LayoutTests:
Switch tests that were not directly testing BlobBuilder over to
using the Blob constructor, to get test coverage of standard way
constructing blobs.
- fast/files/blob-constructor.html:
- fast/files/blob-constructor-expected.txt:
- fast/files/script-tests/blob-constructor.js:
New test.
- fast/dom/HTMLAnchorElement/anchor-download-unset.html:
- fast/dom/HTMLAnchorElement/anchor-download.html:
- fast/dom/HTMLAnchorElement/anchor-nodownload-set.html:
- fast/dom/HTMLAnchorElement/anchor-nodownload.html:
- fast/dom/window-domurl-crash.html:
- fast/files/blob-builder-crash-expected.txt: Removed.
- fast/files/blob-builder-crash.html: Removed.
- fast/files/blob-slice-overflow.html:
- fast/files/blob-slice-test.html:
- fast/files/file-reader-fffd.html:
- fast/files/not-enough-arguments.html:
- fast/files/resources/read-blob-test-cases.js:
- fast/files/resources/read-common.js:
- fast/files/workers/inline-worker-via-blob-url.html:
- fast/filesystem/resources/file-writer-abort-continue.js:
- fast/filesystem/resources/file-writer-abort-depth.js:
- fast/filesystem/resources/file-writer-abort.js:
- fast/filesystem/resources/file-writer-events.js:
- fast/filesystem/resources/file-writer-gc-blob.js:
- fast/filesystem/resources/file-writer-sync-truncate-extend.js:
- fast/filesystem/resources/file-writer-sync-write-overlapped.js:
- fast/filesystem/resources/file-writer-utils.js:
- http/tests/fileapi/create-blob-url-from-data-url.html:
- http/tests/filesystem/no-cache-filesystem-url.html:
- http/tests/local/blob/resources/hybrid-blob-util.js:
- http/tests/security/resources/create-filesystem-file.html:
- http/tests/websocket/tests/hixie76/send-object.html:
- http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
- http/tests/websocket/tests/hybi/bufferedAmount-after-close.html:
- http/tests/websocket/tests/hybi/send-blob.html:
- http/tests/websocket/tests/hybi/send-file-blob-fail.html:
- http/tests/websocket/tests/hybi/send-file-blob.html:
- http/tests/websocket/tests/hybi/workers/resources/send-blob.js:
- platform/mac/fast/dom/Window/window-properties-expected.txt:
- storage/indexeddb/noblobs.html:
- storage/indexeddb/structured-clone.html:
- 1:19 PM Changeset in webkit [115483] by
-
- 3 edits in trunk/Source/JavaScriptCore
Lazy link phase of baseline jit fails to propagate exception
https://bugs.webkit.org/show_bug.cgi?id=85092
Reviewed by Filip Pizlo.
Very simple patch, when linking produces an error we need to actually store
the exception prior to throwing it. I can't find any other examples of this,
but as we're already in the slow path when throwing an exception I've hardened
exception throwing against null exceptions.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::throwException):
- jit/JITStubs.cpp:
(JSC::lazyLinkFor):
- 1:18 PM Changeset in webkit [115482] by
-
- 4 edits in trunk
[Qt] Fix minimal build.
https://bugs.webkit.org/show_bug.cgi?id=85045
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-27
Reviewed by Tor Arne Vestbø.
Source/WebCore:
Compile LIBXML XML parser even if ENABLE_XSLT is not set.
- Target.pri:
Tools:
Do not set conflicting values of ENABLE_XSLT.
- qmake/mkspecs/features/features.prf:
- 1:18 PM Changeset in webkit [115481] by
-
- 2 edits in trunk/LayoutTests
Remove passing test from expectations.
- platform/chromium/test_expectations.txt: Another one bites the dust.
- 1:09 PM Changeset in webkit [115480] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Layout Tests fast/js/dfg-float64array.html, fast/js/dfg-uint16array.html, and fast/js/dfg-uint8array.html are flaky timeouts.
https://bugs.webkit.org/show_bug.cgi?id=85090
- platform/chromium/test_expectations.txt: Marked as flakes.
- 1:07 PM Changeset in webkit [115479] by
-
- 2 edits in tags/Safari-536.8.4/Source/WebCore
Merged r114792.
- 1:07 PM Changeset in webkit [115478] by
-
- 3 edits1 add in trunk/Tools
[EFL][DRT] EFL should sanitize pulseaudio module configuration too
https://bugs.webkit.org/show_bug.cgi?id=85047
Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-04-27
Reviewed by Dirk Pranke.
PulseAudio test setup sanitization shared between EFL and GTK.
- Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort):
(EflPort.setup_test_run):
(EflPort.clean_up_test_run):
- Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort): Moving pulseaudio unload/restore out to shared class.
- Scripts/webkitpy/layout_tests/port/pulseaudio_sanitizer.py: Added.
(PulseAudioSanitizer):
(PulseAudioSanitizer._unload_pulseaudio_module):
(PulseAudioSanitizer._restore_pulseaudio_module):
- 1:05 PM Changeset in webkit [115477] by
-
- 6 edits in tags/Safari-536.8.4/Source
Merged r114778.
- 1:02 PM Changeset in webkit [115476] by
-
- 4 edits in tags/Safari-536.8.4/Source
Versioning.
- 1:00 PM Changeset in webkit [115475] by
-
- 1 copy in tags/Safari-536.8.4
New Tag.
- 1:00 PM Changeset in webkit [115474] by
-
- 1 delete in tags/Safari-536.8.5
Remove Tag.
- 12:59 PM Changeset in webkit [115473] by
-
- 1 copy in tags/Safari-536.8.5
New Tag.
- 12:44 PM Changeset in webkit [115472] by
-
- 8 edits4 adds in trunk/Source/WebKit/chromium
Selectively retrieve text around a touched point.
https://bugs.webkit.org/show_bug.cgi?id=82460
Reviewed by Darin Fisher.
Implements an embedding API to WebCore's SurroundingText, adding also
the possibility of select and highlight the retrieved text range.
- WebKit.gyp:
- public/WebFrame.h:
(WebFrame):
- public/WebHitTestResult.h: Added.
(WebCore):
(WebKit):
(WebHitTestResult):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::~WebHitTestResult):
- public/WebRange.h:
(WebKit):
(WebRange):
- public/WebSurroundingText.h: Added.
(WebCore):
(WebKit):
(WebSurroundingText):
(WebKit::WebSurroundingText::WebSurroundingText):
(WebKit::WebSurroundingText::~WebSurroundingText):
- public/WebView.h:
(WebKit):
- src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::selectRange):
(WebKit):
- src/WebFrameImpl.h:
(WebFrameImpl):
- src/WebHitTestResult.cpp: Added.
(WebKit):
(WebKit::WebHitTestResult::node):
(WebKit::WebHitTestResult::localPoint):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::operator=):
(WebKit::WebHitTestResult::operator HitTestResult):
(WebKit::WebHitTestResult::isNull):
(WebKit::WebHitTestResult::assign):
(WebKit::WebHitTestResult::reset):
- src/WebRange.cpp:
(WebKit::WebRange::textQuads):
(WebKit):
- src/WebSurroundingText.cpp: Added.
(WebKit):
(WebKit::WebSurroundingText::initialize):
(WebKit::WebSurroundingText::textContent):
(WebKit::WebSurroundingText::hitOffsetInTextContent):
(WebKit::WebSurroundingText::rangeFromContentOffsets):
(WebKit::WebSurroundingText::isNull):
(WebKit::WebSurroundingText::reset):
- 12:35 PM Changeset in webkit [115471] by
-
- 4 edits4 adds in trunk
Infinite backgroundClipRect should not be scrolled.
https://bugs.webkit.org/show_bug.cgi?id=84979
Reviewed by Adrienne Walker.
Source/WebCore:
Test: compositing/iframes/scroll-fixed-transformed-element.html
By accidentally scrolling clipRects that should be considered
"infinite", they were no longer being considered infinite. This
caused a chain of un-intended code paths that caused fixed
position elements to stutter when scrolling in Chromium.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundClipRect):
LayoutTests:
- compositing/iframes/resources/fixed-position-transformed-subframe.html: Added.
- compositing/iframes/scroll-fixed-transformed-element-expected.png: Added.
- compositing/iframes/scroll-fixed-transformed-element-expected.txt: Added.
- compositing/iframes/scroll-fixed-transformed-element.html: Added.
- 12:31 PM Changeset in webkit [115470] by
-
- 14 edits in trunk/LayoutTests
Clean up tests in preparation for ES5.2 global scope fix
https://bugs.webkit.org/show_bug.cgi?id=85001
Reviewed by Gavin Barraclough.
- fast/css/resize-value-compared.html:
- fast/dom/resources/navigation-type-matches-querystring.html:
- fast/dom/script-tests/webtiming-document-open.js:
- fast/dom/script-tests/webtiming-navigate-within-document.js:
- fast/dom/script-tests/webtiming.js:
- http/tests/inspector/indexeddb/indexeddb-test.js:
- http/tests/misc/resources/webtiming-cross-origin-and-back2.html:
- http/tests/misc/resources/webtiming-cross-origin-redirect.html:
- http/tests/misc/resources/webtiming-no-origin.html:
- http/tests/misc/resources/webtiming-one-redirect.html:
- http/tests/misc/resources/webtiming-ssl.html:
- http/tests/misc/resources/webtiming-two-redirects.html:
- http/tests/misc/webtiming-slow-load.php:
- 12:24 PM Changeset in webkit [115469] by
-
- 5 edits in trunk
Unreviewed, revert r115453 - broke chromium win bots
Tools:
- Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._path_to_image_diff):
(ChromiumDriver):
(ChromiumDriver.init):
(ChromiumDriver._wrapper_options):
(ChromiumDriver.cmd_line):
(ChromiumDriver.stop):
- Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumDriverTest.setUp):
(ChromiumDriverTest.test_stop):
(ChromiumDriverTest.test_two_drivers):
(ChromiumDriverTest.test_two_drivers.MockDriver.init):
LayoutTests:
- platform/chromium/test_expectations.txt:
- 12:24 PM Changeset in webkit [115468] by
-
- 5 edits in tags/Safari-536.8.3
rollout 113723.
- 12:24 PM Changeset in webkit [115467] by
-
- 8 edits4 deletes in trunk/Source/WebKit/chromium
Unreviewed, rolling out r115463.
http://trac.webkit.org/changeset/115463
https://bugs.webkit.org/show_bug.cgi?id=82460
Broke Mac build.
- WebKit.gyp:
- public/WebFrame.h:
(WebFrame):
- public/WebHitTestResult.h: Removed.
- public/WebRange.h:
(WebRange):
- public/WebSurroundingText.h: Removed.
- public/WebView.h:
(WebKit):
- src/WebFrameImpl.cpp:
- src/WebFrameImpl.h:
(WebFrameImpl):
- src/WebHitTestResult.cpp: Removed.
- src/WebRange.cpp:
- src/WebSurroundingText.cpp: Removed.
- 12:21 PM Changeset in webkit [115466] by
-
- 6 edits in trunk/Tools
Chromium Windows Perf bots timeout due to not output
https://bugs.webkit.org/show_bug.cgi?id=84940
Reviewed by Dirk Pranke.
Dirk and I investigated the issue on the bot but we couldn't figure out what is going wrong.
Since we run-perf-tests don't need any of fancy feature printer provides, just use python's
built-in logging module instead. Printing out to stdout and stderr seem to work so hopefully
this will fix the issue on the bot.
- Scripts/run-perf-tests:
- Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.run):
(PerfTest.run_failed):
(PerfTest.parse_output):
(PerfTest.output_statistics):
(ChromiumStylePerfTest.parse_output):
(PageLoadingPerfTest.run):
- Scripts/webkitpy/performance_tests/perftest_unittest.py:
(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):
(TestPageLoadingPerfTest):
(TestPageLoadingPerfTest.test_run):
(TestPageLoadingPerfTest.test_run_with_bad_output):
- Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.init):
(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):
(PerfTestsRunner._upload_json):
(PerfTestsRunner._print_status):
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
- Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner):
(test_run_test_set):
(test_run_test_set_kills_drt_per_run):
(test_run_test_pause_before_testing):
(test_run_test_set_for_parser_tests):
(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):
(test_run_test_set_with_multiple_repositories):
(test_upload_json):
(test_parse_args):
- 12:15 PM Changeset in webkit [115465] by
-
- 2 edits in trunk/Source/JavaScriptCore
Generalize the single character optimization of numberProtoFuncToString
https://bugs.webkit.org/show_bug.cgi?id=85027
Reviewed by Geoffrey Garen.
The function numberProtoFuncToString() has an optimization to use SmallStrings::singleCharacterString()
when the radix is 36.
This patch generalize the optimization for any radix. Any positive number smaller than its radix
can be represented by a single character of radixDigits.
This makes numberProtoFuncToString() about twice as fast for this case of single digit conversion.
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToString):
- 12:02 PM Changeset in webkit [115464] by
-
- 2 edits1 add in trunk/Source/WebKit/chromium
Added a chromium webkit public header file to support different web print scaling options.
https://bugs.webkit.org/show_bug.cgi?id=84608
Patch by Kausalya Madhusudhanan <kmadhusu@chromium.org> on 2012-04-27
Reviewed by Darin Fisher.
- WebKit.gyp:
- public/WebPrintScalingOption.h: Added.
(WebKit):
- 11:56 AM Changeset in webkit [115463] by
-
- 8 edits4 adds in trunk/Source/WebKit/chromium
Selectively retrieve text around a touched point.
https://bugs.webkit.org/show_bug.cgi?id=82460
Reviewed by Darin Fisher.
Implements an embedding API to WebCore's SurroundingText, adding also
the possibility of select and highlight the retrieved text range.
- WebKit.gyp:
- public/WebFrame.h:
(WebFrame):
- public/WebHitTestResult.h: Added.
(WebCore):
(WebKit):
(WebHitTestResult):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::~WebHitTestResult):
- public/WebRange.h:
(WebKit):
(WebRange):
- public/WebSurroundingText.h: Added.
(WebCore):
(WebKit):
(WebSurroundingText):
(WebKit::WebSurroundingText::WebSurroundingText):
(WebKit::WebSurroundingText::~WebSurroundingText):
- public/WebView.h:
(WebKit):
- src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::selectRange):
(WebKit):
- src/WebFrameImpl.h:
(WebFrameImpl):
- src/WebHitTestResult.cpp: Added.
(WebKit):
(WebKit::WebHitTestResult::node):
(WebKit::WebHitTestResult::localPoint):
(WebKit::WebHitTestResult::WebHitTestResult):
(WebKit::WebHitTestResult::operator=):
(WebKit::WebHitTestResult::operator HitTestResult):
(WebKit::WebHitTestResult::isNull):
(WebKit::WebHitTestResult::assign):
(WebKit::WebHitTestResult::reset):
- src/WebRange.cpp:
(WebKit::WebRange::textQuads):
(WebKit):
- src/WebSurroundingText.cpp: Added.
(WebKit):
(WebKit::WebSurroundingText::initialize):
(WebKit::WebSurroundingText::textContent):
(WebKit::WebSurroundingText::hitOffsetInTextContent):
(WebKit::WebSurroundingText::rangeFromContentOffsets):
(WebKit::WebSurroundingText::isNull):
(WebKit::WebSurroundingText::reset):
- 11:55 AM Changeset in webkit [115462] by
-
- 2 edits in trunk/LayoutTests
Layout Test media/video-currentTime-set.html is still flaky
https://bugs.webkit.org/show_bug.cgi?id=85003
Reviewed by Eric Carlson.
- media/video-currentTime-set.html: Removed extraneous timeout code.
- 11:53 AM Changeset in webkit [115461] by
-
- 3 edits2 adds in trunk
FormatBlock crashes when body element is removed prior to the command execution
https://bugs.webkit.org/show_bug.cgi?id=84937
Reviewed by Tony Chang.
Source/WebCore:
The crash was because because DOM had been modified since the last time selection had been "validated",
and therefore frame selection's endpoints are no longer visible when we instantiated visibleStart
and visibleEnd from m_endingSelection of the edit command.
Fixed the bug by checking the nullity and orphanedness of visible start and visible end directly.
I suspect we have similar bugs in other commands. The fundamental problem is that the copy constructor
of VisibleSelection never validates so when a VisibleSelection is passed from one class to another
(e.g. FrameSelection to EditCommand), we may not adjust end points as needed.
Test: editing/execCommand/format-block-without-body-crash.html
- editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::doApply):
LayoutTests:
Add a regression test for executing FormatCommand immediately after removing
the body element thereby turning the selection end points to non-candidates.
- editing/execCommand/format-block-without-body-crash-expected.txt: Added.
- editing/execCommand/format-block-without-body-crash.html: Added.
- 11:51 AM Changeset in webkit [115460] by
-
- 4 edits in trunk/Source/WebCore
REGRESSION(r96257): Deleting a large amount of text is very slow.
https://bugs.webkit.org/show_bug.cgi?id=83983
<rdar://problem/10826076>
Reviewed by Ryosuke Niwa.
The change in r96257 did not cause the performance regression per se,
but exposed a problem in the way we calculate the offset in container
node when the anchorType is PositionIsOffsetInAnchor.
The offset was computed as the minimum between the given offset and
lastOffsetInNode. If the container has a very large number of children,
we walk the entire list of child nodes in the container simply to find
out how many they are.
Looking through the entire editing code, I found other 2 cases (one
is only an ASSERT) where we could do a similar optimization.
No new tests. No behavior change, only performance optimization.
- dom/Position.cpp:
(WebCore::Position::computeOffsetInContainerNode):
- dom/Position.h:
(WebCore::minOffsetForNode):
(WebCore::offsetIsBeforeLastNodeOffset):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
- 11:49 AM Changeset in webkit [115459] by
-
- 1 edit in branches/subpixellayout/Source/WebCore/css/CSSPrimitiveValue.h
Merge length changes into subpixel branch.
- 11:44 AM Changeset in webkit [115458] by
-
- 3 edits2 adds in trunk
NULL-deref in RenderBox::clippedOverflowRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=84774
Reviewed by Tony Chang.
Source/WebCore:
Test: fast/inline/crash-new-continuation-with-outline.html
The bug comes from trying to repaint the :after content as part of updateBeforeAfterContent.
The repainting logic would query the yet-to-be-inserted continuation(). Then we would crash in
RenderBox::clippedOverflowRectForRepaint as we didn't have an enclosingLayer() (which any
RenderObject in the tree will have).
The fix is to check in RenderInline::clippedOverflowRectForRepaint that our continuation()
is properly inserted in the tree. We could check that it isRooted() but it's an overkill here.
- rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
LayoutTests:
- fast/inline/crash-new-continuation-with-outline-expected.txt: Added.
- fast/inline/crash-new-continuation-with-outline.html: Added.
- 11:37 AM Changeset in webkit [115457] by
-
- 4 edits in tags/Safari-536.8.3/Source
Versioning.
- 11:34 AM Changeset in webkit [115456] by
-
- 1 copy in tags/Safari-536.8.3
New Tag.
- 11:33 AM Changeset in webkit [115455] by
-
- 1 edit in branches/subpixellayout/Source/WebCore/platform/win/PopupMenuWin.cpp
Using minimumIntValueForLength instead of a static_cast.
- 11:26 AM Changeset in webkit [115454] by
-
- 3 edits in trunk/Source/WebCore
Memory cache pruning should be protected against reentering.
https://bugs.webkit.org/show_bug.cgi?id=85077
Reviewed by Alexey Proskuryakov.
MemoryCache::pruneDeadResourcesToSize() has some ad-hock protection against reentering.
This patch adds more complete protection.
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::MemoryCache):
(WebCore::MemoryCache::pruneLiveResourcesToSize):
Protect live resource pruning too.
(WebCore::MemoryCache::pruneDeadResourcesToSize):
Remove the existing weak reentrancy handling in favor of full proctection.
- loader/cache/MemoryCache.h:
(MemoryCache):
- 11:24 AM Changeset in webkit [115453] by
-
- 5 edits in trunk
[chromium] use "drt-style" output, not "test-shell-style" output, on mac and linux DRT
https://bugs.webkit.org/show_bug.cgi?id=84917
Tools:
Reviewed by Ojan Vafai.
This change changes the chromium new-run-webkit-tests
implementation to use the code in WebKitDriver and ServerProcess
by default on Mac and Linux, instead of using the old-style
Chromium/test_shell style of output.
We will still use the test_shell style on Windows for now
and you can still get the old style of behavior with
new-run-webkit-tests --additional-drt-flag --test-shell
- Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumDriver):
(ChromiumDriver.init):
(ChromiumDriver._wrapper_options):
(ChromiumDriver.cmd_line):
(ChromiumDriver._start):
(ChromiumDriver.has_crashed):
(ChromiumDriver.run_test):
(ChromiumDriver.stop):
- Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumDriverTest.setUp):
(ChromiumDriverTest.test_stop):
(ChromiumDriverTest.test_two_drivers.MockDriver.init):
(ChromiumDriverTest.test_two_drivers):
LayoutTests:
Unreviewed, expectations change to accompany the new-run-webkit-tests change.
- platform/chromium/test_expectations.txt
- 11:12 AM Changeset in webkit [115452] by
-
- 4 edits in trunk/Tools
webkitpy: fix race in unit tests for manager_worker_broker
https://bugs.webkit.org/show_bug.cgi?id=84925
Reviewed by Ojan Vafai.
I have been intermittently seeing hangs when running
test-webkitpy on Mac SL; it appears that there's a bug (?) in
the multiprocessing module where queue references are getting
leaked or not cleaned up somehow. By explicitly closing the
queues, things seem to be happy, so this patch adds a cleanup()
method to the message broker and modifies the manager (and the
unit tests) to call it. This may get rid of the intermittent
error on shutdown on Linux I've seen as well.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
- Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_Broker.del):
(_Broker):
(_Broker.cleanup):
(_BrokerConnection.cleanup):
- Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:
(_TestsMixin.test_name):
(_TestsMixin.test_cancel):
(_TestsMixin.test_done):
(_TestsMixin.test_unknown_message):
- 11:05 AM Changeset in webkit [115451] by
-
- 4 edits in trunk
[EFL] ResourceError domain needs to be properly set in FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=84129
Patch by Christophe Dumez <Christophe Dumez> on 2012-04-27
Reviewed by Nate Chapin.
Source/WebKit/efl:
Properly set ResourceError objects' domain instead of using a generic
one. This allows WebKit and NSURL errors to be distinguished, which is
required to properly print out information in EFL's DumpRenderTree
when dumpResourceLoadCallbacks() returns true.
- WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::cancelledError):
(WebCore::FrameLoaderClientEfl::blockedError):
(WebCore::FrameLoaderClientEfl::cannotShowURLError):
(WebCore::FrameLoaderClientEfl::interruptedForPolicyChangeError):
(WebCore::FrameLoaderClientEfl::cannotShowMIMETypeError):
(WebCore::FrameLoaderClientEfl::fileDoesNotExistError):
(WebCore::FrameLoaderClientEfl::pluginWillHandleLoadError):
LayoutTests:
Unskip the tests which require EFL's DumpRenderTree to support
LayoutTestController's dumpResourceLoadCallbacks() and print out
correctly information about resource loading errors.
- platform/efl/Skipped:
- 11:03 AM Changeset in webkit [115450] by
-
- 2 edits in trunk/LayoutTests
[Chromium] platform/chromium/media/video-capture-preview.html is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=85082
- platform/chromium/test_expectations.txt: Added expectation of flakiness.
- 11:01 AM Changeset in webkit [115449] by
-
- 4 edits in trunk/Source/WebKit/efl
[EFL] tabsToLinks ewk_view setting
https://bugs.webkit.org/show_bug.cgi?id=84340
Exporting new ewk_view setting: tabsToLinks - enbles/disables tab key focusing of page elements.
Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-04-27
Reviewed by Antonio Gomes.
- WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::keyboardUIMode):
- ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_include_links_in_focus_chain_get):
(ewk_view_setting_include_links_in_focus_chain_set):
- ewk/ewk_view.h:
- 10:37 AM Changeset in webkit [115448] by
-
- 2 edits1 add in trunk/Source/WebKit/chromium
Unreviewed, rolling out r115436.
http://trac.webkit.org/changeset/115436
https://bugs.webkit.org/show_bug.cgi?id=85079
"broke the build" (Requested by tonyg-cr on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-04-27
- WebKit.gyp:
- public/WebReferrerPolicy.h: Added.
- 10:32 AM Changeset in webkit [115447] by
-
- 8 edits2 adds in trunk
Source/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
(re-landing r115417 with a test that should work on Windows.)
https://bugs.webkit.org/show_bug.cgi?id=84946
Reviewed by Yury Semikhatsky.
Test: inspector/debugger/disable-script.html
- inspector/Inspector.json:
- inspector/InspectorPageAgent.cpp:
(PageAgentState):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
- inspector/InspectorPageAgent.h:
- inspector/front-end/Settings.js:
- inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
(WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
- inspector/front-end/inspector.js:
LayoutTests: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
https://bugs.webkit.org/show_bug.cgi?id=84946
Reviewed by Yury Semikhatsky.
- inspector/debugger/disable-script-expected.txt: Added.
- inspector/debugger/disable-script.html: Added.
- 9:56 AM Changeset in webkit [115446] by
-
- 5 edits in trunk
IETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
https://bugs.webkit.org/show_bug.cgi?id=81196
Reviewed by Kent Tamura.
Source/WebCore:
Test: fast/dom/Window/window-properties.html, fast/dom/Window/window-lookup-precedence.html
HTMLDataListElement should be available on DOMWindow.
- page/DOMWindow.idl: Added HTMLDataListElement.
LayoutTests:
- fast/dom/Window/resources/window-properties.js: Added HTMLDataListElement to the list.
- platform/chromium/fast/dom/Window/window-lookup-precedence-expected.txt:
- 9:53 AM Changeset in webkit [115445] by
-
- 8 edits2 deletes in trunk
Unreviewed, rolling out r115417.
http://trac.webkit.org/changeset/115417
https://bugs.webkit.org/show_bug.cgi?id=84946
Added test is broken on windows.
Source/WebCore:
- inspector/Inspector.json:
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
- inspector/InspectorPageAgent.h:
- inspector/front-end/Settings.js:
- inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
- inspector/front-end/inspector.js:
LayoutTests:
- inspector/debugger/disable-script-expected.txt: Removed.
- inspector/debugger/disable-script.html: Removed.
- 9:46 AM Changeset in webkit [115444] by
-
- 2 edits in trunk/LayoutTests
[Chromium] fast/images/gif-large-checkerboard.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=85073
- platform/chromium/test_expectations.txt: Marked flaky crash.
- 9:38 AM Changeset in webkit [115443] by
-
- 15 edits in trunk
Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
https://bugs.webkit.org/show_bug.cgi?id=84871
Reviewed by Adam Barth.
Source/JavaScriptCore:
Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching. Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching. Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/chromium:
Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching. Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.
Source/WebKit/mac:
Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching. Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.
Source/WebKit2:
Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching. Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.
Tools:
Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching. Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.
WebKitLibraries:
Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
API separates it from prefetching. Having separate include guards lets ports enable prefetching,
a relatively easy change, without needing to build the infrastructure for prerendering, which
is considerably more complicated.
- win/tools/vsprops/FeatureDefinesCairo.vsprops:
- 9:35 AM Changeset in webkit [115442] by
-
- 5 edits in trunk/Source/WebCore
[Gtk][DOM Bindings] Feature-protected properties are put under condition guards
https://bugs.webkit.org/show_bug.cgi?id=85068
Reviewed by Martin Robinson.
Generated feature-dependent properties are now present regardless of that
feature being enabled. On getting or setting that property's value a warning
is thrown if the feature is not enabled. Additionally, if the generated
interface is feature-dependant, when getting or setting any property's value
a warning is thrown if the feature is not enabled.
No new tests - covered by existing bindings tests.
- bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty):
(GenerateProperties):
- bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Rebaseline.
(webkit_dom_test_interface_set_property):
(webkit_dom_test_interface_get_property):
(webkit_dom_test_interface_class_init):
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
- bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
(webkit_dom_test_serialized_script_value_interface_get_property):
- 9:34 AM Changeset in webkit [115441] by
-
- 2 edits in trunk/Source/WebKit/chromium
Unreviewed, rolling out r115433.
http://trac.webkit.org/changeset/115433
https://bugs.webkit.org/show_bug.cgi?id=85052
Enable unit tests again.
- tests/PopupMenuTest.cpp:
(WebKit::TEST_F):
- 9:32 AM Changeset in webkit [115440] by
-
- 2 edits in trunk/Source/WebKit/chromium
Unreviewed, rolling out r115421.
http://trac.webkit.org/changeset/115421
https://bugs.webkit.org/show_bug.cgi?id=85052
Enable unit tests again.
- tests/PopupMenuTest.cpp:
(WebKit::TEST_F):
- 9:29 AM Changeset in webkit [115439] by
-
- 3 edits in trunk/Source/WebKit/chromium
Unreviewed, rolling out r115400.
http://trac.webkit.org/changeset/115400
https://bugs.webkit.org/show_bug.cgi?id=84420
Broke unit tests.
- src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::popupOpened):
- src/WebViewImpl.cpp:
(WebKit::WebViewImpl::applyAutofillSuggestions):
- 9:27 AM Changeset in webkit [115438] by
-
- 5 edits in trunk/Source/WebCore
[Gtk][DOM Bindings] Conditional string in implementation file generated in wrong place after 113450
https://bugs.webkit.org/show_bug.cgi?id=85065
Reviewed by Martin Robinson.
Put the condition string in implementation file after the header inclusions. This ensures
that build errors do not occur when disabling the future that applies to the condition string
because of WebCore objects and methods that are still in use despite the feature being disabled.
No new tests - covered by bindings tests.
- bindings/scripts/CodeGeneratorGObject.pm:
(WriteData):
- bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Rebaseline generated results.
- bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
- bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
- 9:10 AM Changeset in webkit [115437] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Improve log output in InputHandler.cpp
https://bugs.webkit.org/show_bug.cgi?id=85007
Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.
PR 138292
Improving logging in InputHandler.
In setText we had an early return which wasn't being captured.
Also, cleaning up the output to make it more clear and descriptive.
Internally reviewed by Mike Fenton.
- WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::learnText):
(BlackBerry::WebKit::InputHandler::enableInputMode):
(BlackBerry::WebKit::InputHandler::setText):
- 8:57 AM Changeset in webkit [115436] by
-
- 2 edits1 delete in trunk/Source/WebKit/chromium
[Chromium] Remove Webkit/chromium/public/WebReferrerPolicy.h thunk.
https://bugs.webkit.org/show_bug.cgi?id=84552
After http://codereview.chromium.org/10139023/ lands, this thunk is no
longer needed.
Reviewed by Adam Barth.
- WebKit.gyp:
- public/WebReferrerPolicy.h: Removed.
- 8:29 AM Changeset in webkit [115435] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[Blackberry] remove redundant returns
https://bugs.webkit.org/show_bug.cgi?id=85033
Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-04-27
Reviewed by Antonio Gomes.
Remove two redundant returns which were added by accident.
No new test cases, because no behaviour has changed.
- Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setSelection):
(BlackBerry::WebKit::WebPage::setCaretPosition):
- 8:27 AM Changeset in webkit [115434] by
-
- 5 edits2 adds in trunk
Avoid mutating Element attribute storage in StepRange constructor.
<http://webkit.org/b/84797>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/selectors/querySelector-in-range-crash.html
- dom/Attribute.h:
Add comment about the volatility of references returned by getters.
- html/StepRange.cpp:
(WebCore::StepRange::StepRange):
Replace hasAttribute/getAttribute pair by a single fastGetAttribute.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::value):
Store the value attribute in an local variable before passing it to sanitizeValue().
LayoutTests:
- fast/selectors/querySelector-in-range-crash-expected.txt: Added.
- fast/selectors/querySelector-in-range-crash.html: Added.
- 8:14 AM Changeset in webkit [115433] by
-
- 2 edits in trunk/Source/WebKit/chromium
[chromium] Disables a few more webkit_unittests.
https://bugs.webkit.org/show_bug.cgi?id=85052
Unreviewed build fix.
Failing on Windows bots, probably due to r115400.
- tests/PopupMenuTest.cpp:
(WebKit::TEST_F):
- 8:05 AM Changeset in webkit [115432] by
-
- 3 edits8 adds in trunk
SVG inline style of 'marker-*' does not override
https://bugs.webkit.org/show_bug.cgi?id=84824
Source/WebCore:
Reviewed by Nikolas Zimmermann.
Properly handle CSSValueNone for clip-path, filter, mask and marker-* properties. Instead
of bailing out, set the none value explicitly, since an earlier match may have set it to
something other than none.
Tests: svg/custom/inline-style-overrides-clipPath-expected.svg
svg/custom/inline-style-overrides-clipPath.svg
svg/custom/inline-style-overrides-filter-expected.svg
svg/custom/inline-style-overrides-filter.svg
svg/custom/inline-style-overrides-markers-expected.svg
svg/custom/inline-style-overrides-markers.svg
svg/custom/inline-style-overrides-mask-expected.svg
svg/custom/inline-style-overrides-mask.svg
- css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
LayoutTests:
Add tests for clip-path, filter, mask and marker-* properties.
Reviewed by Nikolas Zimmermann.
- svg/custom/inline-style-overrides-clipPath-expected.svg: Added.
- svg/custom/inline-style-overrides-clipPath.svg: Added.
- svg/custom/inline-style-overrides-filter-expected.svg: Added.
- svg/custom/inline-style-overrides-filter.svg: Added.
- svg/custom/inline-style-overrides-markers-expected.svg: Added.
- svg/custom/inline-style-overrides-markers.svg: Added.
- svg/custom/inline-style-overrides-mask-expected.svg: Added.
- svg/custom/inline-style-overrides-mask.svg: Added.
- 8:05 AM Changeset in webkit [115431] by
-
- 2 edits in trunk/Tools
Unreviewed, GTK gardening.
- Scripts/run-gtk-tests:
(TestRunner): Skip flaky WebKit2 API test.
- 8:00 AM Changeset in webkit [115430] by
-
- 2 edits in trunk/Source/WebCore
[EFL] media/video-controls-rendering-toggle-display-none.html is failing
https://bugs.webkit.org/show_bug.cgi?id=84949
Patch by Christophe Dumez <Christophe Dumez> on 2012-04-27
Reviewed by Antonio Gomes.
Fix volume slider rendering so that the
media/video-controls-rendering-toggle-display-none.html passes.
- css/mediaControlsEfl.css:
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
- 7:58 AM Changeset in webkit [115429] by
-
- 3 edits4 adds in trunk
Support values animation mode with just a single value
https://bugs.webkit.org/show_bug.cgi?id=85064
Reviewed by Antti Koivisto.
Source/WebCore:
values="a" is equal to <set to="a"> per SMIL specification.
We currently only support values animation if at least two values are given, fix that.
The reference animations in Dr. Olaf Hoffmanns SVG Animation test suite are mostly using
values animations, sometimes with only a single value given. Lots of the reference animations
are broken in trunk w/o this patch and now work as expected.
See http://hoffmann.bplaced.net/svgtest/index.php?s=en&in=start.
Test: svg/animations/single-values-animation.html
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::startedActiveInterval):
LayoutTests:
- svg/animations/resources/single-values-animation.svg: Added.
- svg/animations/script-tests/single-values-animation.js: Added.
(sample1):
(sample2):
(executeTest):
- svg/animations/single-values-animation-expected.txt: Added.
- svg/animations/single-values-animation.html: Added.
- 7:55 AM Changeset in webkit [115428] by
-
- 2 edits in trunk/LayoutTests
[chromium] Update test expectation.
https://bugs.webkit.org/show_bug.cgi?id=85038
Unreviewed, chromium test_expectations update.
- platform/chromium/test_expectations.txt:
- 7:17 AM Changeset in webkit [115427] by
-
- 17 edits5 adds in trunk
Web Inspector: Allow inspection of Web Socket Frames
https://bugs.webkit.org/show_bug.cgi?id=83282
Patch by Konrad Piascik <kpiascik@rim.com> on 2012-04-27
Reviewed by Pavel Feldman.
Source/WebCore:
Tests: http/tests/inspector/web-socket-frame-error.html
http/tests/inspector/web-socket-frame.html
- English.lproj/localizedStrings.js: Added new Web Inspector front-end UI strings.
- Modules/websockets/WebSocketChannel.cpp: Added InspectorInstrumentation calls to
the following methods.
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::sendFrame):
- WebCore.gypi: Added new Web Inspector resource file.
- WebCore.vcproj/WebCore.vcproj: Added new Web Inspector resource file.
- inspector/Inspector.json: Added new Web Inspector resource file.
- inspector/InspectorInstrumentation.cpp: Added new methods for instrumenting a Web Socket frame or error.
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
(WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
- inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
- inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
- inspector/InspectorResourceAgent.h:
(WebCore):
(InspectorResourceAgent):
- inspector/compile-front-end.py: Added new Web Inspector resource file.
- inspector/front-end/NetworkItemView.js: Added a new View for inspecting Web Socket frames and errors.
(WebInspector.NetworkItemView):
- inspector/front-end/NetworkManager.js: Implemented callback called by InspectorResourceAgent for
the new Web Socket frame and error calls.
(WebInspector.NetworkDispatcher.prototype.webSocketFrameReceived):
(WebInspector.NetworkDispatcher.prototype.webSocketFrameSent):
(WebInspector.NetworkDispatcher.prototype.webSocketFrameError):
- inspector/front-end/NetworkRequest.js: Added a frames array to a Resource request along
with accessor and helper methods
(WebInspector.NetworkRequest):
(WebInspector.NetworkRequest.prototype.resource):
(WebInspector.NetworkRequest.prototype.hasFrames):
(WebInspector.NetworkRequest.prototype.frameLength):
(WebInspector.NetworkRequest.prototype.getFrame):
(WebInspector.NetworkRequest.prototype.addFrameError):
(WebInspector.NetworkRequest.prototype.addFrame):
(WebInspector.NetworkRequest.prototype._pushFrame):
- inspector/front-end/ResourceWebSocketFrameView.js: Added to help display Web Socket frame and error data.
(WebInspector.ResourceWebSocketFrameView):
- inspector/front-end/WebKit.qrc: Added new Web Inspector resource file.
- inspector/front-end/inspector.html: Added new Web Inspector resource file.
LayoutTests:
- http/tests/inspector/web-socket-frame-error-expected.txt: Added.
- http/tests/inspector/web-socket-frame-error.html: Added.
- http/tests/inspector/web-socket-frame-expected.txt: Added.
- http/tests/inspector/web-socket-frame.html: Added.
- 7:12 AM Changeset in webkit [115426] by
-
- 2 edits in trunk/Source/WebKit2
[Qt][WK2] setVisibleContentsRect is not thread safe
https://bugs.webkit.org/show_bug.cgi?id=85060
Reviewed by Noam Rosenthal.
Don't call WebLayerTreeRenderer::setVisibleContentsRect directly. Use bind() instead.
- UIProcess/LayerTreeHostProxy.cpp:
(WebKit::LayerTreeHostProxy::setVisibleContentsRect):
- 7:10 AM Changeset in webkit [115425] by
-
- 16 edits20 adds in trunk
Fix repetitions & by animation support for SVGAnimateTransformElement
https://bugs.webkit.org/show_bug.cgi?id=85051
Reviewed by Antti Koivisto.
Source/WebCore:
Repetitions are currently handled by adjusting percentage (percentage += repeatCount).
This doesn't work for <animateTransform> as each repetition has to be post-multiplied to the animated transform list. Fix that.
By-animations are equal to values="0;by" animations in SMIL. '0' is the neutral element of addition, which is the _zero_ matrix,
not the identity matrix for SVGTransform. Add a new construction mode to SVGTransform to be able to construct zero transforms.
Tests: svg/animations/animateTransform-accumulation-expected.svg
svg/animations/animateTransform-accumulation.svg
svg/animations/animateTransform-by-scale-expected.svg
svg/animations/animateTransform-by-scale.svg
svg/animations/animateTransform-from-by-from-to-comparision-expected.svg
svg/animations/animateTransform-from-by-from-to-comparision.svg
svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg
svg/animations/animateTransform-from-by-scale-additive-sum.svg
svg/animations/animateTransform-from-by-scale-expected.svg
svg/animations/animateTransform-from-by-scale.svg
svg/animations/animateTransform-rotate-around-point-expected.svg
svg/animations/animateTransform-rotate-around-point.svg
svg/animations/animateTransform-skewX-expected.svg
svg/animations/animateTransform-skewX.svg
svg/animations/animateTransform-skewY-expected.svg
svg/animations/animateTransform-skewY.svg
svg/animations/animateTransform-translate-expected.svg
svg/animations/animateTransform-translate.svg
svg/animations/multiple-animateTransform-additive-sum-expected.svg
svg/animations/multiple-animateTransform-additive-sum.svg
- svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::parseAttribute):
- svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
- svg/SVGAnimationElement.h:
(WebCore::SVGAnimationElement::adjustFromToListValues):
- svg/SVGTransform.cpp:
(WebCore::SVGTransform::SVGTransform):
- svg/SVGTransform.h:
- svg/SVGTransformDistance.cpp:
(WebCore::SVGTransformDistance::SVGTransformDistance):
(WebCore::SVGTransformDistance::scaledDistance):
(WebCore::SVGTransformDistance::addSVGTransforms):
(WebCore::SVGTransformDistance::addToSVGTransform):
(WebCore::SVGTransformDistance::distance):
- svg/SVGTransformDistance.h:
(SVGTransformDistance):
LayoutTests:
Enable <animateTransform> test in additive-type-by-animation, which was disabled as it triggered assertions before this patch.
Add lots of new <animateTransform> covering additive/accumulative animations using reftests, for all animateTransform types (translate/rotate/skewX/skewY/scale).
- svg/animations/additive-type-by-animation-expected.txt:
- svg/animations/animateTransform-accumulation-expected.svg: Added.
- svg/animations/animateTransform-accumulation.svg: Added.
- svg/animations/animateTransform-by-scale-expected.svg: Added.
- svg/animations/animateTransform-by-scale.svg: Added.
- svg/animations/animateTransform-from-by-from-to-comparision-expected.svg: Added.
- svg/animations/animateTransform-from-by-from-to-comparision.svg: Added.
- svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg: Added.
- svg/animations/animateTransform-from-by-scale-additive-sum.svg: Added.
- svg/animations/animateTransform-from-by-scale-expected.svg: Added.
- svg/animations/animateTransform-from-by-scale.svg: Added.
- svg/animations/animateTransform-rotate-around-point-expected.svg: Added.
- svg/animations/animateTransform-rotate-around-point.svg: Added.
- svg/animations/animateTransform-skewX-expected.svg: Added.
- svg/animations/animateTransform-skewX.svg: Added.
- svg/animations/animateTransform-skewY-expected.svg: Added.
- svg/animations/animateTransform-skewY.svg: Added.
- svg/animations/animateTransform-translate-expected.svg: Added.
- svg/animations/animateTransform-translate.svg: Added.
- svg/animations/multiple-animateTransform-additive-sum-expected.svg: Added.
- svg/animations/multiple-animateTransform-additive-sum.svg: Added.
- svg/animations/resources/additive-type-by-animation.svg:
- svg/animations/script-tests/additive-type-by-animation.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
- svg/animations/script-tests/svgtransform-animation-1.js:
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(executeTest):
- svg/animations/script-tests/svgtransform-animation-discrete.js:
(sample1):
(sample2):
(sample3):
(executeTest):
- svg/animations/svgtransform-animation-1-expected.txt:
- svg/animations/svgtransform-animation-discrete-expected.txt:
- 6:52 AM Changeset in webkit [115424] by
-
- 2 edits in trunk/Source/WebKit/blackberry
[BlackBerry] Find-in-page fails to deactivate the old active match when moving backwards
https://bugs.webkit.org/show_bug.cgi?id=84892
Patch by Andy Chen <andchen@rim.com> on 2012-04-27
Reviewed by Antonio Gomes.
Find in page fails to deactivate the old active match when moving backwards
because searchStartingPoint was incorrectly initialized.
Create a real range object instead of referencing other range object.
PR 152009
Internally reviewed by Yongxin Dai.
- WebKitSupport/InPageSearchManager.cpp:
(BlackBerry::WebKit::InPageSearchManager::findNextString):
- 6:50 AM Changeset in webkit [115423] by
-
- 16 edits8 adds in trunk
SVG Animations update baseVal instead of animVal
https://bugs.webkit.org/show_bug.cgi?id=12437
Reviewed by Dirk Schulze.
Source/WebCore:
Cleanup animation code, remove last remaining crufts of the old setAttribute() animation model.
Now only two animation modes remain: animate SVG DOM animVal properties or CSS properties.
Stop caching base values per string in SMILTimeContainer, as it breaks additive="sum" for CSS
properties if the underlying base value is changed from the outside (eg. when calling
style.fontSize="20px", if font-size was 10px, and we're running an additive by-animation with 50px).
This requires us to cache the computed style of a SVGElement, without SMIL style property changes,
in SVGElementRareData, similar to how the computed style itself is cached in ElementRareData.
To be able to compute the base value for a CSS property at any time, we have to exclude any
previous animation effects residing in the SMIL animated style properties, per SMIL2/3 specs.
NOTE: This doesn't change or affect the way CSS Animations/Transitions are applied, we still
have some bugs in that area, but this patch doesn't address them. The idea is to only
remove the cache, to pave the way for future additive="sum" patches.
Tests: svg/animations/change-css-property-while-animating-fill-freeze.html
svg/animations/change-css-property-while-animating-fill-remove.html
- dom/Element.cpp:
(WebCore::Element::recalcStyle):
- dom/Node.h:
- svg/SVGAnimateElement.cpp:
(WebCore::propertyTypesAreConsistent):
(WebCore::SVGAnimateElement::resetToBaseValue):
(WebCore::SVGAnimateElement::applyResultsToTarget):
- svg/SVGAnimateElement.h:
(SVGAnimateElement):
- svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::resetToBaseValue):
- svg/SVGAnimateMotionElement.h:
(SVGAnimateMotionElement):
- svg/SVGAnimationElement.cpp:
(WebCore::applyCSSPropertyToTarget):
(WebCore::SVGAnimationElement::setTargetAttributeAnimatedCSSValue):
- svg/SVGAnimationElement.h:
- svg/SVGElement.cpp:
(WebCore::SVGElement::SVGElement):
(WebCore::SVGElement::willRecalcStyle):
(WebCore):
(WebCore::SVGElement::rareSVGData):
(WebCore::SVGElement::ensureRareSVGData):
(WebCore::SVGElement::computedStyle):
(WebCore::SVGElement::isAnimatableAttribute):
- svg/SVGElement.h:
(SVGElement):
- svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::SVGElementRareData):
(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::overrideComputedStyle):
(WebCore::SVGElementRareData::setUseOverrideComputedStyle):
- svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
- svg/animation/SMILTimeContainer.h:
(SMILTimeContainer):
- svg/animation/SVGSMILElement.h:
(SVGSMILElement):
LayoutTests:
Add tests that change the CSS property while an animation is running, finally fixed now for both SVG DOM & CSS animations.
- svg/animations/change-css-property-while-animating-fill-freeze-expected.txt: Added.
- svg/animations/change-css-property-while-animating-fill-freeze.html: Added.
- svg/animations/change-css-property-while-animating-fill-remove-expected.txt: Added.
- svg/animations/change-css-property-while-animating-fill-remove.html: Added.
- svg/animations/resources/change-css-property-while-animating-fill-freeze.svg: Added.
- svg/animations/resources/change-css-property-while-animating-fill-remove.svg: Added.
- svg/animations/script-tests/change-css-property-while-animating-fill-freeze.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
- svg/animations/script-tests/change-css-property-while-animating-fill-remove.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
- 6:13 AM Changeset in webkit [115422] by
-
- 2 edits in trunk/Tools
Unreviewed, GTK gardening.
- Scripts/run-gtk-tests:
(TestRunner): Fix another typo. So easy to get confused by a Test
name and the actual name of the executable...
- 5:24 AM Changeset in webkit [115421] by
-
- 2 edits in trunk/Source/WebKit/chromium
[chromium] Disables a few webkit_unittests.
https://bugs.webkit.org/show_bug.cgi?id=85052
Unreviewed build fix.
- tests/PopupMenuTest.cpp:
(WebKit::TEST_F):
- 5:02 AM Changeset in webkit [115420] by
-
- 3 edits in trunk/Source/WebKit/qt
Move WebKit1 specific conversion of touch-events to WebKit1
https://bugs.webkit.org/show_bug.cgi?id=84951
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-27
Reviewed by Kenneth Rohde Christiansen.
Fix compile when touch-events are disabled.
- WebCoreSupport/WebEventConversion.cpp:
(WebCore):
- WebCoreSupport/WebEventConversion.h:
(WebCore):
- 4:51 AM Changeset in webkit [115419] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GTK test_expectations update.
- platform/gtk/test_expectations.txt: Mark another http/inspector
test as crashing.
- 4:42 AM Changeset in webkit [115418] by
-
- 2 edits in trunk/Tools
Unreviewed, GTK gardening.
- Scripts/run-gtk-tests:
(TestRunner): Skip failing WebKit2 API test.
- 3:07 AM Changeset in webkit [115417] by
-
- 8 edits2 adds in trunk
Source/WebCore: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
(re-landing r115323 with a fixed test.)
https://bugs.webkit.org/show_bug.cgi?id=84946
Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
for the associated page to switch the script execution therein.
Reviewed by Yury Semikhatsky.
Test: inspector/debugger/disable-script.html
- inspector/Inspector.json:
- inspector/InspectorPageAgent.cpp:
(PageAgentState):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
- inspector/InspectorPageAgent.h:
- inspector/front-end/Settings.js:
- inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
(WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
- inspector/front-end/inspector.js:
LayoutTests: Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
https://bugs.webkit.org/show_bug.cgi?id=84946
Reviewed by Yury Semikhatsky.
- inspector/debugger/disable-script-expected.txt: Added.
- inspector/debugger/disable-script.html: Added.
- 2:59 AM Changeset in webkit [115416] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GTK test_expectations update.
- platform/gtk/test_expectations.txt: Flag http test hitting an ASSERT.
- 2:47 AM Changeset in webkit [115415] by
-
- 11 edits in trunk
[EFL] DRT should support LayoutTestController's dumpResourceLoadCallbacks()
https://bugs.webkit.org/show_bug.cgi?id=81891
Patch by Christophe Dumez <Christophe Dumez> on 2012-04-27
Reviewed by Philippe Normand.
Source/WebKit/efl:
New "load,resource,finished", "load,resource,failed", and
"resource,response,received" signals were added to notify about different
resource load events. These additional signals are needed for proper
support of LayoutTestController's dumpResourceLoadCallbacks() in EFL's
DumpRenderTree.
- WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::assignIdentifierToInitialRequest):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveResponse):
(WebCore::FrameLoaderClientEfl::dispatchDidFinishLoading):
(WebCore::FrameLoaderClientEfl::dispatchDidFailLoading):
- ewk/ewk_frame.cpp:
(ewk_frame_response_received):
(ewk_frame_load_finished):
(ewk_frame_load_resource_finished):
(ewk_frame_load_resource_failed):
(ewk_frame_load_error):
- ewk/ewk_frame.h:
- ewk/ewk_private.h:
- ewk/ewk_view.h:
Tools:
Implement support for LayoutTestController's
dumpResourceLoadCallbacks() in EFL's DumpRenderTree by catching new
ewk_view signals about resource loading and print out the expected
information. This allows for several test cases to be removed from the
skip list.
- DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::createView):
(descriptionSuitableForTestResult):
(DumpRenderTreeChrome::onResponseReceived):
(DumpRenderTreeChrome::onResourceLoadFinished):
(DumpRenderTreeChrome::onResourceLoadFailed):
(DumpRenderTreeChrome::onNewResourceRequest):
- DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):
LayoutTests:
Unskip tests which depend on EFL's DumpRenderTree support for
LayoutTestController's dumpResourceLoadCallbacks(), now that it is
implemented.
- platform/efl/Skipped:
- 2:16 AM Changeset in webkit [115414] by
-
- 2 edits in trunk/Tools
Unreviewed, GTK typo fix.
- Scripts/run-gtk-tests:
(TestRunner): Fix-up skipped WebKit2 API test name TestWKConnection.
- 2:07 AM Changeset in webkit [115413] by
-
- 2 edits in trunk/LayoutTests
[chromium] Update test expectation.
https://bugs.webkit.org/show_bug.cgi?id=85038
Unreviewed, chromium test_expectations update.
- platform/chromium/test_expectations.txt:
- 1:42 AM PrefixedAPIs edited by
- CSS Transitions (diff)
- 1:38 AM PrefixedAPIs edited by
- CSS Animations (diff)
- 1:09 AM Changeset in webkit [115412] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, GTK test_expectations update.
- platform/gtk/test_expectations.txt: Fix expected results of
css2.1 results and remove non-existant fast/form test.
- 12:13 AM Changeset in webkit [115411] by
-
- 19 edits20 adds in trunk
[SOUP] Add a way to register custom uri schemes in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=84130
Reviewed by Martin Robinson.
.:
- GNUmakefile.am: Add BUILDING_SOUP macro to compilation.
Source/WebKit2:
- GNUmakefile.am: Add new files to compilation.
- Platform/CoreIPC/MessageID.h: Add
MessageClassWebSoupRequestManager and
MessageClassWebSoupRequestManagerProxy message types to identify
WebSoupRequestManager messages.
- Shared/API/c/WKBase.h: Include WKBaseSoup.h when building with
soup network backend.
- Shared/API/c/soup/WKBaseSoup.h: Added.
- Shared/APIObject.h: Add SoupRequestManager type when using soup.
- UIProcess/API/C/WKAPICast.h: Include WKAPICastSoup.h when
building with soup network backend.
- UIProcess/API/C/soup/WKAPICastSoup.h: Added.
(WebKit): Map WKSoupRequestManagerRef to
WebSoupRequestManagerProxy.
- UIProcess/API/C/soup/WKContextSoup.cpp: Added.
(WKContextGetSoupRequestManager): Return WKSoupRequestManagerRef
associated to the context.
- UIProcess/API/C/soup/WKContextSoup.h: Added.
- UIProcess/API/C/soup/WKSoupRequestManager.cpp: Added.
(WKSoupRequestManagerGetTypeID): Return the
WebSoupRequestManagerProxy API type.
(WKSoupRequestManagerSetClient): Set the WKSoupRequestManagerClient.
(WKSoupRequestManagerRegisterURIScheme): Call
WebSoupRequestManagerProxy::registerURIScheme().
(WKSoupRequestManagerHandleURIRequest): Call
WebSoupRequestManagerProxy::handleURIRequest().
- UIProcess/API/C/soup/WKSoupRequestManager.h: Added.
- UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext): Initialize
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::~WebContext): Invalidate and clear the
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::disconnectProcess): Invalidate the
m_soupRequestManagerProxy when using soup.
(WebKit::WebContext::didReceiveMessage): Forward the message to
m_soupRequestManagerProxy if it's a
MessageClassWebSoupRequestManagerProxy message.
- UIProcess/WebContext.h:
(WebKit::WebContext::soupRequestManagerProxy): Return
m_soupRequestManagerProxy.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage): Forward message to
the web context if it's a MessageClassWebSoupRequestManagerProxy
message.
- UIProcess/soup/WebSoupRequestManagerClient.cpp: Added.
(WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): Call
didReceiveURIRequest callback if it has an implementation.
- UIProcess/soup/WebSoupRequestManagerClient.h: Added.
- UIProcess/soup/WebSoupRequestManagerProxy.cpp: Added.
(WebKit::WebSoupRequestManagerProxy::create): Create a new
WebSoupRequestManagerProxy.
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::invalidate):
(WebKit::WebSoupRequestManagerProxy::initializeClient):
(WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
(WebKit::WebSoupRequestManagerProxy::registerURIScheme): Send
RegisterURIScheme message to the WebProcess to register the given
URI scheme.
(WebKit::WebSoupRequestManagerProxy::handleURIRequest): Send
HandleURIRequest message to the WebProcess with the given data and
data type.
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Call
didReceiveURIRequest callback to allow the user to handle the
request.
- UIProcess/soup/WebSoupRequestManagerProxy.h: Added.
- UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Added.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Initialize m_soupRequestManager
when using soup.
(WebKit::WebProcess::didReceiveMessage): Forward the message to
m_soupRequestManager if it's a MessageClassWebSoupRequestManager
message.
- WebProcess/WebProcess.h:
(WebKit::WebProcess::soupRequestManager): Return m_soupRequestManager.
- WebProcess/soup/WebKitSoupRequestGeneric.cpp: Added.
(webkitSoupRequestGenericFinalize):
(webkit_soup_request_generic_init):
(webkitSoupRequestGenericSendAsync): Create a GSimpleAsyncResult
to handle the request and pass it to the WebSoupRequestManager.
(webkitSoupRequestGenericSendFinish): Finish the async operation
started by webkitSoupRequestGenericSendAsync() and return the
contents of the request as returned by WebSoupRequestManager.
(webkitSoupRequestGenericGetContentLength): Get the request
contents length.
(webkitSoupRequestGenericGetContentType): Get the request mime
type.
(webkit_soup_request_generic_class_init):
(webkitSoupRequestGenericSetContentLength): Set the request
contents length.
(webkitSoupRequestGenericSetContentType): Set the request mime
type.
- WebProcess/soup/WebKitSoupRequestGeneric.h: Added.
- WebProcess/soup/WebSoupRequestManager.cpp: Added.
(WebKit::generateSoupRequestID): Helper function to generate a
unique request identifier.
(WebKit::WebSoupRequestManager::WebSoupRequestManager):
(WebKit::WebSoupRequestManager::~WebSoupRequestManager):
(WebKit::WebSoupRequestManager::didReceiveMessage):
(WebKit::WebSoupRequestManager::registerURIScheme): Add the scheme
to the schemes array and add a new WebKitSoupRequestGeneric
feature with the new scheme list to the SoupRequester feature.
(WebKit::WebSoupRequestManager::handleURIRequest): Complete the
async operation by creating a GInputStream with the request data,
or setting an error in case of failure.
(WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
message to the UI process.
(WebKit::WebSoupRequestManager::finish): Return the GInputStream
containing the request data.
- WebProcess/soup/WebSoupRequestManager.h: Added.
- WebProcess/soup/WebSoupRequestManager.messages.in: Added.
Source/WTF:
Add GPtrArray template to be able to use GRefPtr with GPtrArrays.
- wtf/gobject/GRefPtr.cpp:
(WTF::refGPtr):
(WTF):
(WTF::derefGPtr):
- wtf/gobject/GRefPtr.h:
(WTF):
- wtf/gobject/GTypedefs.h:
Tools:
- Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration): Add webkit_soup prefix to
the list of exceptions to the underscores in identifiers rule.
- 12:05 AM Changeset in webkit [115410] by
-
- 5 edits in trunk/Tools
Extract PerfTestFactory
https://bugs.webkit.org/show_bug.cgi?id=83944
Reviewed by Dirk Pranke.
Extracted PerfTestFactory out of PerfTest. This class creates appropriate PerfTest object given
a test name and a path. Also removed dirname from the constructors of PerfTest and its subclasses.
Also added simple test cases to sanity check PerfTestFactory.
- Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.init):
(PerfTest.test_name):
(ChromiumStylePerfTest.init):
(PageLoadingPerfTest.init):
(PageLoadingPerfTest.run):
(PerfTestFactory):
(PerfTestFactory.create_perf_test):
- Scripts/webkitpy/performance_tests/perftest_unittest.py:
(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):
(TestPageLoadingPerfTest.test_run):
(TestPageLoadingPerfTest.test_run_with_bad_output):
(TestPerfTestFactory):
(TestPerfTestFactory.test_regular_test):
(TestPerfTestFactory.test_inspector_test):
(TestPerfTestFactory.test_page_loading_test):
- Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):
(PerfTestsRunner._collect_tests):
- Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(run_test):
(_tests_for_runner):