WebKit-https.git
9 years ago[Qt]r57240 broke Qt build (gcc bug)
ossy@webkit.org [Wed, 2 May 2012 08:20:09 +0000 (08:20 +0000)]
[Qt]r57240 broke Qt build (gcc bug)
https://bugs.webkit.org/show_bug.cgi?id=37253

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2012-05-02
Reviewed by Noam Rosenthal.

Removing workaround macro since current gcc/Qt doesn't require it to compile.

* wtf/PassRefPtr.h:
(WTF):

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

9 years ago[Qt] QQuickWebView does not allow for input from virtual keyboard
hausmann@webkit.org [Wed, 2 May 2012 08:10:38 +0000 (08:10 +0000)]
[Qt] QQuickWebView does not allow for input from virtual keyboard
https://bugs.webkit.org/show_bug.cgi?id=85350

Reviewed by Kenneth Christiansen.

It is necessary to set the ItemAcceptsInputMethod flag on the QQuickWebView if we have editable
content, in order for the input method to recognize that we can handle input method events.

Analyzed by Michael Brüning.

* UIProcess/API/qt/qquickwebview.cpp: Add simple hook for executing JS as private C++ API.
(JSCallbackClosure):
(javaScriptCallback):
(QQuickWebView::runJavaScriptInMainFrame):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/html/inputmethod.html: Added.
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
(tst_QQuickWebView::runJavaScript): Simple helper for running JS.
(tst_QQuickWebView::inputMethod): Added simple test for ItemAcceptsInputMethod toggling.
* UIProcess/qt/QtWebPageEventHandler.cpp:
(WebKit::QtWebPageEventHandler::updateTextInputState): Set ItemAcceptsInputMethod as soon as we
have editable content.

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

9 years ago[EFL] Implement the Web Audio API feature.
commit-queue@webkit.org [Wed, 2 May 2012 07:58:30 +0000 (07:58 +0000)]
[EFL] Implement the Web Audio API feature.
https://bugs.webkit.org/show_bug.cgi?id=78688

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-02
Reviewed by Philippe Normand.

Implement the Web Audio API feature on the EFL port.
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

.:

* Source/cmake/FindGStreamer-Audio.cmake: Added. Find the pkgconfig of the GStreamer-audio.
* Source/cmake/FindGStreamer-FFT.cmake: Added. Find the pkgconfig of the GStreamer-fft.
* Source/cmake/OptionsEfl.cmake: Add the ENABLE_WEB_AUDIO option.
* Source/cmakeconfig.h.cmake: Add the ENABLE_WEB_AUDIO option.

Source/WebCore:

* CMakeLists.txt: Add the list of the files which are needed for the Web Audio APi.
* PlatformEfl.cmake: Add the list of the files which are needed for the Web Audio APi.
* UseJSC.cmake: Add the list of the files which are needed for the Web Audio APi.
* platform/audio/HRTFElevation.cpp: Enable the USE_CONCATENATED_IMPULSE_RESPONSES macro.
(WebCore):
* platform/audio/efl/AudioBusEfl.cpp: Added.
(WebCore):
(WebCore::AudioBus::loadPlatformResource): Create the absolute path of the audio resource.

Source/WebKit/efl:

* ewk/ewk_view.cpp: Add the setter/getter of the webaudio feature.
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_web_audio_get): Enable/disable the Web Audio API feature.
(ewk_view_setting_web_audio_set): Query if the Web Audio API feature is enabled.
* ewk/ewk_view.h: Add the prototypes.

LayoutTests:

* platform/efl/Skipped: Change the comment of webaudio.

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

9 years ago[Chromium] Adjust baseline location for media/media-can-play-type-webm.html.
scherkus@chromium.org [Wed, 2 May 2012 07:00:52 +0000 (07:00 +0000)]
[Chromium] Adjust baseline location for media/media-can-play-type-webm.html.

* platform/chromium/media/media-can-play-webm-expected.txt: Renamed from LayoutTests/media/media-can-play-webm-expected.txt.

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

