WebKit-https.git
5 years agoAdd InlineElementBox and stop instantiating InlineBox directly.
akling@apple.com [Wed, 6 Nov 2013 10:26:56 +0000 (10:26 +0000)]
Add InlineElementBox and stop instantiating InlineBox directly.
<https://webkit.org/b/123882>

Make the InlineBox constructors protected and add a new class
called InlineElementBox on top. This is somewhat analogous to the
split between RenderText and RenderElement, and allows us to make
renderer() return a far tighter RenderBoxModelObject& instead
of a RenderObject&.

Moved over attachLine(), deleteLine() and extractLine() to start
things off. More things will follow.

Reviewed by Antti Koivisto.

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

5 years ago[EFL] Change required version of ATK to 2.10.0
commit-queue@webkit.org [Wed, 6 Nov 2013 10:21:26 +0000 (10:21 +0000)]
[EFL] Change required version of ATK to 2.10.0
https://bugs.webkit.org/show_bug.cgi?id=123883

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-06
Reviewed by Mario Sanchez Prada.

Changing a required version of ATK to 2.10.0

* Source/cmake/OptionsEfl.cmake:

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

5 years agoSource/WebCore: Seek for video doesn't work when playback rate is negative
commit-queue@webkit.org [Wed, 6 Nov 2013 09:32:26 +0000 (09:32 +0000)]
Source/WebCore: Seek for video doesn't work when playback rate is negative
https://bugs.webkit.org/show_bug.cgi?id=123791

In MediaPlayerPrivateGStreamer::seek negative playback rate was not taken to account.

Patch by Piotr Grad <p.grad@samsung.com> on 2013-11-06
Reviewed by Philippe Normand.

Test: media/video-seek-with-negative-playback.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::seek):

LayoutTests: Test for seek not working properly with negative playback rate.
https://bugs.webkit.org/show_bug.cgi?id=123791

Seek method should work properly with negative playback rate.

Patch by Piotr Grad <p.grad@samsung.com> on 2013-11-06
Reviewed by Philippe Normand.

* media/video-seek-with-negative-playback.html: Added.
* media/video-seek-with-negative-playback-expected.txt: Added.

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

5 years agoReinstate an annoying assertion that I accidentally commented out.
akling@apple.com [Wed, 6 Nov 2013 08:19:38 +0000 (08:19 +0000)]
Reinstate an annoying assertion that I accidentally commented out.

* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::synchronousIconForPageURL):

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

5 years ago[GStreamer] Override label() and language() in Audio and VideoTrackPrivateGStreamer
commit-queue@webkit.org [Wed, 6 Nov 2013 08:14:46 +0000 (08:14 +0000)]
[GStreamer] Override label() and language() in Audio and VideoTrackPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=123836

The tests are currently flakey because we only get the label and language if we get
tags after the track client is set.

Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-06
Reviewed by Philippe Normand.

No new tests because the tests already exist (this fixes flakeyness).

* platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Override label() and language() to use m_label and m_language.
* platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Same.
* platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Make m_label and m_language protected so they can be used in the functions above.

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

5 years agoAdd a test for queries whose leftmost selector matches the root node
rniwa@webkit.org [Wed, 6 Nov 2013 08:13:33 +0000 (08:13 +0000)]
Add a test for queries whose leftmost selector matches the root node
https://bugs.webkit.org/show_bug.cgi?id=123877

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/22981c70bf93e8a07ee7b4d68a4522aee21b26ce
so that we won't introduce the regression they had.

* fast/selectors/querySelector-leftmost-selector-matches-rootNode-expected.txt: Added.
* fast/selectors/querySelector-leftmost-selector-matches-rootNode.html: Added.

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

5 years agoRenderBlockFlow should only expose its line boxes as RootInlineBox.
akling@apple.com [Wed, 6 Nov 2013 08:09:44 +0000 (08:09 +0000)]
RenderBlockFlow should only expose its line boxes as RootInlineBox.
<https://webkit.org/b/123878>

The line boxes attached directly to a RenderBlockFlow are always
RootInlineBox objects, so call sites should always use the tightly
typed firstRootBox() and lastRootBox().

This allows the compiler to devirtualize calls to member functions
of RootInlineBox that are marked FINAL.

Reviewed by Antti Koivisto.

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

5 years agoAssertion failure end < m_runCount in WebCore::BidiRunList<WebCore::BidiRun>::reverseRuns
rniwa@webkit.org [Wed, 6 Nov 2013 08:05:09 +0000 (08:05 +0000)]
Assertion failure end < m_runCount in WebCore::BidiRunList<WebCore::BidiRun>::reverseRuns
https://bugs.webkit.org/show_bug.cgi?id=123863

Reviewed by Andreas Kling.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/cbaa92c763a37d89eeabd01658e522219299290c

Test: fast/text/bidi-reverse-runs-crash.html

* platform/text/BidiResolver.h:
(WebCore::BidiResolver<Iterator, Run>::createBidiRunsForLine): Don't reverse the runs if there's
nothing to be reversed.

LayoutTests:

* fast/text/bidi-reverse-runs-crash-expected.txt: Added.
* fast/text/bidi-reverse-runs-crash.html: Added.

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

5 years agoAddress the review comment after r158724.
rniwa@webkit.org [Wed, 6 Nov 2013 08:02:18 +0000 (08:02 +0000)]
Address the review comment after r158724.

* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):

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

5 years agoWidget's position change should not initiate layout, only when its size changes.
zalan@apple.com [Wed, 6 Nov 2013 07:31:52 +0000 (07:31 +0000)]
Widget's position change should not initiate layout, only when its size changes.
https://bugs.webkit.org/show_bug.cgi?id=123860

Reviewed by Andreas Kling.

RenderWidgets initiate unnecessary layouts while scrolling when they are embedded to
overflow:scroll containers. Scroll position change doesn't dirty the render tree
so it should not trigger layout either.

.:

* ManualTests/layouts-on-renderwidgets-while-scrolling.html: Added.

Source/WebCore:

Manual test added. Unfortunately we can't test against the number of layouts yet.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidgetGeometry):
(WebCore::RenderWidget::updateWidgetGeometry):
(WebCore::RenderWidget::updateWidgetPosition):

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

5 years agoAdd more tests for formaction, formenctype, formmethod, formnovalidate, and formtarge...
rniwa@webkit.org [Wed, 6 Nov 2013 07:30:55 +0000 (07:30 +0000)]
Add more tests for formaction, formenctype, formmethod, formnovalidate, and formtarget attributes
https://bugs.webkit.org/show_bug.cgi?id=123876

Reviewed by Andreas Kling.

Merge tests from https://chromium.googlesource.com/chromium/blink/+/5f4ccd416fec39a6878af66e87bda191cc59ea7e
so that we won't introduce regressions they had.

* fast/forms/formaction-attribute-expected.txt:
* fast/forms/formaction-attribute.html:
* fast/forms/formmethod-attribute-input-2-expected.txt: Added.
* fast/forms/formmethod-attribute-input-2.html: Added.
* fast/forms/formtarget-attribute-input-2-expected.txt: Added.
* fast/forms/formtarget-attribute-input-2.html: Added.
* fast/forms/interactive-validation-formnovalidate-2-expected.txt: Added.
* fast/forms/interactive-validation-formnovalidate-2.html: Added.
* fast/forms/mailto/formenctype-attribute-input-2-expected.txt: Added.
* fast/forms/mailto/formenctype-attribute-input-2.html: Added.

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

5 years agoMac Mavericks rebaseline after r158714.
rniwa@webkit.org [Wed, 6 Nov 2013 07:20:02 +0000 (07:20 +0000)]
Mac Mavericks rebaseline after r158714.

* platform/mac/fast/forms/textAreaLineHeight-expected.txt:

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

5 years agoUse-after-free in SliderThumbElement::dragFrom
rniwa@webkit.org [Wed, 6 Nov 2013 07:11:31 +0000 (07:11 +0000)]
Use-after-free in SliderThumbElement::dragFrom
https://bugs.webkit.org/show_bug.cgi?id=123873

Reviewed by Andreas Kling.

Source/WebCore:

Ref the SliderThumbElement since it could go away inside dragFrom.

Test: fast/forms/range/range-type-change-onchange-2.html

* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):

LayoutTests:

Merge https://chromium.googlesource.com/chromium/blink/+/04a23bfca2d04101a1828d36ff36c29f3a24f34b

* fast/forms/range/range-type-change-onchange-2-expected.txt: Added.
* fast/forms/range/range-type-change-onchange-2.html: Added.

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

5 years agoChange the order of conditions to avoid computing rendererIsEditable()
rniwa@webkit.org [Wed, 6 Nov 2013 06:14:47 +0000 (06:14 +0000)]
Change the order of conditions to avoid computing rendererIsEditable()
https://bugs.webkit.org/show_bug.cgi?id=123868

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/c89b413ff0fc4aafa0c71d180b0b1e131bb37707

When we need both Node::renderer() and Node::rendererIsEditable() conditions to be true to perform
some operation, it is more effective to check for renderer() first, so that if this condition fails
we can avoid unnecessary computation of rendererIsEditable().

* dom/Position.cpp:
(WebCore::nextRenderedEditable):
(WebCore::previousRenderedEditable):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):

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

5 years agosimpleUserAgentStyleSheet doesn't have focus ring on anchor element
rniwa@webkit.org [Wed, 6 Nov 2013 06:02:35 +0000 (06:02 +0000)]
simpleUserAgentStyleSheet doesn't have focus ring on anchor element
https://bugs.webkit.org/show_bug.cgi?id=123867

Reviewed by Andreas Kling.

Merge https://chromium.googlesource.com/chromium/blink/+/08ecc23c4d80be9969918c4baf0ac83dc6cb6cbd

* css/CSSDefaultStyleSheets.cpp:

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

5 years agovalueForBorderRadiusShorthand returns wrong values in some case
rniwa@webkit.org [Wed, 6 Nov 2013 06:00:46 +0000 (06:00 +0000)]
valueForBorderRadiusShorthand returns wrong values in some case
https://bugs.webkit.org/show_bug.cgi?id=123866

Reviewed by Andreas Kling.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/0933728126f2db06ab8e945efc98bffa2d42af1c

Because valueForBorderRadiusShorthand misses the followings:
- showHorizontalBottomRight depends on showHorizontalBottomLeft.
- showHorizontalTopRight depends on showHorizontalBottomRight (including showHorizontalBottomLeft).

See also http://dev.w3.org/csswg/css-backgrounds/#the-border-radius

Test: fast/css/getComputedStyle/getComputedStyle-borderRadius-2.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getBorderRadiusShorthandValue):

LayoutTests:

* fast/css/getComputedStyle/getComputedStyle-borderRadius-2-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-borderRadius-2.html: Added.

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

5 years agoFlaky Test: transitions/cancel-transition.html
rniwa@webkit.org [Wed, 6 Nov 2013 05:50:35 +0000 (05:50 +0000)]
Flaky Test: transitions/cancel-transition.html
https://bugs.webkit.org/show_bug.cgi?id=114193

Reviewed by Simon Fraser.

Merge https://chromium.googlesource.com/chromium/blink/+/983dbbff6c46b6365540bf1451f25b31d72ce893

* transitions/cancel-transition.html:

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

5 years agoProtect DOM nodes in IndentOutdentCommand::tryIndentingAsListItem()
rniwa@webkit.org [Wed, 6 Nov 2013 05:21:42 +0000 (05:21 +0000)]
Protect DOM nodes in IndentOutdentCommand::tryIndentingAsListItem()
https://bugs.webkit.org/show_bug.cgi?id=123861

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/297442eb539a2b764fdad323de79099a70179186 partially.

* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem): Make selectedListItem, previousList, and nextList
RefPtr since they're are used after calling insertNodeBefore.

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

5 years agoApply more unique_ptr to line box management.
akling@apple.com [Wed, 6 Nov 2013 04:47:12 +0000 (04:47 +0000)]
Apply more unique_ptr to line box management.
<https://webkit.org/b/123857>

Make all of the functions that return newly-created line boxes
return them packed up in std::unique_ptrs.

There is one exception in RenderBlockLineLayout where the function
createInlineBoxForRenderer() is inconsistent about the ownership of
the returned object. This will be addressed by a subsequent patch.

We now "release" the line boxes into their various home structures,
so the pointer smartness doesn't go end-to-end just yet.

Reviewed by Anders Carlsson.

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

5 years agoFTL should support NewObject
fpizlo@apple.com [Wed, 6 Nov 2013 04:40:02 +0000 (04:40 +0000)]
FTL should support NewObject
https://bugs.webkit.org/show_bug.cgi?id=123849

Reviewed by Oliver Hunt.

* ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileNewObject):
(JSC::FTL::LowerDFGToLLVM::allocate):

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

5 years agoFTL should support StringCharAt
fpizlo@apple.com [Wed, 6 Nov 2013 04:38:23 +0000 (04:38 +0000)]
FTL should support StringCharAt
https://bugs.webkit.org/show_bug.cgi?id=123855

