Timeline


and

05/01/12:

23:07 Changeset [115798] by scherkus@chromium.org

Clean up media canPlayType() tests and add a test for WebM.
https://bugs.webkit.org/show_bug.cgi?id=85116

Reviewed by Eric Carlson.

  • media/media-can-play-flac-audio-expected.txt:
  • media/media-can-play-flac-audio.html:
  • media/media-can-play-mpeg-audio-expected.txt:
  • media/media-can-play-mpeg-audio.html:
  • media/media-can-play-mpeg4-video.html:
  • media/media-can-play-octet-stream-expected.txt:
  • media/media-can-play-octet-stream.html:
  • media/media-can-play-ogg-expected.txt:
  • media/media-can-play-ogg.html:
  • media/media-can-play-type-expected.txt: Renamed from LayoutTests/media/video-can-play-type-expected.txt.
  • media/media-can-play-type.html: Added.
  • media/media-can-play-wav-audio-expected.txt:
  • media/media-can-play-wav-audio.html:
  • media/media-can-play-webm-expected.txt: Added.
  • media/media-can-play-webm.html: Added.
  • media/video-can-play-type.html: Removed.
23:07 Changeset [115797] by haraken@chromium.org

[V8] Add an Isolate parameter to setJSWrapperForXXX()
https://bugs.webkit.org/show_bug.cgi?id=85329

Reviewed by Adam Barth.

The objective is to pass Isolate around in V8 bindings.
This patch adds an Isolate parameter to setJSWrapperForXXX()
and passes Isolate to setJSWrapperForXXX() in CodeGeneratorV8.pm.
I'll pass Isolate to setJSWrapperForXXX() in custom bindings
in a follow-up patch.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm: Modified as described above.

(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateToV8Converters):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):
(WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):

  • bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.

(WebCore::V8Float64Array::wrapSlow):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:

(WebCore::V8TestActiveDOMObject::wrapSlow):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:

(WebCore::V8TestCustomNamedGetter::wrapSlow):

  • bindings/scripts/test/V8/V8TestEventConstructor.cpp:

(WebCore::V8TestEventConstructor::constructorCallback):
(WebCore::V8TestEventConstructor::wrapSlow):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore::V8TestEventTarget::wrapSlow):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::V8TestInterface::constructorCallback):
(WebCore::V8TestInterface::wrapSlow):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:

(WebCore::V8TestMediaQueryListListener::wrapSlow):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructor::wrapSlow):

  • bindings/scripts/test/V8/V8TestNode.cpp:

(WebCore::V8TestNode::constructorCallback):
(WebCore::V8TestNode::wrapSlow):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::V8TestObj::constructorCallback):
(WebCore::V8TestObj::wrapSlow):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

22:54 Changeset [115796] by eric@webkit.org

Add <iframe seamless> navigation code (and pass all the navigation tests)
https://bugs.webkit.org/show_bug.cgi?id=85340

Reviewed by Adam Barth.

Source/WebCore:

This code was primarily written by Adam Barth and then submitted to my
GitHub branch via a pull request:
https://github.com/eseidel/webkit/compare/master...seamless
https://github.com/eseidel/webkit/pull/2
https://github.com/eseidel/webkit/pull/3

I rewrote parts of it to use Docment::shouldDisplaySeamlesslyWithParent.

Other parts of the original change have already been committed to WebKit by Adam
as part of prep-work for making the loader seamless-ready.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::findFrameForNavigation):

LayoutTests:

Update results now that we pass all the navigation tests.

  • fast/frames/seamless/seamless-form-get-expected.txt:
  • fast/frames/seamless/seamless-form-get-named-expected.txt:
  • fast/frames/seamless/seamless-form-post-expected.txt:
  • fast/frames/seamless/seamless-form-post-named-expected.txt:
  • fast/frames/seamless/seamless-hyperlink-expected.txt:
  • fast/frames/seamless/seamless-hyperlink-named-expected.txt:
  • fast/frames/seamless/seamless-window-location-expected.txt:
  • fast/frames/seamless/seamless-window-location-href-expected.txt:
  • fast/frames/seamless/seamless-window-location-sandbox-expected.txt:
  • fast/frames/seamless/seamless-window-open-expected.txt:
22:12 Changeset [115795] by tkent@chromium.org

[Chromium] Move date-input-visible-strings-expected.txt to the correct place.

  • platform/chromium-linux/fast/forms/date/date-input-visible-strings-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/forms/date/date-input-visible-strings-expected.txt.
21:57 Changeset [115794] by rniwa@webkit.org

Unnecessary <form> tags created inside of an <iframe> with designMode on
https://bugs.webkit.org/show_bug.cgi?id=13126

Reviewed by Eric Seidel.

Add a regression test since this bug doesn't reproduce anymore but it's still good to test it.

  • editing/inserting/insert-paragraph-inside-form-expected.txt: Added.
  • editing/inserting/insert-paragraph-inside-form.html: Added.
21:44 Changeset [115793] by eae@chromium.org

Remove extra round call in EventHandler on branch.

21:28 Changeset [115792] by scheib@chromium.org

Fullscreen pop-up logic restored to using processingUserGesture.
https://bugs.webkit.org/show_bug.cgi?id=85105

WebKit was recently updated to the new Fullscreen API:
http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#api
http://trac.webkit.org/changeset/111028

This change reverts back to using processingUserGesture() instead
of DOMWindow::allowPopUp(). This fixes incorrect behavior in
at least the Chromium port and is consistent with the cited
definition of "allowed to show a pop-up":

An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:

  • an activation behavior is currently being processed whose click event was trusted, or
  • the event listener for a trusted click event is being handled.

Reviewed by Dimitri Glazkov.

No new tests.

  • dom/Document.cpp:

(WebCore::Document::requestFullScreenForElement):

21:22 Changeset [115791] by eae@chromium.org

Merge trunk changes up until 115787 into subpixel branch.

21:16 Changeset [115790] by xji@chromium.org

2012-05-01 Xiaomei Ji <xji@chromium.org>

Skip editing/selection/move-by-word-visually-mac.html (introduced in r115788) in qt and wk2.

  • platform/qt/Skipped:
  • platform/wk2/Skipped:
21:01 Changeset [115789] by rakuco@webkit.org

webkitpy: Remove unused platform imports.
https://bugs.webkit.org/show_bug.cgi?id=85341

Reviewed by Eric Seidel.