9 years agoClean up media canPlayType() tests and add a test for WebM.
scherkus@chromium.org [Wed, 2 May 2012 06:07:46 +0000 (06:07 +0000)]
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.

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

9 years ago[V8] Add an Isolate parameter to setJSWrapperForXXX()
haraken@chromium.org [Wed, 2 May 2012 06:07:03 +0000 (06:07 +0000)]
[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):

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

9 years agoAdd <iframe seamless> navigation code (and pass all the navigation tests)
eric@webkit.org [Wed, 2 May 2012 05:54:44 +0000 (05:54 +0000)]
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:

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

9 years ago[Chromium] Move date-input-visible-strings-expected.txt to the correct place.
tkent@chromium.org [Wed, 2 May 2012 05:12:58 +0000 (05:12 +0000)]
[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.

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

9 years agoUnnecessary <form> tags created inside of an <iframe> with designMode on
rniwa@webkit.org [Wed, 2 May 2012 04:57:30 +0000 (04:57 +0000)]
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.

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

9 years agoFullscreen pop-up logic restored to using processingUserGesture.
scheib@chromium.org [Wed, 2 May 2012 04:28:14 +0000 (04:28 +0000)]
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):

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

9 years ago2012-05-01 Xiaomei Ji <xji@chromium.org>
xji@chromium.org [Wed, 2 May 2012 04:16:31 +0000 (04:16 +0000)]
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:

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

9 years agowebkitpy: Remove unused platform imports.
rakuco@webkit.org [Wed, 2 May 2012 04:01:24 +0000 (04:01 +0000)]
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:

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

9 years agoSource/WebCore: enable ctrl-arrow move by word visually in non-Windows platforms.
xji@chromium.org [Wed, 2 May 2012 03:41:29 +0000 (03:41 +0000)]
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.

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

9 years agoModify RealtimeAnalyserNode pull mechanism
commit-queue@webkit.org [Wed, 2 May 2012 03:38:23 +0000 (03:38 +0000)]
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.

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

9 years agodatalist: Form control in a <datalist> should be barred from constraint validation
keishi@webkit.org [Wed, 2 May 2012 03:35:48 +0000 (03:35 +0000)]
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.

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

9 years agoCalendar Picker: Close the picker by ESC key
tkent@chromium.org [Wed, 2 May 2012 03:27:06 +0000 (03:27 +0000)]
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.

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

9 years agoPNGImageDecoder: Handle interlace buffer allocation failure
noel.gordon@gmail.com [Wed, 2 May 2012 03:20:30 +0000 (03:20 +0000)]
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.

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

9 years agoCalendar Picker: Too wide in Japanese locale
tkent@chromium.org [Wed, 2 May 2012 03:01:29 +0000 (03:01 +0000)]
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年".

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

9 years agoPNGImageDecoder: Add ENABLE(IMAGE_DECODER_DOWN_SAMPLING) guards to rowAvailable
noel.gordon@gmail.com [Wed, 2 May 2012 02:52:32 +0000 (02:52 +0000)]
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):

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

9 years ago[Chromium] Rebaseline for date-input-visible-strings.html.
tkent@chromium.org [Wed, 2 May 2012 02:24:20 +0000 (02:24 +0000)]
[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:

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

9 years agoscrollbars/scrollbar-miss-mousemove-disabled.html is asserting in markAllMisspellings...
aestes@apple.com [Wed, 2 May 2012 02:14:42 +0000 (02:14 +0000)]
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.

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

9 years agoRemove uneeded min/max pref width assignment from RenderView
eric@webkit.org [Wed, 2 May 2012 02:09:34 +0000 (02:09 +0000)]
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):

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

9 years agoActually commit changes.
rniwa@webkit.org [Wed, 2 May 2012 01:36:44 +0000 (01:36 +0000)]
Actually commit changes.

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

9 years agoSkip the test added by r115724 on WebKit2 and Qt because drag and drop isn't supporte...
rniwa@webkit.org [Wed, 2 May 2012 01:34:06 +0000 (01:34 +0000)]
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:

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