Reviewed by Oliver Hunt.

This is just like GetByVal for String, so we reuse that code.

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):

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

5 years agoWindows build fix attempt after r158704.
rniwa@webkit.org [Wed, 6 Nov 2013 03:59:43 +0000 (03:59 +0000)]
Windows build fix attempt after r158704.

* FullscreenVideoController.cpp:

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

5 years agogetComputedStyle(x).lineHeight is affected by zooming
rniwa@webkit.org [Wed, 6 Nov 2013 03:55:02 +0000 (03:55 +0000)]
getComputedStyle(x).lineHeight is affected by zooming
https://bugs.webkit.org/show_bug.cgi?id=123847

Reviewed by Benjamin Poulain.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/7957097afbab2899ababd0d9c8acbf6e3eddb870

Test: fast/css/line-height-zoom-get-computed-style.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::lineHeightFromStyle): Don't round line-height values.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyLineHeight::applyValue): Use the computed value instead of the used value.

LayoutTests:

Cleaned up the test.

* fast/css/line-height-zoom-get-computed-style-expected.txt: Added.
* fast/css/line-height-zoom-get-computed-style.html: Added.
* platform/mac-mountainlion/fast/forms/textAreaLineHeight-expected.txt: Rebaselined.

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

5 years agoAX: media controls accessibility needs more work
commit-queue@webkit.org [Wed, 6 Nov 2013 03:50:51 +0000 (03:50 +0000)]
AX: media controls accessibility needs more work
https://bugs.webkit.org/show_bug.cgi?id=123749

Patch by James Craig <jcraig@apple.com> on 2013-11-05
Reviewed by Jer Noble.

Updated some of the control labels/roles to improve accessibility.
  - Volume slider is now keyboard/screenreader accessible.
  - muteButton was a checkbox toggling checked state, now a button that toggles label "mute/unmute"
  - fullscreenButton was a checkbox toggling checked state, now a button that toggles label "display/exit full screen"
  - captionButton was a checkbox, now a popup button that launches the newly accessible menu.
Subtitles menu is now keyboard/screenreader accessible (uses roaming tabindex).
Render dump expectations changed because volume slider is now hidden via...
...opacity/size (to make accessible without hover) instead of display:none.

Updated existing test coverage.

Source/WebCore:

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel .volume-box):
(audio::-webkit-media-controls-panel .volume-box:active):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-closed-captions-container .list):
(audio::-webkit-media-controls-closed-captions-container li:focus):
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.handleFullscreenChange):
(Controller.prototype.handleMuteButtonClicked):
(Controller.prototype.handleMinButtonClicked):
(Controller.prototype.handleMaxButtonClicked):
(Controller.prototype.handleVolumeSliderChange):
(Controller.prototype.buildCaptionMenu):
(Controller.prototype.focusSiblingCaptionItem):
(Controller.prototype.handleCaptionItemKeyUp):

LayoutTests:

* platform/mac/accessibility/media-element-expected.txt:
* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-strict-expected.txt:
* platform/mac/media/controls-styling-strict-expected.txt:
* platform/mac/media/controls-without-preload-expected.txt:

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

5 years agoMove some plugin-specific code from RenderWidget to RenderEmbeddedObject.
akling@apple.com [Wed, 6 Nov 2013 03:36:32 +0000 (03:36 +0000)]
Move some plugin-specific code from RenderWidget to RenderEmbeddedObject.
<https://webkit.org/b/123845>

All RenderWidgets representing plugins will be RenderEmbeddedObjects.
Move some of the plugin-specific logic to RenderEmbeddedObject since it
doesn't make sense for all RenderWidgets (frames, embedded documents)
to care about this.

Reviewed by Anders Carlsson.

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

5 years agoAdd a test to obtain offsetWidth of expanded table cell
rniwa@webkit.org [Wed, 6 Nov 2013 02:48:49 +0000 (02:48 +0000)]
Add a test to obtain offsetWidth of expanded table cell
https://bugs.webkit.org/show_bug.cgi?id=123843

Reviewed by Tim Horton.

Merge the test fix in https://chromium.googlesource.com/chromium/blink/+/b249d552497c0939d8277360b99dd3c56b0c9659.

* fast/table/table-cell-offset-width-expected.txt:
* fast/table/table-cell-offset-width.html:

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

5 years agoAdd a test to obtain offsetWidth of expanded table cell
rniwa@webkit.org [Wed, 6 Nov 2013 02:40:07 +0000 (02:40 +0000)]
Add a test to obtain offsetWidth of expanded table cell
https://bugs.webkit.org/show_bug.cgi?id=123843

Reviewed by Tim Horton.

Merge the test from https://chromium.googlesource.com/chromium/blink/+/58a5fac292a5b3f79b00cdc71074fbf8be2ebc2b
so that we'll never introduce the regression they had.

* fast/table/table-cell-offset-width-expected.txt: Added.
* fast/table/table-cell-offset-width.html: Added.

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

5 years agoFix the 32-bit build.
timothy_horton@apple.com [Wed, 6 Nov 2013 02:39:39 +0000 (02:39 +0000)]
Fix the 32-bit build.

* WebCore.exp.in:

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

5 years agoWeb Inspector: Moving an element while in the DOMNodeRemoved handler will hide it...
achicu@adobe.com [Wed, 6 Nov 2013 02:15:50 +0000 (02:15 +0000)]
Web Inspector: Moving an element while in the DOMNodeRemoved handler will hide it in the inspector
https://bugs.webkit.org/show_bug.cgi?id=123516

Reviewed by Timothy Hatcher.

Source/WebCore:

InspectorInstrumentation::willRemoveDOMNode was actually calling both willRemoveDOMNodeImpl and
didRemoveDOMNodeImpl, making the DOMAgent unbind the element even if it was still part of the DOM.

Because of that the DOMAgent was sending two events:
1. When the element was about to be removed, just before JS "DOMNodeRemoved" was triggered.
2. When the element was actually removed.

Note that inspector's event #2 will not know about the node, as it just removed it from the
internal hashmap, so it will just use a nodeID == 0 for it.

This patch adds a separate call to InspectorInstrumentation::didRemoveDOMNode, just before the
element is about to be removed. The InspectorInstrumentation::willRemoveDOMNode call is now only used
by the DOMDebugger to trigger the DOM breakpoints in the Web Inspector. That feature is not exposed
in the new Inspector UI, but can be used/tested using the protocol directly.

Tests: inspector-protocol/dom-debugger/node-removed.html
       inspector-protocol/dom/dom-remove-events.html
       inspector-protocol/dom/remove-multiple-nodes.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeBetween):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::didRemoveDOMNode):

LayoutTests:

Added tests to check that the DOM.childNodeRemoved inspector-protocol message is dispatched
correctly when DOM nodes are moved while inside the "DOMNodeRemoved" event handler.

* inspector-protocol/dom-debugger/node-removed-expected.txt: Added.
* inspector-protocol/dom-debugger/node-removed.html: Added. Checking that the DOMDebugger agent
is still sending the node-removed events.
* inspector-protocol/dom/dom-remove-events-expected.txt: Added.
* inspector-protocol/dom/dom-remove-events.html: Added. Test with a single DOM remove event.
* inspector-protocol/dom/remove-multiple-nodes-expected.txt: Added.
* inspector-protocol/dom/remove-multiple-nodes.html: Added. Test case when multiple children
are removed at once with parentNode.textContent = "String".

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

5 years agoRemove old unused code for hypothetical LLVM intrinsics
fpizlo@apple.com [Wed, 6 Nov 2013 02:09:45 +0000 (02:09 +0000)]
Remove old unused code for hypothetical LLVM intrinsics
https://bugs.webkit.org/show_bug.cgi?id=123824

Reviewed by Oliver Hunt.

* ftl/FTLIntrinsicRepository.h:

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

5 years agoFTL should support String character access operations
fpizlo@apple.com [Wed, 6 Nov 2013 02:07:43 +0000 (02:07 +0000)]
FTL should support String character access operations
https://bugs.webkit.org/show_bug.cgi?id=123783

Reviewed by Oliver Hunt.

Implements:

- string.length

- string[index]

* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):

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

5 years agoUnreviewed build fix on CMake based ports with GLES.
ryuan.choi@samsung.com [Wed, 6 Nov 2013 02:03:16 +0000 (02:03 +0000)]
Unreviewed build fix on CMake based ports with GLES.

* CMakeLists.txt:
Added OPENGLES2_LIBRARIES and OPENGLES2_INCLUDE_DIR into the includes and
libraries list.

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

5 years agoplatformCALayerDeviceScaleFactor should be const
timothy_horton@apple.com [Wed, 6 Nov 2013 01:44:50 +0000 (01:44 +0000)]
platformCALayerDeviceScaleFactor should be const
https://bugs.webkit.org/show_bug.cgi?id=123842

Reviewed by Simon Fraser.

* WebCore.exp.in:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::LayerClient::platformCALayerDeviceScaleFactor):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayerClient.h:
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::platformCALayerDeviceScaleFactor):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
Constify PlatformCALayerClient::platformCALayerDeviceScaleFactor.

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

5 years agotext-decoration-skip: ink isn't tested with underlines that don't intersect the under...
commit-queue@webkit.org [Wed, 6 Nov 2013 01:39:04 +0000 (01:39 +0000)]
text-decoration-skip: ink isn't tested with underlines that don't intersect the underlined text
https://bugs.webkit.org/show_bug.cgi?id=123839

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-11-05
Reviewed by Simon Fraser.

text-decoration-skip: ink uses a mask to determine where the underline can be drawn. Right now,
there is not a test that makes sure that the mask always gets applied to the location
where the underline will get drawn.

* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-non-intersecting-underline-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-non-intersecting-underline.html: Added.

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

5 years agoSubresource loads should not prevent page throttling
barraclough@apple.com [Wed, 6 Nov 2013 01:26:53 +0000 (01:26 +0000)]
Subresource loads should not prevent page throttling
https://bugs.webkit.org/show_bug.cgi?id=123757

Reviewed by Alexey Proskuryakov.

The page-is-loading test for inhibiting process supression is currently
too conservative, preventing supression of pages with infinitely loading
resources (commonly XHRs). Instead, just rely on the FrameLoader being
active (with hysteresis).

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::init):
(WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::willCancel):
* loader/SubresourceLoader.h:
    - remove m_activityAssertion from SubresourceLoader.

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

5 years ago[mac] PDFDocumentImage is too big if PDF has a crop box smaller than the media box
timothy_horton@apple.com [Wed, 6 Nov 2013 01:13:17 +0000 (01:13 +0000)]
[mac] PDFDocumentImage is too big if PDF has a crop box smaller than the media box
https://bugs.webkit.org/show_bug.cgi?id=123840
<rdar://problem/15308765>

Reviewed by Alexey Proskuryakov.

Test: fast/images/pdf-as-image-crop-box.html

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::size):
Use the crop box when determining the size of the image.

