⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Apr 29, 2012:

7:51 PM Changeset in webkit [115604] by fpizlo@apple.com
  • 3 edits in branches/dfgopt/Source/JavaScriptCore

Predicted types should know about arguments
https://bugs.webkit.org/show_bug.cgi?id=85165

Reviewed by Oliver Hunt.

  • bytecode/PredictedType.cpp:

(JSC::predictionToString):
(JSC::predictionToAbbreviatedString):
(JSC::predictionFromClassInfo):

  • bytecode/PredictedType.h:

(JSC):
(JSC::isMyArgumentsPrediction):
(JSC::isArgumentsPrediction):

7:24 PM Changeset in webkit [115603] by keishi@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix for LocalizedDateMac.mm
https://bugs.webkit.org/show_bug.cgi?id=85164

Reviewed by Kent Tamura.

  • platform/text/mac/LocalizedDateMac.mm:

(WebCore::monthLabels):

6:28 PM Changeset in webkit [115602] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Initialize member variables in CSSParser's constructor.
https://bugs.webkit.org/show_bug.cgi?id=84377

Reviewed by Kentaro Hara.

It is good practice not to leave member variables uninitialized. They make debugging more difficult by reducing
repeatability, and in some cases lead to the possibility of information leakage occuring. This patch simply adds
initialization of m_numParsedPropertiesBeforeMarginBox to CSSParser's constructor to INVALID_NUM_PARSED_PROPERTIES
so that the initial state is the same as the state after the properties are cleared.

No tests added because this is a code style fix, not an actual bug so long as the bison generated code calls
startDeclarationsForMarginBox() and endDeclarationsForMarginBox() symmetrically. The lack of initialization was
originally detected by coverity.

  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):

6:22 PM Changeset in webkit [115601] by mjs@apple.com
  • 2 edits in trunk/Tools

REGRESSION: On Lion, run-webkit-tests changes the display color profile even when not running pixel tests
https://bugs.webkit.org/show_bug.cgi?id=81729

Reviewed by Dan Bernstein.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._set_up_run): Only launch LayoutTestHelper when running pixel tests.

5:25 PM Changeset in webkit [115600] by tkent@chromium.org
  • 6 edits
    1 add in trunk/Source

[Mac] Add LocalizedDateMac
https://bugs.webkit.org/show_bug.cgi?id=85039

Reviewed by Kentaro Hara.

Source/WebCore:

A date shown <input type=date> should be formatted for user's OS
settings. Chromium-Mac used LocalizedDateICU.cpp to format/parse visible
date strings and it didn't reflect user-settings.

Test: covered by fast/forms/date/date-appearance.html

  • WebCore.gyp/WebCore.gyp:

Use LocalizedDateMac.mm for OS X instead of LocalizedDateICU.cpp.

  • WebCore.gypi: Add LocalizedDateMac.mm
  • platform/text/mac/LocalizedDateMac.mm: Added.

(WebCore::createShortDateFormatter):
Creates a NSDateFormatter with desired settings.
(WebCore::parseLocalizedDate): Impelment for tyep=date.
(WebCore::formatLocalizedDate): ditto.
(WebCore::isYearSymbol): A readability helper for format string parsing.
(WebCore::isMonthSymbol): ditto.
(WebCore::isDaySymbol): ditto.
(WebCore::localizeDateFormat):
Parse a format string, and replace symbols with user-friendly labels.
(WebCore::localizedDateFormatText):
Gets a format string, and apply localizeDateFormat().
(WebCore::monthLabels): Obtain month names from the system.
(WebCore::weekDayShortLabels): Obtain week day symbols from the system.
(WebCore::firstDayOfWeek): Obtain first day of week from the system.

  • platform/text/ICULocale.cpp:

(WebCore::createFallbackMonthLabels): Uses WTF::monthFullName.

Source/WTF:

  • wtf/DateMath.h:

(WTF): Add monthFullName[]. It is useful to make fallback month
names for calendar/date related features.

1:08 PM Changeset in webkit [115599] by commit-queue@webkit.org
  • 6 edits in trunk

Add support for the Blob constructor (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=84555

Address additional feedback on Blob construction.

  • Add exception when the dictionary is not an object.
  • Ensure the proper ordering of dictionary access. Tested via throwing exceptions in toString, and ensuring correct one is fired first.
  • Changed type of exception throw for invalid enumeration to a TypeError.

Patch by Sam Weinig <sam@webkit.org> on 2012-04-29
Reviewed by Kentaro Hara.

Source/WebCore:

Updated fast/files/blob-constructor.html to be more comprehensive.

  • bindings/js/JSBlobCustom.cpp:

(WebCore::JSBlobConstructor::constructJSBlob):

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

LayoutTests:

  • fast/files/blob-constructor-expected.txt:
  • fast/files/script-tests/blob-constructor.js:
11:22 AM Changeset in webkit [115598] by tomz@codeaurora.org
  • 2 edits in trunk/PerformanceTests

PerfTestRunner.computeStatistics incorrectly calculates min, max and median
https://bugs.webkit.org/show_bug.cgi?id=85111

Reviewed by Ryosuke Niwa.

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

  • resources/runner.js:
8:25 AM Changeset in webkit [115597] by commit-queue@webkit.org
  • 7 edits in trunk

[GTK] DRT needs an implementation of layoutTestController.setDomainRelaxationForbiddenForURLScheme
https://bugs.webkit.org/show_bug.cgi?id=85131

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

Source/WebKit/gtk:

Add support for setDomainRelaxationForbiddenForURLScheme which allow
disabling domain relaxation.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setDomainRelaxationForbiddenForURLScheme):

  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Tools:

Add missing implementation setDomainRelaxationForbiddenForURLScheme to
GTK's LayoutTestController.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

LayoutTests:

Unskip http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

  • platform/gtk/test_expectations.txt:
8:20 AM Changeset in webkit [115596] by noam.rosenthal@nokia.com
  • 2 edits in trunk/Source/WebCore

[Texmap] Leaves demo: wrong geometry when opacity animation kicks in
https://bugs.webkit.org/show_bug.cgi?id=85096

Reviewed by Kenneth Rohde Christiansen.

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

Covered by existing compositing tests.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::paintRecursive):

1:58 AM Changeset in webkit [115595] by pilgrim@chromium.org
  • 8 edits in trunk/Source

[Chromium] Call highUsageDeltaMB directly
https://bugs.webkit.org/show_bug.cgi?id=84844

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • bindings/v8/V8GCController.cpp:

(WebCore::V8GCController::checkMemoryUsage):

  • platform/MemoryUsageSupport.cpp:

(WebCore):
(WebCore::MemoryUsageSupport::highUsageDeltaMB):

  • platform/MemoryUsageSupport.h:

(MemoryUsageSupport):

  • platform/chromium/MemoryUsageSupportChromium.cpp:

(WebCore::MemoryUsageSupport::highUsageDeltaMB):
(WebCore):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

1:07 AM Changeset in webkit [115594] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

REGRESSION(r113086): onresize event handler can be deleted in popup window
https://bugs.webkit.org/show_bug.cgi?id=84908

Reviewed by Ojan Vafai.

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

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

r113086 introduced the following code:

void V8LazyEventListener::prepareListenerObject(...) {

if (hasExistingListenerObject())

return;

...;
Since we only parse once, there's no need to keep data
used for parsing around anymore.
m_functionName = String();
m_code = String();
m_eventParameterName = String();
m_sourceURL = String();

setListenerObject(wrappedFunction);

}

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

Consider the following situation:

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

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

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

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

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::prepareListenerObject):

12:09 AM Changeset in webkit [115593] by zandobersek@gmail.com
  • 8 edits
    2 adds in trunk/LayoutTests

Unreviewed, gardening after revisions 115573 and 115582.

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

Apr 28, 2012:

11:04 PM Changeset in webkit [115592] by Csaba Osztrogonác
  • 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 weinig@apple.com
  • 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 ggaren@apple.com
  • 13 edits
    2 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 weinig@apple.com
  • 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 commit-queue@webkit.org
  • 3 edits
    2 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 fpizlo@apple.com
  • 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 weinig@apple.com
  • 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 weinig@apple.com
  • 2 edits in trunk/Source/WebCore

And again.

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

3:39 PM Changeset in webkit [115584] by weinig@apple.com
  • 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 weinig@apple.com
  • 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 weinig@apple.com
  • 45 edits
    3 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:

  • 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 igor.o@sisa.samsung.com
  • 14 edits
    2 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 ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

2012-04-28 Geoffrey Garen <ggaren@apple.com>

Try to fix the Windows build.

1:51 PM Changeset in webkit [115579] by ggaren@apple.com
  • 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 zandobersek@gmail.com
  • 1 edit
    1 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 loislo@chromium.org
  • 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 noam.rosenthal@nokia.com
  • 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 eae@chromium.org
  • 20 edits
    5 adds
    8 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 noam.rosenthal@nokia.com
  • 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 eae@chromium.org
  • 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 zandobersek@gmail.com
  • 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 zandobersek@gmail.com
  • 1 edit
    1 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 danw@gnome.org
  • 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 apavlov@chromium.org
  • 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 commit-queue@webkit.org
  • 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 noel.gordon@gmail.com
  • 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 Nikolas Zimmermann
  • 3 edits
    2 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 noel.gordon@gmail.com
  • 1 edit
    1 move
    1 add
    2 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 Nikolas Zimmermann
  • 8 edits
    8 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 caseq@chromium.org
  • 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 yurys@chromium.org
  • 2 edits in trunk

Unreviewed. Gtk build fix after r115553.

  • Source/autotools/symbols.filter:
2:44 AM Changeset in webkit [115561] by Nikolas Zimmermann
  • 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 Nikolas Zimmermann
  • 18 edits
    1 move
    1 add
    1 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 yurys@chromium.org
  • 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 Nikolas Zimmermann
  • 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 yurys@chromium.org
  • 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 yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix Qt minimal build after r115553.

  • inspector/InspectorConsoleAgent.h:
1:27 AM Changeset in webkit [115555] by Nikolas Zimmermann
  • 12 edits
    4 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 Nikolas Zimmermann
  • 4 edits
    25 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 yurys@chromium.org
  • 13 edits
    3 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 Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed weekend gardening, skip new failing tests.

  • platform/qt/Skipped:
12:02 AM Changeset in webkit [115551] by noel.gordon@gmail.com
  • 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:
Note: See TracTimeline for information about the timeline view.