9 years ago[GTK] new ref test fast/forms/listbox-clear-restore.html fails.
commit-queue@webkit.org [Wed, 2 May 2012 01:32:38 +0000 (01:32 +0000)]
[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:

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

9 years agoSource/WebCore: REGRESSION(r115654): PDFs come up blank
japhet@chromium.org [Wed, 2 May 2012 01:23:10 +0000 (01:23 +0000)]
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.

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

9 years agoAdd support for seamless attribute as well as seamless sandbox flag and default CSS...
eric@webkit.org [Wed, 2 May 2012 01:09:53 +0000 (01:09 +0000)]
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.

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

9 years ago[Chromium] Additional instances of calling histogramCustomCounts directly
pilgrim@chromium.org [Wed, 2 May 2012 00:41:34 +0000 (00:41 +0000)]
[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):

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

9 years agouse USE(NATIVE_FULLSCREEN_VIDEO) instead of ENABLE(NATIVE_FULLSCREEN_VIDEO)
commit-queue@webkit.org [Wed, 2 May 2012 00:39:31 +0000 (00:39 +0000)]
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):

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

9 years agoinspectorReallyUsesWebKitUserInterface should be more robust against missing files
andersca@apple.com [Wed, 2 May 2012 00:36:31 +0000 (00:36 +0000)]
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):

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

9 years ago[Chromium] Additional instances of calling createAudioDevice directly
pilgrim@chromium.org [Wed, 2 May 2012 00:33:43 +0000 (00:33 +0000)]
[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):

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

9 years ago[Chromium] Additional instances of calling mimeRegistry directly
pilgrim@chromium.org [Wed, 2 May 2012 00:27:45 +0000 (00:27 +0000)]
[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):

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

9 years ago[chromium] Accept four parameters when dispatching a WebInputEvent::GestureTap in...
commit-queue@webkit.org [Wed, 2 May 2012 00:21:20 +0000 (00:21 +0000)]
[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|.

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

9 years ago<rdar://problem/10422318> Support for web content filter delegate for filtering https...
jpfau@apple.com [Wed, 2 May 2012 00:17:06 +0000 (00:17 +0000)]
<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):

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

9 years agoCalendar Picker: Add capability to add platform-specific style sheet
tkent@chromium.org [Wed, 2 May 2012 00:12:49 +0000 (00:12 +0000)]
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.

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

9 years agoEnsure HTMLElementStack fails gracefully if it has a non-Element.
simonjam@chromium.org [Wed, 2 May 2012 00:04:01 +0000 (00:04 +0000)]
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:

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

9 years agoAdd myself to the watchlist to watch all rendering changes, as well as sort the watch...
eric@webkit.org [Tue, 1 May 2012 23:39:21 +0000 (23:39 +0000)]
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:

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

9 years ago*Command.h files shouldn't be exported to WebKit layer
rniwa@webkit.org [Tue, 1 May 2012 23:36:57 +0000 (23:36 +0000)]
*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:

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

9 years ago[EFL] fast/loader/file-protocol-fragment.html needs rebaselining
commit-queue@webkit.org [Tue, 1 May 2012 23:09:14 +0000 (23:09 +0000)]
[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.

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

9 years agoRemove expectations for media/encrypted-media/encrypted-media-events.html now that...
commit-queue@webkit.org [Tue, 1 May 2012 23:01:35 +0000 (23:01 +0000)]
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:

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

9 years ago[Mac] inspector/debugger/linkifier.html is flakey
aestes@apple.com [Tue, 1 May 2012 22:52:00 +0000 (22:52 +0000)]
[Mac] inspector/debugger/linkifier.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=85319

* platform/mac/Skipped: Skip the flakey test.

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

9 years agoRemove one bit from m_column to pack RenderTableCell bits more
jchaffraix@webkit.org [Tue, 1 May 2012 22:35:52 +0000 (22:35 +0000)]
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.

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

9 years agoUnreviewed, rolling out r115735.
zmo@google.com [Tue, 1 May 2012 22:25:36 +0000 (22:25 +0000)]
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):

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