(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
* platform/graphics/cg/PDFDocumentImage.h:
* platform/graphics/mac/PDFDocumentImageMac.mm:
(WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
Get rid of m_mediaBox, since we don't need it anymore.

(WebCore::PDFDocumentImage::drawPDFPage):
PDFKit does the translation by the crop box origin for us;
if we do it additionally, we'll be painting the wrong part of the image.
So, don't do the translation here.

* fast/images/pdf-as-image-crop-box-expected.html: Added.
* fast/images/pdf-as-image-crop-box.html: Added.
* fast/images/resources/green-1x1.pdf: Added.
* fast/images/resources/red-green-2x2-cropped-to-1x1.pdf: Added.
Add a test that ensures that PDFDocumentImage respects the PDF's crop box.
red-green-2x2-cropped-to-1x1 has a 2"x2" red square with a 1"x1" green
square centered in it, a media box of 2"x2", and a crop box of 1"x1"
offset by 0.5", 0.5". green-1x1 has a 1"x1" green square. The two images
should render the same if the crop box is being respected correctly.

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

5 years agoBegin work on decoding invocations
andersca@apple.com [Wed, 6 Nov 2013 00:58:10 +0000 (00:58 +0000)]
Begin work on decoding invocations
https://bugs.webkit.org/show_bug.cgi?id=123838

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeInvocation):
Declare the type string and selector keys as constants.

(encodeObject):
Make sure to encode the class name for NSInvocations as well.

(decodeInvocation):
Figure out the local and remove method signatures and make sure that they are equal.

* Shared/API/Cocoa/WKRemoteObjectInterface.mm:
(methodArgumentTypeEncodingForSelector):
Helper function that returns the type encoding for a given selector.

(-[WKRemoteObjectInterface _methodSignatureForSelector:]):
Helper function that returns a method signature for the method with the name referred to by selector.

* Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h: Added.
Add internal header.

* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
Pass the right object to the WKRemoteObjectDecoder initializer and decode the invocation.

* WebKit2.xcodeproj/project.pbxproj:
Add internal header.

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

5 years agoWKRemoteObjectDecoder should know which interface it's decoding for
andersca@apple.com [Tue, 5 Nov 2013 23:58:36 +0000 (23:58 +0000)]
WKRemoteObjectDecoder should know which interface it's decoding for
https://bugs.webkit.org/show_bug.cgi?id=123833

Reviewed by Andreas Kling.

Move the interface identifier out into the root object body dictionary and make
the encoded invocation a sibling of it. That way we can look up the interface before
creating the decoder.

Also, manage exported objects and interfaces in a separate hash map.

* Shared/API/Cocoa/WKRemoteObjectCoder.h:
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
(decodeInvocation):
(decodeObject):
* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry registerExportedObject:interface:]):
(-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
(-[WKRemoteObjectRegistry _sendInvocation:interface:]):
(-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
(-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):

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

5 years agoFactor index cache for NodeLists and HTMLCollections to a class
antti@apple.com [Tue, 5 Nov 2013 23:45:43 +0000 (23:45 +0000)]
Factor index cache for NodeLists and HTMLCollections to a class
https://bugs.webkit.org/show_bug.cgi?id=123823

Reviewed by Ryosuke Niwa.

Implement index cache class that can used by NodeLists and HTMLCollections that currently
each have implementations of their own.

This patch also implements ChildNodeList and LiveNodeList using CollectionIndexCache.
HTMLCollection is will be transitioned later.

* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ChildNodeList.cpp:
(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::length):
(WebCore::ChildNodeList::item):

    The client calls to cache to for indexed and size access.

(WebCore::ChildNodeList::collectionFirst):
(WebCore::ChildNodeList::collectionLast):
(WebCore::ChildNodeList::collectionTraverseForward):
(WebCore::ChildNodeList::collectionTraverseBackward):

    Cache calls back to these as needed to do the actual traversal.

(WebCore::ChildNodeList::invalidateCache):
* dom/ChildNodeList.h:
* dom/CollectionIndexCache.h: Added.

    Templated cache class itself.

(WebCore::::CollectionIndexCache):
(WebCore::::nodeCount):
(WebCore::::nodeBeforeCached):
(WebCore::::nodeAfterCached):
(WebCore::::nodeAt):
(WebCore::::invalidate):
* dom/LiveNodeList.cpp:
(WebCore::firstMatchingElement):
(WebCore::nextMatchingElement):
(WebCore::traverseMatchingElementsForward):
(WebCore::LiveNodeList::collectionFirst):
(WebCore::LiveNodeList::collectionLast):
(WebCore::LiveNodeList::collectionTraverseForward):
(WebCore::LiveNodeList::collectionTraverseBackward):
(WebCore::LiveNodeList::length):
(WebCore::LiveNodeList::item):
(WebCore::LiveNodeList::invalidateCache):
* dom/LiveNodeList.h:
(WebCore::LiveNodeList::LiveNodeList):

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

5 years agoFull width semicolon is wrong in vertical text.
enrica@apple.com [Tue, 5 Nov 2013 23:14:59 +0000 (23:14 +0000)]
Full width semicolon is wrong in vertical text.
https://bugs.webkit.org/show_bug.cgi?id=123814
<rdar://problem/15312541>

Reviewed by Benjamin Poulain.

Source/WebCore:

The full width semicolon should always be upright.
Adding it to the list of characters that should
ignore rotation.

* platform/graphics/FontGlyphs.cpp:
(WebCore::shouldIgnoreRotation):

LayoutTests:

Extended the existing test to include the full width
semicolon.

* platform/mac/fast/text/vertical-no-sideways.html:
* platform/mac/platform/mac/fast/text/vertical-no-sideways-expected.txt:
* platform/mac-mountainlion/platform/mac/fast/text/vertical-no-sideways-expected.txt

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

5 years agoAdd support for decoding NSStrings
andersca@apple.com [Tue, 5 Nov 2013 23:00:58 +0000 (23:00 +0000)]
Add support for decoding NSStrings
https://bugs.webkit.org/show_bug.cgi?id=123829

Reviewed by Andreas Kling.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject):
(-[WKRemoteObjectDecoder allowsKeyedCoding]):
Always return YES.

(-[WKRemoteObjectDecoder containsValueForKey:]):
Look up the key in the current dictionary.

(-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
Try to get the WebData object and return its data + size.

(-[WKRemoteObjectDecoder requiresSecureCoding]):
Return YES.

(checkIfClassIsAllowed):
Check if the class or any of its superclasses are are allowed.

(validateClass):
Call checkIfClassIsAllowed and validate that the class conforms to NSSecureCoding.

(decodeObject):
Get the class name, verify that the class exists and is allowed.
Allocate and initialize an object using initWithCoder:.

(-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
Set the allowed classes, look up the object in _currentDictionary and call decodeObject.

(-[WKRemoteObjectDecoder allowedClasses]):
Return _allowedClasses.

* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry _sendInvocation:interface:]):
Declare interfaceIdentifier as a constant.

(-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
Decode the interface identifier.

* Shared/ImmutableDictionary.h:
(WebKit::ImmutableDictionary::get):
(WebKit::ImmutableDictionary::size):
(WebKit::ImmutableDictionary::map):
Make member functions const.

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

5 years agoObjCCallbackFunctionImpl's NSInvocation shouldn't retain its target or arguments
mhahnenberg@apple.com [Tue, 5 Nov 2013 22:51:52 +0000 (22:51 +0000)]
ObjCCallbackFunctionImpl's NSInvocation shouldn't retain its target or arguments
https://bugs.webkit.org/show_bug.cgi?id=123822

Reviewed by Geoffrey Garen.

Using -retainArguments on ObjCCallbackFunctionImpl's NSInvocation leads to memory leaks.
We should handle retaining/releasing the target ourselves, and we should never retain the arguments.

* API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunctionImpl::~ObjCCallbackFunctionImpl):
(JSC::ObjCCallbackFunctionImpl::name):
(objCCallbackFunctionForInvocation):
(objCCallbackFunctionForMethod):
(objCCallbackFunctionForBlock):

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

5 years agoFix Mountain Lion Debug bot after r158689
benjamin@webkit.org [Tue, 5 Nov 2013 22:44:07 +0000 (22:44 +0000)]
Fix Mountain Lion Debug bot after r158689

Unreviewed.

It looks like WebGeolocationManagerProxy::stopUpdating() and WebGeolocationManagerProxy::processDidClose()
are racing in some cases, causing the assertion to fail.

That case is handled properly in the last if() branch of WebGeolocationManagerProxy::removeRequester().
This patch remove the overzealous assertion.

* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::removeRequester):

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

5 years agoRemove unused RenderWidget::notifyWidget().
akling@apple.com [Tue, 5 Nov 2013 22:38:36 +0000 (22:38 +0000)]
Remove unused RenderWidget::notifyWidget().

Rubber-stamped by Anders Carlsson.

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

5 years agoFix build for architectures with 4 argument registers (broken since r158681).
commit-queue@webkit.org [Tue, 5 Nov 2013 22:30:15 +0000 (22:30 +0000)]
Fix build for architectures with 4 argument registers (broken since r158681).
https://bugs.webkit.org/show_bug.cgi?id=123826

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-05
Reviewed by Michael Saboff.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
(JSC::CCallHelpers::setupArguments):

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

5 years agoRemote Layer Tree: Apply layer changes to LayerTypeCustom layers to the custom layer...
timothy_horton@apple.com [Tue, 5 Nov 2013 22:04:27 +0000 (22:04 +0000)]
Remote Layer Tree: Apply layer changes to LayerTypeCustom layers to the custom layer in the Web process, not to the CALayerHost
https://bugs.webkit.org/show_bug.cgi?id=123818

Reviewed by Anders Carlsson.

Changes to the properties of a PlatformCALayer of type LayerTypeCustom are intended
to affect the custom CALayer; however, we were bundling them up with the transaction
and applying them to the CALayerHost, leading to important properties being lost.

Instead, apply them to the Web-process-side CALayer when building the transaction.

* Shared/mac/RemoteLayerTreePropertyApplier.h: Added.
* Shared/mac/RemoteLayerTreePropertyApplier.mm: Added.
(WebKit::cgColorFromColor):
(WebKit::toCAFilterType):
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
(WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):
Move code to apply LayerProperties to a CALayer from RemoteLayerTreeHost.
Move code to disable actions on a CALayer from RemoteLayerTreeHost.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
(WebKit::RemoteLayerTreeHost::createLayer):
Use RemoteLayerTreePropertyApplier.
Hand it a map of LayerID->CALayer so that it can look up related layers
for children and mask layers.

* WebKit2.xcodeproj/project.pbxproj:
Add RemoteLayerTreePropertyApplier.{h,mm}

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::recursiveBuildTransaction):
Upon commit, apply changes to LayerTypeCustom layers to the platform layer.
Setting children or maskLayer won't work, since we don't know about other raw CALayers.
This is OK, since nothing uses those properties on custom layers.

* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp:
(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
Disable actions on the root custom layer.

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

5 years agoBegin work on a WKRemoteObjectDecoder object
andersca@apple.com [Tue, 5 Nov 2013 21:21:50 +0000 (21:21 +0000)]
Begin work on a WKRemoteObjectDecoder object
https://bugs.webkit.org/show_bug.cgi?id=123819

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WKRemoteObjectCoder.h:
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectDecoder initWithRootObjectDictionary:]):
Add designated initializer.

* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
If the message has the expected name and body type, pass it along to -_invokeMessageWithBody:.

(-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
Create a decoder.

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

5 years ago[WK2] Add a WebKit2 API for Geolocation's highAccuracy
benjamin@webkit.org [Tue, 5 Nov 2013 21:17:07 +0000 (21:17 +0000)]
[WK2] Add a WebKit2 API for Geolocation's highAccuracy
https://bugs.webkit.org/show_bug.cgi?id=123786

Reviewed by Darin Adler.

Source/WebKit2:

This adds support for highAccuracy Geolocation with WebKit2.

The key is to track which page/requester need what kind of geolocation
in order to change between high and low accuracy as pages run and disappear.

WebGeolocationManager and WebGeolocationManagerProxy have very similar roles
but for different sources:
-WebGeolocationManager tracks which live page require high accuracy geolocation.
 When the state changes, it forward the information to the UIProcess.
-WebGeolocationManagerProxy tracks which WebContent processes needs high accuracy.

* Shared/APIClientTraits.cpp:
* Shared/APIClientTraits.h:
* UIProcess/API/C/WKGeolocationManager.h:
* UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::removeRequester):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
* UIProcess/WebGeolocationManagerProxy.h:
(WebKit::WebGeolocationManagerProxy::isUpdating):
(WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled):
* UIProcess/WebGeolocationManagerProxy.messages.in:
* UIProcess/WebGeolocationProvider.cpp:
(WebKit::WebGeolocationProvider::setEnableHighAccuracy):
* UIProcess/WebGeolocationProvider.h:
* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::registerWebPage):
(WebKit::WebGeolocationManager::unregisterWebPage):
(WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
* WebProcess/Geolocation/WebGeolocationManager.h:
(WebKit::WebGeolocationManager::isUpdating):
(WebKit::WebGeolocationManager::isHighAccuracyEnabled):
* WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
(WebKit::WebGeolocationClient::setEnableHighAccuracy):

Tools:

Add basic testing for the Geolocation API (start, stop and change accuracy).

* TestWebKitAPI/GNUmakefile.am:
* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/Geolocation.cpp: Added.
(TestWebKitAPI::operator<<):
(TestWebKitAPI::GeolocationStateTracker::~GeolocationStateTracker):
(TestWebKitAPI::GeolocationStateTracker::eventsChanged):
(TestWebKitAPI::GeolocationStateTracker::startUpdatingCallback):
(TestWebKitAPI::GeolocationStateTracker::stopUpdatingCallback):
(TestWebKitAPI::GeolocationStateTracker::setEnableHighAccuracyCallback):
(TestWebKitAPI::decidePolicyForGeolocationPermissionRequestCallBack):
(TestWebKitAPI::setupGeolocationProvider):
(TestWebKitAPI::setupView):
(TestWebKitAPI::GeolocationBasicStateTracker::GeolocationBasicStateTracker):
(TestWebKitAPI::GeolocationBasicStateTracker::eventsChanged):
(TestWebKitAPI::GeolocationBasicWithHighAccuracyStateTracker::GeolocationBasicWithHighAccuracyStateTracker):
(TestWebKitAPI::GeolocationBasicWithHighAccuracyStateTracker::eventsChanged):
(TestWebKitAPI::GeolocationTransitionToHighAccuracyStateTracker::GeolocationTransitionToHighAccuracyStateTracker):
(TestWebKitAPI::GeolocationTransitionToHighAccuracyStateTracker::eventsChanged):
(TestWebKitAPI::GeolocationTransitionToLowAccuracyStateTracker::GeolocationTransitionToLowAccuracyStateTracker):
(TestWebKitAPI::GeolocationTransitionToLowAccuracyStateTracker::eventsChanged):
(TestWebKitAPI::didFinishLoadForFrame):
* TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPosition.html: Added.
* TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPositionWithHighAccuracy.html: Added.
* TestWebKitAPI/Tests/WebKit2/geolocationWatchPosition.html: Added.
* TestWebKitAPI/Tests/WebKit2/geolocationWatchPositionWithHighAccuracy.html: Added.
* WebKitTestRunner/GeolocationProviderMock.cpp:
(WTR::GeolocationProviderMock::GeolocationProviderMock):

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

5 years agoUnreviewed, rolling out r158678.
commit-queue@webkit.org [Tue, 5 Nov 2013 21:16:15 +0000 (21:16 +0000)]
Unreviewed, rolling out r158678.
http://trac.webkit.org/changeset/158678
https://bugs.webkit.org/show_bug.cgi?id=123820

Causes a new debug assertion failure on the Mavericks test
system. (Requested by bfulgham on #webkit).

Source/WebCore:

* rendering/mathml/RenderMathMLOperator.cpp:

LayoutTests:

* TestExpectations:
* mathml/presentation/mo-stretch.html:
* platform/gtk/TestExpectations:
* platform/gtk/mathml/presentation/mo-stretch-expected.png:
* platform/gtk/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:

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

5 years agoFix register allocation inside control flow in GetByVal String
fpizlo@apple.com [Tue, 5 Nov 2013 21:04:24 +0000 (21:04 +0000)]
Fix register allocation inside control flow in GetByVal String
https://bugs.webkit.org/show_bug.cgi?id=123816

Reviewed by Geoffrey Garen.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):

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

5 years agoRemove FTL::LowerDFGToLLVM::compileJSConstant()
fpizlo@apple.com [Tue, 5 Nov 2013 21:03:17 +0000 (21:03 +0000)]
Remove FTL::LowerDFGToLLVM::compileJSConstant()
https://bugs.webkit.org/show_bug.cgi?id=123817

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:

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

5 years agoImplement more NSCoder methods
andersca@apple.com [Tue, 5 Nov 2013 20:56:57 +0000 (20:56 +0000)]
Implement more NSCoder methods
https://bugs.webkit.org/show_bug.cgi?id=123815

Reviewed by Dan Bernstein.

Source/WebKit2:

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject):
Assert that object is not nil.