Remove a few uses of `import platform' which were either rendered
unneeded after r105931 or were never needed at all.

  • Scripts/webkitpy/common/system/executive.py:
  • Scripts/webkitpy/tool/bot/flakytestreporter.py:
20:41 Changeset [115788] by xji@chromium.org

Source/WebCore: enable ctrl-arrow move by word visually in non-Windows platforms.
https://bugs.webkit.org/show_bug.cgi?id=85017

Reviewed by Ryosuke Niwa.

Enable ctrl-arrow moves caret by word in visual order in non-Windows platforms that use ICU word
break iterator (it is not enabled for WinCE and Qt where ICU is not used). For those platforms, ctrl-arrow
moves caret to word break position before spaces. For example, given a logical text "abc def hij", the word
break positions using ctrl-left-arrow from rightmost position are "|abc |def |hij".
The word break positions using ctrl-right-arrow from leftmost position are "abc| def| hij|".

Test: editing/selection/move-by-word-visually-mac.html

  • editing/EditingBehavior.h:

(EditingBehavior):
(WebCore::EditingBehavior::shouldEatSpaceToNextWord): To control different word break positions
(regards to space) for different platforms.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::modifyMovingRight): Enable visual word movement for all platforms that use ICU.
(WebCore::FrameSelection::modifyMovingLeft):

  • editing/visible_units.cpp:

(WebCore::visualWordPosition): Determine the right word break position (regards to space) based on EditingBehavior.
(WebCore::leftWordPosition):
(WebCore::rightWordPosition):

  • editing/visible_units.h:

LayoutTests: enable ctrl-arrow move by word visually in other platforms (besides Windows)
https://bugs.webkit.org/show_bug.cgi?id=85017

Reviewed by Ryosuke Niwa.

Since DOMSelection.modify('move', 'left'/'right', 'word') moves caret by word in visual order (instead of
logical order) now, there are several changes to the test file:

  1. file name renamed from move-left-right-by-word-mac.html to move-by-word-visually-mac.html.
  2. test expectations change from moving caret by word in logical order to moving caret by word in visual order.
  3. since test expectations are inside test file itself, test file itself changes accordingly.
  • editing/selection/move-by-word-visually-mac-expected.txt: Copied from LayoutTests/editing/selection/move-left-right-by-word-mac-expected.txt.
  • editing/selection/move-by-word-visually-mac.html: Copied from LayoutTests/editing/selection/move-left-right-by-word-mac.html.
  • editing/selection/move-left-right-by-word-mac-expected.txt: Removed.
  • editing/selection/move-left-right-by-word-mac.html: Removed.
20:38 Changeset [115787] by commit-queue@webkit.org

Modify RealtimeAnalyserNode pull mechanism
https://bugs.webkit.org/show_bug.cgi?id=77515

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-05-01
Reviewed by Chris Rogers.

Source/WebCore:

Test: webaudio/automatic-pull-node.html

  • GNUmakefile.list.am:
  • Modules/webaudio/AudioBasicInspectorNode.cpp: Added.

(WebCore):
(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
(WebCore::AudioBasicInspectorNode::pullInputs):
(WebCore::AudioBasicInspectorNode::connect):
(WebCore::AudioBasicInspectorNode::disconnect):
(WebCore::AudioBasicInspectorNode::checkNumberOfChannelsForInput):
(WebCore::AudioBasicInspectorNode::updatePullStatus):

  • Modules/webaudio/AudioBasicInspectorNode.h: Added.

(WebCore):
(AudioBasicInspectorNode):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::handlePreRenderTasks):
(WebCore::AudioContext::handlePostRenderTasks):
(WebCore::AudioContext::markForDeletion):
(WebCore):
(WebCore::AudioContext::addAutomaticPullNode):
(WebCore::AudioContext::removeAutomaticPullNode):
(WebCore::AudioContext::updateAutomaticPullNodes):
(WebCore::AudioContext::processAutomaticPullNodes):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • Modules/webaudio/AudioDestinationNode.cpp:

(WebCore::AudioDestinationNode::provideInput):

  • Modules/webaudio/AudioNode.h:

(AudioNode):

  • Modules/webaudio/AudioNodeOutput.h:

(WebCore::AudioNodeOutput::isConnected):
(AudioNodeOutput):

  • Modules/webaudio/RealtimeAnalyserNode.cpp:

(WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):

  • Modules/webaudio/RealtimeAnalyserNode.h:

(RealtimeAnalyserNode):

  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

  • webaudio/automatic-pull-node-expected.txt: Added.
  • webaudio/automatic-pull-node.html: Added.
20:35 Changeset [115786] by keishi@webkit.org

datalist: Form control in a <datalist> should be barred from constraint validation
https://bugs.webkit.org/show_bug.cgi?id=84359

Reviewed by Kent Tamura.

Source/WebCore:

Tests: fast/forms/datalist/datalist-child-validation.html

fast/forms/form-control-element-crash.html

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
(WebCore::HTMLFormControlElement::insertedInto): Invalidate the ancestor information and call setNeedsWillValidateCheck because willValidate might have changed.
(WebCore::HTMLFormControlElement::removedFrom): Ditto.
(WebCore::HTMLFormControlElement::disabled):
(WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
(WebCore::HTMLFormControlElement::willValidate): Check if ancestor information is valid too.
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):

  • html/HTMLFormControlElement.h:

(HTMLFormControlElement):

LayoutTests:

  • fast/forms/datalist/datalist-child-validation-expected.txt: Added.
  • fast/forms/datalist/datalist-child-validation.html: Added. Tests that willValidate changes from false to true when we move the element out of the datalist.
  • fast/forms/form-control-element-crash-expected.txt: Added.
  • fast/forms/form-control-element-crash.html: Added. Tests for the crash reported in Bug 85149.
20:27 Changeset [115785] by tkent@chromium.org

Calendar Picker: Close the picker by ESC key
https://bugs.webkit.org/show_bug.cgi?id=85337

Reviewed by Kentaro Hara.

No new tests. Calendar picker is not testable in DRT yet.

  • Resources/calendarPicker.js:

(handleGlobalKey): Close the popup by ESC key.

20:20 Changeset [115784] by noel.gordon@gmail.com

PNGImageDecoder: Handle interlace buffer allocation failure
https://bugs.webkit.org/show_bug.cgi?id=85276

Reviewed by Eric Seidel.

No new tests. Not something we can easily test (malloc failure).

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::rowAvailable): Check interlace buffer allocations
and bail via longjmp on failure. Note PNG_INTERLACE_ADAM7 is the only libpng
supported interlace type so test for it explicitly.

20:01 Changeset [115783] by tkent@chromium.org

Calendar Picker: Too wide in Japanese locale
https://bugs.webkit.org/show_bug.cgi?id=85331

Reviewed by Kentaro Hara.

No new tests. This is a locale-specific behavior.

  • Resources/calendarPicker.js:

(formatJapaneseImperialEra):
Do not show an imperial era later than 平成99年 to avoid very long
year string like "275760年(平成273772年)."
(YearMonthController.prototype.attachTo):

  • Respect the maximum year specfied by <input max=...> If <input max="9999-12-31"> is specified, we don't need to secure space for the year 275,760.
  • Check the width for 平成99年 as well as the maximum year because "2087年(平成99年)" is usually wider than "275760年".
19:52 Changeset [115782] by noel.gordon@gmail.com

PNGImageDecoder: Add ENABLE(IMAGE_DECODER_DOWN_SAMPLING) guards to rowAvailable
https://bugs.webkit.org/show_bug.cgi?id=85268

Reviewed by Eric Seidel.

PNGImageDecoder supports image downsampling. Add ENABLE guards to show where
downsampling is applied when outputting decoded rows to the frame buffer. Most
ports don't enable the flag: don't penalize them in terms speed in this tight
row pixel write loop. s/y/destY/ to match setRGBA() and amend some comments.

No new tests. No change in behavior.

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::rowAvailable):

19:24 Changeset [115781] by tkent@chromium.org

[Chromium] Rebaseline for date-input-visible-strings.html.

  • platform/chromium-linux-x86/fast/forms/date/date-input-visible-strings-expected.txt: Copied from LayoutTests/platform/chromium-mac/fast/forms/date/date-input-visible-strings-expected.txt.
  • platform/chromium/fast/forms/date/date-input-visible-strings-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/forms/date/date-input-visible-strings-expected.txt.
  • platform/chromium/test_expectations.txt:
19:14 Changeset [115780] by aestes@apple.com

scrollbars/scrollbar-miss-mousemove-disabled.html is asserting in markAllMisspellingsAndBadGrammarInRanges()
https://bugs.webkit.org/show_bug.cgi?id=85273

  • platform/mac/Skipped: Skip the test.
19:09 Changeset [115779] by eric@webkit.org

Remove uneeded min/max pref width assignment from RenderView
https://bugs.webkit.org/show_bug.cgi?id=85325

Reviewed by Julien Chaffraix.

This code has been with us since the original import from KDE:
http://trac.webkit.org/browser/trunk/WebCore/khtml/rendering/render_root.cpp?annotate=blame&rev=4#L93
It's never been documented, or explained. Removing it showed no
effect on my local layout tests run.
However this code blocks proper implementation of <iframe seamless>
as we have to do proper min/max width negotiation across the iframe boundary.

I would remove the whole function, but doing so opens a whole can of worms
as this override is public, yet normally this function is *private* (well protected on RenderBox).
It seems plausible that frame flattening code needs this override since it doesn't always
call the min/maxPreferredWidth() calls which normally automatically call this compute*
function if the pref-widths are dirty.
Instead of trying to track that all down, I'm just removing this line, and we'll go
back and remove the whole function at a later date if possible.

  • rendering/RenderView.cpp:

(WebCore::RenderView::computePreferredLogicalWidths):

18:36 Changeset [115778] by rniwa@webkit.org

Actually commit changes.

18:34 Changeset [115777] by rniwa@webkit.org

Skip the test added by r115724 on WebKit2 and Qt because drag and drop isn't supported by DRT
on those platforms.

  • platform/qt/Skipped:
  • platform/wk2/Skipped:
18:32 Changeset [115776] by commit-queue@webkit.org

[GTK] new ref test fast/forms/listbox-clear-restore.html fails.
https://bugs.webkit.org/show_bug.cgi?id=77633

Patch by Joe Thomas <joethomas@motorola.com> on 2012-05-01
Reviewed by Martin Robinson.

Flakiness of the test case is fixed in http://trac.webkit.org/changeset/115526.
Enabling the test for GTK and Chromium ports.

  • platform/chromium/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
18:24 Changeset [115775] by leviw@chromium.org

Changing the asserts in FractionalLayoutUnit to stderr logs.

18:23 Changeset [115774] by japhet@chromium.org

Source/WebCore: REGRESSION(r115654): PDFs come up blank
https://bugs.webkit.org/show_bug.cgi?id=85275

Reviewed by Alexey Proskuryakov.

Test: http/tests/loading/pdf-commit-load-callbacks.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::finishedLoading): The load needs to be

committed before we call finishedLoading on the
FrameLoaderClient.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::transitionToCommitted): We're guaranteeing

that receivedFirstData() will be called other ways (namely,
DocumentLoader won't finish without doing so). This call now
causes custom representations to double-commit, which is bad.

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=85275.

Reviewed by Alexey Proskuryakov.

  • http/tests/loading/pdf-commit-load-callbacks-expected.txt: Added.
  • http/tests/loading/pdf-commit-load-callbacks.html: Added.
  • platform/chromium/http/tests/loading: Added.
  • platform/chromium/http/tests/loading/pdf-commit-load-callbacks-expected.txt: Added.
  • platform/wk2/Skipped: New test requires layoutTestController.dumpResourceLoadCallbacks(),

which isn't support for wk2 yet.

18:09 Changeset [115773] by eric@webkit.org

Add support for seamless attribute as well as seamless sandbox flag and default CSS styling
https://bugs.webkit.org/show_bug.cgi?id=85302

Reviewed by Ojan Vafai.

Source/WebCore:

This also adds support for the seamless sandbox flag from HTML 5.
The sandbox flag is not speficially overridable in the current HTML5,
but it is set (like all sandbox flags) by default when sandbox is specified.
Unfortunately this support is not yet observable in this patch, as
this patch adds not observable features of seamless.

This patch also adds the html.css additions for seamless, as specified:
http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#replaced-elements

I noticed that my previous testing did not confirm that iframes marked
for seamless (but not possible to display as seamless due to sandbox, etc.)
were still to have this seamless styling. I've added additional testing for this case.

I also added another test for the about:blank FIXME added as part of this change.

In order to support srcdoc w/ seamless, we needed to move the srcdoc determination
sooner in the initSecurityContext function (before the should-inherit early return).

The next patch will make seamless actually observable from JS/DOM, this one
just lays down all the plumbing, and separates the security aspects for
easy review.

Test: fast/frames/seamless/seamless-inherited-origin.html

  • css/html.css:

(iframe:not([seamless])):
(iframe[seamless]):

  • dom/Document.cpp:

(WebCore::isEligibleForSeamless):
(WebCore):
(WebCore::Document::initSecurityContext):
(WebCore::Document::seamlessParentIFrame):
(WebCore::Document::shouldDisplaySeamlesslyWithParent):

  • dom/Document.h:

(WebCore):
(Document):

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::SecurityContext):

  • dom/SecurityContext.h:

(WebCore::SecurityContext::mayDisplaySeamlessWithParent):
(SecurityContext):

  • html/HTMLAttributeNames.in:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):
(WebCore):

  • html/HTMLIFrameElement.h:

(HTMLIFrameElement):

  • html/HTMLIFrameElement.idl:

LayoutTests:

Update all the test results now that the html.css changes have
been added for seamless, as specified by HTML5:
http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#replaced-elements

I also added a new test for about:blank iframes (per a code-FIXME)
as well as some new testing to confirm that the default seamless-CSS style
applies even when iframes cannot render seamless due to security restrictions.

  • fast/frames/seamless/seamless-basic-expected.txt:
  • fast/frames/seamless/seamless-basic.html:
  • fast/frames/seamless/seamless-inherited-origin-expected.txt: Added.
  • fast/frames/seamless/seamless-inherited-origin.html: Added.
  • fast/frames/seamless/seamless-inline-expected.txt:
  • fast/frames/seamless/seamless-min-max-expected.txt:
  • fast/frames/seamless/seamless-nested-expected.txt:
  • fast/frames/seamless/seamless-quirks-expected.txt:
  • fast/frames/seamless/seamless-sandbox-flag-expected.txt:
  • fast/frames/seamless/seamless-sandbox-flag.html:
  • fast/frames/seamless/seamless-sandbox-srcdoc-expected.txt:
  • http/tests/security/seamless/seamless-cross-origin-expected.txt:
  • http/tests/security/seamless/seamless-sandbox-srcdoc-expected.txt:
  • svg/in-html/by-reference.html: was using seamless, but really doens't want to, doing so just adds noise.
17:41 Changeset [115772] by pilgrim@chromium.org

[Chromium] Additional instances of calling histogramCustomCounts directly
https://bugs.webkit.org/show_bug.cgi?id=85322

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/painting/PaintAggregator.cpp:

(WebKit::PaintAggregator::invalidateRect):

17:39 Changeset [115771] by commit-queue@webkit.org

use USE(NATIVE_FULLSCREEN_VIDEO) instead of ENABLE(NATIVE_FULLSCREEN_VIDEO)
https://bugs.webkit.org/show_bug.cgi?id=85316

Patch by Min Qin <qinmin@google.com> on 2012-05-01
Reviewed by Kent Tamura.

Source/WebCore:

NATIVE_FULLSCREEN_VIDEO means the fullscreen video is implemented by native
system view instead of webkit.
So it is more appropriate to use USE(NATIVE_FULLSCREEN_VIDEO).
This chagne also disabled the rendering of the fullscreen video element in webkit
when that flag is set.
Just renaming the variable, no new tests.

  • dom/Document.cpp:

(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore):

  • platform/graphics/MediaPlayer.cpp:

(WebCore):

  • platform/graphics/MediaPlayer.h:

(MediaPlayer):

  • platform/graphics/MediaPlayerPrivate.h:

(MediaPlayerPrivateInterface):

Source/WebKit/chromium:

NATIVE_FULLSCREEN_VIDEO means the fullscreen video is implemented by native
system view instead of webkit
So it is more appropriate to use USE(NATIVE_FULLSCREEN_VIDEO).
Just rename the flag, no new tests

  • features.gypi:
  • src/WebMediaPlayerClientImpl.cpp:

(WebKit):

  • src/WebMediaPlayerClientImpl.h:

(WebMediaPlayerClientImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::enterFullScreenForElement):
(WebKit::WebViewImpl::exitFullScreenForElement):

17:36 Changeset [115770] by andersca@apple.com

inspectorReallyUsesWebKitUserInterface should be more robust against missing files
https://bugs.webkit.org/show_bug.cgi?id=85327
<rdar://problem/11332864>

Reviewed by Timothy Hatcher.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::inspectorReallyUsesWebKitUserInterface):

  • WebProcess/WebPage/mac/WebInspectorMac.mm:

(WebKit::inspectorReallyUsesWebKitUserInterface):

17:33 Changeset [115769] by pilgrim@chromium.org

[Chromium] Additional instances of calling createAudioDevice directly
https://bugs.webkit.org/show_bug.cgi?id=85321

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/AudioDestinationChromium.cpp:

(WebCore::AudioDestinationChromium::AudioDestinationChromium):

17:27 Changeset [115768] by pilgrim@chromium.org

[Chromium] Additional instances of calling mimeRegistry directly
https://bugs.webkit.org/show_bug.cgi?id=85320

Reviewed by Eric Seidel.

Part of a refactoring series. See tracking bug 82948.

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::canShowMIMEType):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::supportsType):

17:21 Changeset [115767] by commit-queue@webkit.org

[chromium] Accept four parameters when dispatching a WebInputEvent::GestureTap in chromium DRT eventSender
https://bugs.webkit.org/show_bug.cgi?id=85289

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-05-01
Reviewed by Eric Seidel.

  • DumpRenderTree/chromium/EventSender.cpp:

(EventSender::gestureEvent):

This change will allow for testing of WK85101. Currently
no tests use the extra parameters deltaX and deltaY. Added
a check for the size of |arguments|.

17:21 Changeset [115766] by eae@chromium.org

Fix mac build on branch.

17:17 Changeset [115765] by jpfau@apple.com

<rdar://problem/10422318> Support for web content filter delegate for filtering https content
https://bugs.webkit.org/show_bug.cgi?id=85300

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests.

  • WebCore.exp.in:
  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::~MainResourceLoader):
(WebCore::MainResourceLoader::didCancel):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::didFail):

  • loader/MainResourceLoader.h:

(MainResourceLoader):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

17:12 Changeset [115764] by tkent@chromium.org

Calendar Picker: Add capability to add platform-specific style sheet
https://bugs.webkit.org/show_bug.cgi?id=85272

Reviewed by Kentaro Hara.

Add RenderTheme::extraCalendarPickerStyleSheet(). The resultant string
of the function is inserted into the calendar picker page.

No new tests. Calendar picker apperance is not testable yet.

  • Resources/calendarPicker.css: Removed styles for year-month buttons.
  • Resources/calendarPickerMac.css:

Moved from calendarPicker.css, and adjust styles so that they look
standard Lion buttons.
(.year-month-button):
(.year-month-button:active):
(.year-month-button:disabled):

  • WebCore.gyp/WebCore.gyp: Add a rule to produce CalendarPickerMac.{cpp,h}.
  • html/shadow/CalendarPickerElement.cpp:

(WebCore::CalendarPickerElement::writeDocument):
Add extraCalendarPickerStyleSheet() result to the document.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::extraCalendarPickerStyleSheet):
Added. Returns an empty CString by default.

  • rendering/RenderTheme.h:

(RenderTheme): Added extraCalendarPickerStyleSheet().

  • rendering/RenderThemeChromiumMac.h: Added extraCalendarPickerStyleSheet().
  • rendering/RenderThemeChromiumMac.mm:

(WebCore::RenderThemeChromiumMac::extraCalendarPickerStyleSheet):
Added. Returns the content of Resources/calendarPickerMac.css.

17:04 Changeset [115763] by simonjam@chromium.org

Ensure HTMLElementStack fails gracefully if it has a non-Element.
https://bugs.webkit.org/show_bug.cgi?id=85167

Reviewed by Adam Barth.

Source/WebCore:

Test: Added to html5lib/resources/webkit02.dat

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLElementStack::oneBelowTop):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processEndTag):

LayoutTests:

  • html5lib/resources/webkit02.dat:
16:45 Changeset [115762] by jchaffraix@webkit.org

Partial revert of r110072: Lazily allocate overflow: hidden layers if we have overflowing content

This chage forces us to allocate RenderLayers for overflow: hidden as it has been causing several
regressions. It leaves all of the scaffolding around to keep the change small. See bug 83954 for
the proper revert for trunk.

16:39 Changeset [115761] by eric@webkit.org

Add myself to the watchlist to watch all rendering changes, as well as sort the watchers in the list
https://bugs.webkit.org/show_bug.cgi?id=85305

Reviewed by Adam Barth.

  • Scripts/webkitpy/common/config/watchlist:
16:36 Changeset [115760] by rniwa@webkit.org

*Command.h files shouldn't be exported to WebKit layer
https://bugs.webkit.org/show_bug.cgi?id=74778

Reviewed by Eric Seidel.

Source/WebCore:

Remove the dependency on *Command.h files from Mac port's WebKit layer.
Also wrapped the call to TypingCommand::insertParagraphSeparatorInQuotedContent in the Editor class
so that we can just expose Editor's method instead of directly exposing the said static method.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/Editor.h:

(Editor):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::insertParagraphSeparatorInQuotedContent):
(WebCore):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:
  • src/WebViewImpl.cpp:

Source/WebKit/gtk:

  • webkit/webkitwebframe.cpp:

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _insertParagraphSeparatorInQuotedContent]):

Source/WebKit/win:

  • WebView.cpp:

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:
16:18 Changeset [115759] by eae@chromium.org

Chromium/linux fixes for branch.

16:09 Changeset [115758] by commit-queue@webkit.org

[EFL] fast/loader/file-protocol-fragment.html needs rebaselining
https://bugs.webkit.org/show_bug.cgi?id=85182

Unreviewed, add EFL expectation for fast/loader/file-protocol-fragment.html
and unskip the test.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-01

  • platform/efl/Skipped:
  • platform/efl/fast/loader/file-protocol-fragment-expected.txt: Added.
16:01 Changeset [115757] by commit-queue@webkit.org

Remove expectations for media/encrypted-media/encrypted-media-events.html now that crash is fixed.
https://bugs.webkit.org/show_bug.cgi?id=84596

Unreviewed expectations update.

Patch by David Dorwin <ddorwin@chromium.org> on 2012-05-01

  • platform/chromium/test_expectations.txt:
15:52 Changeset [115756] by aestes@apple.com

[Mac] inspector/debugger/linkifier.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=85319

  • platform/mac/Skipped: Skip the flakey test.
15:35 Changeset [115755] by jchaffraix@webkit.org

Remove one bit from m_column to pack RenderTableCell bits more
https://bugs.webkit.org/show_bug.cgi?id=85291

Reviewed by Ojan Vafai.

Memory improvement, covered by the existing unit tests.

  • rendering/RenderTableCell.cpp:
  • rendering/RenderTableCell.h:

Remove one bit from m_column (which should be fine as I wouldn't expect tables above 1 millions
columns to render at all anyway) to pack the bitfields in 32 bits. Re-arranged the bits to have the bigger
bitfield first.

15:30 Changeset [115754] by fpizlo@apple.com

DFG should be able to compute dominators
https://bugs.webkit.org/show_bug.cgi?id=85269

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Implements a naive dominator calculator, which is currently just used to
print information in graph dumps. I've enabled it by default mainly to
be able to track its performance impact. So far it appears that there is
none, which is unsurprising given that the number of basic blocks in most
procedures is small.

Also tweaked bytecode dumping to reveal more useful information about the
nature of the code block.

(JSC::CodeBlock::dump):

  • dfg/DFGDominators.cpp: Added.

(DFG):
(JSC::DFG::Dominators::Dominators):
(JSC::DFG::Dominators::~Dominators):
(JSC::DFG::Dominators::compute):
(JSC::DFG::Dominators::iterateForBlock):

  • dfg/DFGDominators.h: Added.

(DFG):
(Dominators):
(JSC::DFG::Dominators::invalidate):
(JSC::DFG::Dominators::computeIfNecessary):
(JSC::DFG::Dominators::isValid):
(JSC::DFG::Dominators::dominates):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(Graph):

Source/WTF:

Reviewed by Oliver Hunt.

Added a bitvector class suitable for cheap static analysis. This class
differs from BitVector in that instead of optimizing for space, it
optimizes for execution time. Its API is also somewhat less friendly,
which is intentional; it's meant to be used in places where you know
up front how bit your bitvectors are going to be.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/FastBitVector.h: Added.

(WTF):
(FastBitVector):
(WTF::FastBitVector::FastBitVector):
(WTF::FastBitVector::~FastBitVector):
(WTF::FastBitVector::operator=):
(WTF::FastBitVector::numBits):
(WTF::FastBitVector::resize):
(WTF::FastBitVector::setAll):
(WTF::FastBitVector::clearAll):
(WTF::FastBitVector::set):
(WTF::FastBitVector::setAndCheck):
(WTF::FastBitVector::equals):
(WTF::FastBitVector::merge):
(WTF::FastBitVector::filter):
(WTF::FastBitVector::exclude):
(WTF::FastBitVector::clear):
(WTF::FastBitVector::get):
(WTF::FastBitVector::arrayLength):

15:25 Changeset [115753] by zmo@google.com

Unreviewed, rolling out r115735.
http://trac.webkit.org/changeset/115735
https://bugs.webkit.org/show_bug.cgi?id=85314

cause two tests to crash due to an ASSERTION failure
(Requested by zhenyao on #webkit).

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

  • DumpRenderTree/chromium/EventSender.cpp:

(EventSender::gestureEvent):

15:22 Changeset [115752] by andersca@apple.com

Slow scrolling on www.sholby.net
https://bugs.webkit.org/show_bug.cgi?id=85304
<rdar://problem/11138952>

Reviewed by Beth Dakin.

Fix two performance issues that showed up on the profiles.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
Reset the relevant painted object counter; it's only interesting when loading.

  • page/Page.cpp:

(WebCore::Page::startCountingRelevantRepaintedObjects):
Set m_isCountingRelevantRepaintedObjects to true after calling reset, since reset now sets it to false.

(WebCore::Page::resetRelevantPaintedObjectCounter):
Set m_isCountingRelevantRepaintedObjects to false.

(WebCore::Page::addRelevantRepaintedObject):
Use HashSet::find to avoid an extra hash lookup.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
Remove the call to FrameView::updateCompositingLayersAfterLayout now, since FrameView::notifyScrollPositionChanged
already calls this and was making us to a lot of work twice.

15:03 Changeset [115751] by andersca@apple.com

Use the new barrier function in TiledCoreAnimationDrawingArea::forceRepaintAsync
https://bugs.webkit.org/show_bug.cgi?id=85313
<rdar://problem/10996039>

Reviewed by Sam Weinig.

Use the new dispatchAfterEnsuringUpdatedScrollPosition function in forceRepaintAsync to
ensure that the scroll position is up to date.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):

14:34 Changeset [115750] by oliver@apple.com

Physijs demo crashes due to DFG not updating topCallFrame correctly.
https://bugs.webkit.org/show_bug.cgi?id=85311

Reviewed by Filip Pizlo.

A few of the dfg operations failed to correctly set the topCallFrame,
and so everything goes wrong. This patch corrects the effected operations,
and makes debug builds poison topCallFrame before calling a dfg operation.

  • dfg/DFGOperations.cpp:

(JSC::DFG::putByVal):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::prepareForExternalCall):
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):

14:26 Changeset [115749] by commit-queue@webkit.org

Source/WebCore: Audio controls have a 1px surplus outline coming from RenderImage::paintReplaced base class,
which needs overwriting.
https://bugs.webkit.org/show_bug.cgi?id=84570

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-05-01
Reviewed by Eric Carlson.

No new tests - covered by existing audio rendering tests.

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::paintReplaced): Overwrite inherited function.
(WebCore):

  • rendering/RenderMedia.h:

(RenderMedia):

LayoutTests: Audio controls have a 1px surplus outline coming from RenderImage::paintReplaced base class,
which needs overwriting. All layout tests with an audio element need a
visual update.
https://bugs.webkit.org/show_bug.cgi?id=84570

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-05-01
Reviewed by Eric Carlson.

  • platform/chromium-linux/media/audio-controls-rendering-expected.png:
  • platform/chromium-linux/media/audio-repaint-expected.png:
  • platform/chromium-linux/media/controls-after-reload-expected.png:
  • platform/chromium-linux/media/controls-layout-direction-expected.png:
  • platform/chromium-linux/media/media-controls-clone-expected.png:
  • platform/chromium-mac-leopard/media/audio-controls-rendering-expected.png:
  • platform/chromium-mac-leopard/media/audio-repaint-expected.png:
  • platform/chromium-mac-leopard/media/controls-after-reload-expected.png:
  • platform/chromium-mac-snowleopard/media/audio-controls-rendering-expected.png:
  • platform/chromium-mac-snowleopard/media/audio-repaint-expected.png:
  • platform/chromium-mac-snowleopard/media/controls-layout-direction-expected.png:
  • platform/chromium-mac-snowleopard/media/media-controls-clone-expected.png:
  • platform/chromium-mac/media/audio-controls-rendering-expected.png:
  • platform/chromium-mac/media/audio-repaint-expected.png:
  • platform/chromium-mac/media/controls-after-reload-expected.png:
  • platform/chromium-mac/media/controls-layout-direction-expected.png:
  • platform/chromium-mac/media/media-controls-clone-expected.png:
  • platform/chromium-win/media/audio-controls-rendering-expected.png:
  • platform/chromium-win/media/audio-repaint-expected.png:
  • platform/chromium-win/media/controls-after-reload-expected.png:
  • platform/chromium-win/media/controls-layout-direction-expected.png:
  • platform/chromium-win/media/media-controls-clone-expected.png:
14:21 Changeset [115748] by leviw@chromium.org

Correct misuse of LayoutUnits for scroll coordinates (we only scroll in full-pixels).

13:50 Changeset [115747] by commit-queue@webkit.org

Allow a pre-targeted node to be specified when dispatching a GestureTap event
https://bugs.webkit.org/show_bug.cgi?id=85296

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-05-01
Reviewed by Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=85101

The new parameter will be used and tested in this patch.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleGestureTap):

The new preTargetedNode parameter can be used to pass in the Node that is
the target of the GestureTap event. If this parameter is used, adjustedPoint
is changed to be the center of the Node's bounding rectangle.

  • page/EventHandler.h:

(EventHandler):

13:15 Changeset [115746] by jberlin@webkit.org

Crash calling disconnectFrame on a DOMWindowExtension a second time.
https://bugs.webkit.org/show_bug.cgi?id=85301

Reviewed by Darin Adler.

DOMWindowExtension::disconnectFrame assumed it would only be called when there was a frame
to disconnect. However, DOMWindow's destructor invokes disconnectFrame on all its
DOMWindowProperties, even if it already did so when it entered the page cache.

  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::disconnectFrame):
Don't do anything if the frame has already been disconnected.

12:27 Changeset [115745] by commit-queue@webkit.org

Source/WebCore: Temporarily remove webkitSourceAddId() & webkitSourceRemoveId() from DOM
until the rest of the Media Source v0.5 methods are implemented. This is
to prevent ambiguity about whether v0.5 is fully supported or not.
https://bugs.webkit.org/show_bug.cgi?id=85295

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-05-01
Reviewed by Eric Carlson.

No new tests. Removing methods from DOM so relevant tests are removed.

  • html/HTMLMediaElement.idl:

LayoutTests: Temporarily removing tests for webkitSourceAddId() & webkitSourceRemoveId()
until the rest of the Media Source v0.5 methods are implemented.
https://bugs.webkit.org/show_bug.cgi?id=85295

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-05-01
Reviewed by Eric Carlson.

  • http/tests/media/media-source/webm/video-media-source-add-and-remove-ids-expected.txt: Removed.
  • http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html: Removed.
  • platform/chromium/test_expectations.txt:
12:21 Changeset [115744] by eae@chromium.org

Merge trunk changes up until 115741 into subpixel branch.

12:05 Changeset [115743] by commit-queue@webkit.org

IndexedDB: stale index entries may not be removed in some cases
https://bugs.webkit.org/show_bug.cgi?id=85224

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-05-01
Reviewed by Ojan Vafai.

Ensure that stale index entries are removed when the corresponding
object store entry no longer exists.

No new tests. Addresses a performance / storage leak that is
not amenable to verification in a layout test.

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore):

11:50 Changeset [115742] by eric@webkit.org

Add seamless test cases (all of these will pass as we land the implementation patches)
https://bugs.webkit.org/show_bug.cgi?id=85251

Reviewed by Adam Barth.

These are all test cases which were written as part of implementing seamless
on my github branch: https://github.com/eseidel/webkit/compare/master...seamless
All of these will pass once the implementation is landed, which I am uploading
as a series of patches as we speak. Because the each of pieces
affects variety of tests, it seems easiest to read the implmentation
diffs if I land all the tests up-front.

  • fast/frames/seamless/resources/css-cascade-child.html: Added.
  • fast/frames/seamless/resources/done.html: Added.
  • fast/frames/seamless/resources/nested-seamless.html: Added.
  • fast/frames/seamless/resources/quirks-square.html: Added.
  • fast/frames/seamless/resources/square.html: Added.
  • fast/frames/seamless/resources/two-inline-blocks.html: Added.
  • fast/frames/seamless/seamless-basic-expected.txt: Added.
  • fast/frames/seamless/seamless-basic.html: Added.
  • fast/frames/seamless/seamless-css-cascade-expected.txt: Added.
  • fast/frames/seamless/seamless-css-cascade.html: Added.
  • fast/frames/seamless/seamless-designMode-expected.txt: Added.
  • fast/frames/seamless/seamless-designMode.html: Added.
  • fast/frames/seamless/seamless-float-expected.txt: Added.
  • fast/frames/seamless/seamless-float.html: Added.
  • fast/frames/seamless/seamless-form-get-expected.txt: Added.
  • fast/frames/seamless/seamless-form-get-named-expected.txt: Added.
  • fast/frames/seamless/seamless-form-get-named.html: Added.
  • fast/frames/seamless/seamless-form-get-override-expected.txt: Added.
  • fast/frames/seamless/seamless-form-get-override.html: Added.
  • fast/frames/seamless/seamless-form-get.html: Added.
  • fast/frames/seamless/seamless-form-post-expected.txt: Added.
  • fast/frames/seamless/seamless-form-post-named-expected.txt: Added.
  • fast/frames/seamless/seamless-form-post-named.html: Added.
  • fast/frames/seamless/seamless-form-post-override-expected.txt: Added.
  • fast/frames/seamless/seamless-form-post-override.html: Added.
  • fast/frames/seamless/seamless-form-post.html: Added.
  • fast/frames/seamless/seamless-hyperlink-expected.txt: Added.
  • fast/frames/seamless/seamless-hyperlink-named-expected.txt: Added.
  • fast/frames/seamless/seamless-hyperlink-named.html: Added.
  • fast/frames/seamless/seamless-hyperlink-override-expected.txt: Added.
  • fast/frames/seamless/seamless-hyperlink-override.html: Added.
  • fast/frames/seamless/seamless-hyperlink.html: Added.
  • fast/frames/seamless/seamless-inline-expected.txt: Added.
  • fast/frames/seamless/seamless-inline.html: Added.
  • fast/frames/seamless/seamless-min-max-expected.txt: Added.
  • fast/frames/seamless/seamless-min-max.html: Added.
  • fast/frames/seamless/seamless-nested-expected.txt: Added.
  • fast/frames/seamless/seamless-nested.html: Added.
  • fast/frames/seamless/seamless-quirks-expected.txt: Added.
  • fast/frames/seamless/seamless-quirks.html: Added.
  • fast/frames/seamless/seamless-sandbox-flag-expected.txt: Added.
  • fast/frames/seamless/seamless-sandbox-flag.html: Added.
  • fast/frames/seamless/seamless-sandbox-srcdoc-expected.txt: Added.
  • fast/frames/seamless/seamless-sandbox-srcdoc.html: Added.
  • fast/frames/seamless/seamless-window-location-expected.txt: Added.
  • fast/frames/seamless/seamless-window-location-href-expected.txt: Added.
  • fast/frames/seamless/seamless-window-location-href.html: Added.
  • fast/frames/seamless/seamless-window-location-replace-expected.txt: Added.
  • fast/frames/seamless/seamless-window-location-replace.html: Added.
  • fast/frames/seamless/seamless-window-location-sandbox-expected.txt: Added.
  • fast/frames/seamless/seamless-window-location-sandbox.html: Added.
  • fast/frames/seamless/seamless-window-location.html: Added.
  • fast/frames/seamless/seamless-window-open-expected.txt: Added.
  • fast/frames/seamless/seamless-window-open-override-expected.txt: Added.
  • fast/frames/seamless/seamless-window-open-override.html: Added.
  • fast/frames/seamless/seamless-window-open.html: Added.
  • http/tests/security/seamless/resources/square.html: Added.
  • http/tests/security/seamless/seamless-cross-origin-expected.txt: Added.
  • http/tests/security/seamless/seamless-cross-origin.html: Added.
  • http/tests/security/seamless/seamless-sandbox-srcdoc-expected.txt: Added.
  • http/tests/security/seamless/seamless-sandbox-srcdoc.html: Added.
11:33 Changeset [115741] by kareng@chromium.org

adding codereview.setings so we can drover

11:31 Changeset [115740] by kareng@chromium.org

branching for chrome

11:23 Changeset [115739] by gavinp@chromium.org

[Chromium] Fix WebPrerender::referrer() thunk.
https://bugs.webkit.org/show_bug.cgi?id=85290

Reviewed by Dimitri Glazkov.

  • chromium/public/WebPrerender.h:

(WebKit::WebPrerender::referrer):

11:18 Changeset [115738] by leviw@chromium.org

Fixing a pixel snapping/build issue in EFL.

11:04 Changeset [115737] by commit-queue@webkit.org

[GTK] Fix gstreamer detection during configure
https://bugs.webkit.org/show_bug.cgi?id=84325

Patch by Landry Breuil <landry@openbsd.org> on 2012-05-01
Reviewed by Philippe Normand.

  • configure.ac: Fix GSTREAMER_REQUIRED_VERSION and

GSTREAMER_PLUGINS_BASE_REQUIRED_VERSION assignments.

10:40 Changeset [115736] by igor.o@sisa.samsung.com

Use HashMap<OwnPtr> for CounterMap in RenderCounter
https://bugs.webkit.org/show_bug.cgi?id=85294

Reviewed by Eric Seidel.

  • rendering/RenderCounter.cpp:

(WebCore):
(WebCore::makeCounterNode):
(WebCore::RenderCounter::destroyCounterNodes):

10:19 Changeset [115735] by commit-queue@webkit.org

[chromium] Accept four parameters when dispatching a WebInputEvent::GestureTap in chromium DRT eventSender
https://bugs.webkit.org/show_bug.cgi?id=85289

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-05-01
Reviewed by Eric Seidel.

  • DumpRenderTree/chromium/EventSender.cpp:

(EventSender::gestureEvent):

This change will allow for testing of WK85101. Currently no tests use the extra
parameters deltaX and deltaY.

10:08 Changeset [115734] by enne@google.com

Merged 115281 - [chromium] Hold video provider lock from willDraw to didDraw
https://bugs.webkit.org/show_bug.cgi?id=84805

Reviewed by James Robinson.

Note: merged by hand due to conflicts.

  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: (WebCore::CCVideoLayerImpl::willDraw): (WebCore): (WebCore::CCVideoLayerImpl::willDrawInternal): (WebCore::CCVideoLayerImpl::appendQuads): (WebCore::CCVideoLayerImpl::didDraw):
  • platform/graphics/chromium/cc/CCVideoLayerImpl.h:
09:59 Changeset [115733] by jchaffraix@webkit.org

WebKit test RenderTableCellDeathTest.CanSetRow is failing as of r115705
https://bugs.webkit.org/show_bug.cgi?id=85274

Reviewed by Ojan Vafai.

The tests were crashing as we were creating a RenderTableCell without any RenderTableRow parent
which shouldn't happen inside the render tree.

Using RenderTableCell to access RenderTableRow was artificial and the checks have now been moved
to using a RenderTableRow directly.

  • WebKit.gyp:
  • WebKit.gypi:

Added the new file.

  • tests/RenderTableCellTest.cpp:

Removed the row index tests as they are now in the following file.

  • tests/RenderTableRowTest.cpp: Copied from Source/WebKit/chromium/tests/RenderTableCellTest.cpp.

Changed a bit the row index tests and re-enabled them.

09:52 Changeset [115732] by eae@chromium.org

Merge trunk changes up until 115722 into subpixel branch.

09:41 Changeset [115731] by enne@google.com

Merge 115278 - [chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches
https://bugs.webkit.org/show_bug.cgi?id=84812

Reviewed by James Robinson.

Note: this did not merge cleanly, and was merged by hand.

Source/WebCore:

Because some layers lock/unlock resources, it needs to be guaranteed
that if willDraw is called on a layer then didDraw will also be called
on that layer before another willDraw or before layer destruction. Add
asserts to make sure that this is the case.

willDraw is called via CCLayerTreeHostImpl::prepareToDraw ->
calculateRenderPasses. didDraw was previously called in
CCLayerTreeHostImpl::drawLayers. Sometimes drawLayers was being
skipped by the caller of these functions based on what prepareToDraw
returned (causing didDraw to not be called). Fix this by having an
explicit step to call didDraw on all layers. This new didDrawAllLayers
function must be called if and only if prepareToDraw is called.

Tested by existing tests via new asserts in CCLayerImpl.

  • platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::CCLayerImpl): (WebCore::CCLayerImpl::~CCLayerImpl): (WebCore::CCLayerImpl::willDraw): (WebCore): (WebCore::CCLayerImpl::didDraw):
  • platform/graphics/chromium/cc/CCLayerImpl.h: (CCLayerImpl):
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::drawLayers): (WebCore::CCLayerTreeHostImpl::didDrawAllLayers): (WebCore):
  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: (CCLayerTreeHostImpl):
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: (WebCore::CCScrollbarLayerImpl::willDraw): (WebCore::CCScrollbarLayerImpl::didDraw):
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: (WebCore::CCSingleThreadProxy::doComposite):
  • platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: (WebCore::CCTextureLayerImpl::willDraw):
  • platform/graphics/chromium/cc/CCThreadProxy.cpp: (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
  • platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: (WebCore::CCVideoLayerImpl::willDraw): (WebCore::CCVideoLayerImpl::didDraw):

Source/WebKit/chromium:

Update all tests to call CCLayerTreeHostImpl::didDrawAllLayers if they
call CCLayerTreeHostImpl::prepareToDraw.

  • tests/CCLayerTreeHostImplTest.cpp: (WebKitTests::CCLayerTreeHostImplTest::initializeLayerRendererAndDrawFrame): (WebKitTests::TEST_F):
09:10 Changeset [115730] by pdr@google.com

Skip building instance tree for disallowed target
https://bugs.webkit.org/show_bug.cgi?id=85202

Reviewed by Nikolas Zimmermann.

Source/WebCore:

When the target of a use is disallowed (e.g., a mask element) we can
skip building the instance tree because the shadow tree will be
skipped as well.

Test: svg/custom/animate-disallowed-mask-element.svg

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::buildInstanceTree):

LayoutTests:

  • platform/chromium-win/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • platform/gtk/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • platform/qt/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • svg/custom/animate-disallowed-mask-element-expected.txt: Added.
  • svg/custom/animate-disallowed-mask-element.svg: Added.
08:52 Changeset [115729] by zandobersek@gmail.com

Print out stderr output of ImageDiff if it is present
https://bugs.webkit.org/show_bug.cgi?id=85285

Reviewed by Philippe Normand.

Log the stderr output of ImageDiff as a warning if present. This is
especially helpful when ImageDiff crashes and stderr data might contain
relevant information about what caused the crash.

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort._read_image_diff):

08:32 Changeset [115728] by mifenton@rim.com

Add special attribute for alternate selection touch handling.
https://bugs.webkit.org/show_bug.cgi?id=85284

Reviewed by Antonio Gomes.

PR 152975.

.:

Add manual test for -bb-selection-touchoverride.

Reviewed Internally by Gen Mak.

  • ManualTests/blackberry/selection-touch-override.html: Added.

Source/WebKit/blackberry:

Add attribute -bb-selection-touchoverride to override
touch handling on selection overlay.

Reviewed Internally by Gen Mak.

  • Api/WebPageClient.h:
  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):
(WebKit):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):

  • WebKitSupport/SelectionHandler.h:

(SelectionHandler):

08:30 Changeset [115727] by kenneth@webkit.org

[Qt] Add an experimental extension to set the min. contents width
https://bugs.webkit.org/show_bug.cgi?id=85281

Reviewed by Antonio Gomes.

Source/WebKit2:

Add the experimental property preferredMinimumContentsWidth: which
can be used to set the minimum contents width when not overriden by
the page itself.

Default value is set to 0, which defines normal [desktop] behaviour.

  • Shared/WebPreferencesStore.h:

(WebKit):

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewExperimental::preferredMinimumContentsWidth):
(QQuickWebViewExperimental::setPreferredMinimumContentsWidth):

  • UIProcess/API/qt/qquickwebview_p.h:

Tools:

  • MiniBrowser/qt/qml/BrowserWindow.qml:

Set the value of preferredMinimumContentsWidth to 980.

08:18 Changeset [115726] by zimmermann@webkit.org

Accumulation for values-animation is broken
https://bugs.webkit.org/show_bug.cgi?id=85158

Reviewed by Darin Adler.

Source/WebCore:

Example:
<rect width="999" height="100" fill="green"/>

<animate begin="0s" values="0; 30; 20" accumulate="sum" repeatCount="5" dur="2s"/>

</rect>

The rect should animate like this:
0.000s -> 0
0.500s -> 15
1.000s -> 30
1.500s -> 25
1.999s -> 20
2.000s -> 20 (first accumulation, starts accumulating from the last set value, here '20').
2.500s -> 45
3.000s -> 50
3.500s -> 45
3.999s -> 40
4.000s -> 40 (second accumulation)
etc.

This is currently broken for values-animation. The accumulation should happen after a full cycle of the values animation ran (aka. at the end of the duration).
A values animation works like this: iterate over the list of values, and calculate a 'from' and 'to' value for a given time. Example for values="0; 30; 20" dur="2s":

  • 0.0s .. 1.0s -> from=0, to=30
  • 1.0s .. 2.0s -> from=30, to=20

Accumulation currently is taken into account at each interval for a values-animation instead of the end of the cycle. Fix that
by passing an additional 'toAtEndOfDuration' type to calculateAnimatedValue() which is used for accumulation instead of the
current 'to' value.

Test: svg/animations/accumulate-values-width-animation.html

  • svg/SVGAnimateElement.cpp:

(WebCore::SVGAnimateElement::calculateAnimatedValue):

  • svg/SVGAnimateElement.h:

(SVGAnimateElement):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::calculateAnimatedValue):

  • svg/SVGAnimateMotionElement.h:

(SVGAnimateMotionElement):

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedAngle.h:

(SVGAnimatedAngleAnimator):

  • svg/SVGAnimatedBoolean.cpp:

(WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedBoolean.h:

(SVGAnimatedBooleanAnimator):

  • svg/SVGAnimatedColor.cpp:

(WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedColor.h:

(SVGAnimatedColorAnimator):

  • svg/SVGAnimatedEnumeration.cpp:

(WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedEnumeration.h:

(SVGAnimatedEnumerationAnimator):

  • svg/SVGAnimatedInteger.cpp:

(WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
(WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedInteger.h:

(SVGAnimatedIntegerAnimator):

  • svg/SVGAnimatedIntegerOptionalInteger.cpp:

(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedIntegerOptionalInteger.h:

(SVGAnimatedIntegerOptionalIntegerAnimator):

  • svg/SVGAnimatedLength.cpp:

(WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedLength.h:

(SVGAnimatedLengthAnimator):

  • svg/SVGAnimatedLengthList.cpp:

(WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedLengthList.h:

(SVGAnimatedLengthListAnimator):

  • svg/SVGAnimatedNumber.cpp:

(WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumber.h:

(SVGAnimatedNumberAnimator):

  • svg/SVGAnimatedNumberList.cpp:

(WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumberList.h:

(SVGAnimatedNumberListAnimator):

  • svg/SVGAnimatedNumberOptionalNumber.cpp:

(WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumberOptionalNumber.h:

(SVGAnimatedNumberOptionalNumberAnimator):

  • svg/SVGAnimatedPath.cpp:

(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedPath.h:

(SVGAnimatedPathAnimator):

  • svg/SVGAnimatedPointList.cpp:

(WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedPointList.h:

(SVGAnimatedPointListAnimator):

  • svg/SVGAnimatedPreserveAspectRatio.cpp:

(WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedPreserveAspectRatio.h:

(SVGAnimatedPreserveAspectRatioAnimator):

  • svg/SVGAnimatedRect.cpp:

(WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedRect.h:

(SVGAnimatedRectAnimator):

  • svg/SVGAnimatedString.cpp:

(WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedString.h:

(SVGAnimatedStringAnimator):

  • svg/SVGAnimatedTransformList.cpp:

(WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedTransformList.h:

(SVGAnimatedTransformListAnimator):

  • svg/SVGAnimatedTypeAnimator.h:

(SVGAnimatedTypeAnimator):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::updateAnimation):

  • svg/SVGAnimationElement.h:

(WebCore::SVGAnimationElement::animateAdditiveNumber):
(SVGAnimationElement):

LayoutTests:

  • svg/animations/accumulate-values-width-animation-expected.txt: Added.
  • svg/animations/accumulate-values-width-animation.html: Added.
  • svg/animations/resources/accumulate-values-width-animation.svg: Added.
  • svg/animations/script-tests/accumulate-values-width-animation.js: Added.

(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(sample7):
(sample8):
(sample9):
(sample10):
(sample11):
(executeTest):

08:08 Changeset [115725] by bdakin@apple.com

https://bugs.webkit.org/show_bug.cgi?id=85231
Fixed position objects that are removed from the DOM don't kick off
fixed position recalculation
-and corresponding-
<rdar://problem/11297916>

Reviewed by Darin Adler.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):

07:57 Changeset [115724] by rniwa@webkit.org

drag of links with styled text drop as links with plain text
https://bugs.webkit.org/show_bug.cgi?id=19386

Reviewed by Hajime Morita.

Add a regression test since the said bug appears to have been fixed on ToT WebKit.

  • editing/pasteboard/drag-drop-url-with-style-expected.txt: Added.
  • editing/pasteboard/drag-drop-url-with-style.html: Added.
07:53 Changeset [115723] by kenneth@webkit.org

[Qt] Stop repeating timers which should only fire once
https://bugs.webkit.org/show_bug.cgi?id=85277

Reviewed by Antonio Gomes.

The TapGestureRecognizer uses QBasicTimers which are
repeating timers, so stop then when they fire.

  • UIProcess/qt/QtTapGestureRecognizer.cpp:

(WebKit::QtTapGestureRecognizer::highlightTimeout):
(WebKit::QtTapGestureRecognizer::singleTapTimeout):
(WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):

07:20 Changeset [115722] by kling@webkit.org

Remove Mac WK2-specific result for svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm.

  • platform/mac-wk2/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Removed.
05:55 Changeset [115721] by pfeldman@chromium.org

WebKit unit tests RenderTableCellDeathTest.CanSetRow* are failing as of r115705
https://bugs.webkit.org/show_bug.cgi?id=85274

Not reviewed: test disabled.

  • tests/RenderTableCellTest.cpp:
05:28 Changeset [115720] by kling@webkit.org

Fix test regression introduced by r115086.
https://bugs.webkit.org/show_bug.cgi?id=84566

Patch by Yuzhu Shen <yzshen@chromium.org> on 2012-05-01
Reviewed by Pavel Feldman.

  • inspector/network-status-non-http.html:
  • platform/qt/Skipped:
05:12 Changeset [115719] by pfeldman@chromium.org

WebKit test RenderTableCellDeathTest.CanSetRow is failing as of r115705
https://bugs.webkit.org/show_bug.cgi?id=85274

Not reviewed: test disabled.

The test is based on the standalone cell, while the new logic
requires parent to be present upon the row index set.

  • tests/RenderTableCellTest.cpp:
04:18 Changeset [115718] by hbono@chromium.org

[Chromium] Regression r113405 ContextMenuImpl does not set a misspelled word
https://bugs.webkit.org/show_bug.cgi?id=85271

Reviewed by Kent Tamura.

This change calls selectMisspelledWord() to get a misspelled word so Chrome can
set the misspelledWord variable without selecting text.

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

03:47 Changeset [115717] by tkent@chromium.org

[Chromium] Rebaseline for recent changes about <input type=date>.

  • platform/chromium-linux/fast/forms/date/date-appearance-expected.png:
  • platform/chromium-linux/fast/forms/date/date-appearance-expected.txt:
  • platform/chromium-mac/fast/forms/date/date-appearance-expected.png:
  • platform/chromium-mac/fast/forms/date/date-appearance-expected.txt:
  • platform/chromium-mac/fast/forms/date/date-input-visible-strings-expected.txt: Copied from LayoutTests/platform/chromium/fast/forms/date/date-input-visible-strings-expected.txt.
  • platform/chromium-win/fast/forms/date/date-appearance-expected.png:
  • platform/chromium-win/fast/forms/date/date-appearance-expected.txt:
  • platform/chromium-win/fast/forms/date/date-input-visible-strings-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/date/date-input-visible-strings-expected.txt.
  • platform/chromium/test_expectations.txt:
02:15 Changeset [115716] by danakj@chromium.org

Early-out for subtracting a non-intersecting region
https://bugs.webkit.org/show_bug.cgi?id=85258

Reviewed by Hajime Morita.

Given regions A and B, if the bounds of the regions do not intersect,
then the regions themselves do not intersect. If the intersection of
A and B is empty, then A subtract B == A.

  • platform/graphics/Region.cpp:

(WebCore::Region::subtract):

01:43 Changeset [115715] by tkent@chromium.org

[Chromium] Test expectation update for r115713.
https://bugs.webkit.org/show_bug.cgi?id=84935

  • platform/chromium/test_expectations.txt:

Mark TEXT for date-input-visible-strings.html

01:39 Changeset [115714] by philn@webkit.org

Unreviewed, GTK test_expectations update.

  • platform/gtk/test_expectations.txt: media/track/track-mode.html

is still flaky as per bug 83878.

00:54 Changeset [115713] by tkent@chromium.org

[Chromium/Windows] Add LocalizedDateWin
https://bugs.webkit.org/show_bug.cgi?id=84935

Reviewed by Kentaro Hara.

Source/WebCore:

LocalizedDateICU.cpp doesn't reflect system settings. So there were some
problems such as <input type=date> doesn't use system's date format.

We need to use Windows API to get a date format and calendar parameters.

We obtain a date format like "MM/dd/yy" via Windows API, and
format/parse dates for the format by our own code because Windows API
can't handle years older than 1601 and doesn't have date parsing API.

Unit test: Source/WebKit/chromium/tests/LocaleWinTest.cpp

  • WebCore.gypi: Add LocalizedDateWin.cpp.
  • WebCore.gyp/WebCore.gyp:

For Windows, remove LocalizedDateICU.cpp and add LocalizedDateWin.cpp.
All of *Win.cpp files are excluded by default.

  • platform/text/LocaleWin.cpp: Added.

(WebCore::LocaleWin::LocaleWin):
(WebCore::LocaleWin::create):
(WebCore::LocaleWin::currentLocale):
(WebCore::LocaleWin::~LocaleWin):
(WebCore::LocaleWin::getLocaleInfoString):
A helper function to obtain a string by GetLocaleInfo().
(WebCore::LocaleWin::initializeShortMonthLabels):
Obtain short month names from Windows.

(WebCore::DateFormatToken): A struct to represent a token in a date format.
e.g. A format string "MM/dd/yy" generates five DateFormatToken:

Month2, Literal, Day2, Literal, Year2.

(isEraSymbol): A readability helper function.
(isYearSymbol): ditto.
(isMonthSymbol): ditto.
(isDaySymbol): ditto.
(countContinuousLetters):
(commitLiteralToken): A helper for parseDateFormat().
(parseDateFormat):
Parse a format string, and generate a list of DateFormatToken.

(WebCore::parseNumber): A helper for parseDate().
(WebCore::LocaleWin::parseNumberOrMonth): ditto.
(WebCore::LocaleWin::parseDate):
Parse a user-provided date string by matching with a DateFormatToken list.

(WebCore::appendNumber): A helper for formatDate().
(WebCore::appendTwoDigitsNumber): ditto. Write at least two digits.
(WebCore::appendFourDigitsNumber): ditto. Write at least four digits.
(WebCore::LocaleWin::formatDate):
Format a DateComponents by iterating a DateFormatToken list.

(WebCore::LocaleWin::initializeShortDateTokens):
(WebCore::substituteLabelsIntoFormat):
Creates a user-visible format string by iterating a DateFormatToken list.
(WebCore::LocaleWin::dateFormatText):
(WebCore::LocaleWin::initializeMonthLabels):
Creates month names by Windows API.
(WebCore::LocaleWin::initializeWeekDayShortLabels):

Creates day names by Windows API.

(WebCore::LocaleWin::monthLabels):
Public accessor function for month names.
(WebCore::LocaleWin::weekDayShortLabels):
Public accessor function for day names.

  • platform/text/LocaleWin.h: Added.
  • platform/text/LocalizedDateWin.cpp:

Added. The following functions simply delegate to LocaleWin::currentLocale().
(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):
(WebCore::localizedDateFormatText):
(WebCore::monthLabels):
(WebCore::weekDayShortLabels):
(WebCore::firstDayOfWeek):

Source/WebKit/chromium:

Add test for LocaleWin.cpp.

  • WebKit.gypi:
  • tests/LocaleWinTest.cpp: Added.

(msForDate): A helper function.
(TEST):

04/30/12:

23:39 Changeset [115712] by zandobersek@gmail.com

Unreviewed, rebaselining after r115666 and test expectations update
after r115651.

  • platform/gtk/fast/js/constructor-length-expected.txt:
  • platform/gtk/test_expectations.txt:
23:11 FeatureFlags edited by tkent@chromium.org
Add LEGACY_WEBKIT_BLOB_BUILDER (diff)
20:51 Changeset [115711] by tkent@chromium.org

REGRESSION(r115600): parseLocalizedDate() should fail for invalid inputs
https://bugs.webkit.org/show_bug.cgi?id=85176

Reviewed by Kentaro Hara.

Source/WebCore:

Test: fast/forms/date/input-date-commit-valid-only.html

  • platform/text/mac/LocalizedDateMac.mm:

(WebCore::parseLocalizedDate):
We should check nil for the result of NSDateFormtter::dateFromString.

LayoutTests:

  • platform/chromium/test_expectations.txt: Remove an entry for a fixed test.
20:27 Changeset [115710] by mrowe@apple.com

Fix another leak due to misuse of createCFString.

Reviewed by Darin Adler.

  • plugins/mac/PluginPackageMac.cpp:

(WebCore::PluginPackage::fetchInfo): Adopt the result of createCFString.

20:27 Changeset [115709] by mrowe@apple.com

<rdar://problem/11312198> Many leaks during fast/events/dropzone-002.html

Reviewed by Darin Adler.

  • platform/mac/ClipboardMac.mm:

(WebCore::utiTypeFromCocoaType): Adopt the result of createCFString.

20:26 Changeset [115708] by mrowe@apple.com

<rdar://problem/11352575> Many CGImageRefs leaked during media layout tests

Reviewed by Brian Weinstein.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Adopt the CGImageRef.

20:24 Changeset [115707] by eae@chromium.org

Change RenderBoxModelObject::calculateBackgroundImageGeometry to use roundToInt
https://bugs.webkit.org/show_bug.cgi?id=85249

Reviewed by Eric Seidel.

Prepare RenderBoxModelObject for FractionalLayoutUnits by adding rounding
logic to calculateBackgroundImageGeometry. Background images, as all
images, needs to be layed out on pixel boundaries thus we need to convert
it to a integer value.

No new tests, no change in functionality.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

20:21 Changeset [115706] by isherman@chromium.org

Unreviewed, rolling out r113511.
http://trac.webkit.org/changeset/113511
https://bugs.webkit.org/show_bug.cgi?id=66032
https://bugs.webkit.org/show_bug.cgi?id=85150

Regression: Many autofilled form fields lack the default
autofill background even when authors don’t override the
autofill colors

Source/WebCore:

  • css/html.css:

(input:-webkit-autofill): Restore !important modifiers

LayoutTests:

  • fast/forms/input-autofilled-expected.txt:
  • fast/forms/input-autofilled.html:
20:13 Changeset [115705] by jchaffraix@webkit.org

Move RenderTableCell's row index to RenderTableRow
https://bugs.webkit.org/show_bug.cgi?id=85229

Reviewed by Ojan Vafai.

Source/WebCore:

Covered by the existing table tests.

Row index is a RenderTableRow concept and as such this change moves
the relevant logic into the class.

While touching the code, renamed row() -> rowIndex() as now RenderTableCell
can return its parent RenderTableRow and we were returning an index, not the row
itself.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::cellForColumnAndRow):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::titleUIElement):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::cellAbove):
(WebCore::RenderTable::cellBelow):
(WebCore::RenderTable::cellBefore):
(WebCore::RenderTable::cellAfter):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):
Updated after the renaming RenderTableCell::row() -> rowIndex().

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::computeCollapsedBeforeBorder):
(WebCore::RenderTableCell::computeCollapsedAfterBorder):
Updated after m_rowIndex removal and row() -> rowIndex() renaming.

(WebCore::RenderTableCell::styleDidChange):
Switched the rowWasSet check to an ASSERT. The new logic guarantees that
row index was set straight when we insert the row. The previous logic was
opened to some race conditions as we could wait for a recalcCells call before
setting the index on the rows which made this check necessary.

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::row):
Added this RenderTableRow getter.

(WebCore::RenderTableCell::rowIndex):
Renamed from row().

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::styleDidChange):
Updated after adding m_rowIndex / rowIndex().

  • rendering/RenderTableRow.h:

(WebCore::RenderTableRow::setRowIndex):
(WebCore::RenderTableRow::rowIndex):
Added those getter / setter. Also kept m_rowIndex's smaller size
for future optimization and for symmetry with the column index on
RenderTableCell.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::recalcCells):
Made sure that whenever we insert or update our row index
we do call setRowIndex().

(WebCore::RenderTableSection::addCell):
This logic now doesn't need to query insertionRow as the cell's
should have the index of the row in which it is inserted.

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::compareCellPositionsWithOverflowingCells):
More updates after row() -> rowIndex() renaming.

  • rendering/RenderTableSection.h:

Removed rowIndexForRenderer now that the row caches this informatin.

Source/WebKit/chromium:

  • tests/RenderTableCellTest.cpp:

Updated after the refactoring.

19:53 Changeset [115704] by keishi@webkit.org

datalist: Inconsistent behavior of HTMLInputElement::list
https://bugs.webkit.org/show_bug.cgi?id=84351

Source/WebCore:

Each platform will have a different set of input types that support the datalist UI.
This patch makes shouldRespectListAttribute ask the RenderTheme if it supports datalist UI for that input type.
Thus making it possible to do feature detection with JS.

Reviewed by Kent Tamura.

  • WebCore.gypi: Added RenderThemeChromiumCommon.{cpp,h}
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::shouldRespectListAttribute):
(WebCore):

  • html/ColorInputType.h:

(ColorInputType):

  • html/InputType.cpp:

(WebCore::InputType::themeSupportsDataListUI): Static method used by TextFieldInputType, RangeInputType, and ColorInputType.
(WebCore):

  • html/InputType.h:

(InputType):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::shouldRespectListAttribute):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::shouldRespectListAttribute):

  • rendering/RenderTheme.h:

(RenderTheme):
(WebCore::RenderTheme::supportsDataListUI): Returns true if the platform can show the datalist suggestions for a given input type.

  • rendering/RenderThemeChromiumCommon.cpp: Added.

(WebCore):
(WebCore::RenderThemeChromiumCommon::supportsDataListUI):

  • rendering/RenderThemeChromiumCommon.h: Added.

(WebCore):
(RenderThemeChromiumCommon):

  • rendering/RenderThemeChromiumMac.h:

(RenderThemeChromiumMac):

  • rendering/RenderThemeChromiumMac.mm:

(WebCore::RenderThemeChromiumMac::supportsDataListUI):
(WebCore):

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore::RenderThemeChromiumMac::supportsDataListUI):
(WebCore):

  • rendering/RenderThemeChromiumSkia.h:

(RenderThemeChromiumSkia):

LayoutTests:

Reviewed by Kent Tamura.

  • fast/forms/datalist/input-list-expected.txt:
  • fast/forms/datalist/input-list.html: Added tests for all input types.
  • platform/chromium/fast/forms/datalist/input-list-expected.txt: Added.
19:51 Changeset [115703] by gavinp@chromium.org

[Chromium] Add thunk headers for staging Prerendering API.
https://bugs.webkit.org/show_bug.cgi?id=84880

Reviewed by Adam Barth.

These empty headers will be replaced by the actual API when Bug 85005 is commited.

Source/Platform:

  • Platform.gypi:
  • chromium/public/WebPrerender.h: Added.

(WebKit):
(WebPrerender):
(ExtraData):
(WebKit::WebPrerender::ExtraData::~ExtraData):
(WebKit::WebPrerender::url):
(WebKit::WebPrerender::referrer):
(WebKit::WebPrerender::referrerPolicy):
(WebKit::WebPrerender::setExtraData):
(WebKit::WebPrerender::extraData):
(WebKit::WebPrerender::WebPrerender):
(WebKit::WebPrerender::~WebPrerender):

  • chromium/public/WebPrerenderingSupport.h: Added.

(WebKit):
(WebPrerenderingSupport):
(WebKit::WebPrerenderingSupport::initialize):
(WebKit::WebPrerenderingSupport::shutdown):
(WebKit::WebPrerenderingSupport::current):
(WebKit::WebPrerenderingSupport::add):
(WebKit::WebPrerenderingSupport::cancel):
(WebKit::WebPrerenderingSupport::abandon):
(WebKit::WebPrerenderingSupport::WebPrerenderingSupport):
(WebKit::WebPrerenderingSupport::~WebPrerenderingSupport):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/WebPrerendererClient.h: Added.

(WebKit):
(WebPrerendererClient):

  • public/WebView.h:

(WebKit):
(WebKit::WebView::setPrerendererClient):

19:38 Changeset [115702] by isherman@chromium.org

[Chromium] Fix Autofill popup visibility behavior
Prevent users from interacting with invisible Autofill popups rendered outside the main frame's contents view.
This is a recommit of r115400, restricted to just Autofill popups.
https://bugs.webkit.org/show_bug.cgi?id=84420

Reviewed by Abhishek Arya

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::popupOpened): Hide popups rendered outside the main frame's contents view.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::applyAutofillSuggestions): Fix up order of operations to support immediately hiding a popup if it would not be visible

19:24 FeatureFlags edited by tkent@chromium.org
Add LINK_PRERENDER, SUBPIXEL_LAYOUT, and NATIVE_FULLSCREEN_VIDEO (diff)
19:15 Changeset [115701] by leviw@chromium.org

RenderObject incorrectly lists maximalOutlineSize as a LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=85248

Reviewed by Eric Seidel.

Reverting RenderObject::maximalOutlineSize to int. This is a slop value for repaint
rects that doesn't affect layout. It also derives its value from RenderView's function
of the same name, which is already an integer.

No new tests. No change in behavior.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::maximalOutlineSize):

  • rendering/RenderObject.h:

(RenderObject):

19:09 Changeset [115700] by commit-queue@webkit.org

REGRESSION: editing/inserting/insert-bg-font.html fails on Lion
https://bugs.webkit.org/show_bug.cgi?id=82079

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-04-30
Reviewed by Ryosuke Niwa.

The test fails only if "Correct spelling automatically" is turned on.
AutoCorrect kicks in because the test has "backgroundblue" as a word,
so changing it to "background blue" fixes the failure.

  • editing/inserting/insert-bg-font-expected.txt: Change "backgroundblue" to "background blue".
  • editing/inserting/insert-bg-font.html: Ditto.
18:50 Changeset [115699] by commit-queue@webkit.org

Add multichannel support for input of JavaScriptAudioNode
https://bugs.webkit.org/show_bug.cgi?id=84687

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-04-30
Reviewed by Chris Rogers.

Source/WebCore:

Tests: webaudio/javascriptaudionode-downmix8-2channel-input.html

webaudio/javascriptaudionode-upmix2-8channel-input.html

  • Modules/webaudio/JavaScriptAudioNode.cpp:

(WebCore::JavaScriptAudioNode::create):
(WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
(WebCore::JavaScriptAudioNode::initialize):
(WebCore::JavaScriptAudioNode::process):

  • Modules/webaudio/JavaScriptAudioNode.h:

(JavaScriptAudioNode):

LayoutTests:

  • webaudio/javascriptaudionode-downmix8-2channel-input-expected.txt: Added.
  • webaudio/javascriptaudionode-downmix8-2channel-input.html: Added.
  • webaudio/javascriptaudionode-upmix2-8channel-input-expected.txt: Added.
  • webaudio/javascriptaudionode-upmix2-8channel-input.html: Added.
  • webaudio/resources/javascriptaudionode-testing.js: Added.

(createBuffer):
(processAudioData):
(fillData):
(checkStereoOnlyData):
(runJSNodeTest):

18:38 Changeset [115698] by andersca@apple.com

Crash when opening plug-ins in background tabs
https://bugs.webkit.org/show_bug.cgi?id=85255
<rdar://problem/11344053>

Reviewed by Dan Bernstein.

  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::setLayerHostingMode):
m_layerHostingContext can be null for plug-ins that don't use the Core Animation drawing model, so check for that.

18:20 Changeset [115697] by barraclough@apple.com

Should be able to use YARR JIT without the JS language JIT
https://bugs.webkit.org/show_bug.cgi?id=85252

Reviewed by Geoff Garen.

Need to split canUseRegExpJIT out of canUseJIT.

  • runtime/JSGlobalData.cpp:

(JSC):
(JSC::useJIT):
(JSC::JSGlobalData::JSGlobalData):

  • replace m_canUseJIT with m_canUseAssembler
  • runtime/JSGlobalData.h:

(JSGlobalData):
(JSC::JSGlobalData::canUseRegExpJIT):

  • Added canUseRegExpJIT, distinct from canUseJIT.
  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

  • Call canUseRegExpJIT instead of canUseJIT.
18:10 Changeset [115696] by yael.aharon@nokia.com

[Qt][WK2] Fixed layers are shaking when zoom level is not 1.0 due to a rounding error.
https://bugs.webkit.org/show_bug.cgi?id=84306

Reviewed by Noam Rosenthal.

When zooming, we need to be careful about how to convert the visible rect from float to int.
Using toAlignedRect can produce inconsistent width and height when we are scrolling.
This patch carefully modifies each piece of the visible rect, to avoid such rounding errors.
In addition, the TransformationMatrix we use for painting, needs to be adjusted for the same rounding error.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::visibleContentsRect):
(QQuickWebViewFlickablePrivate::_q_contentViewportChanged):

  • UIProcess/DrawingAreaProxy.h:

(WebCore):
(WebKit::DrawingAreaProxy::setVisibleContentsRect):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):

  • UIProcess/DrawingAreaProxyImpl.h:

(DrawingAreaProxyImpl):

  • UIProcess/LayerTreeHostProxy.cpp:

(WebKit::LayerTreeHostProxy::setVisibleContentsRect):

  • UIProcess/LayerTreeHostProxy.h:

(LayerTreeHostProxy):

  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
(WebKit::WebLayerTreeRenderer::setVisibleContentsRect):

  • UIProcess/WebLayerTreeRenderer.h:

(WebLayerTreeRenderer):

17:57 WebKit Team edited by leviw@chromium.org
(diff)
17:52 Changeset [115695] by oliver@apple.com

Source/WebCore: Harden arithmetic in ImageBufferDataCG
https://bugs.webkit.org/show_bug.cgi?id=61373

Reviewed by Gavin Barraclough.

We have a checked type that allows us to automate many of the
bounds checks we want here, so let's replace the floating point
math, and just use Checked<> throughout. We use a non-recording
Checked<> as no overflows should reach this point, so we'll take
a hard early failure, over the cost of many branches when
accessing the raw values in loops.

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::getData):
(WebCore::ImageBufferData::putData):

Source/WTF: Investigate overflows in Canvas putImageData routine
https://bugs.webkit.org/show_bug.cgi?id=61373

Reviewed by Gavin Barraclough.

Allow floating point multiplies of checked types (complete with
bounds checks).

  • wtf/CheckedArithmetic.h:

(Checked):
(WTF::Checked::operator*=):

17:47 Changeset [115694] by fpizlo@apple.com

Bytecode dumps should contain data about the state of get_by_id caches
https://bugs.webkit.org/show_bug.cgi?id=85246

Reviewed by Gavin Barraclough.

Changed the DFG bytecode parser (and the code that calls it) to be able
to call codeBlock->dump() on the code blocks being parsed.

Changed bytecode dumping to be able to print the state of get_by_id
caches inline with the bytecode.

Removed the old StructureStubInfo dumping code, which no longer worked
right, and was incapable of telling us information about chain and list
accesses.

This change does not add dumping for put_by_id caches. We can add that
at a later time.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printUnaryOp):
(JSC::CodeBlock::printBinaryOp):
(JSC::CodeBlock::printConditionalJump):
(JSC::CodeBlock::printGetByIdOp):
(JSC::dumpStructure):
(JSC):
(JSC::dumpChain):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::printPutByIdOp):
(JSC::printGlobalResolveInfo):
(JSC::CodeBlock::printStructure):
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::visitStructures):
(JSC::ProgramCodeBlock::jitCompileImpl):
(JSC::EvalCodeBlock::jitCompileImpl):
(JSC::FunctionCodeBlock::jitCompileImpl):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::jitCompile):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::parse):

  • dfg/DFGByteCodeParser.h:

(DFG):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):

  • dfg/DFGDriver.h:

(DFG):
(JSC::DFG::tryCompile):
(JSC::DFG::tryCompileFunction):

  • dfg/DFGOSRExitCompiler.cpp:
  • jit/JITDriver.h:

(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

  • runtime/Executable.cpp:

(JSC::EvalExecutable::jitCompile):
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::jitCompile):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::jitCompileForCall):
(JSC::FunctionExecutable::jitCompileForConstruct):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

  • runtime/Executable.h:

(EvalExecutable):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::jitCompileFor):

  • runtime/ExecutionHarness.h:

(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):

17:39 Changeset [115693] by zmo@google.com

Unreviewed, test expectations update.

  • platform/chromium/test_expectations.txt:
17:09 Changeset [115692] by leviw@chromium.org

Change lround to roundToInt as we're dealing with LayoutUnits.

17:06 Changeset [115691] by leviw@chromium.org

Add absoluteValue method for LayoutUnits to allow overloading abs()
https://bugs.webkit.org/show_bug.cgi?id=85214

Reviewed by Eric Seidel.

Adding an absoluteValue free inline function that operates on LayoutUnits, which
allows us to have one function signature for ints or FractionalLayoutUnits. We
can't simply add a FractionalLayoutUnit flavor of abs because it confuses
some compilers due to the implicit FractionalLayoutUnit constructors that take
ints and floats.

No new tests. No change in behavior.

  • page/SpatialNavigation.cpp:

(WebCore::distanceDataForNode):

  • rendering/LayoutTypes.h:

(WebCore::absoluteValue):
(WebCore):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::rangeIntersectsRect):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::repaintAfterLayoutIfNeeded):

16:58 Changeset [115690] by eae@chromium.org

Merge trunk changes up until 115687 into subpixel branch.

16:42 Changeset [115689] by leviw@chromium.org

Update LayoutUnit usage in InlineFlowBox and RenderWidget
https://bugs.webkit.org/show_bug.cgi?id=85239

Reviewed by Eric Seidel.

Updating LayoutUnit usage in a pair of remaining functions to minimize the remaining work to switching
to FractionalLayoutUnits for layout instead of integers.

No new tests. No change in behavior.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesInBlockDirection): Though stored as a float, the top is always
set to an integer value. When we move to sub-pixel, we need to preserve this. Not preserving this
behavior affects text decorations, most notably underlines.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::updateWidgetGeometry): Adding pixel snapping for the content box if it's
not transformed (absoluteContentBox includes pixel snapping), and properly treating the boundingBox
as an IntRect.

16:34 Changeset [115688] by barraclough@apple.com

Should be able to build YARR JIT without the JS language JIT
https://bugs.webkit.org/show_bug.cgi?id=85242

Reviewed by Michael Saboff.

Some build macros are wrong.

  • assembler/RepatchBuffer.h:
  • jit/ExecutableAllocator.h:

(JSC):

  • jit/JITExceptions.cpp:
  • runtime/InitializeThreading.cpp:

(JSC::initializeThreadingOnce):

16:16 Companies and Organizations that have contributed to WebKit edited by krit@webkit.org
(diff)
16:03 Changeset [115687] by leviw@chromium.org

Prepare RenderDeprecatedFlexibleBox for sub-pixel layout
https://bugs.webkit.org/show_bug.cgi?id=85217

Reviewed by Eric Seidel.

Bailing from the space distribution loop in layoutHorizontal/VerticalBox when
the remaining space falls below one pixel. This has no effect in whole-pixel
layout, but avoids unnecessary work/infinite loops in the sub-pixel case.

No new tests. No change in behavior.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

15:51 Changeset [115686] by rniwa@webkit.org

NULL ptr in WebCore::Range::getBorderAndTextQuads
https://bugs.webkit.org/show_bug.cgi?id=77218

Reviewed by Eric Seidel.

Source/WebCore:

The crash was caused by a malformed range obtained within an event handler of mutation events
(DOMNodeRemovedFromDocument). Because this range wasn't updated per node removal, range functions
end up not behaving well.

Fixed the bug by changing the order of the notifications in ContainerNode::willRemoveChild.
We now fire mutation events first before updating ranges so that any range created inside those
event handlers can also be updated prior to the actual node removal.

Test: fast/dom/Range/range-created-in-mutation-event-crash.xhtml

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChild):

LayoutTests:

Add a regression test. We use alert here instead of innerHTML, textContent, etc...
because document element is no longer well-formed at the end of the test.

  • fast/dom/Range/range-created-in-mutation-event-crash-expected.txt: Added.
  • fast/dom/Range/range-created-in-mutation-event-crash.xhtml: Added.
15:51 Changeset [115685] by ojan@chromium.org

Fix tests to not depend on the actual list of builders at build.chromium.org.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(testHtmlForIndividualTestOnAllBuildersWithChrome):
(testHtmlForIndividualTestOnAllBuildersWithChromeWebkitMaster):

15:49 Changeset [115684] by mrowe@apple.com

REGRESSION (r115544): platform/mac/fast/events/pointer-events-dashboard.html is failing

Remove the test since r115544 removed the special behavior in Dashboard.

Rubber-stamped by Anders Carlsson.

  • platform/mac/fast/events/pointer-events-dashboard-expected.png: Removed.
  • platform/mac/fast/events/pointer-events-dashboard-expected.txt: Removed.
  • platform/mac/fast/events/pointer-events-dashboard.html: Removed.
15:46 Changeset [115683] by tomz@codeaurora.org

Unreviewed gardening

  • platform/qt/test_expectations.txt:
15:44 Changeset [115682] by commit-queue@webkit.org

Source/WebKit/chromium: [chromium] Disable battery-status API support.

The battery-status API support should not have view-dependency. So disable it until
that is fixed.
https://bugs.webkit.org/show_bug.cgi?id=84499

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-04-30
Reviewed by Adam Barth.

  • features.gypi:

LayoutTests: [chromium] Disable battery-status API support.
https://bugs.webkit.org/show_bug.cgi?id=84499

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-04-30
Reviewed by Adam Barth.

  • platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/chromium/test_expectations.txt:
15:42 Changeset [115681] by andersca@apple.com

ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position
https://bugs.webkit.org/show_bug.cgi?id=85240
<rdar://problem/11286609>

Reviewed by Sam Weinig.

Source/WebCore:

The call to updateMainFrameScrollPosition was added to make the WebKit2 find overlay work, since it relies
on scroll position updates being synchronous. Change the find code in WebKit2 to handle asynchronous scroll
position updates and remove the call to updateMainFrameScrollPosition.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):

Source/WebKit2:

The find machinery should cope with asynchronous scroll position updates.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindUIAfterPageScroll):
Split the code that handles updating the find indicator and find overlay out into a separate function.

(WebKit::FindController::findString):
Call updateFindUIAfterPageScroll once we know that the scroll position has been updated.

15:41 Changeset [115680] by gavinp@chromium.org

[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.
15:29 Changeset [115679] by barraclough@apple.com

Arguments object resets attributes on redefinition of a parameter
https://bugs.webkit.org/show_bug.cgi?id=84994

Rubber stamped by Oliver Hunt.

Source/JavaScriptCore:

There is a bug that we always re-add the original property before
redefinition, doing so in a way that will reset the attributes
without checking configurability.

  • runtime/Arguments.cpp:

(JSC::Arguments::defineOwnProperty):

  • Only instantiate the property once - do not re-add if it has already been added, or if it has been deleted.

LayoutTests:

  • fast/js/arguments-expected.txt:
  • fast/js/script-tests/arguments.js:
    • Added test cases.
15:21 Changeset [115678] by andersca@apple.com

Add a way to asynchronously call a function once the scroll position of a page has been updated
https://bugs.webkit.org/show_bug.cgi?id=85237

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in:

Export functions needed by WebKit2.

  • page/scrolling/ScrollingCoordinator.h:

Make commitTreeStateIfNeeded public.

Source/WebKit2:

Add DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition, which will call the given function object after
making sure that the scroll position has been updated correctly. This is important for TiledCoreAnimationDrawingArea,
which updates the scrolling position asynchronously.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
Since scroll position updates are synchronous by default, just call function directly.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
Commit the layer tree state and then use ScrollingThread::dispatchBarrier to make sure that the function is called when any
scroll position changes have been made. If possible, freeze the layer tree to make sure that the update is atomic.

15:14 Changeset [115677] by andersca@apple.com

Fix ALL the build failures!

  • UIProcess/API/mac/WKView.mm:

(-[WKView WebKit::]):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
15:06 Changeset [115676] by andersca@apple.com

Build fix.

  • Shared/DrawingAreaInfo.h:
15:04 Changeset [115675] by leviw@chromium.org

Adding absoluteValue abs clone in LayoutTypes and using it throughout WebCore. Replacing a .round() with roundToInt, and adding needed absoluteValues in DeprecatedFlexibleBox.

14:52 Changeset [115674] by rniwa@webkit.org

Remove an erroneous assertion after r115655.

  • runtime/NumberPrototype.cpp:

(JSC::toUStringWithRadix):

14:48 Changeset [115673] by haraken@chromium.org

WebGLRenderingContext methods should throw TypeError for not enough arguments
https://bugs.webkit.org/show_bug.cgi?id=84787

Reviewed by Kenneth Russell.

Currently, WebGLRenderingcontext methods 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

This patch changes SyntaxError to TypeError.

Source/WebCore:

I wanted to confirm the behavior of Firefox and Opera,
but they do not implement WebGL yet.

Test: fast/canvas/webgl/webgl-exceptions.html

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getExtension):
(WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContext::getParameter):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getExtensionCallback):
(WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
(WebCore::V8WebGLRenderingContext::getParameterCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::V8WebGLRenderingContext::getUniformCallback):
(WebCore::vertexAttribAndUniformHelperf):
(WebCore::uniformHelperi):
(WebCore::uniformMatrixHelper):

LayoutTests:

  • fast/canvas/webgl/webgl-exceptions-expected.txt: Added.
  • fast/canvas/webgl/webgl-exceptions.html: Added.
14:41 Changeset [115672] by eae@chromium.org

[gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
https://bugs.webkit.org/show_bug.cgi?id=85222

Reviewed by Eric Seidel.

Update platform code to use the pixel snapped values for painting rects
to line up with device pixels and change platform specific hit testing
code to use roundedPoint as hit testing is still mostly done on integer
bounds.

Source/WebCore:

No new tests, no change in functionality.

  • platform/qt/RenderThemeQt.cpp:

(WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • rendering/RenderThemeChromiumSkia.cpp:

(WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::mouseDidMoveOverElement):

  • webkit/webkithittestresult.cpp:

(WebKit::kit):

  • webkit/webkitwebview.cpp:

(getLocationForKeyboardGeneratedContextMenu):
(webkit_web_view_query_tooltip):

Source/WebKit2:

  • WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:

(WebKit::WebPopupMenu::setUpPlatformData):

14:38 Changeset [115671] by andersca@apple.com

Put all of TiledCoreAnimationDrawingArea in #if ENABLE(THREADED_SCROLLING)
https://bugs.webkit.org/show_bug.cgi?id=85232

Reviewed by Sam Weinig.

Stop pretending that TiledCoreAnimationDrawingArea works without threaded scrolling.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::create):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
(WebKit::dispatchBackToMainThread):
(WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):

14:37 Changeset [115670] by haraken@chromium.org

[V8][JSC] Remove hard-coded "Not enough arguments" errors
https://bugs.webkit.org/show_bug.cgi?id=85207

Reviewed by Sam Weinig.

In bug 85022 and bug 85097, we implemented
createNotEnoughArgumentsError() in JSC and
V8Proxy::throwNotEnoughArgumentsError() in V8 and partially
removed hard-coded "Not enough arguments" errors.
This patch removes hard-coded "Not enough arguments"
errors by using the helper methods.

No tests. No change in behavior.

  • 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/ScriptController.cpp:

(WebCore::setValueAndClosePopupCallback):

  • 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):

14:32 Changeset [115669] by benjamin@webkit.org

Add String::startsWith() and endsWith() for string literals
https://bugs.webkit.org/show_bug.cgi?id=85154

Reviewed by Darin Adler.

Source/WebCore:

Update WebCore to use the simpler startsWith() and endsWith() taking
a UChar.

  • css/CSSParser.cpp:

(WebCore::CSSParser::markPropertyEnd):

  • css/WebKitCSSKeyframeRule.cpp:

(WebCore::StyleKeyframe::parseKeyString):

  • editing/markup.cpp:

(WebCore::createFragmentFromText):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::addSubresourceAttributeURLs):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setInnerTextValue):

  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):

  • loader/appcache/ManifestParser.cpp:

(WebCore::parseManifest):

  • platform/blackberry/CookieManager.cpp:

(WebCore::CookieManager::shouldRejectForSecurityReason):

  • platform/posix/FileSystemPOSIX.cpp:

(WebCore::pathByAppendingComponent):

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::findPlugin):

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::parseAttribute):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseOffsetValue):
(WebCore::SVGSMILElement::parseCondition):

Source/WebKit/blackberry:

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::elementPatternMatches):

Source/WebKit2:

Update WebKit2 to use String::endsWith(UChar).

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::pathExtension):

Source/WTF:

When invoking StringImpl::startsWidth() or StringImpl::endsWith() with
a string literal, a new String was constructed implicitly, allocating
a new StringImpl and copying the characters for the operation.

This patch adds a version of those methods for single characters and
string literals.
This allows us to avoid allocating memory and use the characters in place,
and it permits some extra shortcuts in the implementation.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::startsWith):
(AtomicString):
(WTF::AtomicString::endsWith):

  • wtf/text/StringImpl.cpp:

(WTF::equalInner):
(WTF):
(WTF::StringImpl::startsWith):
(WTF::StringImpl::endsWith):

  • wtf/text/StringImpl.h:

(WTF::StringImpl::startsWith):
(StringImpl):
(WTF::StringImpl::endsWith):

  • wtf/text/WTFString.h:

(WTF::String::startsWith):
(String):
(WTF::String::endsWith):

14:30 Changeset [115668] by inferno@chromium.org

Source/WebCore: Remove positioned float code.
https://bugs.webkit.org/show_bug.cgi?id=84795

Reviewed by Dan Bernstein.

Backout r92004 and some pieces from r91702.

Test: fast/block/float/positioned-float-crash.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFloat):

  • css/CSSValueKeywords.in:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::FloatingObjects::clear):
(WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
(WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):

  • rendering/RenderBlock.h:

(RenderBlock):
(WebCore::RenderBlock::forceLayoutInlineChildren):
(FloatingObject):
(WebCore::RenderBlock::FloatingObject::FloatingObject):
(WebCore::RenderBlock::hasOverhangingFloats):
(WebCore::RenderBlock::FloatingObjects::FloatingObjects):
(FloatingObjects):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateBoxModelInfoFromStyle):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderDeprecatedFlexibleBox.h:

(RenderDeprecatedFlexibleBox):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderFlexibleBox.h:

(RenderFlexibleBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollbarsAfterLayout):

  • rendering/style/RenderStyleConstants.h:

LayoutTests: Remove positioned float code.
https://bugs.webkit.org/show_bug.cgi?id=84795

Reviewed by Dan Bernstein.

  • fast/block/float/positioned-float-crash-expected.txt: Added.
  • fast/block/float/positioned-float-crash.html: Added.
14:15 Changeset [115667] by jchaffraix@webkit.org

Merge 114574 - REGRESSION(102040): Auto-table layout with percent width doesn't shrink-to-fit content a cell with colspan
https://bugs.webkit.org/show_bug.cgi?id=84260

Reviewed by Ojan Vafai.

Source/WebCore:

Tests: fast/table/td-width-fifty-percent-regression-expected.html

fast/table/td-width-fifty-percent-regression.html

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
As we are spreading the cell's min / max logical width, we should be updating them.
This prevents the following logic getting confused and allocating more than needed.

LayoutTests:

  • fast/table/td-width-fifty-percent-regression-expected.html: Added.
  • fast/table/td-width-fifty-percent-regression.html: Added.

TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10274014

14:11 Changeset [115666] by weinig@apple.com

Remove BlobBuilder
https://bugs.webkit.org/show_bug.cgi?id=84036

Reviewed by Anders Carlsson.

Source/WebCore:

  • GNUmakefile.am:
  • fileapi/WebKitBlobBuilder.idl:
  • page/DOMWindow.idl:
  • workers/WorkerContext.idl:

Make exposing the WebKitBlobBuilder JS object conditional on a new
ENABLE_LEGACY_WEBKIT_BLOB_BUILDER flag. Don't enable this for the Mac,
but do for everyone else.

Source/WebKit/chromium:

  • features.gypi:

Keep WebKitBlobBuilder enabled for Chromium, since it has shipped it.

Tools:

  • Scripts/build-webkit:
  • qmake/mkspecs/features/features.prf:

Make exposing the WebKitBlobBuilder JS object conditional on a new
ENABLE_LEGACY_WEBKIT_BLOB_BUILDER flag. Don't enable this for the Mac,
but do for everyone else.

LayoutTests:

  • fast/js/constructor-length.html:
  • platform/mac/fast/js/constructor-length-expected.txt:

Remove WebKitBlobBuilder from this test, as it is not exposed on all platforms,
and add Blob, which is.

  • platform/mac/Skipped:

Skip fast/files/blob-builder-crash.html, since we no longer support WebKitBlobBuilder.

14:10 Changeset [115665] by andersca@apple.com

Add a barrier-style dispatch member function to ScrollingThread
https://bugs.webkit.org/show_bug.cgi?id=85228

Reviewed by Sam Weinig.

Add a ScrollingThread::dispatchBarrier function which takes a WTF::Function and dispatches it to the main thread
once all the currently scheduled scrolling thread functions have run. This is to be used for synchronization between the
scrolling thread and the main thread.

  • page/scrolling/ScrollingThread.cpp:

(WebCore::callFunctionOnMainThread):
(WebCore):
(WebCore::ScrollingThread::dispatchBarrier):

  • page/scrolling/ScrollingThread.h:

(ScrollingThread):

14:04 Changeset [115664] by cevans@google.com

Merge 114513
BUG=118374
Review URL: https://chromiumcodereview.appspot.com/10264016

14:02 Changeset [115663] by rakuco@webkit.org

[CMake] Add a proper license to FindSqlite.cmake.
https://bugs.webkit.org/show_bug.cgi?id=84901

Reviewed by Daniel Bates.

FindSqlite.cmake referenced COPYING-CMAKE-SCRIPTS, which was
supposed to contain its license. This file, however, was not
imported with FindSqlite.cmake into the tree.

Add it from kdelibs (where the Find file came from) at git
revision [1]. Also worth mentioning is that Alexander Neundorf
added Gilles Caulier as the script author in revision [2].

[1] https://projects.kde.org/projects/kde/kdelibs/repository/revisions/c27925edf98b9952aeada677dfc74ce9c809c48a
[2] https://projects.kde.org/projects/kde/kdelibs/repository/revisions/14d0a92e04e1a200d6e58397e57a29194a0819cf

  • Source/cmake/FindSqlite.cmake:
14:02 Changeset [115662] by andersca@apple.com

WTF::bind should work with blocks
https://bugs.webkit.org/show_bug.cgi?id=85227

Reviewed by Sam Weinig.

Add a block type FunctionWrapper specialization.

  • wtf/Functional.h:
13:27 Changeset [115661] by commit-queue@webkit.org

Expose a flag so that fullscreen video on android can work with FULLSCREEN_API
https://bugs.webkit.org/show_bug.cgi?id=84414

Patch by Min Qin <qinmin@google.com> on 2012-04-30
Reviewed by Darin Fisher.

Source/WebCore:

No tests, just exposing the flag, and will be used by android later.
Sorry, there is a merge error during the previous commit, resolved now

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setControls):
(WebCore):
(WebCore::MediaPlayer::enterFullscreen):
(WebCore::MediaPlayer::exitFullscreen):

  • platform/graphics/MediaPlayer.h:

(MediaPlayer):

  • platform/graphics/MediaPlayerPrivate.h:

(MediaPlayerPrivateInterface):
(WebCore::MediaPlayerPrivateInterface::enterFullscreen):

Source/WebKit/chromium:

On android, the fullscreen video was implemented by passing a java
surfaceView to an android mediaplayer class.
The implementation of that logic should happen in WebKit::WebMediaPlayer.
This change makes it possble for WebViewImpl::enterFullScreenForElement()
to call WebMediaPlayer->enterFullscreen(), thus solving the issue.

Sorry, there is a merge error during the previous commit, resolved now

No new tests. This just exposes the flag so later it can be used by android.

  • features.gypi:
  • public/WebMediaPlayer.h:

(WebMediaPlayer):
(WebKit::WebMediaPlayer::enterFullscreen):
(WebKit::WebMediaPlayer::exitFullscreen):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit):
(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
(WebKit::WebMediaPlayerClientImpl::exitFullscreen):

  • src/WebMediaPlayerClientImpl.h:

(WebMediaPlayerClientImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::enterFullScreenForElement):
(WebKit::WebViewImpl::exitFullScreenForElement):

13:20 Changeset [115660] by gavinp@chromium.org

Unreviewed. Rolled DEPS.

  • DEPS:
12:47 Changeset [115659] by amruthraj@motorola.com

[GTK] Add glib as a dependency to build glib-networking
https://bugs.webkit.org/show_bug.cgi?id=85181

Reviewed by Martin Robinson.

  • gtk/jhbuild.modules:
12:23 Changeset [115658] by mhahnenberg@apple.com

fast/js/random-array-gc-stress times out in debug mode
https://bugs.webkit.org/show_bug.cgi?id=84821

Reviewed by Darin Adler.

  • fast/js/script-tests/random-array-gc-stress.js: Lowering the iterations even more.
12:20 Changeset [115657] by commit-queue@webkit.org

End of Interpreter::tryCacheGetByID can trigger the garbage collector
https://bugs.webkit.org/show_bug.cgi?id=84927

Patch by Myles Maxfield <mmaxfield@google.com> on 2012-04-30
Reviewed by Oliver Hunt.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::tryCacheGetByID):

12:12 Changeset [115656] by benjamin@webkit.org

jsSingleCharacterString and jsSingleCharacterSubstring are not inlined
https://bugs.webkit.org/show_bug.cgi?id=85147

Reviewed by Darin Adler.

The functions jsSingleCharacterString() and jsSingleCharacterSubstring() were not inlined
by the compiler. This annihilate the gains of using SmallStrings.

On stringProtoFuncCharAt(), this patch improves the performance by 11%.

  • runtime/JSString.h:

(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):

12:02 Changeset [115655] by benjamin@webkit.org

Source/JavaScriptCore: Add fast patch for radix == 10 on numberProtoFuncToString
https://bugs.webkit.org/show_bug.cgi?id=85120

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-30
Reviewed by Darin Adler.

When radix, we use to turn the doubleValue into a JSValue just to convert
it to a String. The problem is that was using the slow path for conversion and
for the toString() operation.

This patch shortcuts the creation of a JSValue and uses NumericStrings directly.
The conversion is split between Integer and Double to ensure the fastest conversion
for the common case of integer arguments.

Converting number with radix 10 becomes 5% faster.

Due to the simpler conversion of number to string for integer, converting
integers that do not fall in the two previous optimizations get 32% faster.

  • runtime/NumberPrototype.cpp:

(JSC::extractRadixFromArgs):
(JSC::integerValueToString):
(JSC::numberProtoFuncToString):

LayoutTests: Add fast path for radix == 10 to numberProtoFuncToString
https://bugs.webkit.org/show_bug.cgi?id=85120

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-30
Reviewed by Darin Adler.

Add more test coverage for Number.proto.toString.

  • platform/chromium/test_expectations.txt: Mark the test as failing on Chromium.
  • fast/js/toString-number-expected.txt: Added.
  • fast/js/toString-number.html: Added.
11:51 Changeset [115654] by japhet@chromium.org

Move more of committing and starting to write a Document
to DocumentLoader.
https://bugs.webkit.org/show_bug.cgi?id=83908

Reviewed by Adam Barth.

No new tests, refactor only.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::commitIfReady): Ignore m_gotFirstByte here, since

it was always true here anyway.

(WebCore::DocumentLoader::finishedLoading): If we are finishing an empty

document, create the document now, so that FrameLoaderClient doesn't
have to do it later (FrameLoaderClient code will be removed in a later
patch).

(WebCore::DocumentLoader::commitData): Call receivedFirstData() directly and

do some work receivedFirstData() used to do, setEncoding() only once per
load.

(WebCore::DocumentLoader::receivedData):
(WebCore::DocumentLoader::maybeCreateArchive):

  • loader/DocumentLoader.h:
  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::setEncoding):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData): Move DocumentLoader calls

to DocumentLoader.

  • loader/FrameLoader.h: Remove m_hasReceivedFirstData and willSetEncoding(),

allow hasReceivedData() to be called directly.

(FrameLoader):

11:30 Changeset [115653] by eae@chromium.org

Merge trunk changes up until 115647 into subpixel branch.

10:53 Changeset [115652] by haraken@chromium.org

Unreviewed. Fix test crashes in Win/Linux debug builds.

  • bindings/v8/V8LazyEventListener.cpp:

(WebCore::V8LazyEventListener::V8LazyEventListener):
(WebCore::V8LazyEventListener::prepareListenerObject):

  • bindings/v8/V8LazyEventListener.h:

(V8LazyEventListener):

10:45 Changeset [115651] by tommyw@google.com

MediaStream API: Adding a test for the experimental PeerConnection00
https://bugs.webkit.org/show_bug.cgi?id=82881

Reviewed by Dimitri Glazkov.

Tests construction of objects.

  • fast/mediastream/constructors-expected.txt: Added.
  • fast/mediastream/constructors.html: Added.
10:44 Changeset [115650] by ap@apple.com

Validate keypress command names
https://bugs.webkit.org/show_bug.cgi?id=85204
<rdar://problem/11249368>

Reviewed by Darin Adler.

  • UIProcess/API/mac/WKView.mm: (-[WKView doCommandBySelector:]): (-[WKView insertText:replacementRange:]):
  • UIProcess/WebPageProxy.h: (WebKit::WebPageProxy::registerKeypressCommandName): (WebKit::WebPageProxy::isValidKeypressCommandName):
  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::executeSavedCommandBySelector):
10:44 Changeset [115649] by tommyw@google.com

MediaStream API: Change LocalMediaStream::stop to be synchronous
https://bugs.webkit.org/show_bug.cgi?id=84942

Reviewed by Dimitri Glazkov.

Since I changed LocalMediaStream to be a ActiveDOMObject recently the stop()
behaviour needs to change since it is no longer a good idea to start a timer when called.

Not possible to write a test for this.

  • Modules/mediastream/LocalMediaStream.cpp:

(WebCore::LocalMediaStream::LocalMediaStream):
(WebCore::LocalMediaStream::stop):

  • Modules/mediastream/LocalMediaStream.h:

(LocalMediaStream):

10:13 Changeset [115648] by alexis.menard@openbossa.org

Move myself to reviewers.

Reviewed by Andreas Kling.

  • Scripts/webkitpy/common/config/committers.py:
10:09 WebKit Team edited by alexis.menard@openbossa.org
alphabetical fix (diff)
10:03 Changeset [115647] by eae@chromium.org

Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
https://bugs.webkit.org/show_bug.cgi?id=85146

Source/WebCore:

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

Add a new flag for controlling the fixed point denominator in
FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
Until we change the LayoutUnit typedef this change will have no effect.

No new tests, no change in functionality.

  • platform/FractionalLayoutUnit.h:

(WebCore):
(WebCore::FractionalLayoutUnit::operator++):
(WebCore::operator/):
(WebCore::operator+):
Add ++, / double and and + double operators. These are needed when
ENABLE_SUBPIXEL_LAYOUT is not enabled.

  • platform/graphics/FractionalLayoutRect.cpp:

(WebCore::enclosingFractionalLayoutRect):

Source/WTF:

Reviewed by Eric Seidel.

Add a new flag for controlling the fixed point denominator in
FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
Until we change the LayoutUnit typedef this change will have no effect.

  • wtf/Platform.h:
09:59 Changeset [115646] by jschuh@chromium.org

loadOrRedirectSubframe should return the owner element's frame
https://bugs.webkit.org/show_bug.cgi?id=84780

Reviewed by Nate Chapin.

Source/WebCore:

Test: fast/loader/javascript-url-iframe-remove-on-navigate.html

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadOrRedirectSubframe):

LayoutTests:

  • fast/loader/javascript-url-iframe-remove-on-navigate-expected.txt: Added.
  • fast/loader/javascript-url-iframe-remove-on-navigate.html: Added.
09:58 Changeset [115645] by caio.oliveira@openbossa.org

Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
https://bugs.webkit.org/show_bug.cgi?id=84413

Reviewed by Andreas Kling.

As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
usually subclass basic types like Vector. This patch changes code to use
Vector<Attribute> directly and move around the functionality of the former
methods to more specific helper functions or inline code at the callers.

  • dom/Element.cpp:

(WebCore::Element::parserSetAttributes):
(WebCore::Element::normalizeAttributes):

  • dom/Element.h:

(Element):

  • dom/ElementAttributeData.cpp:
  • dom/ElementAttributeData.h:

(WebCore::findAttributeInVector):
(WebCore::ElementAttributeData::getAttributeItem):
(ElementAttributeData):
(WebCore::ElementAttributeData::attributeVector):
(WebCore::ElementAttributeData::clonedAttributeVector):
(WebCore::ElementAttributeData::getAttributeItemIndex):
(WebCore):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):

  • html/parser/HTMLToken.h:

(WebCore::AtomicHTMLToken::AtomicHTMLToken):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::attributesForIsindexInput): Loop through the attributes
backwards so we can remove items without affecting the rest of the loop run.

  • html/parser/HTMLTreeBuilder.h:
  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement):

  • xml/XMLErrors.cpp:

(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):

  • xml/parser/MarkupTokenBase.h:

(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::getAttributeItem):
(WebCore::AtomicMarkupTokenBase::attributes):
(AtomicMarkupTokenBase):
(WebCore::::initializeAttributes):

  • xml/parser/XMLToken.h:

(WebCore::AtomicXMLToken::AtomicXMLToken):

09:44 WebKit Team edited by alexis.menard@openbossa.org
(diff)
09:34 Changeset [115644] by pilgrim@chromium.org

[Chromium] Remove PlatformSupport::loadPlatformAudioResource, call loadResource directly
https://bugs.webkit.org/show_bug.cgi?id=85193

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • platform/audio/chromium/AudioBusChromium.cpp:

(WebCore::AudioBus::loadPlatformResource):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

09:28 Changeset [115643] by pilgrim@chromium.org

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

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • platform/chromium/LanguageChromium.cpp:

(WebCore::platformLanguage):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

09:12 Changeset [115642] by commit-queue@webkit.org

[EFL] Update expectations for media/audio-delete-while-step-button-clicked.html
https://bugs.webkit.org/show_bug.cgi?id=85180

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-04-30

  • platform/efl/test_expectations.txt:
08:42 Changeset [115641] by bdakin@apple.com

https://bugs.webkit.org/show_bug.cgi?id=82922
border-image with image-set does not render correctly when viewed at
2x
-and corresponding-
<rdar://problem/11167820>

Reviewed by Dan Bernstein.

Source/WebCore:

StyleImage::computeIntrinsicDimensions() is only called from one
place: RenderBoxModelObject::calculateIntrinsicDimensions(), and that
is only used for background images and border images. In my original
image-set work, I decided that
StyleCachedImageSet::computeIntrinsicDimensions() would compute
"intrinsic" dimensions, meaning that they would compute the dimensions
that the image resource was pretending to be rather than the actual
dimensions of the resource. I chose to do this because it made
background images work great without changing the call-site. But border
images need to know the actual intrinsic dimensions, so this design
decision (which was admittedly questionable from the start) won't
stick.

This patch makes StyleImage::computeIntrinsicDimensions() return
actual intrinsic dimensions. Then the border-image and background-
image code is very lightly patched to account for the image's scale
factor.

These functions no longer need the scale factor parameter.

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::computeIntrinsicDimensions):

  • loader/cache/CachedImage.h:

(CachedImage):

  • platform/graphics/GeneratedImage.h:

(GeneratedImage):

  • platform/graphics/GeneratorGeneratedImage.cpp:

(WebCore::GeneratedImage::computeIntrinsicDimensions):

  • platform/graphics/Image.cpp:

(WebCore::Image::computeIntrinsicDimensions):

  • platform/graphics/Image.h:

(Image):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::computeIntrinsicDimensions):

  • platform/graphics/cg/PDFDocumentImage.h:

(PDFDocumentImage):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::computeIntrinsicDimensions):

  • svg/graphics/SVGImage.h:

(SVGImage):

  • rendering/style/StyleCachedImageSet.cpp:

(WebCore::StyleCachedImageSet::computeIntrinsicDimensions):

New function on StyleImage returns the image's scale factor.

  • rendering/style/StyleCachedImageSet.h:

(WebCore::StyleCachedImageSet::imageScaleFactor):

  • rendering/style/StyleImage.h:

(WebCore::StyleImage::imageScaleFactor):

Scale the intrinsic size of the background image down by the scale
factor.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateFillTileSize):

Slices should be multiplied by the image's scale factor since they are
always expected to the specified in the 1x image's coordinate space.
(WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

  • fast/hidpi/image-set-border-image-comparison.html: Added.
  • fast/hidpi/resources/Breakpoint-2x.png: Added.
  • fast/hidpi/resources/Breakpoint.png: Added.
  • platform/mac/fast/hidpi/image-set-border-image-comparison-expected.png: Added.
  • platform/mac/fast/hidpi/image-set-border-image-comparison-expected.txt: Added.
08:33 Changeset [115640] by pilgrim@chromium.org

[Chromium] Use new syntax to call callOnMainThread directly
https://bugs.webkit.org/show_bug.cgi?id=85190

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumThreading.cpp:

(WTF::ChromiumThreading::callOnMainThread):

08:26 Changeset [115639] by mrowe@apple.com

<rdar://problem/11313710> Leaks under WebCore::CSSImageSetValue::cachedImageSet when running tests

There was a reference cycle between CSSImageSetValue and StyleCachedImageSet via
CSSImageSetValue::m_imageSet / StyleCachedImageSet::m_imageSetValue. Break the cycle
by having StyleCachedImageSet hold a weak reference to the CSSImageSetValue rather
than a strong reference.

Reviewed by Geoff Garen.

  • rendering/style/StyleCachedImageSet.cpp:

(WebCore::StyleCachedImageSet::StyleCachedImageSet):

  • rendering/style/StyleCachedImageSet.h:

(StyleCachedImageSet):

08:14 Changeset [115638] by arko@motorola.com

Remove custom bindings code in JSHTMLCollectionCustom.cpp for HTMLPropertiesCollection.
https://bugs.webkit.org/show_bug.cgi?id=85172

Reviewed by Kentaro Hara.

Use [JSGenerateToJSObject] in HTMLPropertiesCollection.idl, so that it can generate toJS()
in JSHTMLPropertiesCollection.cpp automatically.

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::toJS):

  • html/HTMLPropertiesCollection.idl:
08:10 Changeset [115637] by carlosgc@webkit.org

Tagging the WebKitGTK+ 1.9.1 release

08:05 Changeset [115636] by kling@webkit.org

Rebaseline svg/zoom/page/zoom-svg-through-object-with-percentage-size.svg for Mac after Length changes.

  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
07:58 Changeset [115635] by pilgrim@chromium.org

[Chromium] Use new syntax to call monotonicallyIncreasingTime directly
https://bugs.webkit.org/show_bug.cgi?id=85189

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumCurrentTime.cpp:

(WTF::monotonicallyIncreasingTime):

07:56 Changeset [115634] by pilgrim@chromium.org

[Chromium] Use new syntax to call userAgent directly
https://bugs.webkit.org/show_bug.cgi?id=85188

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::userAgent):

07:51 Changeset [115633] by pilgrim@chromium.org

[Chromium] Use new syntax to call currentTime directly
https://bugs.webkit.org/show_bug.cgi?id=85187

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumCurrentTime.cpp:

(WTF::currentTime):

07:48 Changeset [115632] by pilgrim@chromium.org

[Chromium] Use new syntax to call currentThread directly
https://bugs.webkit.org/show_bug.cgi?id=85185

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/CCThreadImpl.cpp:

(WebKit::CCThreadImpl::CCThreadImpl):

  • src/WebCompositorImpl.cpp:

(WebKit::WebCompositorImpl::initialize):

07:43 Changeset [115631] by pilgrim@chromium.org

[Chromium] Use new syntax to call createThread directly
https://bugs.webkit.org/show_bug.cgi?id=85186

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTest::runTest):

  • tests/Canvas2DLayerChromiumTest.cpp:

(Canvas2DLayerChromiumTest::fullLifecycleTest):

07:15 Changeset [115630] by pilgrim@chromium.org

[Chromium] Use new syntax to call createSocketStreamHandle directly
https://bugs.webkit.org/show_bug.cgi?id=85184

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • src/SocketStreamHandle.cpp:

(WebCore::SocketStreamHandleInternal::connect):

07:08 Changeset [115629] by noam.rosenthal@nokia.com

[Texmap] TextureMapperLayer uses intermediate surfaces too eagerly
https://bugs.webkit.org/show_bug.cgi?id=85103

Reviewed by Kenneth Rohde Christiansen.

Instead of automatically using an intermediate surface for layers with opacity and
children, we limit surface usage for layers with more than one child and for layers with
one child and contents of its own.

This prevents us from using intermediate surfaces in cases where a single layer with
opacity has a single descendant with content, in which case normal blending can be used.

Covered by existing compositing layout tests.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore):

  • platform/graphics/texmap/TextureMapperLayer.h:
06:53 WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
06:51 Changeset [115628] by yi.4.shen@nokia.com

Inserting a paragraph between quoted lines in editing/deleting/delete-4038408-fix.html doesn't work
https://bugs.webkit.org/show_bug.cgi?id=78193

Reviewed by Ryosuke Niwa.

When pasting a copied portion of a blockquote with a newline at the end into an unquoted area,
the newline is inserted after the blockquote since we don't want it also to be quoted. However,
this behavior has also applied when we insert a paragraph between quoted lines, which is incorrect.
To figure out the right place to insert a paragraph, we need providing more information to the
InsertParagraphSeparatorCommand by introducing a boolean parameter "pasteBlockqutoeIntoUnquotedArea".

Source/WebCore:

Tests: editing/inserting/insert-paragraph-separator-in-blockquote.html

editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertParagraphSeparator):

  • editing/CompositeEditCommand.h:

(CompositeEditCommand):

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
(WebCore::InsertParagraphSeparatorCommand::doApply):

  • editing/InsertParagraphSeparatorCommand.h:

(WebCore::InsertParagraphSeparatorCommand::create):
(InsertParagraphSeparatorCommand):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

LayoutTests:

  • editing/inserting/insert-paragraph-separator-in-blockquote-expected.txt: Added.
  • editing/inserting/insert-paragraph-separator-in-blockquote.html: Added.
  • editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote-expected.txt: Added.
  • editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html: Added.
06:49 Changeset [115627] by mario@webkit.org

[GTK] Implement WebUIClient's runOpenPanel in WebKit2GTK+
https://bugs.webkit.org/show_bug.cgi?id=78491

Reviewed by Martin Robinson.

Add a new public class to the API, WebKitFileChooserRequest, to be
emitted along with a new WebKitWebView::run-file-chooser signal to
let client applications to provide their own file chooser dialog
when the use interacts with HTML Input elements of type 'file'.

  • GNUmakefile.am: Added new source files and headers.
  • UIProcess/API/gtk/WebKitFileChooserRequest.cpp: Added.

(_WebKitFileChooserRequestPrivate):
(webkit_file_chooser_request_init):
(webkitFileChooserRequestFinalize):
(webkitFileChooserRequestGetProperty):
(webkit_file_chooser_request_class_init):
(webkitFileChooserRequestCreate):
(webkit_file_chooser_request_get_mime_types):
(webkit_file_chooser_request_get_mime_types_filter):
(webkit_file_chooser_request_get_select_multiple):
(webkit_file_chooser_request_select_files):
(webkit_file_chooser_request_get_selected_files):
(webkit_file_chooser_request_cancel):

  • UIProcess/API/gtk/WebKitFileChooserRequest.h: Added.

(_WebKitFileChooserRequest):
(_WebKitFileChooserRequestClass):

  • UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h: Added,

containing the prototype of webkitFileChooserRequestCreate.

Provide private API to make a file chooser request from the
WebView, and provide a default handler for it.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(fileChooserDialogResponseCallback): Handler for the 'response'
signal for the GtkFileChooserDialog used in the default
handler. It will call to webkit_file_chooser_request_select_files
or webkit_file_chooser_request_cancel as needed.
(webkitWebViewRunFileChooser): Default handler for the new
'run-file-chooser' signal. It will create a GtkFileChooserDialog,
connect to the 'response' signal and show it.
(webkit_web_view_class_init): Connect the 'run-file-chooser'
signal to the default handler, webkitWebViewRunFileChooser.
(webkitWebViewRunFileChooserRequest):

  • UIProcess/API/gtk/WebKitWebView.h:

(_WebKitWebViewClass): Added prototype for the handler of the new
'run-file-chooser' signal.

  • UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype for

private new function webkitWebViewRunFileChooserRequest.

Provide an implementation for runOpenPanel in WebKitUIClient.

  • UIProcess/API/gtk/WebKitUIClient.cpp:

(runOpenPanel): New, implements runOpenPanel by creating an
instance of WebKitFileChooserRequest and asking the WebView to
emit the 'run-file-chooser' signal with it.
(attachUIClientToView): Reference the new runOpenPanel function.

Added the new publich header to the main header.

  • UIProcess/API/gtk/webkit2.h: Added WebKitFileChooserRequest.h.

New unit tests for the new WebKitFileChooserRequest API. Also,
extended the WebViewTest class to allow simulating mouse clicks.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(checkMimeTypeForFilter): New, checks whether a GtkFileFilter
filters a given MIME type, as specified by RFC 2046.
(testWebViewFileChooserRequest): New unit test.
(beforeAll): Add the new unit test as an UIClientTest.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::clickMouseButton): New public function to simulate a
mouse click through GdkEvents, as the combination of a 'press' and
a 'release' event. Used from the new unit test to simulate the
user pressing in the button rendered for a HTML Input element.
(WebViewTest::executeMouseButtonEvent): New private function to
simulate a mouse event through GdkEvents.

  • UIProcess/API/gtk/tests/WebViewTest.h:

Updated documentation related files with the new API.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API.
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Added get_type function.
06:42 Changeset [115626] by jocelyn.turcotte@nokia.com

Unreviewed, move myself to reviewers

  • Scripts/webkitpy/common/config/committers.py:
05:55 Changeset [115625] by antti@apple.com

Protect current element in HTMLLinkElement::setCSSStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=85166

Source/WebCore:

Reviewed by Andreas Kling.

Stylesheet loading can trigger script execution.

Test: fast/css/cached-sheet-restore-crash.html

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::setCSSStyleSheet):

LayoutTests:

Reviewed by Andreas Kling.

  • fast/css/cached-sheet-restore-crash-expected.txt: Added.
  • fast/css/cached-sheet-restore-crash.html: Added.
04:58 Changeset [115624] by carlosgc@webkit.org

[GTK] Update NEWS and configure.ac for 1.9.1 release
https://bugs.webkit.org/show_bug.cgi?id=85175

Reviewed by Philippe Normand.

.:

  • configure.ac: Bumped version number. Disable WebKit2 by default

for now, since we still don't use a different libtool version for
libwebkit2gtk. It will be enabled again after the release and the
library version will be reworked for the next release.

Source/WebKit/gtk:

  • NEWS: Added release notes for 1.9.1.
04:30 Changeset [115623] by pfeldman@chromium.org

Not reviewed: chromium expectations updated.

  • platform/chromium/test_expectations.txt:
04:18 Changeset [115622] by carlosgc@webkit.org

Unreviewed. Fix make distcheck.

.:

  • GNUmakefile.am: Add ALL_MOFILES declaration.

Source/JavaScriptCore:

  • GNUmakefile.list.am: Add missing header.

Source/ThirdParty:

  • gtest/GNUmakefile.am: Add source code files included by

gtest_all.cc to EXTRA_DIST.

Source/WebKit/gtk/po:

  • GNUmakefile.am: Use += for ALL_MOFILES variable to make sure all

.mo files are cleaned by distclean.

Tools:

  • TestWebKitAPI/GNUmakefile.am: Add missing headers to compilation

and resources to EXTRA_DIST.

04:02 Changeset [115621] by commit-queue@webkit.org

[GTK] DRT support for layoutTestController.removeOriginAccessWhitelistEntry
https://bugs.webkit.org/show_bug.cgi?id=85156

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

Source/WebKit/gtk:

Add support for removeOriginAccessWhitelistEntry which allow
layout tests to remove origins whitelisting.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::removeWhiteListAccessFromOrigin):

  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Tools:

Add missing implementation removeOriginAccessWhitelistEntry to
GTK's LayoutTestController.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::removeOriginAccessWhitelistEntry):

LayoutTests:

Unskip http/tests/xmlhttprequest/origin-whitelisting-removal.html

  • platform/gtk/test_expectations.txt:
03:52 Changeset [115620] by pfeldman@chromium.org

Not reviewed: chromium expectations updated.

  • platform/chromium/test_expectations.txt:
02:24 Changeset [115619] by cevans@google.com

Merge 114209
BUG=122692
Review URL: https://chromiumcodereview.appspot.com/10270008

01:57 Changeset [115618] by cevans@google.com

Merge 113418
BUG=118374
Review URL: https://chromiumcodereview.appspot.com/10267006

01:45 Changeset [115617] by cevans@google.com

Merge 113581
BUG=120711
Review URL: https://chromiumcodereview.appspot.com/10261009

01:36 Changeset [115616] by cevans@google.com

Merge 113497
BUG=120711
Review URL: https://chromiumcodereview.appspot.com/10272008

01:25 Changeset [115615] by cevans@google.com

Merge 113252
BUG=120711
Review URL: https://chromiumcodereview.appspot.com/10264007

01:16 Changeset [115614] by cevans@google.com

Merge 113291
BUG=122014
Review URL: https://chromiumcodereview.appspot.com/10261008

01:14 Changeset [115613] by cevans@google.com

Merge 113759
BUG=122760
Review URL: https://chromiumcodereview.appspot.com/10274004

01:08 Changeset [115612] by cevans@google.com

Merge 113138
BUG=121223
Review URL: https://chromiumcodereview.appspot.com/10270006

00:59 Changeset [115611] by cevans@google.com

Merge 113887
BUG=118642
Review URL: https://chromiumcodereview.appspot.com/10265007

00:56 Changeset [115610] by cevans@google.com

Merge 113951
BUG=122585
Review URL: https://chromiumcodereview.appspot.com/10260009

00:46 Changeset [115609] by cevans@google.com

Merge 114666
BUG=123484
Review URL: https://chromiumcodereview.appspot.com/10262008

00:37 Changeset [115608] by cevans@google.com

Merge 115236
BUG=122573
Review URL: https://chromiumcodereview.appspot.com/10271004

00:32 Changeset [115607] by cevans@google.com

Merge 113852
BUG=121736
Review URL: https://chromiumcodereview.appspot.com/10269004

00:10 Changeset [115606] by kling@webkit.org

Add Mac expectation for fast/dom/Window/window-lookup-precedence.html.

Mac builds without ENABLE(DATALIST).

  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
00:00 Changeset [115605] by kling@webkit.org

Skip the fast/performance/ directory on Mac since the bots don't build with ENABLE(WEB_TIMING).

  • platform/mac/Skipped:

04/29/12:

19:51 Changeset [115604] by fpizlo@apple.com

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):

19:24 Changeset [115603] by keishi@webkit.org

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):

18:28 Changeset [115602] by macpherson@chromium.org

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):

18:22 Changeset [115601] by mjs@apple.com

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.

17:25 Changeset [115600] by tkent@chromium.org

[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.

13:08 Changeset [115599] by commit-queue@webkit.org

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 Changeset [115598] by tomz@codeaurora.org

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:
08:25 Changeset [115597] by commit-queue@webkit.org

[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:
08:20 Changeset [115596] by noam.rosenthal@nokia.com

[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):

01:58 Changeset [115595] by pilgrim@chromium.org

[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):

01:07 Changeset [115594] by haraken@chromium.org

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):

00:09 Changeset [115593] by zandobersek@gmail.com

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:

04/28/12:

23:04 Changeset [115592] by ossy@webkit.org

[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.
18:53 Changeset [115591] by weinig@apple.com

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.

18:44 Changeset [115590] by ggaren@apple.com

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.

18:32 Changeset [115589] by weinig@apple.com

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.

18:14 Changeset [115588] by commit-queue@webkit.org

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.
16:53 Changeset [115587] by fpizlo@apple.com

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):

15:50 Changeset [115586] by weinig@apple.com

Try to fix the Qt build.

  • heap/Heap.cpp:

(JSC::Heap::lastChanceToFinalize):

15:45 Changeset [115585] by weinig@apple.com

And again.

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

15:39 Changeset [115584] by weinig@apple.com

Once again, try to make these puppies work.

  • bindings/v8/custom/V8BlobCustom.cpp:
15:33 Changeset [115583] by weinig@apple.com

Fix the Chromium build.

  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallback):

15:24 Changeset [115582] by weinig@apple.com

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:
13:59 Changeset [115581] by igor.o@sisa.samsung.com

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:
13:58 Changeset [115580] by ggaren@apple.com

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

Try to fix the Windows build.

13:51 Changeset [115579] by ggaren@apple.com

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 Changeset [115578] by zandobersek@gmail.com

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 Changeset [115577] by loislo@chromium.org

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 Changeset [115576] by noam.rosenthal@nokia.com

[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 Changeset [115575] by eae@chromium.org

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 Changeset [115574] by noam.rosenthal@nokia.com

[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):

09:27 Changeset [115573] by eae@chromium.org

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:
09:00 Changeset [115572] by zandobersek@gmail.com

[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:
08:57 Changeset [115571] by zandobersek@gmail.com

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.
08:42 Changeset [115570] by danw@gnome.org

watchlist: Add danw@gnome.org to SoupNetwork

  • Scripts/webkitpy/common/config/watchlist:
07:20 Changeset [115569] by apavlov@chromium.org

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:
07:11 Changeset [115568] by commit-queue@webkit.org

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

05:47 Changeset [115567] by noel.gordon@gmail.com

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:
05:01 Changeset [115566] by zimmermann@webkit.org

<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.
04:21 Changeset [115565] by noel.gordon@gmail.com

[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.
04:03 Changeset [115564] by zimmermann@webkit.org

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.
02:57 Changeset [115563] by caseq@chromium.org

[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):

02:49 Changeset [115562] by yurys@chromium.org

Unreviewed. Gtk build fix after r115553.

  • Source/autotools/symbols.filter:
02:44 Changeset [115561] by zimmermann@webkit.org

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.
02:29 Changeset [115560] by zimmermann@webkit.org

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):

02:20 Changeset [115559] by yurys@chromium.org

Unreviewed. Added new exported symbols after r115553.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
02:16 Changeset [115558] by zimmermann@webkit.org

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):
02:07 Changeset [115557] by yurys@chromium.org

2012-04-28 Yury Semikhatsky <yurys@chromium.org>

Unreviewed. Qt build fix: added new exported symbols.

  • WebCore.exp.in:
01:49 Changeset [115556] by yurys@chromium.org

Unreviewed. Fix Qt minimal build after r115553.

  • inspector/InspectorConsoleAgent.h:
01:27 Changeset [115555] by zimmermann@webkit.org

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:
01:22 Changeset [115554] by zimmermann@webkit.org

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.
01:20 Changeset [115553] by yurys@chromium.org

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):

01:08 Changeset [115552] by ossy@webkit.org

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

  • platform/qt/Skipped:
00:02 Changeset [115551] by noel.gordon@gmail.com

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:

04/27/12:

23:32 Changeset [115550] by ossy@webkit.org

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.
23:28 Changeset [115549] by jochen@chromium.org

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):

23:06 Changeset [115548] by ggaren@apple.com

Try to fix the Windows build.

  • heap/WeakBlock.h:

(WeakBlock):

23:05 Changeset [115547] by zandobersek@gmail.com

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:
23:02 Changeset [115546] by ggaren@apple.com

Try to fix the Qt build.

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtRuntimeMethod::finishCreation):

22:57 Changeset [115545] by ggaren@apple.com

Made WeakSet::allocate() static and removed its JSGlobalData argument
https://bugs.webkit.org/show_bug.cgi?id=85128

Reviewed by Anders Carlsson.

../JavaScriptCore:

This is a step toward faster finalization.

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

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

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

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

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

../WebCore:

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

  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsStringSlowCase):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::setWrapper):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::JSNodeFilterCondition):

  • bindings/js/ScriptWrappable.h:

(WebCore::ScriptWrappable::setWrapper):

  • bridge/jsc/BridgeJSC.cpp:

(JSC::Bindings::Instance::createRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::QtRuntimeMethod::finishCreation):

  • bridge/runtime_root.cpp:

(JSC::Bindings::RootObject::addRuntimeObject):

../WebKit2:

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

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::getOrCreateJSObject):

22:33 DeprecatingFeatures edited by dbates@webkit.org
Spelling corrections (diff)
22:31 Changeset [115544] by mrowe@apple.com

<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):

22:20 Changeset [115543] by mrowe@apple.com

Merge r115501.

22:19 Changeset [115542] by mrowe@apple.com

Versioning.

22:16 Changeset [115541] by mrowe@apple.com

New tag.

21:59 Changeset [115540] by dino@apple.com

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):

21:57 Changeset [115539] by commit-queue@webkit.org

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.
21:26 Changeset [115538] by ggaren@apple.com

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.

21:16 Changeset [115537] by commit-queue@webkit.org

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.
20:58 Changeset [115536] by haraken@chromium.org

[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):

20:56 Changeset [115535] by pilgrim@chromium.org

[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):

20:43 Changeset [115534] by ggaren@apple.com

Only allow non-null pointers in the WeakSet
https://bugs.webkit.org/show_bug.cgi?id=85119

Reviewed by Darin Adler.

../JavaScriptCore:

This is a step toward more efficient finalization.

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

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

  • heap/PassWeak.h:

(JSC): Removed the Unknown (JSValue) type of weak pointer because it's
unused now.

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

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

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

  • heap/Weak.h:

(Weak):
(JSC::::Weak): Same changes as in PassWeak<T>.

  • heap/WeakBlock.cpp:

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

  • heap/WeakImpl.h:

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

../WebCore:

  • bridge/jsc/BridgeJSC.cpp:

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

20:30 Changeset [115533] by haraken@chromium.org

"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:
20:23 Changeset [115532] by kov@webkit.org

[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.
20:20 Changeset [115531] by kbr@google.com

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.
20:12 Changeset [115530] by commit-queue@webkit.org

[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:
19:55 Changeset [115529] by enne@google.com

[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):

19:43 Changeset [115528] by commit-queue@webkit.org

[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):

19:29 Changeset [115527] by tony@chromium.org

[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):

19:16 Changeset [115526] by commit-queue@webkit.org

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:
18:28 Changeset [115525] by nduca@chromium.org

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):

18:26 Changeset [115524] by scherkus@chromium.org

[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:
18:02 Changeset [115523] by barraclough@apple.com

<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.
18:00 Changeset [115522] by haraken@chromium.org

[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):

17:34 Changeset [115521] by pilgrim@chromium.org

[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):

17:10 Changeset [115520] by yi.4.shen@nokia.com

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:
17:07 Changeset [115519] by commit-queue@webkit.org

[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):

17:04 Changeset [115518] by timothy_horton@apple.com

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.

16:56 Changeset [115517] by adamk@chromium.org

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):

16:51 Changeset [115516] by msaboff@apple.com

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):

16:48 Changeset [115515] by yael.aharon@nokia.com

[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):

16:31 Changeset [115514] by dpranke@chromium.org

Mark tables/mozilla/other/slashlogo.html as SLOW
https://bugs.webkit.org/show_bug.cgi?id=85106

  • platform/chromium/test_expectations.txt:
16:28 EWS edited by gavinp@chromium.org
(diff)
16:27 Changeset [115513] by jpfau@apple.com

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.
16:26 Changeset [115512] by fpizlo@apple.com

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):

(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):

16:23 Changeset [115511] by commit-queue@webkit.org

[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:
16:18 Changeset [115510] by scherkus@chromium.org

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:
16:15 Changeset [115509] by jamesr@google.com

[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):

16:13 Changeset [115508] by dglazkov@chromium.org

[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.
16:09 Changeset [115507] by dglazkov@chromium.org

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.
16:08 Changeset [115506] by commit-queue@webkit.org

[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):

16:06 Changeset [115505] by dglazkov@chromium.org

Mark tables/mozilla/other/slashlogo.html as flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=85106

  • platform/chromium/test_expectations.txt: Marked.
16:06 UsingGitWithWebKit edited by jamesr@google.com
Change "path/to/resolve-ChangeLogs" to "Tools/Scripts/resolve-ChangeLogs" … (diff)
16:03 Changeset [115504] by dglazkov@chromium.org

[Chromium] Remove remaining mentions of platform/mac-leopard.

  • platform/chromium/test_expectations.txt: Removed.
15:36 LayoutTestsSearchPath edited by tony@chromium.org
(diff)
15:34 Changeset [115503] by nduca@chromium.org

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:
15:30 Changeset [115502] by tony@chromium.org

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.
15:14 Changeset [115501] by mrowe@apple.com

<rdar://problem/11339645> WebKit projects should explicitly ask for dSYM files in production builds

Rubber-stamped by Dan Bernstein.

15:11 Changeset [115500] by commit-queue@webkit.org

[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:
15:02 Changeset [115499] by commit-queue@webkit.org

[EFL] Several media layout tests need rebaselining
https://bugs.webkit.org/show_bug.cgi?id=84943

Unreviewed, rebaseline EFL media layout tests due to r114957.

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

  • platform/efl/media/media-controls-clone-expected.txt:
  • platform/efl/media/video-empty-source-expected.txt:
  • platform/efl/media/video-zoom-controls-expected.txt:
14:55 Changeset [115498] by fpizlo@apple.com

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):

14:47 Changeset [115497] by ggaren@apple.com

Fixed accidental ';' in ChangeLog

14:46 Changeset [115496] by ggaren@apple.com

;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.

14:38 Changeset [115495] by haraken@chromium.org

[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):

14:36 Changeset [115494] by haraken@chromium.org

[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):

14:16 Changeset [115493] by oliver@apple.com

Correct assertion.

14:08 Changeset [115492] by enne@google.com

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

14:07 Changeset [115491] by dglazkov@chromium.org

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:
14:03 Changeset [115490] by dpranke@chromium.org

[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:
13:59 Changeset [115489] by peter@chromium.org

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.

13:32 Changeset [115488] by eric.carlson@apple.com

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.
13:30 Changeset [115487] by achicu@adobe.com

[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.
13:29 Changeset [115486] by hans@chromium.org

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):

13:27 Changeset [115485] by crogers@google.com

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.

13:23 Changeset [115484] by weinig@apple.com

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:
  • 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:
13:19 Changeset [115483] by oliver@apple.com

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):

13:18 Changeset [115482] by commit-queue@webkit.org

[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:
13:18 Changeset [115481] by dglazkov@chromium.org

Remove passing test from expectations.

  • platform/chromium/test_expectations.txt: Another one bites the dust.
13:09 Changeset [115480] by dglazkov@chromium.org

[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.
13:07 Changeset [115479] by lforschler@apple.com

Merged r114792.

13:07 Changeset [115478] by commit-queue@webkit.org

[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):

13:05 Changeset [115477] by lforschler@apple.com

Merged r114778.

13:02 Changeset [115476] by lforschler@apple.com

Versioning.

13:00 Changeset [115475] by lforschler@apple.com

New Tag.

13:00 Changeset [115474] by lforschler@apple.com

Remove Tag.

12:59 Changeset [115473] by lforschler@apple.com

New Tag.

12:44 Changeset [115472] by leandrogracia@chromium.org

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 Changeset [115471] by shawnsingh@chromium.org

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 Changeset [115470] by arv@chromium.org

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 Changeset [115469] by dpranke@chromium.org

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 Changeset [115468] by lforschler@apple.com

rollout 113723.

12:24 Changeset [115467] by dglazkov@chromium.org

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 Changeset [115466] by rniwa@webkit.org

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 Changeset [115465] by benjamin@webkit.org

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 Changeset [115464] by commit-queue@webkit.org

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 Changeset [115463] by leandrogracia@chromium.org

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 Changeset [115462] by dglazkov@chromium.org

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 Changeset [115461] by rniwa@webkit.org

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 Changeset [115460] by enrica@apple.com

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 Changeset [115459] by eae@chromium.org

Merge length changes into subpixel branch.

11:44 Changeset [115458] by jchaffraix@webkit.org

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 Changeset [115457] by lforschler@apple.com

Versioning.

11:34 Changeset [115456] by lforschler@apple.com

New Tag.

11:33 Changeset [115455] by leviw@chromium.org

Using minimumIntValueForLength instead of a static_cast.

11:26 Changeset [115454] by antti@apple.com

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 Changeset [115453] by dpranke@chromium.org

[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 Changeset [115452] by dpranke@chromium.org

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 Changeset [115451] by commit-queue@webkit.org

[EFL] ResourceError domain needs to be properly set in FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=84129

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

Source/WebKit/efl:

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

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::cancelledError):
(WebCore::FrameLoaderClientEfl::blockedError):
(WebCore::FrameLoaderClientEfl::cannotShowURLError):
(WebCore::FrameLoaderClientEfl::interruptedForPolicyChangeError):
(WebCore::FrameLoaderClientEfl::cannotShowMIMETypeError):
(WebCore::FrameLoaderClientEfl::fileDoesNotExistError):
(WebCore::FrameLoaderClientEfl::pluginWillHandleLoadError):

LayoutTests:

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

  • platform/efl/Skipped:
11:03 Changeset [115450] by dglazkov@chromium.org

[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 Changeset [115449] by commit-queue@webkit.org

[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 Changeset [115448] by tonyg@chromium.org

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 Changeset [115447] by apavlov@chromium.org

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.
09:56 Changeset [115446] by keishi@webkit.org

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:
09:53 Changeset [115445] by dglazkov@chromium.org

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.
09:46 Changeset [115444] by dglazkov@chromium.org

[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.
09:38 Changeset [115443] by gavinp@chromium.org

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:
09:35 Changeset [115442] by zandobersek@gmail.com

[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):

09:34 Changeset [115441] by dglazkov@chromium.org

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):

09:32 Changeset [115440] by dglazkov@chromium.org

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):

09:29 Changeset [115439] by dglazkov@chromium.org

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):

09:27 Changeset [115438] by zandobersek@gmail.com

[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.
09:10 Changeset [115437] by commit-queue@webkit.org

[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):

08:57 Changeset [115436] by gavinp@chromium.org

[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.
08:29 Changeset [115435] by commit-queue@webkit.org

[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):

08:27 Changeset [115434] by kling@webkit.org

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.
08:14 Changeset [115433] by bulach@chromium.org

[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):

08:05 Changeset [115432] by rwlbuis@webkit.org

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.
08:05 Changeset [115431] by philn@webkit.org

Unreviewed, GTK gardening.

  • Scripts/run-gtk-tests:

(TestRunner): Skip flaky WebKit2 API test.

08:00 Changeset [115430] by commit-queue@webkit.org

[EFL] media/video-controls-rendering-toggle-display-none.html is failing
https://bugs.webkit.org/show_bug.cgi?id=84949

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

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

  • css/mediaControlsEfl.css:

(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):

07:58 Changeset [115429] by zimmermann@webkit.org

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.
07:55 Changeset [115428] by bulach@chromium.org

[chromium] Update test expectation.
https://bugs.webkit.org/show_bug.cgi?id=85038

Unreviewed, chromium test_expectations update.

  • platform/chromium/test_expectations.txt:
07:17 Changeset [115427] by commit-queue@webkit.org

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.
07:12 Changeset [115426] by yael.aharon@nokia.com

[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):

07:10 Changeset [115425] by zimmermann@webkit.org

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:
06:52 Changeset [115424] by commit-queue@webkit.org

[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):

06:50 Changeset [115423] by zimmermann@webkit.org

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):

06:13 Changeset [115422] by philn@webkit.org

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...

05:24 Changeset [115421] by bulach@chromium.org

[chromium] Disables a few webkit_unittests.
https://bugs.webkit.org/show_bug.cgi?id=85052

Unreviewed build fix.

  • tests/PopupMenuTest.cpp:

(WebKit::TEST_F):

05:02 Changeset [115420] by kkristof@inf.u-szeged.hu

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):

04:51 Changeset [115419] by philn@webkit.org

Unreviewed, GTK test_expectations update.

  • platform/gtk/test_expectations.txt: Mark another http/inspector

test as crashing.

04:42 Changeset [115418] by philn@webkit.org

Unreviewed, GTK gardening.

  • Scripts/run-gtk-tests:

(TestRunner): Skip failing WebKit2 API test.

03:07 Changeset [115417] by apavlov@chromium.org

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.
02:59 Changeset [115416] by philn@webkit.org

Unreviewed, GTK test_expectations update.

  • platform/gtk/test_expectations.txt: Flag http test hitting an ASSERT.
02:47 Changeset [115415] by commit-queue@webkit.org

[EFL] DRT should support LayoutTestController's dumpResourceLoadCallbacks()
https://bugs.webkit.org/show_bug.cgi?id=81891

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

Source/WebKit/efl:

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

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::assignIdentifierToInitialRequest):
(WebCore::FrameLoaderClientEfl::dispatchDidReceiveResponse):
(WebCore::FrameLoaderClientEfl::dispatchDidFinishLoading):
(WebCore::FrameLoaderClientEfl::dispatchDidFailLoading):

  • ewk/ewk_frame.cpp:

(ewk_frame_response_received):
(ewk_frame_load_finished):
(ewk_frame_load_resource_finished):
(ewk_frame_load_resource_failed):
(ewk_frame_load_error):

  • ewk/ewk_frame.h:
  • ewk/ewk_private.h:
  • ewk/ewk_view.h:

Tools:

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

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::createView):
(descriptionSuitableForTestResult):
(DumpRenderTreeChrome::onResponseReceived):
(DumpRenderTreeChrome::onResourceLoadFinished):
(DumpRenderTreeChrome::onResourceLoadFailed):
(DumpRenderTreeChrome::onNewResourceRequest):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

LayoutTests:

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

  • platform/efl/Skipped:
02:16 Changeset [115414] by philn@webkit.org

Unreviewed, GTK typo fix.

  • Scripts/run-gtk-tests:

(TestRunner): Fix-up skipped WebKit2 API test name TestWKConnection.

02:07 Changeset [115413] by bulach@chromium.org

[chromium] Update test expectation.
https://bugs.webkit.org/show_bug.cgi?id=85038

Unreviewed, chromium test_expectations update.

  • platform/chromium/test_expectations.txt:
01:42 PrefixedAPIs edited by sh4.seo@samsung.com
CSS Transitions (diff)
01:38 PrefixedAPIs edited by sh4.seo@samsung.com
CSS Animations (diff)
01:09 Changeset [115412] by philn@webkit.org

Unreviewed, GTK test_expectations update.

  • platform/gtk/test_expectations.txt: Fix expected results of

css2.1 results and remove non-existant fast/form test.

00:13 Changeset [115411] by carlosgc@webkit.org

[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.

00:05 Changeset [115410] by rniwa@webkit.org

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):

Note: See TracTimeline for information about the timeline view.