9 years agoSlow scrolling on www.sholby.net
andersca@apple.com [Tue, 1 May 2012 22:22:25 +0000 (22:22 +0000)]
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.

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

9 years agoUse the new barrier function in TiledCoreAnimationDrawingArea::forceRepaintAsync
andersca@apple.com [Tue, 1 May 2012 22:03:49 +0000 (22:03 +0000)]
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):

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

9 years agoPhysijs demo crashes due to DFG not updating topCallFrame correctly.
oliver@apple.com [Tue, 1 May 2012 21:34:53 +0000 (21:34 +0000)]
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):

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

9 years agoSource/WebCore: Audio controls have a 1px surplus outline coming from RenderImage...
commit-queue@webkit.org [Tue, 1 May 2012 21:26:04 +0000 (21:26 +0000)]
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:

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

9 years agoAllow a pre-targeted node to be specified when dispatching a GestureTap event
commit-queue@webkit.org [Tue, 1 May 2012 20:50:00 +0000 (20:50 +0000)]
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):

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

9 years agoCrash calling disconnectFrame on a DOMWindowExtension a second time.
jberlin@webkit.org [Tue, 1 May 2012 20:15:26 +0000 (20:15 +0000)]
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.

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

9 years agoSource/WebCore: Temporarily remove webkitSourceAddId() & webkitSourceRemoveId() from DOM
commit-queue@webkit.org [Tue, 1 May 2012 19:27:51 +0000 (19:27 +0000)]
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:

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

9 years agoIndexedDB: stale index entries may not be removed in some cases
commit-queue@webkit.org [Tue, 1 May 2012 19:05:25 +0000 (19:05 +0000)]
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):

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

9 years agoAdd seamless test cases (all of these will pass as we land the implementation patches)
eric@webkit.org [Tue, 1 May 2012 18:50:16 +0000 (18:50 +0000)]
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.

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

9 years ago[Chromium] Fix WebPrerender::referrer() thunk.
gavinp@chromium.org [Tue, 1 May 2012 18:23:13 +0000 (18:23 +0000)]
[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):

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

9 years ago[GTK] Fix gstreamer detection during configure
commit-queue@webkit.org [Tue, 1 May 2012 18:04:48 +0000 (18:04 +0000)]
[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.

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

9 years agoUse HashMap<OwnPtr> for CounterMap in RenderCounter
igor.o@sisa.samsung.com [Tue, 1 May 2012 17:40:03 +0000 (17:40 +0000)]
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):

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

9 years ago[chromium] Accept four parameters when dispatching a WebInputEvent::GestureTap in...
commit-queue@webkit.org [Tue, 1 May 2012 17:19:24 +0000 (17:19 +0000)]
[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.

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

9 years agoWebKit test RenderTableCellDeathTest.CanSetRow is failing as of r115705
jchaffraix@webkit.org [Tue, 1 May 2012 16:59:33 +0000 (16:59 +0000)]
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.

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

9 years agoSkip building instance tree for disallowed target
pdr@google.com [Tue, 1 May 2012 16:10:33 +0000 (16:10 +0000)]
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.

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

9 years agoPrint out stderr output of ImageDiff if it is present
zandobersek@gmail.com [Tue, 1 May 2012 15:52:01 +0000 (15:52 +0000)]
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):

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

9 years agoAdd special attribute for alternate selection touch handling.
mifenton@rim.com [Tue, 1 May 2012 15:32:53 +0000 (15:32 +0000)]
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):

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

9 years ago[Qt] Add an experimental extension to set the min. contents width
kenneth@webkit.org [Tue, 1 May 2012 15:30:30 +0000 (15:30 +0000)]
[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.

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

9 years agoAccumulation for values-animation is broken
zimmermann@webkit.org [Tue, 1 May 2012 15:18:09 +0000 (15:18 +0000)]
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):

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=85231
bdakin@apple.com [Tue, 1 May 2012 15:08:29 +0000 (15:08 +0000)]
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):

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

9 years agodrag of links with styled text drop as links with plain text
rniwa@webkit.org [Tue, 1 May 2012 14:57:58 +0000 (14:57 +0000)]
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.

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