(createEncodedObject):
Handle nil objects.

(-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
Call the right object stream encoding function based on the object type.

(-[WKRemoteObjectEncoder encodeBool:forKey:]):
(-[WKRemoteObjectEncoder encodeInt64:forKey:]):
(-[WKRemoteObjectEncoder encodeDouble:forKey:]):
Create APIObjects and add them to the current dictionary.

Tools:

Add a method that takes an NSArray, an NSDictionary and an NSURLRequest.

* TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Bundle.mm:
(-[BundleObject testMethodWithArray:dictionary:request:]):
* TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Shared.h:

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

5 years agoEncode the class name
andersca@apple.com [Tue, 5 Nov 2013 19:34:50 +0000 (19:34 +0000)]
Encode the class name
https://bugs.webkit.org/show_bug.cgi?id=123813

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject):
Get the Class using -[NSObject classForCoder] and encode its name in the object dictionary.

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

5 years agoClean up the WKRemoteObjectEncoder code
andersca@apple.com [Tue, 5 Nov 2013 19:24:38 +0000 (19:24 +0000)]
Clean up the WKRemoteObjectEncoder code
https://bugs.webkit.org/show_bug.cgi?id=123811

Reviewed by Dan Bernstein.

Add a new object stream array to be used for the non-keyed encoding values
and free functions for encoding values to the object stream. Simplify object encoding
by moving the dictionary creation out into a separate function and ditching the block based methods.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(ensureObjectStream):
Add helper function to create an object stream.

(encodeToObjectStream):
Add overloads for encoding values into the object streams.

(encodeInvocation):
Add helper function for encoding an NSInvocation.

(encodeObject):
Call encodeInvocation if needed, otherwise just use encodeWithCoder:.

(createEncodedObject):
Helper function that sets up a dictionary, encodes the object into the dictionary and then returns the dictionary.

(-[WKRemoteObjectEncoder encodeObject:forKey:]):
Call createEncodedObject.

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

5 years agoASSERTION FAILED: isHTMLTitleElement(m_titleElement.get()) in WebCore::Document:...
reni@webkit.org [Tue, 5 Nov 2013 19:16:38 +0000 (19:16 +0000)]
ASSERTION FAILED: isHTMLTitleElement(m_titleElement.get()) in WebCore::Document::setTitle
https://bugs.webkit.org/show_bug.cgi?id=122092

Reviewed by Darin Adler.

Source/WebCore:

Remove a bogus assert in Document::setTitle().
m_titleElement can be either of HTMLTitleElement or SVGTitleElement. The assertion was wrong.

Backported from Blink:
https://src.chromium.org/viewvc/blink?revision=158620&view=revision

Test: svg/custom/title-assertion.html

* dom/Document.cpp:
(WebCore::Document::setTitle):
* svg/SVGTitleElement.cpp:
(WebCore::SVGTitleElement::insertedInto):

LayoutTests:

* svg/custom/title-assertion-expected.txt: Added.
* svg/custom/title-assertion.html: Added.

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

5 years agoFTL should support PutById
fpizlo@apple.com [Tue, 5 Nov 2013 18:56:06 +0000 (18:56 +0000)]
FTL should support PutById
https://bugs.webkit.org/show_bug.cgi?id=123784

Reviewed by Geoffrey Garen.

* ftl/FTLAbbreviations.h:
(JSC::FTL::buildCall):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLCompile.cpp:
(JSC::FTL::generateICFastPath):
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLInlineCacheDescriptor.h:
(JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor):
(JSC::FTL::GetByIdDescriptor::GetByIdDescriptor):
(JSC::FTL::PutByIdDescriptor::PutByIdDescriptor):
(JSC::FTL::PutByIdDescriptor::ecmaMode):
(JSC::FTL::PutByIdDescriptor::putKind):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
* ftl/FTLOutput.h:
(JSC::FTL::Output::call):
* ftl/FTLSlowPathCall.cpp:
(JSC::FTL::callOperation):
* ftl/FTLSlowPathCall.h:
* ftl/FTLState.h:
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArguments):
* runtime/Executable.h:
(JSC::ScriptExecutable::ecmaMode):

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

5 years agoGetById->GetByOffset and PutById->PutByOffset folding should mark haveStructures...
fpizlo@apple.com [Tue, 5 Nov 2013 18:53:04 +0000 (18:53 +0000)]
GetById->GetByOffset and PutById->PutByOffset folding should mark haveStructures since it may result in structure transition watchpoints
https://bugs.webkit.org/show_bug.cgi?id=123788

Reviewed by Geoffrey Garen.

haveStructures is true if there are any currentlyKnownStructures that have
interesting values, since that's the only time when clobbering needs to do things.
It's a really important compile-time optimization. But that also means that anytime
we might cause currentlyKnownStructures to get set - like when we might insert some
structure transition watchpoints - we need to set haveStructures. We were forgetting
to do that for GetById->GetByOffset and PutById->PutByOffset because, I guess, we
forgot that those might insert structure transition watchpoints.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):

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

5 years agoUpdate ReducedFTL
fpizlo@apple.com [Tue, 5 Nov 2013 18:50:22 +0000 (18:50 +0000)]
Update ReducedFTL
https://bugs.webkit.org/show_bug.cgi?id=123805

Reviewed by Sam Weinig.

- Make ReducedFTL build with debug info.

- Give ReducedFTL a --loop mode that runs everything in a loop. Great for finding
  memory leaks and attaching a profiler.

- Reorder the passes so that they match the FTL.

- Make it possible to change the backend opt level and enable the fast isel.

* ReducedFTL/ReducedFTL.c:
(usage):
(roundUpSize):
(mmAllocateCodeSection):
(main):
* ReducedFTL/build.sh:

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

5 years ago[MathML] Poor spacing around delimiters in MathML Torture Test 14
mrobinson@webkit.org [Tue, 5 Nov 2013 18:06:05 +0000 (18:06 +0000)]
[MathML] Poor spacing around delimiters in MathML Torture Test 14
https://bugs.webkit.org/show_bug.cgi?id=122837

Reviewed by Brent Fulgham.

Instead of stretching the vertical bar with the stretchable version, just repeat
the normal vertical bar. This follows what Gecko does when rendering tall vertical
bars and also works around an issue with STIX fonts leading to poor spacing in
formulas.

Source/WebCore:

* rendering/mathml/RenderMathMLOperator.cpp: Stretch the vertical bar with the
normal variant.

LayoutTests:

* mathml/presentation/mo-stretch.html: Reworked this test to show
stretching of all stretchable characters, which reveals a bug with
the double vertical bar (covered by http://wkbug.com/123543).
* platform/gtk/TestExpectations:
* platform/gtk/mathml/presentation/mo-stretch-expected.png:
* platform/gtk/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:

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

5 years ago[mips] Make regTx registers match between JSInterfaceJIT and GPRInfo.
commit-queue@webkit.org [Tue, 5 Nov 2013 18:05:56 +0000 (18:05 +0000)]
[mips] Make regTx registers match between JSInterfaceJIT and GPRInfo.
https://bugs.webkit.org/show_bug.cgi?id=123807

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-05
Reviewed by Mark Lam.

* jit/GPRInfo.h:
(JSC::GPRInfo::toIndex):
* jit/JSInterfaceJIT.h:

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

5 years agoXSSAuditor should catch reflected srcdoc properties even without a <frame> tag injection
dbates@webkit.org [Tue, 5 Nov 2013 18:02:18 +0000 (18:02 +0000)]
XSSAuditor should catch reflected srcdoc properties even without a <frame> tag injection

From Blink r160615 by <tsepez@chromium.org>
https://src.chromium.org/viewvc/blink?view=rev&revision=160615

Source/WebCore:

Test: http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterIframeToken):

LayoutTests:

* http/tests/security/xssAuditor/iframe-srcdoc-property-blocked-expected.txt: Added.
* http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: Added.
* http/tests/security/xssAuditor/resources/echo-frame-src.pl: Added.

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

5 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 5 Nov 2013 16:23:33 +0000 (16:23 +0000)]
Unreviewed EFL gardening

Add baselines for tests marked as missing.

* platform/efl-wk1/TestExpectations:
* platform/efl/css3/masking/mask-luminance-png-expected.txt: Added.
* platform/efl/fast/css/color-correction-untagged-images-expected.png: Added.
* platform/efl/fast/css/color-correction-untagged-images-expected.txt: Added.
* platform/efl/fast/regions/iframe-html-collected-expected.txt: Added.
* platform/efl/fast/repaint/hover-pseudo-borders-expected.png: Added.
* platform/efl/fast/repaint/hover-pseudo-borders-expected.txt: Added.

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

5 years agoAX: switch DRT AX methods to use nullptr
cfleizach@apple.com [Tue, 5 Nov 2013 16:16:55 +0000 (16:16 +0000)]
AX: switch DRT AX methods to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=123773

Reviewed by Andreas Kling.

Switch AX related code in DRT and WKTR to use nullptr.

* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::startTextMarker):
(AccessibilityUIElement::endTextMarker):
* DumpRenderTree/mac/AccessibilityControllerMac.mm:
(findAccessibleObjectById):
(AccessibilityController::accessibleElementById):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::linkedUIElementAtIndex):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::selectedChildAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::rowAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::stringAttributeValue):
(AccessibilityUIElement::uiElementAttributeValue):
(AccessibilityUIElement::role):
(AccessibilityUIElement::subrole):
(AccessibilityUIElement::roleDescription):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::valueDescription):
(AccessibilityUIElement::speak):
(AccessibilityUIElement::classList):
(AccessibilityUIElement::ariaDropEffects):
(AccessibilityUIElement::rangeForLine):
(AccessibilityUIElement::rangeForPosition):
(AccessibilityUIElement::boundsForRange):
(AccessibilityUIElement::stringForRange):
(AccessibilityUIElement::attributedStringForRange):
(AccessibilityUIElement::uiElementForSearchPredicate):
(AccessibilityUIElement::attributesOfColumnHeaders):
(AccessibilityUIElement::attributesOfRowHeaders):
(AccessibilityUIElement::attributesOfColumns):
(AccessibilityUIElement::attributesOfRows):
(AccessibilityUIElement::attributesOfVisibleCells):
(AccessibilityUIElement::attributesOfHeader):
(AccessibilityUIElement::rowIndexRange):
(AccessibilityUIElement::columnIndexRange):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::horizontalScrollbar):
(AccessibilityUIElement::verticalScrollbar):
(AccessibilityUIElement::pathDescription):
(AccessibilityUIElement::selectedTextRange):
(AccessibilityUIElement::url):
(AccessibilityUIElement::textMarkerRangeForElement):
(AccessibilityUIElement::textMarkerForIndex):
(AccessibilityUIElement::previousTextMarker):
(AccessibilityUIElement::nextTextMarker):
(AccessibilityUIElement::stringForTextMarkerRange):
(AccessibilityUIElement::textMarkerRangeForMarkers):
(AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(AccessibilityUIElement::endTextMarkerForBounds):
(AccessibilityUIElement::startTextMarkerForBounds):
(AccessibilityUIElement::textMarkerForPoint):
(AccessibilityUIElement::accessibilityElementForTextMarker):
(AccessibilityUIElement::startTextMarker):
(AccessibilityUIElement::endTextMarker):
(AccessibilityUIElement::supportedActions):
(AccessibilityUIElement::mathPostscriptsDescription):
(AccessibilityUIElement::mathPrescriptsDescription):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::startTextMarker):
(WTR::AccessibilityUIElement::endTextMarker):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::findAccessibleObjectById):
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::uiElementAttributeValue):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
(WTR::AccessibilityUIElement::roleDescription):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::classList):
(WTR::AccessibilityUIElement::speak):
(WTR::AccessibilityUIElement::ariaDropEffects):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::rangeForPosition):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
(WTR::AccessibilityUIElement::attributesOfColumns):
(WTR::AccessibilityUIElement::attributesOfRows):
(WTR::AccessibilityUIElement::attributesOfVisibleCells):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::startTextMarker):
(WTR::AccessibilityUIElement::endTextMarker):
(WTR::AccessibilityUIElement::mathPostscriptsDescription):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):
(WTR::AccessibilityUIElement::pathDescription):
(WTR::AccessibilityUIElement::supportedActions):

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

5 years agoDelete maketokenizer.
commit-queue@webkit.org [Tue, 5 Nov 2013 16:06:20 +0000 (16:06 +0000)]
Delete maketokenizer.
https://bugs.webkit.org/show_bug.cgi?id=115155

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-05
Reviewed by Zoltan Herczeg.

This script was used to generate the old flex based CSS tokenizer. It
was replaced by a custom tokenizer in r106217 but the script wasn't
removed. Since there is no mention of it in the original bug nor any
reference to maketokenizer in our build files, it's probably an
oversight.

Merge from blink:
https://chromium.googlesource.com/chromium/blink/+/2a1c8aaf867f707ccdcd8893446e907e2aa2e1c2

* css/maketokenizer: Removed.

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

5 years agoREGRESSION(r158315): Fix register mixup in JIT::compileOpCall.
commit-queue@webkit.org [Tue, 5 Nov 2013 15:34:03 +0000 (15:34 +0000)]
REGRESSION(r158315): Fix register mixup in JIT::compileOpCall.
https://bugs.webkit.org/show_bug.cgi?id=123799

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-05
Reviewed by Mark Lam.

Changeset r158315 is crashing architectures where JSInterfaceJIT::regT3 is
different from GPRInfo::regT3. This is the case for MIPS architecture.

* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):

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

5 years agoRemove leftover Qt related things from WebKitMacros.cmake
commit-queue@webkit.org [Tue, 5 Nov 2013 15:33:20 +0000 (15:33 +0000)]
Remove leftover Qt related things from WebKitMacros.cmake
https://bugs.webkit.org/show_bug.cgi?id=123798

Patch by Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> on 2013-11-05
Reviewed by Anders Carlsson.

* Source/cmake/WebKitMacros.cmake:

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

5 years ago[mips] Fix build for MIPS platforms.
commit-queue@webkit.org [Tue, 5 Nov 2013 15:32:27 +0000 (15:32 +0000)]
[mips] Fix build for MIPS platforms.
https://bugs.webkit.org/show_bug.cgi?id=123796

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-05
Reviewed by Michael Saboff.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkCode): Add specific MIPS call to relocateJumps.
* assembler/MIPSAssembler.h: Remove executableCopy (because of r157690) and set relocateJumps function public.
(JSC::MIPSAssembler::firstRegister):
(JSC::MIPSAssembler::lastRegister):
(JSC::MIPSAssembler::firstFPRegister):
(JSC::MIPSAssembler::lastFPRegister):
(JSC::MIPSAssembler::buffer): Needed since r157690.
* assembler/MacroAssemblerMIPS.h: Add framePointerRegister.
(JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranchPtrWithPatch): Remove unused parameter warning.

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

5 years agoRemove leftover Qt related things from the flakiness_dashboard
commit-queue@webkit.org [Tue, 5 Nov 2013 15:31:50 +0000 (15:31 +0000)]
Remove leftover Qt related things from the flakiness_dashboard
https://bugs.webkit.org/show_bug.cgi?id=123800

Patch by László Langó <laszlo.lango@frontendart.com> on 2013-11-05
Reviewed by Anders Carlsson.

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

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

5 years ago[CSS Regions] Move cssom related tests into fast/regions/cssom
mihnea@adobe.com [Tue, 5 Nov 2013 15:30:10 +0000 (15:30 +0000)]
[CSS Regions] Move cssom related tests into fast/regions/cssom
https://bugs.webkit.org/show_bug.cgi?id=123705

Reviewed by Sam Weinig.

Move tests related to http://dev.w3.org/csswg/css-regions/#cssom_view_and_css_regions into their own folder and adjust paths for resources used in tests.
They test the same functionality: CSSRegions and CSSOM-view.

* fast/regions/cssom/element-region-overset-state-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-expected.txt.
* fast/regions/cssom/element-region-overset-state-negative-letter-spacing-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-negative-letter-spacing-expected.txt.
* fast/regions/cssom/element-region-overset-state-negative-letter-spacing.html: Renamed from LayoutTests/fast/regions/element-region-overset-state-negative-letter-spacing.html.
* fast/regions/cssom/element-region-overset-state-vertical-rl-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl-expected.txt.
* fast/regions/cssom/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing-expected.txt.
* fast/regions/cssom/element-region-overset-state-vertical-rl-negative-letter-spacing.html: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html.
* fast/regions/cssom/element-region-overset-state-vertical-rl.html: Renamed from LayoutTests/fast/regions/element-region-overset-state-vertical-rl.html.
* fast/regions/cssom/element-region-overset-state.html: Renamed from LayoutTests/fast/regions/element-region-overset-state.html.
* fast/regions/cssom/flowed-content-bounding-client-rect-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-horizontal-bt-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-horizontal-bt-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-horizontal-bt.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-horizontal-bt.html.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical-rl-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical-rl-expected.txt.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical-rl.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical-rl.html.
* fast/regions/cssom/flowed-content-bounding-client-rect-vertical.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect-vertical.html.
* fast/regions/cssom/flowed-content-bounding-client-rect.html: Renamed from LayoutTests/fast/regions/flowed-content-bounding-client-rect.html.
* fast/regions/cssom/flowed-content-transform-bounding-client-rect-expected.txt: Renamed from LayoutTests/fast/regions/flowed-content-transform-bounding-client-rect-expected.txt.
* fast/regions/cssom/flowed-content-transform-bounding-client-rect.html: Renamed from LayoutTests/fast/regions/flowed-content-transform-bounding-client-rect.html.
* fast/regions/cssom/flowed-inline-content-bounding-client-rect-expected.txt: Renamed from LayoutTests/fast/regions/flowed-inline-content-bounding-client-rect-expected.txt.
* fast/regions/cssom/flowed-inline-content-bounding-client-rect.html: Renamed from LayoutTests/fast/regions/flowed-inline-content-bounding-client-rect.html.
* fast/regions/cssom/get-region-flow-ranges-absolute-pos-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-absolute-pos-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-absolute-pos.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-absolute-pos.html.
* fast/regions/cssom/get-region-flow-ranges-content-nodes-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-content-nodes-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-content-nodes.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-content-nodes.html.
* fast/regions/cssom/get-region-flow-ranges-display-none-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-display-none-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-display-none.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-display-none.html.
* fast/regions/cssom/get-region-flow-ranges-empty-regions-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-empty-regions-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-empty-regions.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-empty-regions.html.
* fast/regions/cssom/get-region-flow-ranges-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-fixed-pos-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-fixed-pos-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-fixed-pos.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-fixed-pos.html.
* fast/regions/cssom/get-region-flow-ranges-horiz-bt-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-horiz-bt-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-horiz-bt.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-horiz-bt.html.
* fast/regions/cssom/get-region-flow-ranges-inline-only-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-only-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-inline-only.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-only.html.
* fast/regions/cssom/get-region-flow-ranges-inline-svg-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-svg-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-inline-svg.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-inline-svg.html.
* fast/regions/cssom/get-region-flow-ranges-text-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-text-vert-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text-vert-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-text-vert-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text-vert-lr.html.
* fast/regions/cssom/get-region-flow-ranges-text.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-text.html.
* fast/regions/cssom/get-region-flow-ranges-vert-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-vert-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-lr.html.
* fast/regions/cssom/get-region-flow-ranges-vert-rl-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-rl-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-vert-rl.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-vert-rl.html.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-rl-rb-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-rl-rb-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-rl-rb-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-rl-rb-lr.html.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-tb-rl-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-tb-rl-lr-expected.txt.
* fast/regions/cssom/get-region-flow-ranges-writing-modes-tb-rl-lr.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges-writing-modes-tb-rl-lr.html.
* fast/regions/cssom/get-region-flow-ranges.html: Renamed from LayoutTests/fast/regions/get-region-flow-ranges.html.
* fast/regions/cssom/get-regions-by-content-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-expected.txt.
* fast/regions/cssom/get-regions-by-content-horiz-bt-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-bt-expected.txt.
* fast/regions/cssom/get-regions-by-content-horiz-bt.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-bt.html.
* fast/regions/cssom/get-regions-by-content-horiz-tb-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-tb-expected.txt.
* fast/regions/cssom/get-regions-by-content-horiz-tb.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-horiz-tb.html.
* fast/regions/cssom/get-regions-by-content-pseudo-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-pseudo-expected.txt.
* fast/regions/cssom/get-regions-by-content-pseudo.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-pseudo.html.
* fast/regions/cssom/get-regions-by-content-vert-lr-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-lr-expected.txt.
* fast/regions/cssom/get-regions-by-content-vert-lr.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-lr.html.
* fast/regions/cssom/get-regions-by-content-vert-rl-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-rl-expected.txt.
* fast/regions/cssom/get-regions-by-content-vert-rl.html: Renamed from LayoutTests/fast/regions/get-regions-by-content-vert-rl.html.
* fast/regions/cssom/get-regions-by-content.html: Renamed from LayoutTests/fast/regions/get-regions-by-content.html.
* fast/regions/cssom/get-regions-by-content2-expected.txt: Renamed from LayoutTests/fast/regions/get-regions-by-content2-expected.txt.
* fast/regions/cssom/get-regions-by-content2.html: Renamed from LayoutTests/fast/regions/get-regions-by-content2.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-multiple-regions-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-multiple-regions.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-absolute-sticky-fixed-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float-vert-rl-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float-vert-rl.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl.html.
* fast/regions/cssom/offsetLeft-offsetTop-in-region-float.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-in-region-float.html.
* fast/regions/cssom/offsetLeft-offsetTop-inlines-region-in-element-expected.txt: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-inlines-region-in-element-expected.txt.
* fast/regions/cssom/offsetLeft-offsetTop-inlines-region-in-element.html: Renamed from LayoutTests/fast/regions/offsetLeft-offsetTop-inlines-region-in-element.html.
* fast/regions/cssom/offsetParent-body-in-flow-thread-expected.txt: Renamed from LayoutTests/fast/regions/offsetParent-body-in-flow-thread-expected.txt.
* fast/regions/cssom/offsetParent-body-in-flow-thread.html: Renamed from LayoutTests/fast/regions/offsetParent-body-in-flow-thread.html.
* fast/regions/cssom/offsetParent-in-flow-thread-expected.txt: Renamed from LayoutTests/fast/regions/offsetParent-in-flow-thread-expected.txt.
* fast/regions/cssom/offsetParent-in-flow-thread.html: Renamed from LayoutTests/fast/regions/offsetParent-in-flow-thread.html.
* fast/regions/cssom/overset-break-expected.txt: Renamed from LayoutTests/fast/regions/overset-break-expected.txt.
* fast/regions/cssom/overset-break-nested-expected.txt: Renamed from LayoutTests/fast/regions/overset-break-nested-expected.txt.
* fast/regions/cssom/overset-break-nested.html: Renamed from LayoutTests/fast/regions/overset-break-nested.html.
* fast/regions/cssom/overset-break-with-sibling-expected.txt: Renamed from LayoutTests/fast/regions/overset-break-with-sibling-expected.txt.
* fast/regions/cssom/overset-break-with-sibling.html: Renamed from LayoutTests/fast/regions/overset-break-with-sibling.html.
* fast/regions/cssom/overset-break.html: Renamed from LayoutTests/fast/regions/overset-break.html.
* fast/regions/cssom/region-range-for-box-crash-expected.txt: Renamed from LayoutTests/fast/regions/region-range-for-box-crash-expected.txt.
* fast/regions/cssom/region-range-for-box-crash.html: Renamed from LayoutTests/fast/regions/region-range-for-box-crash.html.
* fast/regions/cssom/webkit-named-flow-collection-crash-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-crash-expected.txt.
* fast/regions/cssom/webkit-named-flow-collection-crash.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-crash.html.
* fast/regions/cssom/webkit-named-flow-collection-empty-getters-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-empty-getters-expected.txt.
* fast/regions/cssom/webkit-named-flow-collection-empty-getters.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-empty-getters.html.
* fast/regions/cssom/webkit-named-flow-collection-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection-expected.txt.
* fast/regions/cssom/webkit-named-flow-collection.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-collection.html.
* fast/regions/cssom/webkit-named-flow-event-add-to-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-add-to-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-add-to-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-add-to-flow.html.
* fast/regions/cssom/webkit-named-flow-event-auto-height-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-auto-height-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-auto-height.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-auto-height.html.
* fast/regions/cssom/webkit-named-flow-event-crash-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-crash-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-crash.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-crash.html.
* fast/regions/cssom/webkit-named-flow-event-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-no-regions-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-no-regions-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-no-regions.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-no-regions.html.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-no-overset-change-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change.html.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-overset-change-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-region-in-flexbox-overset-change.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change.html.
* fast/regions/cssom/webkit-named-flow-event-remove-from-dom-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-dom-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-remove-from-dom.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-dom.html.
* fast/regions/cssom/webkit-named-flow-event-remove-from-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-remove-from-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-remove-from-flow.html.
* fast/regions/cssom/webkit-named-flow-event-target-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-target-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-target.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-target.html.
* fast/regions/cssom/webkit-named-flow-event-to-null-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-to-null-expected.txt.
* fast/regions/cssom/webkit-named-flow-event-to-null.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event-to-null.html.
* fast/regions/cssom/webkit-named-flow-event.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-event.html.
* fast/regions/cssom/webkit-named-flow-existing-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-existing-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-existing-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-existing-flow.html.
* fast/regions/cssom/webkit-named-flow-first-empty-region-index-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-first-empty-region-index-expected.txt.
* fast/regions/cssom/webkit-named-flow-first-empty-region-index.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-first-empty-region-index.html.
* fast/regions/cssom/webkit-named-flow-flow-added-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-flow-added-expected.txt.
* fast/regions/cssom/webkit-named-flow-flow-added.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-flow-added.html.
* fast/regions/cssom/webkit-named-flow-get-content-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-content-expected.txt.
* fast/regions/cssom/webkit-named-flow-get-content.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-content.html.
* fast/regions/cssom/webkit-named-flow-get-regions-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions-expected.txt.
* fast/regions/cssom/webkit-named-flow-get-regions-pseudo-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions-pseudo-expected.txt.
* fast/regions/cssom/webkit-named-flow-get-regions-pseudo.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions-pseudo.html.
* fast/regions/cssom/webkit-named-flow-get-regions.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-get-regions.html.
* fast/regions/cssom/webkit-named-flow-invalid-name-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-invalid-name-expected.txt.
* fast/regions/cssom/webkit-named-flow-invalid-name.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-invalid-name.html.
* fast/regions/cssom/webkit-named-flow-modified-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-modified-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-modified-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-modified-flow.html.
* fast/regions/cssom/webkit-named-flow-name-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-name-expected.txt.
* fast/regions/cssom/webkit-named-flow-name.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-name.html.
* fast/regions/cssom/webkit-named-flow-non-existing-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-non-existing-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-non-existing-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-non-existing-flow.html.
* fast/regions/cssom/webkit-named-flow-overset-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-overset-expected.txt.
* fast/regions/cssom/webkit-named-flow-overset.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-overset.html.
* fast/regions/cssom/webkit-named-flow-removed-flow-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-removed-flow-expected.txt.
* fast/regions/cssom/webkit-named-flow-removed-flow.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-removed-flow.html.
* fast/regions/cssom/webkit-named-flow-same-object-expected.txt: Renamed from LayoutTests/fast/regions/webkit-named-flow-same-object-expected.txt.
* fast/regions/cssom/webkit-named-flow-same-object.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-same-object.html.

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

5 years agoUnreviewed. Unbreaking GCC builds.
zandobersek@gmail.com [Tue, 5 Nov 2013 15:25:11 +0000 (15:25 +0000)]
Unreviewed. Unbreaking GCC builds.

* html/HTMLCollection.cpp:
(WebCore::isMatchingElement): This inline function is not a template anymore.

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

5 years agoUnreviewed GTK gardening. Two tests pass after r158575 and r15856.
mario@webkit.org [Tue, 5 Nov 2013 14:50:09 +0000 (14:50 +0000)]
Unreviewed GTK gardening. Two tests pass after r158575 and r15856.

* platform/gtk/TestExpectations: Removed passing tests.

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

5 years agoMake it compile.
antti@apple.com [Tue, 5 Nov 2013 14:35:47 +0000 (14:35 +0000)]
Make it compile.

* dom/LiveNodeList.h:
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::adoptDocument):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::~HTMLCollection):

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

5 years ago[EFL] accessibility/svg-group-element-with-title.html is failing
commit-queue@webkit.org [Tue, 5 Nov 2013 13:40:49 +0000 (13:40 +0000)]
[EFL] accessibility/svg-group-element-with-title.html is failing
https://bugs.webkit.org/show_bug.cgi?id=114151

Patch by Robert Plociennik <r.plociennik@samsung.com> on 2013-11-05
Reviewed by Mario Sanchez Prada.

Tools:

atk_component_ref_accessible_at_point(), utilized in
AccessibilityUIElement::elementAtPoint(), is expected to 'get a reference to the
accessible child, if one exists, at the coordinate point specified' and not
explicitly return self in case of lack of child elements. This contradicts with
expected behavior of elementAtPoint(). Therefore, elementAtPoint() is
changed to return self regardless of coordinates specified, provided no child
element could be retrieved, effectively mimicing the behaviour of equivalent
Mac implementation in accessibilityHitTest().

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::elementAtPoint): Fixed.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::elementAtPoint): Fixed.

LayoutTests:

Removed failure expectation.

* platform/efl/TestExpectations: The test is no longer failing.

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

5 years agoHTMLCollection should not be NodeList
antti@apple.com [Tue, 5 Nov 2013 13:20:49 +0000 (13:20 +0000)]
HTMLCollection should not be NodeList
https://bugs.webkit.org/show_bug.cgi?id=123794

Reviewed by Andreas Kling.

HTMLCollection and NodeList are unrelated types in DOM yet our HTMLCollection inherits NodeList
for code sharing reasons. While some code does get shared the types are sufficiently different
that this results in lots of unnecessary branches, complexity and general awkwardness. Code sharing
can be better achieved by means other than inheritance.

This patch splits HTMLCollection from NodeList by copy-pasting and eliminating resulting redundancies.
Sharing comes later.

* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::~ClassNodeList):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::childrenChanged):
(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByName):
(WebCore::ContainerNode::getElementsByClassName):
(WebCore::ContainerNode::radioNodeList):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::registerNodeList):
(WebCore::Document::unregisterNodeList):
(WebCore::Document::registerCollection):
(WebCore::Document::unregisterCollection):
(WebCore::Document::ensureCachedCollection):

    Add separate functions and map for registering HTMLCollections.

(WebCore::Document::all):
(WebCore::Document::windowNamedItems):
(WebCore::Document::documentNamedItems):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::ensureCachedHTMLCollection):
(WebCore::Element::cachedHTMLCollection):
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::rootNode):
(WebCore::isMatchingElement):
(WebCore::LiveNodeList::iterateForPreviousElement):
(WebCore::LiveNodeList::itemBefore):
(WebCore::firstMatchingElement):
(WebCore::nextMatchingElement):
(WebCore::traverseMatchingElementsForwardToOffset):
(WebCore::LiveNodeList::traverseLiveNodeListFirstElement):
(WebCore::LiveNodeList::traverseLiveNodeListForwardToOffset):
(WebCore::LiveNodeList::isLastItemCloserThanLastOrCachedItem):
(WebCore::LiveNodeList::isFirstItemCloserThanCachedItem):
(WebCore::LiveNodeList::length):
(WebCore::LiveNodeList::item):
(WebCore::LiveNodeList::elementBeforeOrAfterCachedElement):

    This code used to live in HTMLCollection.cpp. Copy-paste here and remove all branches not needed for NodeLists.

(WebCore::LiveNodeList::invalidateCache):

    NodeLists have no name caches.

* dom/LiveNodeList.h:
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
(WebCore::LiveNodeList::isRootedAtDocument):
(WebCore::LiveNodeList::type):
(WebCore::LiveNodeList::invalidateCache):
(WebCore::LiveNodeList::setCachedElement):

    Merge LiveNodeListBase and LiveNodeList.
    Remove fields and code supporting HTMLCollection.

(WebCore::shouldInvalidateTypeOnAttributeChange):

    Move to global scope. This function is used both HTMLCollections and LiveNodeLists.

* dom/NameNodeList.cpp:
(WebCore::NameNodeList::~NameNodeList):
* dom/NameNodeList.h:
(WebCore::NameNodeList::create):
* dom/Node.cpp:
(WebCore::shouldInvalidateNodeListCachesForAttr):
(WebCore::Document::shouldInvalidateNodeListAndCollectionCaches):
(WebCore::Document::invalidateNodeListAndCollectionCaches):
(WebCore::Node::invalidateNodeListAndCollectionCachesInAncestors):
(WebCore::NodeListsNodeData::invalidateCaches):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::addCacheWithQualifiedName):
(WebCore::NodeListsNodeData::addCachedCollection):
(WebCore::NodeListsNodeData::cachedCollection):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCachedCollection):
(WebCore::NodeListsNodeData::isEmpty):
(WebCore::NodeListsNodeData::adoptDocument):
(WebCore::NodeListsNodeData::namedCollectionKey):
(WebCore::NodeListsNodeData::namedNodeListKey):
(WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):

    Add separate cache for HTMLCollections.

* dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList):
(WebCore::TagNodeList::~TagNodeList):
* dom/TagNodeList.h:
(WebCore::TagNodeList::create):
(WebCore::HTMLTagNodeList::create):
* html/CollectionType.h:

    Remove NodeList types.

* html/HTMLCollection.cpp:
(WebCore::shouldOnlyIncludeDirectChildren):
(WebCore::rootTypeFromCollectionType):
(WebCore::invalidationTypeExcludingIdAndNameAttributes):
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::~HTMLCollection):
(WebCore::HTMLCollection::rootNode):
(WebCore::isMatchingElement):
(WebCore::HTMLCollection::iterateForPreviousElement):
(WebCore::HTMLCollection::itemBefore):
(WebCore::firstMatchingElement):
(WebCore::nextMatchingElement):
(WebCore::traverseMatchingElementsForwardToOffset):
(WebCore::HTMLCollection::isLastItemCloserThanLastOrCachedItem):
(WebCore::HTMLCollection::isFirstItemCloserThanCachedItem):
(WebCore::HTMLCollection::setCachedElement):
(WebCore::HTMLCollection::length):
(WebCore::HTMLCollection::item):
(WebCore::HTMLCollection::elementBeforeOrAfterCachedElement):
(WebCore::HTMLCollection::traverseFirstElement):
(WebCore::HTMLCollection::traverseNextElement):
(WebCore::HTMLCollection::traverseForwardToOffset):
(WebCore::HTMLCollection::invalidateCache):
(WebCore::HTMLCollection::invalidateIdNameCacheMaps):
(WebCore::HTMLCollection::namedItem):

    Remove NodeList specific branches and functions.
    LiveNodeListBase functions are now HTMLCollection functions.

* html/HTMLCollection.h:
(WebCore::HTMLCollection::isRootedAtDocument):
(WebCore::HTMLCollection::invalidationType):
(WebCore::HTMLCollection::type):
(WebCore::HTMLCollection::ownerNode):
(WebCore::HTMLCollection::invalidateCache):
(WebCore::HTMLCollection::document):
(WebCore::HTMLCollection::overridesItemAfter):
(WebCore::HTMLCollection::isElementCacheValid):
(WebCore::HTMLCollection::cachedElement):
(WebCore::HTMLCollection::cachedElementOffset):
(WebCore::HTMLCollection::isLengthCacheValid):
(WebCore::HTMLCollection::cachedLength):
(WebCore::HTMLCollection::setLengthCache):
(WebCore::HTMLCollection::setCachedElement):
(WebCore::HTMLCollection::isItemRefElementsCacheValid):
(WebCore::HTMLCollection::setItemRefElementsCacheValid):
(WebCore::HTMLCollection::rootType):
(WebCore::HTMLCollection::hasNameCache):
(WebCore::HTMLCollection::setHasNameCache):

    Copy-paste functions and fields from former LiveNodeListBase.