9 years ago[Qt] Stop repeating timers which should only fire once
kenneth@webkit.org [Tue, 1 May 2012 14:53:59 +0000 (14:53 +0000)]
[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):

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

9 years agoRemove Mac WK2-specific result for svg/zoom/page/zoom-replaced-intrinsic-ratio-001...
kling@webkit.org [Tue, 1 May 2012 14:20:44 +0000 (14:20 +0000)]
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.

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

9 years agoWebKit unit tests RenderTableCellDeathTest.CanSetRow* are failing as of r115705
pfeldman@chromium.org [Tue, 1 May 2012 12:55:40 +0000 (12:55 +0000)]
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:

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

9 years agoFix test regression introduced by r115086.
kling@webkit.org [Tue, 1 May 2012 12:28:42 +0000 (12:28 +0000)]
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:

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

9 years agoWebKit test RenderTableCellDeathTest.CanSetRow is failing as of r115705
pfeldman@chromium.org [Tue, 1 May 2012 12:12:23 +0000 (12:12 +0000)]
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:

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

9 years ago[Chromium] Regression r113405 ContextMenuImpl does not set a misspelled word
hbono@chromium.org [Tue, 1 May 2012 11:18:12 +0000 (11:18 +0000)]
[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):

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

9 years ago[Chromium] Rebaseline for recent changes about <input type=date>.
tkent@chromium.org [Tue, 1 May 2012 10:47:49 +0000 (10:47 +0000)]
[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:

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

9 years agoEarly-out for subtracting a non-intersecting region
danakj@chromium.org [Tue, 1 May 2012 09:15:11 +0000 (09:15 +0000)]
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):

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

9 years ago[Chromium] Test expectation update for r115713.
tkent@chromium.org [Tue, 1 May 2012 08:43:43 +0000 (08:43 +0000)]
[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

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

9 years agoUnreviewed, GTK test_expectations update.
philn@webkit.org [Tue, 1 May 2012 08:39:05 +0000 (08:39 +0000)]
Unreviewed, GTK test_expectations update.

* platform/gtk/test_expectations.txt: media/track/track-mode.html
is still flaky as per bug 83878.

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

9 years ago[Chromium/Windows] Add LocalizedDateWin
tkent@chromium.org [Tue, 1 May 2012 07:54:26 +0000 (07:54 +0000)]
[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):

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

9 years agoUnreviewed, rebaselining after r115666 and test expectations update
zandobersek@gmail.com [Tue, 1 May 2012 06:39:22 +0000 (06:39 +0000)]
Unreviewed, rebaselining after r115666 and test expectations update
after r115651.

* platform/gtk/fast/js/constructor-length-expected.txt:
* platform/gtk/test_expectations.txt:

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

9 years agoREGRESSION(r115600): parseLocalizedDate() should fail for invalid inputs
tkent@chromium.org [Tue, 1 May 2012 03:51:00 +0000 (03:51 +0000)]
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.

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

9 years agoFix another leak due to misuse of createCFString.
mrowe@apple.com [Tue, 1 May 2012 03:27:20 +0000 (03:27 +0000)]
Fix another leak due to misuse of createCFString.

Reviewed by Darin Adler.

* plugins/mac/PluginPackageMac.cpp:
(WebCore::PluginPackage::fetchInfo): Adopt the result of createCFString.

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

9 years ago<rdar://problem/11312198> Many leaks during fast/events/dropzone-002.html
mrowe@apple.com [Tue, 1 May 2012 03:27:02 +0000 (03:27 +0000)]
<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.

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

9 years ago<rdar://problem/11352575> Many CGImageRefs leaked during media layout tests
mrowe@apple.com [Tue, 1 May 2012 03:26:45 +0000 (03:26 +0000)]
<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.

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

9 years agoChange RenderBoxModelObject::calculateBackgroundImageGeometry to use roundToInt
eae@chromium.org [Tue, 1 May 2012 03:24:42 +0000 (03:24 +0000)]
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):

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

9 years agoUnreviewed, rolling out r113511.
isherman@chromium.org [Tue, 1 May 2012 03:21:54 +0000 (03:21 +0000)]
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:

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

9 years agoMove RenderTableCell's row index to RenderTableRow
jchaffraix@webkit.org [Tue, 1 May 2012 03:13:06 +0000 (03:13 +0000)]
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.

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

9 years agodatalist: Inconsistent behavior of HTMLInputElement::list
keishi@webkit.org [Tue, 1 May 2012 02:53:15 +0000 (02:53 +0000)]
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.

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

9 years ago[Chromium] Add thunk headers for staging Prerendering API.
gavinp@chromium.org [Tue, 1 May 2012 02:51:27 +0000 (02:51 +0000)]
[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):

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

9 years ago[Chromium] Fix Autofill popup visibility behavior
isherman@chromium.org [Tue, 1 May 2012 02:38:40 +0000 (02:38 +0000)]
[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

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

9 years agoRenderObject incorrectly lists maximalOutlineSize as a LayoutUnit
leviw@chromium.org [Tue, 1 May 2012 02:15:51 +0000 (02:15 +0000)]
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):

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

9 years agoREGRESSION: editing/inserting/insert-bg-font.html fails on Lion
commit-queue@webkit.org [Tue, 1 May 2012 02:09:08 +0000 (02:09 +0000)]
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.

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

9 years agoAdd multichannel support for input of JavaScriptAudioNode
commit-queue@webkit.org [Tue, 1 May 2012 01:50:35 +0000 (01:50 +0000)]
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):

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

9 years agoCrash when opening plug-ins in background tabs
andersca@apple.com [Tue, 1 May 2012 01:38:12 +0000 (01:38 +0000)]
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.

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

9 years agoShould be able to use YARR JIT without the JS language JIT
barraclough@apple.com [Tue, 1 May 2012 01:20:54 +0000 (01:20 +0000)]
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.

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

9 years ago[Qt][WK2] Fixed layers are shaking when zoom level is not 1.0 due to a rounding error.
yael.aharon@nokia.com [Tue, 1 May 2012 01:10:35 +0000 (01:10 +0000)]
[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):

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

9 years agoSource/WebCore: Harden arithmetic in ImageBufferDataCG
oliver@apple.com [Tue, 1 May 2012 00:52:01 +0000 (00:52 +0000)]
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*=):

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

9 years agoUnreviewed, test expectations update.
zmo@google.com [Tue, 1 May 2012 00:39:57 +0000 (00:39 +0000)]
Unreviewed, test expectations update.

* platform/chromium/test_expectations.txt:

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

9 years agoAdd absoluteValue method for LayoutUnits to allow overloading abs()
leviw@chromium.org [Tue, 1 May 2012 00:06:37 +0000 (00:06 +0000)]
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):

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

9 years agoUpdate LayoutUnit usage in InlineFlowBox and RenderWidget
leviw@chromium.org [Mon, 30 Apr 2012 23:42:05 +0000 (23:42 +0000)]
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.

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

9 years agoShould be able to build YARR JIT without the JS language JIT
barraclough@apple.com [Mon, 30 Apr 2012 23:34:20 +0000 (23:34 +0000)]
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):

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

9 years agoPrepare RenderDeprecatedFlexibleBox for sub-pixel layout
leviw@chromium.org [Mon, 30 Apr 2012 23:03:02 +0000 (23:03 +0000)]
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):

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

9 years agoNULL ptr in WebCore::Range::getBorderAndTextQuads
rniwa@webkit.org [Mon, 30 Apr 2012 22:51:41 +0000 (22:51 +0000)]
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.

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

9 years agoFix tests to not depend on the actual list of builders at build.chromium.org.
ojan@chromium.org [Mon, 30 Apr 2012 22:51:09 +0000 (22:51 +0000)]
Fix tests to not depend on the actual list of builders at build.chromium.org.

* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(testHtmlForIndividualTestOnAllBuildersWithChrome):
(testHtmlForIndividualTestOnAllBuildersWithChromeWebkitMaster):

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