* html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::~HTMLNameCollection):
* html/LabelableElement.cpp:
(WebCore::LabelableElement::labels):
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::~LabelsNodeList):
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::~RadioNodeList):
* html/RadioNodeList.h:
(WebCore::RadioNodeList::create):

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

5 years ago[GTK] Add stubs for missing symbols in dom bindings
commit-queue@webkit.org [Tue, 5 Nov 2013 13:02:51 +0000 (13:02 +0000)]
[GTK] Add stubs for missing symbols in dom bindings
https://bugs.webkit.org/show_bug.cgi?id=123663

Patch by Emilio Pozuelo Monfort <pochu27@gmail.com> on 2013-11-05
Reviewed by Carlos Garcia Campos.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_html_head_element_get_profile):
(webkit_dom_html_head_element_set_profile):
(webkit_dom_processing_instruction_get_data):
(webkit_dom_processing_instruction_set_data):
* bindings/gobject/WebKitDOMCustom.h:
* bindings/gobject/WebKitDOMCustom.symbols:

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

5 years agoMain thread tasks in ThreadableBlobRegistry should use std::unique_ptr
zandobersek@gmail.com [Tue, 5 Nov 2013 10:48:57 +0000 (10:48 +0000)]
Main thread tasks in ThreadableBlobRegistry should use std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=122946

Reviewed by Darin Adler.

The new BlobRegistryContext objects don't have to be adopted into OwnPtr and then have OwnPtr's leaked pointer
passed into the WTF::callOnMainThread call - the pointer to the new heap-allocated object is passed in directly,
with the object ending up being managed by std::unique_ptr in the designated main thread task.

* fileapi/ThreadableBlobRegistry.cpp:
(WebCore::registerBlobURLTask):
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::registerBlobURLFromTask):
(WebCore::unregisterBlobURLTask):
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):

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

5 years ago[EFL] Update a test expected result.
commit-queue@webkit.org [Tue, 5 Nov 2013 10:17:32 +0000 (10:17 +0000)]
[EFL] Update a test expected result.
https://bugs.webkit.org/show_bug.cgi?id=123792

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-05
Reviewed by Gyuyoung Kim.

Need to update some length properties in this expected file.
The test expected reseult is mismatched with return-values of eval() method in LayoutTests/resources/js-test-pre.js.

* platform/efl/js/dom/constructor-length-expected.txt:

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

5 years ago[CSS] Enable css-image-orientation on EFL and GTK ports.
gyuyoung.kim@samsung.com [Tue, 5 Nov 2013 09:39:53 +0000 (09:39 +0000)]
[CSS] Enable css-image-orientation on EFL and GTK ports.
https://bugs.webkit.org/show_bug.cgi?id=123698

Reviewed by Beth Dakin.

Source/WebCore:

r157909 added wrong early return for css-image-orientation. It causes about 20 regressions in layout test
when enabling css-image-orientation. This fixes those wrong implementation as well as enables it on EFL
and GTK ports by default.

Test: fast/css/image-orientation/image-orientation.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::updateSize):

Tools:

r157909 added wrong early return for css-image-orientation. It causes about 20 regressions in layout test
when enabling css-image-orientaiton. This fixes those wrong implementation as well as enables it on EFL
and GTK ports by default.

* Scripts/webkitperl/FeatureList.pm:

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

5 years ago[EFL] accessibility/tabindex-elements-are-accessible.html is failing after r158195
commit-queue@webkit.org [Tue, 5 Nov 2013 09:35:15 +0000 (09:35 +0000)]
[EFL] accessibility/tabindex-elements-are-accessible.html is failing after r158195
https://bugs.webkit.org/show_bug.cgi?id=123741

Unreviewed EFL gardening.

Patch by Artur Moryc <a.moryc@samsung.com> on 2013-11-05

* platform/efl/TestExpectations: adding failing test

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

5 years agoRenderEmbeddedObject shouldn't know about fallback content.
akling@apple.com [Tue, 5 Nov 2013 09:29:50 +0000 (09:29 +0000)]
RenderEmbeddedObject shouldn't know about fallback content.
<https://webkit.org/b/123781>

Stop caching the presence of fallback (DOM) content in a flag on
RenderEmbeddedObject and have SubframeLoader fetch it directly from
HTMLObjectElement instead.

Also made SubframeLoader::requestObject() take the owner element
by reference since we don't support owner-less embedded objects.

Reviewed by Antti Koivisto.

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

5 years ago[GStreamer] Remove NATIVE_FULLSCREEN_VIDEO support
calvaris@igalia.com [Tue, 5 Nov 2013 09:08:15 +0000 (09:08 +0000)]
[GStreamer] Remove NATIVE_FULLSCREEN_VIDEO support
https://bugs.webkit.org/show_bug.cgi?id=123437

Reviewed by Philippe Normand.

Source/WebCore:

Removed some dead code as no GStreamer port is using the native
fullscreen video support.

* GNUmakefile.list.am:
* PlatformEfl.cmake:
* PlatformGTK.cmake: Removed compilation of deleted files.
* platform/graphics/MediaPlayer.h: Removed structures related to
GStreamer and NATIVE_FULLSCREEN_VIDEO.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp: Removed.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h: Removed.
* platform/graphics/gstreamer/GStreamerGWorld.cpp: Removed.
* platform/graphics/gstreamer/GStreamerGWorld.h: Removed.
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Removed
gst/video/video.h include.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::platformMedia):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
Removed code related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
* platform/graphics/gstreamer/PlatformVideoWindow.h: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowMac.mm: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowNix.cpp: Removed.
* platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Removed.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkRender):
(webkitVideoSinkNew):
* platform/graphics/gstreamer/VideoSinkGStreamer.h: Removed code
related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
* platform/graphics/gtk/FullscreenVideoControllerGtk.cpp: Removed.
* platform/graphics/gtk/FullscreenVideoControllerGtk.h: Removed.

Source/WebCore/platform/gtk/po:

* POTFILES.in: Removed FullscreenVideoControllerGtk.cpp.
* gl.po: Removed appearances of strings of
FullscreenVideoControllerGtk.cpp.

Source/WebKit/efl:

Removed some dead code as no GStreamer port is using the native
fullscreen video support.

* WebCoreSupport/FullscreenVideoControllerEfl.h: Removed.

Source/WebKit/gtk:

Removed some dead code as no GStreamer port is using the native
fullscreen video support.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::enterFullScreenForElement):
(WebKit::ChromeClient::exitFullScreenForElement):
* WebCoreSupport/ChromeClientGtk.h: Removed code related to
GStreamer and NATIVE_FULLSCREEN_VIDEO.

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

5 years agoRemove RenderWidget::viewCleared().
akling@apple.com [Tue, 5 Nov 2013 08:53:32 +0000 (08:53 +0000)]
Remove RenderWidget::viewCleared().
<https://webkit.org/b/123777>

This was some ancient hand-waving code from the KHTML era.

It was obviously confused (e.g RenderEmbeddedObject trying to handle
iframe owners, even though that setup is impossible.)

Reviewed by Anders Carlsson.

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

5 years agoIDB: Split backend Cursors and Transactions into their own files
beidson@apple.com [Tue, 5 Nov 2013 07:55:59 +0000 (07:55 +0000)]
IDB: Split backend Cursors and Transactions into their own files
https://bugs.webkit.org/show_bug.cgi?id=123789

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (Rename, no change in behavior).

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBBackingStoreCursorInterface.h:
(WebCore::IDBBackingStoreCursorInterface::~IDBBackingStoreCursorInterface):

* Modules/indexeddb/IDBBackingStoreInterface.h:

* Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Added.
(WebCore::IDBBackingStoreTransactionInterface::~IDBBackingStoreTransactionInterface):

* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):

* Modules/indexeddb/IDBFactoryBackendInterface.h:

* Modules/indexeddb/IDBIndexWriter.cpp:
(WebCore::IDBIndexWriter::writeIndexKeys):
(WebCore::IDBIndexWriter::verifyIndexKeys):
(WebCore::IDBIndexWriter::addingKeyAllowed):
* Modules/indexeddb/IDBIndexWriter.h:

* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::createCursorBackend):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
* Modules/indexeddb/IDBTransactionBackendInterface.h:

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::GetOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):

* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Added.
(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):
(WebCore::IDBBackingStoreCursorLevelDB::firstSeek):
(WebCore::IDBBackingStoreCursorLevelDB::advance):
(WebCore::IDBBackingStoreCursorLevelDB::continueFunction):
(WebCore::IDBBackingStoreCursorLevelDB::haveEnteredRange):
(WebCore::IDBBackingStoreCursorLevelDB::isPastBounds):
* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Added.
(WebCore::IDBBackingStoreCursorLevelDB::~IDBBackingStoreCursorLevelDB):
(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::compareIndexKeys):
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
(WebCore::IDBBackingStoreLevelDB::createObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
(WebCore::IDBBackingStoreLevelDB::getRecord):
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::clearObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::createIndex):
(WebCore::IDBBackingStoreLevelDB::deleteIndex):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::findGreatestKeyLessThanOrEqual):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
(WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
(WebCore::ObjectStoreKeyCursorImpl::create):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreCursorImpl::create):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::objectStoreCursorOptions):
(WebCore::indexCursorOptions):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):
(WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

       * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Added.
(WebCore::IDBBackingStoreTransactionLevelDB::IDBBackingStoreTransactionLevelDB):
(WebCore::IDBBackingStoreTransactionLevelDB::begin):
(WebCore::IDBBackingStoreTransactionLevelDB::commit):
(WebCore::IDBBackingStoreTransactionLevelDB::rollback):
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:

* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::createCursorBackend):
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

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

5 years agointernal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_stat...
fpizlo@apple.com [Tue, 5 Nov 2013 07:09:19 +0000 (07:09 +0000)]
internal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_state.forNode(child).m_futurePossibleStructure.isSubsetOf(StructureSet(structure)) at DFGConstantFoldingPhase.cpp:249
https://bugs.webkit.org/show_bug.cgi?id=123778

Unreviewed, remove the other such assertion.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

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

5 years agoDumpRenderTree should reset its preferences file on launch
ap@apple.com [Tue, 5 Nov 2013 07:05:59 +0000 (07:05 +0000)]
DumpRenderTree should reset its preferences file on launch
https://bugs.webkit.org/show_bug.cgi?id=29751

Reviewed by Dan Bernstein.

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _retrieveKeyboardUIModeFromPreferences:]):
Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
domain meant that current application's domain was explcitly ignored, and the only
way to override the setting in DRT was through argument domain.

Source/WebKit2:

* UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
(-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
domain meant that current application's domain was explcitly ignored, and the only
way to override the setting in WTR was through argument domain.

Tools:

Using NSArgumentDomain was not a good idea. While it works with NSUserDefaults
and CFPreferencesCopyAppValue family of functions, it doesn't work with
CFPreferencesCopyValue(..., kCFPreferencesCurrentApplication, ...).

So, now we'll just set defaults in the current application.

* DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting):
- Delete the defaults.
- Removed CFPreferencesSetAppValue calls, as -setValuesForKeysWithDictionary: does the same.
- The comment about [NSUserDefaults standardUserDefaults] indirectly initializing NSApplication was incorrect.

* WebKitTestRunner/mac/main.mm: (setDefaultsToConsistentValuesForTesting):
Switched to -setValuesForKeysWithDictionary for consistency.

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

5 years agoDo not call setFrameRect on Widget unless its boundaries changed.
zalan@apple.com [Tue, 5 Nov 2013 07:04:50 +0000 (07:04 +0000)]
Do not call setFrameRect on Widget unless its boundaries changed.
https://bugs.webkit.org/show_bug.cgi?id=123781

Reviewed by Andreas Kling.

Call Widget:setFrameRect only when the frame's rect actually changes. It also
cleans up the related weak reference code a bit.

Covered by existing tests.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidgetGeometry):

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

5 years ago[webcore/html] remove extra header includes from cpp files.
commit-queue@webkit.org [Tue, 5 Nov 2013 06:50:16 +0000 (06:50 +0000)]
[webcore/html] remove extra header includes from cpp files.
https://bugs.webkit.org/show_bug.cgi?id=123740

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-11-04
Reviewed by Darin Adler.

Removing redundant headers.

* html/BaseDateAndTimeInputType.cpp:
* html/ColorInputType.cpp:
* html/DOMFormData.cpp:
* html/DOMURL.cpp:
* html/DateInputType.cpp:
* html/DateTimeInputType.cpp:
* html/DateTimeLocalInputType.cpp:
* html/FTPDirectoryDocument.cpp:
* html/FileInputType.cpp:
* html/FormController.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAreaElement.cpp:
* html/HTMLCanvasElement.cpp:
* html/HTMLCollection.cpp:
* html/HTMLDetailsElement.cpp:
* html/HTMLDocument.cpp:
* html/HTMLElement.cpp:
* html/HTMLFormControlsCollection.cpp:
* html/HTMLFormElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLInputElement.cpp:
* html/HTMLLegendElement.cpp:
* html/HTMLMapElement.cpp:
* html/HTMLMediaElement.cpp:
* html/HTMLOptionElement.cpp:
* html/HTMLOptionsCollection.cpp:
* html/HTMLPlugInImageElement.cpp:
* html/HTMLProgressElement.cpp:
* html/HTMLSummaryElement.cpp:
* html/HTMLTemplateElement.cpp:
* html/HTMLVideoElement.cpp:
* html/HTMLViewSourceDocument.cpp:
* html/MediaController.cpp:
* html/MediaKeyEvent.cpp:
* html/MonthInputType.cpp:
* html/RangeInputType.cpp:
* html/StepRange.cpp:
* html/TextFieldInputType.cpp:
* html/TimeInputType.cpp:
* html/WeekInputType.cpp:
* html/canvas/CanvasRenderingContext.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
* html/canvas/CanvasStyle.cpp:
* html/canvas/OESVertexArrayObject.cpp:
* html/parser/BackgroundHTMLParser.cpp:
* html/parser/CSSPreloadScanner.cpp:
* html/parser/CompactHTMLToken.cpp:
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLElementStack.cpp:
* html/parser/HTMLFormattingElementList.cpp:
* html/parser/HTMLMetaCharsetParser.cpp:
* html/parser/HTMLParserIdioms.cpp:
* html/parser/HTMLPreloadScanner.cpp:
* html/parser/HTMLTokenizer.cpp:
* html/parser/HTMLTreeBuilder.cpp:
* html/parser/HTMLTreeBuilderSimulator.cpp:
* html/parser/HTMLViewSourceParser.cpp:
* html/parser/TextDocumentParser.cpp:
* html/parser/XSSAuditor.cpp:
* html/shadow/ContentDistributor.cpp:
* html/shadow/InsertionPoint.cpp:
* html/shadow/MediaControlElements.cpp:
* html/shadow/MediaControlsApple.cpp:
* html/shadow/MediaControlsBlackBerry.cpp:
* html/shadow/MediaControlsGtk.cpp:
* html/shadow/SliderThumbElement.cpp:
* html/track/AudioTrack.cpp:
* html/track/InbandGenericTextTrack.cpp:
* html/track/InbandTextTrack.cpp:
* html/track/InbandWebVTTTextTrack.cpp:
* html/track/TextTrack.cpp:
* html/track/TextTrackCueGeneric.cpp:
* html/track/TextTrackList.cpp:
* html/track/TextTrackRegion.cpp:
* html/track/TrackListBase.cpp:
* html/track/VideoTrack.cpp:
* html/track/WebVTTParser.cpp:

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

5 years agoIDB: deleteDatabase() interface should be asynchronous
beidson@apple.com [Tue, 5 Nov 2013 06:16:47 +0000 (06:16 +0000)]
IDB: deleteDatabase() interface should be asynchronous
https://bugs.webkit.org/show_bug.cgi?id=123787

Reviewed by Tim Horton.

No new tests (No behavior change for a tested port).

deleteDatabase now has no return value, but calls back to a bool function:
* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

Refactor to account for the new async deleteDatabase:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
(WebCore::IDBDatabaseBackendImpl::deleteDatabaseAsync):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:

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

5 years agoREGRESSION(r158586): plugins/refcount-leaks.html fails
msaboff@apple.com [Tue, 5 Nov 2013 06:06:03 +0000 (06:06 +0000)]
REGRESSION(r158586): plugins/refcount-leaks.html fails
https://bugs.webkit.org/show_bug.cgi?id=123765

Source/JavaScriptCore:

We were leaving a hole of one slot above a new frame when pushing the new frame on
the stack with pushFrame().  This unused slot can contain residual values that will
be marked during GC.

Reviewed by Filip Pizlo.

* interpreter/JSStackInlines.h:
(JSC::JSStack::pushFrame):

LayoutTests:

Reviewed by Filip Pizlo.

Reverted the test expectation changes after fixing the underlying issue.

* TestExpectations:
* platform/wk2/TestExpectations:

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

5 years agoRemote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
timothy_horton@apple.com [Tue, 5 Nov 2013 05:52:45 +0000 (05:52 +0000)]
Remote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
https://bugs.webkit.org/show_bug.cgi?id=123766

Reviewed by Anders Carlsson.

Put each LayerTypeCustom layer into a CAContext, so that we can
host small CALayer trees (for video, plugins, etc.) from the Web process
to the UI process without proxying their (more complex) content.

* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::dump):
Store, encode, and dump the CAContext ID of custom layers.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
Create a CALayerHost with the CAContext ID from the Web process.

* WebKit2.xcodeproj/project.pbxproj:
Add PlatformCALayerRemoteCustom.

* WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
(WebKit::GraphicsLayerCARemote::createPlatformCALayer):
Call the newly-added custom-layer constructor.

* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::create):
(PlatformCALayerRemote::PlatformCALayerRemote):
Move the call to layerWasCreated() out to ::create(), so that all of
the constructors for this class and all subclasses have completed
before we call it (so that layerWasCreated() can store the context ID
in the created layer properties object).

(WebKit::PlatformCALayerRemote::hostingContextID):
Should never be reached on the base class, only PlatformCALayerRemoteCustom.

* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: Added.
(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::hostingContextID):
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: Added.
Add PlatformCALayerRemoteCustom, which owns a LayerHostingContext
which it will use to share a custom CALayer tree with the UI process.

* WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
Drive-by remove an unnecessary include.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::layerWasCreated):
Store the CAContext ID with the layer creation properties so it can
be used to create a CALayerHost upon commit in the UI process.

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

5 years agointernal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_stat...
fpizlo@apple.com [Tue, 5 Nov 2013 05:41:41 +0000 (05:41 +0000)]
internal-js-tests.yaml/Octane/stress-tests/pdfjs.js.default: ASSERTION FAILED: m_state.forNode(child).m_futurePossibleStructure.isSubsetOf(StructureSet(structure)) at DFGConstantFoldingPhase.cpp:249
https://bugs.webkit.org/show_bug.cgi?id=123778

Reviewed by Geoffrey Garen.

This assertion was just wrong: ee do an execute() above the assertion. The assertion
is asserting that if we need a watchpoint (i.e. the best proven structure was not the
current structure) then it must be the future possible structure.  But while that may
have been true before execute(), it won't be true after if the PutById was a
transition. Of course, this can only happen in the concurrent JIT in which case the
code would be invalidated anyway since we would only transform the code in a way that
leveraged the lack of a transition if we inserted a watchpoint, in which case we
would realize that the watchpoint had been fired during compilation.

Since this requires concurrent JIT awesomeness, I don't know how to test it.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

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

5 years agoAdd Modules/indexeddb/leveldb to the WebCore.xcodeproj
beidson@apple.com [Tue, 5 Nov 2013 05:41:38 +0000 (05:41 +0000)]
Add Modules/indexeddb/leveldb to the WebCore.xcodeproj

Rubberstamped by Andreas Kling.

This will make hacking on IDB much easier for Mac developers as they won’t have
to constantly add and then subtract the leveldb subdirectory.

The USE(LEVELDB) flag is still disabled so these files won’t actually build by default.

* WebCore.xcodeproj/project.pbxproj:

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

5 years agoDFG CheckArray(String) should just be a Phantom(String:)
fpizlo@apple.com [Tue, 5 Nov 2013 05:39:03 +0000 (05:39 +0000)]
DFG CheckArray(String) should just be a Phantom(String:)
https://bugs.webkit.org/show_bug.cgi?id=123779

Reviewed by Geoffrey Garen.

This should be a speed-up since Phantom(String:) is smart enough to use the string
structure. It should also be a simplification since CheckArray(String) was totally
redundant.

Also FixupPhase was assuming that it may see CheckArray's. That's wrong. It can
create CheckArray's but it won't see them as input since no previous phase can
create them.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):

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

5 years agoRunning FTL tests shouldn't reduce coverage on DFG tests
fpizlo@apple.com [Tue, 5 Nov 2013 05:38:33 +0000 (05:38 +0000)]
Running FTL tests shouldn't reduce coverage on DFG tests
https://bugs.webkit.org/show_bug.cgi?id=123780

Reviewed by Geoffrey Garen.

* Scripts/run-jsc-stress-tests:

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

5 years agoAddress review feedback I forgot to commit in r158641
beidson@apple.com [Tue, 5 Nov 2013 05:20:12 +0000 (05:20 +0000)]
Address review feedback I forgot to commit in r158641

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls):

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

5 years agoIDB: Make opening/establishing a database asynchronous.
beidson@apple.com [Tue, 5 Nov 2013 05:08:11 +0000 (05:08 +0000)]
IDB: Make opening/establishing a database asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=123775

Reviewed by Andreas Kling.

No new tests (No behavior change for a tested port).

* Modules/indexeddb/IDBBackingStoreInterface.h: Add getOrEstablishIDBDatabaseMetadata with a callback,
  removing getIDBDatabaseMetaData, getObjectStores, and createIDBDatabaseMetaData in the process.

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata): Adapted from getIDBDatabaseMetaData,
  implement the asynchronous interface in terms of other LevelDB methods, always calling back synchronously.
(WebCore::IDBBackingStoreLevelDB::createIDBDatabaseMetaData):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::create):
(WebCore::IDBDatabaseBackendImpl::openInternalAsync): Broken off from openInternal.
(WebCore::IDBDatabaseBackendImpl::didOpenInternalAsync): Broken off from openInternal.
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls): Broken off to allow didOpenInternalAsync
  to perform open callbacks in the failure case.
(WebCore::IDBDatabaseBackendImpl::openConnection): Always queue open connection calls, then immediately processPendingCalls.
(WebCore::IDBDatabaseBackendImpl::openConnectionInternal): Actually perform open connection calls.
* Modules/indexeddb/IDBDatabaseBackendImpl.h:

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

5 years agoBuild fix. Update is_flaky when it's NULL.
rniwa@webkit.org [Tue, 5 Nov 2013 05:04:19 +0000 (05:04 +0000)]
Build fix. Update is_flaky when it's NULL.

* public/include/test-results.php:

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

5 years agoJSON generation on new flakiness dashboard is still too slow
rniwa@webkit.org [Tue, 5 Nov 2013 04:05:50 +0000 (04:05 +0000)]
JSON generation on new flakiness dashboard is still too slow
https://bugs.webkit.org/show_bug.cgi?id=123776

Reviewed by Mark Rowe.

* init-database.sql: Added a constraint that result is unique for each (build, test) pair.

* public/include/test-results.php:
(ResultsJSONGenerator::generate): Don't sort results by latest_revision_time since that's done
in the client side anyway.
(update_flakiness_for_build): Don't update is_flaky flag if it's already set to the right value.

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

5 years agoCTTE: RenderFrameBase's widget is always a FrameView.
akling@apple.com [Tue, 5 Nov 2013 03:31:56 +0000 (03:31 +0000)]
CTTE: RenderFrameBase's widget is always a FrameView.
<https://webkit.org/b/123771>

Delete widget() from RenderFrameBase and supplant a childView()
that returns FrameView*. Strip away unnecessary casts and asserts.

Reviewed by Antti Koivisto.

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

5 years ago[CSS Regions][CSS Shapes] Content in region doesn't respect shape-outside after initi...
zoltan@webkit.org [Tue, 5 Nov 2013 02:34:16 +0000 (02:34 +0000)]
[CSS Regions][CSS Shapes] Content in region doesn't respect shape-outside after initial layout pass
<https://webkit.org/b/114829>

Source/WebCore:

Although we set the size of a shape for shape-outside in RenderBlockFlow::insertFloatingObject based on the
float's size, the actual height of the float is not always resolved at that point. (Look at cases when the shape
has percentage based height or percentage based radius.) ShapeInfo::setShapeSize triggers a layout for 0 height
value, which will be overriden later, when RenderBlockFlow::positionNewFloats sets the actual size of the float (shape).
Thus it doesn't make sense to set the shape's size in insertFloatingObject and run those extra unnecessary layout passes,
since it'll be overriden anyways. I moved the shape size setting logic into RenderBlockFlow::positionNewFloats.

The problem showed up when we had a shape-outside ellipse with percentage based radius, and we inserted the content
with JavaScript into a region flow. The content has been layed out based on the 0 border radius, and relayout hasn't been
triggered when it flew into the flow. This change sets the shape size only when we already have the height of the float,
so the radius(es) can be resolved correctly, thus no unnecessary layout passes will happen and the layout will be correct as well.

Reviewed by David Hyatt.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::insertFloatingObject): Remove setting the size of the shape.
(WebCore::RenderBlockFlow::positionNewFloats): Set the size of the shape here.

LayoutTests:

Reviewed by David Hyatt.

* fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html: Added.

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