WebKit-https.git
6 years ago[Mac] tag the video layers with descriptive name to aid debugging
eric.carlson@apple.com [Wed, 30 Apr 2014 02:52:01 +0000 (02:52 +0000)]
[Mac] tag the video layers with descriptive name to aid debugging
https://bugs.webkit.org/show_bug.cgi?id=132371

Reviewed by Darin Adler.

Source/WebCore:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Set the AVPlayerLayer
    name in a debug build.

Source/WebKit2:
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::enterFullscreenForNode): Set the
    fullscreen host layer name in a debug build.

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

6 years ago[GTK][cmake] CMake variable (non)expansion causing 'File name too long' build error.
commit-queue@webkit.org [Wed, 30 Apr 2014 01:53:53 +0000 (01:53 +0000)]
[GTK][cmake] CMake variable (non)expansion causing 'File name too long' build error.
https://bugs.webkit.org/show_bug.cgi?id=132244

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2014-04-29
Reviewed by Martin Robinson.

Removing quotes around include directory variable ${WebCore_INCLUDE_DIRECTORIES} in
the include_directories cmake macro enables the variable to be expanded correctly.

No tests created as this fixes a platform specific build issue.

* PlatformGTK.cmake:

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

6 years agoUnreviewed test fix after r167962.
bfulgham@apple.com [Wed, 30 Apr 2014 01:09:52 +0000 (01:09 +0000)]
Unreviewed test fix after r167962.
* Modules/mediacontrols/mediaControlsApple.css:
(.hidden): Use common '.hidden' class for controls.
(video::-webkit-media-text-track-container .hidden): Deleted.

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

6 years agoHandle selection services menu.
beidson@apple.com [Wed, 30 Apr 2014 01:04:12 +0000 (01:04 +0000)]
Handle selection services menu.
<rdar://problem/16727798> and https://bugs.webkit.org/show_bug.cgi?id=132362

Reviewed by Tim Horton.

Source/WebCore:
* WebCore.exp.in:

Source/WebKit2:
Add members for the relevant info for showing a service menu for a selection:
* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::controlledDataIsEditable):
* Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::controlledSelectionData):
(WebKit::ContextMenuContextData::needsServicesMenu):

* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::replaceSelectionWithPasteboardData): Changed to allow for multiple types on the overridden pasteboard.
(WebKit::WebPageProxy::showSelectionServiceMenu):

Update the services menu code to know the difference between an image service and a selection service:
* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
(-[WKSharingServicePickerDelegate sharingService:willShareItems:]):
(-[WKSharingServicePickerDelegate sharingService:didShareItems:]):
(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
(WebKit::WebContextMenuProxyMac::clearServicesMenu):
(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):
(WebKit::WebContextMenuProxyMac::setupImageServicesMenu): Deleted.
(WebKit::WebContextMenuProxyMac::clearImageServicesMenu): Deleted.

* WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp:
(WebKit::WebPasteboardOverrides::getDataForOverride):

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::replaceSelectionWithPasteboardData): Changed to allow for multiple types on the overridden pasteboard.
(WebKit::WebPage::handleSelectionServiceClick): Pass the relevant selection data through to the UIProcess as RTFD data.

* WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm:
(WebKit::SelectionOverlayController::handleClick): Notify the WebPage of the click.

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

6 years agoRemoving unused argument in InlineFlowBox::placeBoxesInInlineDirection()
mmaxfield@apple.com [Wed, 30 Apr 2014 00:36:21 +0000 (00:36 +0000)]
Removing unused argument in InlineFlowBox::placeBoxesInInlineDirection()
https://bugs.webkit.org/show_bug.cgi?id=132369

Reviewed by Darin Adler.

This was not caught by our compiler because placeBoxesInInlineDirection()
is mutually-recursive with placeBoxRangeInInlineDirection().

No new tests are necessary because there should be no behavior change.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
* rendering/InlineFlowBox.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):

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

6 years ago[WinCairo] Switch video from GStreamer to Media Foundation.
commit-queue@webkit.org [Wed, 30 Apr 2014 00:11:05 +0000 (00:11 +0000)]
[WinCairo] Switch video from GStreamer to Media Foundation.
https://bugs.webkit.org/show_bug.cgi?id=132358

Patch by Alex Christensen <achristensen@webkit.org> on 2014-04-29
Reviewed by Brent Fulgham.

Source/WebCore:
* WebCore.vcxproj/WebCore.vcxproj:
Removed dependencies on GStreamer.

Source/WebKit:
* WebKit.vcxproj/WebKit/WebKit.vcxproj:
Removed dependencies on GStreamer.

Source/WTF:
* WTF.vcxproj/WTF.vcxproj:
Removed dependencies on GStreamer.
* wtf/Platform.h:
Use Media Foundation instead of GStreamer and GLib.

Websites/webkit.org:
* building/tools.html:
Removed requirement of installing GStreamer.

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

6 years agoRemove some PLATFORM(IOS) #ifdefs related to hasAcceleratedTouchScrolling()
simon.fraser@apple.com [Tue, 29 Apr 2014 23:53:57 +0000 (23:53 +0000)]
Remove some PLATFORM(IOS) #ifdefs related to hasAcceleratedTouchScrolling()
https://bugs.webkit.org/show_bug.cgi?id=132353

Reviewed by Tim Horton & Darin Adler.

Minor cleanup and refactoring to remove #idefs.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo): No need for this #ifdef, usesCompositedScrolling()
gives the right answser already.
(WebCore::RenderLayer::visibleContentRectInternal): Use showsOverflowControls() to
avoid #ifdef.
(WebCore::RenderLayer::invalidateScrollbarRect): Ditto.
(WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
(WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
(WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
(WebCore::RenderLayer::showsOverflowControls): Return false on iOS.
(WebCore::RenderLayer::paintOverflowControls): Ditto.
(WebCore::RenderLayer::calculateClipRects): Ditto.
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
Just #ifdef in side of this function rather than having two similar functions.
(WebCore::RenderLayerBacking::shouldClipCompositedBounds):
(WebCore::hasNonZeroTransformOrigin):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use a local bool
to reduce #ifdefs.
(WebCore::layerOrAncestorIsTransformedOrScrolling): Deleted.

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

6 years agoRemove Settings::compositedScrollingForFramesEnabled
simon.fraser@apple.com [Tue, 29 Apr 2014 23:53:55 +0000 (23:53 +0000)]
Remove Settings::compositedScrollingForFramesEnabled
https://bugs.webkit.org/show_bug.cgi?id=132352

Reviewed by Andreas Kling.

Source/WebCore:
The usesCompositedScrolling setting was only used by Chromium, so
remove it and associated code.

* page/FrameView.cpp:
(WebCore::FrameView::usesCompositedScrolling): Deleted.
* page/FrameView.h:
* page/Settings.in:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollLayerPosition):

LayoutTests:
* compositing/iframes/iframe-composited-scrolling-expected.txt: Removed.
* compositing/iframes/iframe-composited-scrolling.html: Removed.

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

6 years ago<rdar://problem/16745596> [Cocoa] Crash when invoking a method with an unsigned param...
mitz@apple.com [Tue, 29 Apr 2014 23:40:49 +0000 (23:40 +0000)]
<rdar://problem/16745596> [Cocoa] Crash when invoking a method with an unsigned parameter on a remote object
https://bugs.webkit.org/show_bug.cgi?id=132366

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeInvocation): Handle the 'I' type code. Interpret the 'q' and 'Q' type codes in an
architecture-independent manner.
(decodeInvocationArguments): Ditto.

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

6 years agoMove removeEquivalentProperties functions to EditingStyle
commit-queue@webkit.org [Tue, 29 Apr 2014 23:34:29 +0000 (23:34 +0000)]
Move removeEquivalentProperties functions to EditingStyle
https://bugs.webkit.org/show_bug.cgi?id=131093

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-04-29
Reviewed by Darin Adler.

Moved the removeEquivalentProperties functions
from StyleProperties to EditingStyle class.

* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::removeEquivalentProperties): Deleted.
* css/StyleProperties.h:
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::removeEquivalentProperties):
(WebCore::extractPropertiesNotIn):
* editing/EditingStyle.h:

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

6 years ago[New Multicolumn] Implement support for compositing
hyatt@apple.com [Tue, 29 Apr 2014 22:59:26 +0000 (22:59 +0000)]
[New Multicolumn] Implement support for compositing
https://bugs.webkit.org/show_bug.cgi?id=132298

Source/WebCore:

Reviewed by Simon Fraser.

* rendering/RenderLayer.cpp:
(WebCore::accumulateOffsetTowardsAncestor):
Add in a case for the new columns that calls into the multi-column flow thread
to get an offset to adjust by.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
Make sure this code only runs for named flow threads.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::canBeComposited):
Turn on compositing support for in-flow RenderFlowThreads instead of always returning
false

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
Changed this function to fix a couple of bugs exposed by compositing/columns tests. Its
end goal is the same, but the approach is improved.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::endFlow):
Don't pad out to a multiple of column height. You can't flip around a flow thread
to get back to accurate physical coordinates if bogus padding is introduced. This
seemed to have no effect on any layout tests when removed, so I don't think it
was really serving any useful purpose.

(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
Don't factor in the overall flow thread portion, since this is handled by the callers
now.

(WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
* rendering/RenderMultiColumnSet.h:
Change this function to be ASSERT_NOT_REACHED(), since we want to know if someone calls
it. It only runs for named flow thread compositing code, so it would be a mistake if
this ever gets invoked.

LayoutTests:

Reviewed by Simon Fraser.

Minor pixel test changes based off how we flip now.

* platform/mac/fast/multicol/block-axis-horizontal-bt-expected.png:
* platform/mac/fast/multicol/block-axis-horizontal-tb-expected.png:
* platform/mac/fast/multicol/block-axis-vertical-lr-expected.png:
* platform/mac/fast/multicol/block-axis-vertical-rl-expected.png:
* platform/mac/fast/multicol/border-padding-pagination-expected.png:
* platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
* platform/mac/fast/multicol/client-rects-spanners-expected.txt:
* platform/mac/fast/multicol/column-break-with-balancing-expected.png:
* platform/mac/fast/multicol/column-count-with-rules-expected.png:
* platform/mac/fast/multicol/column-rules-expected.png:
* platform/mac/fast/multicol/column-rules-stacking-expected.png:
* platform/mac/fast/multicol/columns-shorthand-parsing-expected.png:
* platform/mac/fast/multicol/float-avoidance-expected.png:
* platform/mac/fast/multicol/float-multicol-expected.png:
* platform/mac/fast/multicol/float-paginate-complex-expected.png:
* platform/mac/fast/multicol/float-paginate-empty-lines-expected.png:
* platform/mac/fast/multicol/float-paginate-expected.png:
* platform/mac/fast/multicol/layers-in-multicol-expected.png:
* platform/mac/fast/multicol/layers-split-across-columns-expected.png:
* platform/mac/fast/multicol/margin-collapse-expected.png:
* platform/mac/fast/multicol/max-height-columns-block-expected.png:
* platform/mac/fast/multicol/nested-columns-expected.png:
* platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
* platform/mac/fast/multicol/overflow-across-columns-expected.png:
* platform/mac/fast/multicol/overflow-across-columns-percent-height-expected.png:
* platform/mac/fast/multicol/overflow-unsplittable-expected.png:
* platform/mac/fast/multicol/paginate-block-replaced-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
* platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
* platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
* platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
* platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
* platform/mac/fast/multicol/positioned-split-expected.png:
* platform/mac/fast/multicol/positive-leading-expected.png:
* platform/mac/fast/multicol/scrolling-overflow-expected.png:
* platform/mac/fast/multicol/shadow-breaking-expected.png:
* platform/mac/fast/multicol/single-line-expected.png:
* platform/mac/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
* platform/mac/fast/multicol/span/anonymous-split-block-crash-expected.png:
* platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.png:
* platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
* platform/mac/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
* platform/mac/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.png:
* platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.png:
* platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.png:
* platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.png:
* platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.png:
* platform/mac/fast/multicol/span/span-as-immediate-columns-child-removal-expected.png:
* platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.png:
* platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.png:
* platform/mac/fast/multicol/span/span-as-nested-inline-block-child-expected.png:
* platform/mac/fast/multicol/span/span-margin-collapsing-expected.png:
* platform/mac/fast/multicol/table-margin-collapse-expected.png:
* platform/mac/fast/multicol/table-vertical-align-expected.png:
* platform/mac/fast/multicol/unsplittable-inline-block-expected.png:
* platform/mac/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
* platform/mac/fast/multicol/vertical-lr/column-break-with-balancing-expected.png:
* platform/mac/fast/multicol/vertical-lr/column-count-with-rules-expected.png:
* platform/mac/fast/multicol/vertical-lr/column-rules-expected.png:
* platform/mac/fast/multicol/vertical-lr/float-avoidance-expected.png:
* platform/mac/fast/multicol/vertical-lr/float-multicol-expected.png:
* platform/mac/fast/multicol/vertical-lr/float-paginate-complex-expected.png:
* platform/mac/fast/multicol/vertical-lr/float-paginate-expected.png:
* platform/mac/fast/multicol/vertical-lr/nested-columns-expected.png:
* platform/mac/fast/multicol/vertical-lr/unsplittable-inline-block-expected.png:
* platform/mac/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
* platform/mac/fast/multicol/vertical-rl/column-break-with-balancing-expected.png:
* platform/mac/fast/multicol/vertical-rl/column-count-with-rules-expected.png:
* platform/mac/fast/multicol/vertical-rl/column-rules-expected.png:
* platform/mac/fast/multicol/vertical-rl/float-avoidance-expected.png:
* platform/mac/fast/multicol/vertical-rl/float-multicol-expected.png:
* platform/mac/fast/multicol/vertical-rl/float-paginate-complex-expected.png:
* platform/mac/fast/multicol/vertical-rl/float-paginate-expected.png:
* platform/mac/fast/multicol/vertical-rl/nested-columns-expected.png:
* platform/mac/fast/multicol/vertical-rl/unsplittable-inline-block-expected.png:

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

6 years agoSource/JavaScriptCore: Don't hold on to parameterBindingNodes forever
oliver@apple.com [Tue, 29 Apr 2014 22:23:17 +0000 (22:23 +0000)]
Source/JavaScriptCore: Don't hold on to parameterBindingNodes forever
https://bugs.webkit.org/show_bug.cgi?id=132360

Reviewed by Geoffrey Garen.

Don't keep the parameter nodes anymore. Instead we store the
original parameter string and reparse whenever we actually
need them. Because we only actually need them for compilation
this only results in a single extra parse.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedFunctionExecutable::finishCreation):
(JSC::UnlinkedFunctionExecutable::paramString):
(JSC::UnlinkedFunctionExecutable::parameters):
(JSC::UnlinkedFunctionExecutable::parameterCount): Deleted.
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::parameterCount):
(JSC::UnlinkedFunctionExecutable::parameters): Deleted.
(JSC::UnlinkedFunctionExecutable::finishCreation): Deleted.
* parser/ASTBuilder.h:
(JSC::ASTBuilder::ASTBuilder):
(JSC::ASTBuilder::setFunctionBodyParameters):
* parser/Nodes.h:
(JSC::FunctionBodyNode::parametersStartOffset):
(JSC::FunctionBodyNode::parametersEndOffset):
(JSC::FunctionBodyNode::setParameterLocation):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::parseParameters):
* parser/Parser.h:
(JSC::parse):
* parser/SourceCode.h:
(JSC::SourceCode::subExpression):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::setFunctionBodyParameters):

LayoutTests: Don't hold on to parameter BindingNodes forever
https://bugs.webkit.org/show_bug.cgi?id=132360

Reviewed by Geoffrey Garen.

We don't regenerate the parameter string anymore, so these tests now
match the original input.

* js/destructuring-assignment-expected.txt:

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

6 years agoJSProxies should be cacheable
mhahnenberg@apple.com [Tue, 29 Apr 2014 22:21:04 +0000 (22:21 +0000)]
JSProxies should be cacheable
https://bugs.webkit.org/show_bug.cgi?id=132351

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
Whenever we encounter a proxy in an inline cache we should try to cache on the
proxy's target instead of giving up.

This patch adds support for a simple "recursive" inline cache if the base object
we're accessing is a pure forwarding proxy. JSGlobalObject and its subclasses
are the only ones to benefit from this right now.

This is performance neutral on the benchmarks we track. Currently we won't
cache on JSDOMWindow due to HasImpureGetOwnPropertySlot, but this issue will be fixed soon.

* jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
* jsc.cpp:
(GlobalObject::finishCreation):
(functionCreateProxy):
* runtime/IntendedStructureChain.cpp:
(JSC::IntendedStructureChain::isNormalized):
* runtime/JSCellInlines.h:
(JSC::JSCell::isProxy):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::finishCreation):
* runtime/JSProxy.h:
(JSC::JSProxy::createStructure):
(JSC::JSProxy::targetOffset):
* runtime/JSType.h:
* runtime/Operations.h:
(JSC::isPrototypeChainNormalized):
* runtime/Structure.h:
(JSC::Structure::isProxy):
* tests/stress/proxy-inline-cache.js: Added.
(cacheOnTarget.getX):
(cacheOnTarget):
(cacheOnPrototypeOfTarget.getX):
(cacheOnPrototypeOfTarget):
(dontCacheOnProxyInPrototypeChain.getX):
(dontCacheOnProxyInPrototypeChain):
(dontCacheOnTargetOfProxyInPrototypeChainOfTarget.getX):
(dontCacheOnTargetOfProxyInPrototypeChainOfTarget):

Source/WebCore:
No new tests.

Whenever we encounter a proxy in an inline cache we should try to cache on the
proxy's target instead of giving up.

This patch adds support for a simple "recursive" inline cache if the base object
we're accessing is a pure forwarding proxy. JSGlobalObject and its subclasses
are the only ones to benefit from this right now.

This is performance neutral on the benchmarks we track. Currently we won't
cache on JSDOMWindow due to HasImpureGetOwnPropertySlot, but this issue will be fixed soon.

* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::createStructure):

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

6 years ago[Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method
bfulgham@apple.com [Tue, 29 Apr 2014 22:19:16 +0000 (22:19 +0000)]
[Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method
https://bugs.webkit.org/show_bug.cgi?id=132320

Reviewed by Eric Carlson.

* Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-text-track-container .hidden): Added.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureTextTrackGroup): Added call to
new 'updateCaptionsContainer'.
(WebCore::HTMLMediaElement::updateCaptionContainer): Added.
* html/HTMLMediaElement.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::hide): Use CSS class .hidden instead of
hard-coded "display:none".
(WebCore::MediaControlTextTrackContainerElement::show): Ditto.
* html/shadow/MediaControlElements.h:

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

6 years agoDon't immediately snapshot plugin to allow for proper dominant plugin detection.
roger_fong@apple.com [Tue, 29 Apr 2014 22:14:37 +0000 (22:14 +0000)]
Don't immediately snapshot plugin to allow for proper dominant plugin detection.
https://bugs.webkit.org/show_bug.cgi?id=132294.
<rdar://problem/16745679>

Reviewed by Dean Jackson.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::didInitializePlugin):
Instead of immediately setting the display state to DisplaySnapshot,
put it on a timer to let the page fully layout and get hit test properly.

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

6 years agoPlugins hidden by images should autoplay.
roger_fong@apple.com [Tue, 29 Apr 2014 22:10:32 +0000 (22:10 +0000)]
Plugins hidden by images should autoplay.
https://bugs.webkit.org/show_bug.cgi?id=132222.
<rdar://problem/16653536>

Reviewed by Jon Lee and Darin Adler.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
If the image on top of the plugin is similarly sized and similarly positioned as the plugin rect,
set the plugin to autoplay. This is assuming that the previous snapshot checks have passed as well.
* WebCore.exp.in: Add exports needed by WK2.
* platform/mac-wk2/plugins/snapshotting/autoplay-plugin-blocked-by-image-expected.txt: Added.
* platform/mac-wk2/plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image-expected.txt: Added.
* platform/mac-wk2/plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image-expected.txt: Added.
* plugins/snapshotting/autoplay-plugin-blocked-by-image.html: Added.
* plugins/snapshotting/autoplay-plugin-mostly-blocked-by-image.html: Added.
* plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html: Added.

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

6 years agoUnreviewed, fix cloop build.
fpizlo@apple.com [Tue, 29 Apr 2014 22:07:28 +0000 (22:07 +0000)]
Unreviewed, fix cloop build.

* wtf/Platform.h:

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

6 years agoUse LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
fpizlo@apple.com [Tue, 29 Apr 2014 22:02:00 +0000 (22:02 +0000)]
Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
https://bugs.webkit.org/show_bug.cgi?id=112840

Rubber stamped by Geoffrey Garen.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
It already has a lot of tests.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:

Tools:
* Scripts/build-jsc: Enable it on Mac.
* Scripts/build-webkit: Enable it on Mac.
* Scripts/export-llvm-build: Make it slightly easier to export the build if you've done a "make install".

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

6 years agoFix check-webkit-style after r167926.
lforschler@apple.com [Tue, 29 Apr 2014 21:58:08 +0000 (21:58 +0000)]
Fix check-webkit-style after r167926.

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

6 years agoChange Image Controls replacement to use selection and paste
beidson@apple.com [Tue, 29 Apr 2014 21:54:23 +0000 (21:54 +0000)]
Change Image Controls replacement to use selection and paste
<rdar://problem/16302722> and https://bugs.webkit.org/show_bug.cgi?id=131992

Reviewed by Tim Horton.

Source/WebCore:
* WebCore.exp.in: Remove deleted symbol.

* html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::ImageControlsButtonElementMac::defaultEventHandler):

* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showImageControlsMenu): Select the image element
  before showing the menu.
(WebCore::ContextMenuController::replaceControlledImage): Deleted.
* page/ContextMenuController.h:

Source/WebKit/mac:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingService:didShareItems:]): Write the
  replacement data to a special pasteboard, then replace the current selection from
  that pasteboard.

Source/WebKit2:
Add a "pasteboard override" mechanism which allows WebKit to keep pasteboard content local
to the WebProcess and access it there without having to message up to the UI process:
* WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp: Added.
(WebKit::WebPasteboardOverrides::sharedPasteboardOverrides):
(WebKit::WebPasteboardOverrides::WebPasteboardOverrides):
(WebKit::WebPasteboardOverrides::addOverride):
(WebKit::WebPasteboardOverrides::removeOverride):
(WebKit::WebPasteboardOverrides::overriddenTypes):
(WebKit::WebPasteboardOverrides::getDataForOverride):
* WebProcess/WebCoreSupport/WebPasteboardOverrides.h: Added.

Change the pasteboard strategy to consult the pasteboard overrides before consulting the native pasteboard:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::getTypes):
(WebKit::WebPlatformStrategies::bufferForType):

Add "replaceSelectionWithPasteboardData" which uses the new pasteboard overrides mechanism
and then has WebCore perform the replacement:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::replaceSelectionPasteboardName):
(WebKit::WebPage::replaceSelectionWithPasteboardData):

* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::replaceSelectionWithPasteboardData):

* UIProcess/mac/WebContextMenuProxyMac.h:
(WebKit::WebContextMenuProxyMac::page):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKSharingServicePickerDelegate sharingService:didShareItems:]): Use "replaceSelectionWithPasteboardData".
(WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
(WebKit::WebContextMenuProxyMac::replaceControlledImage): Deleted.

Remain other remnants of "replaceControlledImage":
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::replaceControlledImage): Deleted.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::replaceControlledImage): Deleted.
* WebProcess/WebPage/WebContextMenu.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::replaceControlledImage): Deleted.

* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoWeb Inspector: DataGrid columns should be objects not Maps
burg@cs.washington.edu [Tue, 29 Apr 2014 20:51:47 +0000 (20:51 +0000)]
Web Inspector: DataGrid columns should be objects not Maps
https://bugs.webkit.org/show_bug.cgi?id=129383

Reviewed by Timothy Hatcher.

This reverts an earlier conversion to maps, so that column properties
(which rarely change) can be optimized.

String literals for column properties have been preserved so columns
can be easily converted into objects with methods.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.autoSizeColumns):
(WebInspector.DataGrid.prototype.set var):
(WebInspector.DataGrid.prototype.set if):
(WebInspector.DataGrid.prototype.insertColumn):
(WebInspector.DataGrid.prototype.removeColumn.get this):
(WebInspector.DataGrid.prototype.removeColumn):
(WebInspector.DataGrid.prototype.columnWidthsMap):
(WebInspector.DataGrid.prototype.applyColumnWidthsMap):
(WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
(WebInspector.DataGridNode.prototype.createCell.get if):
(WebInspector.DataGridNode.prototype.createCell):
(WebInspector.DataGrid.prototype.get length): Deleted.
* UserInterface/Views/ProbeSetDataGrid.js:
(WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get this):
(WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged):
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters.scopeBar.this.columns.get string_appeared_here):
(WebInspector.TimelineDataGrid.prototype.treeElementMatchesActiveScopeFilters):

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

6 years agoREGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
akling@apple.com [Tue, 29 Apr 2014 20:33:43 +0000 (20:33 +0000)]
REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
<https://webkit.org/b/132322>

Remove the part of js/dom/basic-weakmap.html that expects deterministic behavior
from our non-deterministic GC.

Rubber-stamped by Phil Pizlo.

* TestExpectations:
* js/dom/basic-weakmap-expected.txt:
* js/dom/script-tests/basic-weakmap.js:

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

6 years agoFor DARWIN platforms, use system temporary directory for DataLog output
msaboff@apple.com [Tue, 29 Apr 2014 20:28:37 +0000 (20:28 +0000)]
For DARWIN platforms, use system temporary directory for DataLog output
https://bugs.webkit.org/show_bug.cgi?id=132346

Reviewed by Geoffrey Garen.

Added code to call confstr() to access the process's temporary directory to use that
location instead of /tmp/.  Put the code behind #ifdef DATA_LOG_TO_DARWIN_TEMP_DIR.

* wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):

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

6 years agoString.prototype.trim removes U+200B from strings.
ggaren@apple.com [Tue, 29 Apr 2014 19:47:25 +0000 (19:47 +0000)]
String.prototype.trim removes U+200B from strings.
https://bugs.webkit.org/show_bug.cgi?id=130184

Reviewed by Michael Saboff.

Source/JavaScriptCore:
* runtime/StringPrototype.cpp:
(JSC::trimString):
(JSC::isTrimWhitespace): Deleted.

LayoutTests:
* js/script-tests/string-trim.js:
* js/string-trim-expected.txt:

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

6 years agoREGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
ap@apple.com [Tue, 29 Apr 2014 19:23:08 +0000 (19:23 +0000)]
REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
https://bugs.webkit.org/show_bug.cgi?id=111613
<rdar://problem/13407093>

* platform/mac/TestExpectations: Remove test expectation, now that the bug is fixed.

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

6 years agoBuild fix.
timothy_horton@apple.com [Tue, 29 Apr 2014 18:56:50 +0000 (18:56 +0000)]
Build fix.

* DatabaseProcess/ios/DatabaseProcessIOS.mm:

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

6 years agoZombifying sweep should ignore retired blocks.
mark.lam@apple.com [Tue, 29 Apr 2014 18:20:05 +0000 (18:20 +0000)]
Zombifying sweep should ignore retired blocks.
<https://webkit.org/b/132344>

Reviewed by Mark Hahnenberg.

By definition, retired blocks do not have "dead" objects, or at least
none that we know of yet until the next marking phase has been run
over it.  So, we should not be sweeping them (even for zombie mode).

* heap/Heap.cpp:
(JSC::Heap::zombifyDeadObjects):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::zombifySweep):
* heap/MarkedSpace.h:
(JSC::ZombifySweep::operator()):

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

6 years agoREGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
timothy_horton@apple.com [Tue, 29 Apr 2014 18:09:09 +0000 (18:09 +0000)]
REGRESSION (r167906?): js/dom/basic-weakmap.html is much more flaky than before
https://bugs.webkit.org/show_bug.cgi?id=132322

* TestExpectations:
Mark the test as flaky.

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

6 years ago[WK2] DatabaseProcess should be sandboxed
ap@apple.com [Tue, 29 Apr 2014 17:54:21 +0000 (17:54 +0000)]
[WK2] DatabaseProcess should be sandboxed
https://bugs.webkit.org/show_bug.cgi?id=132324
<rdar://problem/15961708>

Reviewed by Darin Adler.

* Configurations/WebKit2.xcconfig: Added the profile to the list of files skipped
on iOS.

* DatabaseProcess/DatabaseProcess.cpp: (WebKit::DatabaseProcess::initializeDatabaseProcess):
Consume a sandbox extension for IndexedDB directory (which we get with initialization
message after entering sandbox).

* DatabaseProcess/ios: Added.
* DatabaseProcess/ios/DatabaseProcessIOS.mm: Copied from Source/WebKit2/DatabaseProcess/mac/DatabaseProcessMac.mm.
Separated from Mac version to match how other processes are implemented.

* DatabaseProcess/mac/DatabaseProcessMac.mm: (WebKit::DatabaseProcess::initializeProcessName):
Removed ifdefs.

* DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: Added.

* DerivedSources.make: Generate the profile from .sb.in.

* Shared/Databases/DatabaseProcessCreationParameters.cpp:
(WebKit::DatabaseProcessCreationParameters::encode):
(WebKit::DatabaseProcessCreationParameters::decode):
* Shared/Databases/DatabaseProcessCreationParameters.h:
Added a sandbox extension for indexedDatabaseDirectory.

* Shared/SecurityOriginData.h: Added an unrelated FIXME.

* UIProcess/WebContext.cpp: (WebKit::WebContext::ensureDatabaseProcess): Create
a sandbox extension for indexedDatabaseDirectory.

* WebKit2.xcodeproj/project.pbxproj: Added new files.

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

6 years agoFix bit rot in zombie mode heap code.
mark.lam@apple.com [Tue, 29 Apr 2014 17:45:24 +0000 (17:45 +0000)]
Fix bit rot in zombie mode heap code.
<https://webkit.org/b/132342>

Reviewed by Mark Hahnenberg.

Need to enter a DelayedReleaseScope before doing a sweep.

* heap/Heap.cpp:
(JSC::Heap::zombifyDeadObjects):

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

6 years ago[iOS] Remove workaround for <rdar://problem/16578727>.
jer.noble@apple.com [Tue, 29 Apr 2014 17:42:18 +0000 (17:42 +0000)]
[iOS] Remove workaround for <rdar://problem/16578727>.
https://bugs.webkit.org/show_bug.cgi?id=132338

Reviewed by Darin Adler.

Now that <rdar://problem/16578727> is fixed, remove the workaround by replacing the
call to -_updatePlaybackControlsViewController with one to -layoutIfNeeded.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::enterFullscreen):

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

6 years agoScriptExecutionContext::Task should work well with C++11 lambdas
zandobersek@gmail.com [Tue, 29 Apr 2014 17:41:31 +0000 (17:41 +0000)]
ScriptExecutionContext::Task should work well with C++11 lambdas
https://bugs.webkit.org/show_bug.cgi?id=129795

Reviewed by Darin Adler.

Instead of having classes that subclass ScriptExecutionContext::Task and override
the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
which would contain the code currently kept in the performTask() methods.

This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
cleanup tasks, the Task object can be implicitly constructed by using the initializer list
constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
object in the std::function wrapper, along with a boolean member that indicates whether the
task is of cleanup nature.

* Modules/quota/StorageErrorCallback.cpp:
(WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
(WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.
* Modules/quota/StorageErrorCallback.h:
(WebCore::StorageErrorCallback::CallbackTask::create): Deleted.
* Modules/webdatabase/Database.cpp:
(WebCore::Database::~Database):
(WebCore::Database::runTransaction):
(WebCore::Database::scheduleTransactionCallback):
(WebCore::DerefContextTask::create): Deleted.
(WebCore::DerefContextTask::performTask): Deleted.
(WebCore::DerefContextTask::isCleanupTask): Deleted.
(WebCore::DerefContextTask::DerefContextTask): Deleted.
(WebCore::callTransactionErrorCallback): Deleted.
(WebCore::DeliverPendingCallbackTask::create): Deleted.
(WebCore::DeliverPendingCallbackTask::performTask): Deleted.
(WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseCreationCallbackTask::create): Deleted.
(WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.
* Modules/webdatabase/DatabaseSync.cpp:
(WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
(WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
(WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.
* Modules/webdatabase/SQLCallbackWrapper.h:
(WebCore::SQLCallbackWrapper::clear):
(WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
(WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
(WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
(WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* bindings/js/JSCallbackData.h:
(WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
(WebCore::DeleteCallbackDataTask::create): Deleted.
(WebCore::DeleteCallbackDataTask::performTask): Deleted.
(WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.
* bindings/js/JSDOMGlobalObjectTask.cpp:
(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
(WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
(WebCore::JSGlobalObjectTask::performTask): Deleted.
* bindings/js/JSDOMGlobalObjectTask.h:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::queueTaskToEventLoop):
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::~JSTestCallback):
(GenerateCallbackImplementation):
* dom/CrossThreadTask.h:
(WebCore::CrossThreadTask1::performTask):
(WebCore::CrossThreadTask2::performTask):
(WebCore::CrossThreadTask3::performTask):
(WebCore::CrossThreadTask4::performTask):
(WebCore::CrossThreadTask5::performTask):
(WebCore::CrossThreadTask6::performTask):
(WebCore::CrossThreadTask7::performTask):
(WebCore::CrossThreadTask8::performTask):
(WebCore::createCallbackTask):
(WebCore::CrossThreadTask1::create): Deleted.
(WebCore::CrossThreadTask2::create): Deleted.
(WebCore::CrossThreadTask3::create): Deleted.
(WebCore::CrossThreadTask4::create): Deleted.
(WebCore::CrossThreadTask5::create): Deleted.
(WebCore::CrossThreadTask6::create): Deleted.
(WebCore::CrossThreadTask7::create): Deleted.
(WebCore::CrossThreadTask8::create): Deleted.
* dom/Document.cpp:
(WebCore::Document::addConsoleMessage):
(WebCore::Document::addMessage):
(WebCore::Document::postTask):
(WebCore::Document::pendingTasksTimerFired):
(WebCore::PerformTaskContext::PerformTaskContext): Deleted.
(WebCore::Document::didReceiveTask): Deleted.
* dom/Document.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
(WebCore::ScriptExecutionContext::timerAlignmentInterval):
(WebCore::ProcessMessagesSoonTask::create): Deleted.
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
(WebCore::ScriptExecutionContext::Task::~Task): Deleted.
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::Task::Task):
(WebCore::ScriptExecutionContext::Task::performTask):
(WebCore::ScriptExecutionContext::Task::isCleanupTask):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.
* dom/StringCallback.cpp:
(WebCore::StringCallback::scheduleCallback):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::postListenerTask):
(WebCore::CallCacheListenerTask::create): Deleted.
(WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::postTaskToLoader):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
(WebCore::DefaultSharedWorkerRepository::connectToWorker):
(WebCore::SharedWorkerConnectTask::create): Deleted.
(WebCore::SharedWorkerConnectTask::performTask): Deleted.
* workers/WorkerEventQueue.cpp:
(WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
(WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
(WebCore::WorkerEventQueue::EventDispatcher::dispatch):
(WebCore::WorkerEventQueue::enqueueEvent):
(WebCore::WorkerEventQueue::cancelEvent):
(WebCore::WorkerEventQueue::close):
* workers/WorkerEventQueue.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::close):
(WebCore::WorkerGlobalScope::postTask):
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
(WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
(WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.
* workers/WorkerGlobalScope.h:
* workers/WorkerLoaderProxy.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::WorkerMessagingProxy::workerThreadCreated):
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):
(WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
(WebCore::WorkerMessagingProxy::reportPendingActivity):
(WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
(WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
(WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
(WebCore::MessageWorkerTask::create): Deleted.
(WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
(WebCore::MessageWorkerTask::performTask): Deleted.
(WebCore::WorkerExceptionTask::create): Deleted.
(WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
(WebCore::WorkerExceptionTask::performTask): Deleted.
(WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
(WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
(WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
(WebCore::WorkerTerminateTask::create): Deleted.
(WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
(WebCore::WorkerTerminateTask::performTask): Deleted.
(WebCore::WorkerThreadActivityReportTask::create): Deleted.
(WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
(WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
(WebCore::PostMessageToPageInspectorTask::create): Deleted.
(WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
(WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
(WebCore::NotifyNetworkStateChangeTask::create): Deleted.
(WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
(WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.
* workers/WorkerMessagingProxy.h:
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::postTask):
(WebCore::WorkerRunLoop::postTaskAndTerminate):
(WebCore::WorkerRunLoop::postTaskForMode):
(WebCore::WorkerRunLoop::Task::create):
(WebCore::WorkerRunLoop::Task::performTask):
(WebCore::WorkerRunLoop::Task::Task):
* workers/WorkerRunLoop.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop):
(WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
(WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
(WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
(WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
(WebCore::WorkerThreadShutdownStartTask::create): Deleted.
(WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
(WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.

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

6 years agoREGRESSION (r167879): Heap-use-after-free in WebCore::RenderFlexibleBox
rego@igalia.com [Tue, 29 Apr 2014 17:34:34 +0000 (17:34 +0000)]
REGRESSION (r167879): Heap-use-after-free in WebCore::RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=132337

Reviewed by Simon Fraser.

From Blink r154582 by <jchaffraix@chromium.org>

Source/WebCore:
This is a regression from the changes in OrderIterator. The issue is
that we don't invalidate our iterator when a child is removed. This
means that we could hold onto free'd memory until the next layout
when we will recompute the iterator.

The solution is simple: just clear the memory when we remove a child.

Note that RenderGrid is not impacted by this bug as we don't use the
iterator outside layout yet, but if we do it at some point the very same
problem will arise, so the same treatment was applied to the class.

Test: fast/flexbox/order-iterator-crash.html

* rendering/OrderIterator.cpp:
(WebCore::OrderIterator::invalidate): Clear m_children Vector.
* rendering/OrderIterator.h:
(WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Use
invalidate() method.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::removeChild): Invalidate m_orderIterator.
* rendering/RenderFlexibleBox.h: Add removeChild() signature.
* rendering/RenderGrid.cpp: Invalidate m_orderIterator.
(WebCore::RenderGrid::removeChild):
* rendering/RenderGrid.h: Add removeChild() header.

LayoutTests:
Add new layout test to check that removing a child doesn't cause a crash
in OrderIterator.

* fast/flexbox/order-iterator-crash-expected.txt: Added.
* fast/flexbox/order-iterator-crash.html: Added.

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

6 years agoiOS build fix after http://trac.webkit.org/changeset/167937.
enrica@apple.com [Tue, 29 Apr 2014 17:28:52 +0000 (17:28 +0000)]
iOS build fix after trac.webkit.org/changeset/167937.
Unreviewed.

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::adjustButtonStyle):

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

6 years ago[iOS] Introduce -didNotHandleTapAsClickAtPoint: to WKUIDelegatePrivate
aestes@apple.com [Tue, 29 Apr 2014 16:56:36 +0000 (16:56 +0000)]
[iOS] Introduce -didNotHandleTapAsClickAtPoint: to WKUIDelegatePrivate
https://bugs.webkit.org/show_bug.cgi?id=132316

Reviewed by Darin Adler.

One WebKit2 client is interested to know if a tap was not handled by an element that responds to clicks.
Introduce a new, private WKUIDelegate method telling it that a tap at a location was not handled as a click on
an element.

* UIProcess/API/APIUIClient.h:
(API::UIClient::didNotHandleTapAsClick):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didNotHandleTapAsClick):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didNotHandleTapAsClick):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap): Sent Messages::WebPageProxy::DidNotHandleTapAsClick if the tap wasn't handled, no
node responded to the click event, or the responding node wasn't an element.

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

6 years agoREGRESSION (r167751): svn-create-patch is very slow
weinig@apple.com [Tue, 29 Apr 2014 16:50:26 +0000 (16:50 +0000)]
REGRESSION (r167751): svn-create-patch is very slow
https://bugs.webkit.org/show_bug.cgi?id=132300

Reviewed by Alexey Proskuryakov.

* Scripts/svn-create-patch:
Change default behavior of svn-create-patch to no longer run the style checker. It can still be run
by calling `svn-create-patch --style`.

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

6 years ago[CSS Shapes] off-by-one error in Shape::createRasterShape()
hmuller@adobe.com [Tue, 29 Apr 2014 16:40:30 +0000 (16:40 +0000)]
[CSS Shapes] off-by-one error in Shape::createRasterShape()
https://bugs.webkit.org/show_bug.cgi?id=132154

Reviewed by Bem Jones-Bey.

Source/WebCore:
This is a port of a patch for a bug that was reported by and fixed in Blink by
David Vest: https://codereview.chromium.org/237123002/.  Shape::createRasterShape()
now consistently reports "end-point exclusive" intervals. Before the patch
an entire row of pixels was above the shape-image-threshold, the interval's end
index was reported as image.width. Now it's image.width + 1, which is consistent
with the way the end index is reported if the last above threshold pixel is within
an image row.

Two existing tests were revised to account for this change.

* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShape::getExcludedIntervals):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):

LayoutTests:
Change two tests that had incorrect X values to account for the off-by-one
in Shape::createRasterShape().

* fast/shapes/shape-outside-floats/shape-outside-insert-svg-shape.html:
* fast/shapes/shape-outside-floats/shape-outside-linear-gradient-expected.html:

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

6 years agoWrap CSS length conversion arguments in an object
bjonesbe@adobe.com [Tue, 29 Apr 2014 16:36:43 +0000 (16:36 +0000)]
Wrap CSS length conversion arguments in an object
https://bugs.webkit.org/show_bug.cgi?id=131552

Reviewed by Andreas Kling.

This patch introduces a class CSSToLengthConversionData to wrap the
data required to convert CSS lengths to Lengths. This simplifies the
plumbing that goes on whenever we need to resolve CSS lengths and
makes it easier to update the arguments needed for resolving these (in
particular adding a RenderView for resolving viewport units at style
recalc time; removing the computingFontSize bool also appears
possible).

Note that the zoom argument, which was previously a float in some
places and a double in others is now a float.

This is a port of a Blink patch by timloh@chromium.org.

No new tests, no behavior change.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* css/BasicShapeFunctions.cpp:
(WebCore::convertToLength):
(WebCore::convertToLengthSize):
(WebCore::convertToCenterCoordinate):
(WebCore::cssValueToBasicShapeRadius):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcValue::computeLengthPx):
(WebCore::determineCategory):
* css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::createCalculationValue):
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::computeEndPoint):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):
* css/CSSGradientValue.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLength):
(WebCore::CSSPrimitiveValue::computeLengthDouble):
* css/CSSPrimitiveValue.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertToLength):
* css/CSSToLengthConversionData.cpp: Added.
(WebCore::CSSToLengthConversionData::zoom):
* css/CSSToLengthConversionData.h: Added.
(WebCore::CSSToLengthConversionData::CSSToLengthConversionData):
(WebCore::CSSToLengthConversionData::style):
(WebCore::CSSToLengthConversionData::rootStyle):
(WebCore::CSSToLengthConversionData::computingFontSize):
(WebCore::CSSToLengthConversionData::copyWithAdjustedZoom):
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::CSSToStyleMap):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
* css/CSSToStyleMap.h:
(WebCore::CSSToStyleMap::CSSToStyleMap): Deleted.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::ApplyPropertyMarqueeIncrement::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
(WebCore::ApplyPropertyWordSpacing::applyValue):
(WebCore::ApplyPropertyPageSize::mmLength):
(WebCore::ApplyPropertyPageSize::inchLength):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):
(WebCore::ApplyPropertyTextIndent::applyValue):
* css/MediaQueryEvaluator.cpp:
(WebCore::colorMediaFeatureEval):
(WebCore::color_indexMediaFeatureEval):
(WebCore::monochromeMediaFeatureEval):
(WebCore::orientationMediaFeatureEval):
(WebCore::aspect_ratioMediaFeatureEval):
(WebCore::device_aspect_ratioMediaFeatureEval):
(WebCore::device_pixel_ratioMediaFeatureEval):
(WebCore::resolutionMediaFeatureEval):
(WebCore::gridMediaFeatureEval):
(WebCore::computeLength):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):
(WebCore::min_colorMediaFeatureEval):
(WebCore::max_colorMediaFeatureEval):
(WebCore::min_color_indexMediaFeatureEval):
(WebCore::max_color_indexMediaFeatureEval):
(WebCore::min_monochromeMediaFeatureEval):
(WebCore::max_monochromeMediaFeatureEval):
(WebCore::min_aspect_ratioMediaFeatureEval):
(WebCore::max_aspect_ratioMediaFeatureEval):
(WebCore::min_device_aspect_ratioMediaFeatureEval):
(WebCore::max_device_aspect_ratioMediaFeatureEval):
(WebCore::min_device_pixel_ratioMediaFeatureEval):
(WebCore::max_device_pixel_ratioMediaFeatureEval):
(WebCore::min_heightMediaFeatureEval):
(WebCore::max_heightMediaFeatureEval):
(WebCore::min_widthMediaFeatureEval):
(WebCore::max_widthMediaFeatureEval):
(WebCore::min_device_heightMediaFeatureEval):
(WebCore::max_device_heightMediaFeatureEval):
(WebCore::min_device_widthMediaFeatureEval):
(WebCore::max_device_widthMediaFeatureEval):
(WebCore::min_resolutionMediaFeatureEval):
(WebCore::max_resolutionMediaFeatureEval):
(WebCore::animationMediaFeatureEval):
(WebCore::transitionMediaFeatureEval):
(WebCore::transform_2dMediaFeatureEval):
(WebCore::transform_3dMediaFeatureEval):
(WebCore::view_modeMediaFeatureEval):
(WebCore::video_playable_inlineMediaFeatureEval):
(WebCore::hoverMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):
(WebCore::MediaQueryEvaluator::eval):
* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::convertToIntLength):
(WebCore::StyleResolver::convertToFloatLength):
(WebCore::createGridTrackBreadth):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h:
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::State::cssToLengthConversionData):
* css/TransformFunctions.cpp:
(WebCore::convertToFloatLength):
(WebCore::transformsForValue):
* css/TransformFunctions.h:
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* rendering/RenderThemeIOS.mm:
(WebCore::applyCommonButtonPaddingToStyle):
(WebCore::RenderThemeIOS::adjustButtonStyle):

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

6 years ago[CSS Shapes] complex calc args for inset round vanish
zoltan@webkit.org [Tue, 29 Apr 2014 16:17:09 +0000 (16:17 +0000)]
[CSS Shapes] complex calc args for inset round vanish
https://bugs.webkit.org/show_bug.cgi?id=132293

Reviewed by Bem Jones-Bey.

Source/WebCore:
In order to use calc in the rounded parameters for inset shapes, we need
to pass RenderStyle for the value creation as we did for the width arguments.
Without taking RenderStyle into account, we hit an assert not reache
in CSSPrimitiveValue::init in the debug builds.

I've added new parsing test.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::init):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::create):
* css/CSSValuePool.h:
(WebCore::CSSValuePool::createValue):

LayoutTests:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

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

6 years ago[CSS Shapes] complex calc values for shape-margin return null for computed style
zoltan@webkit.org [Tue, 29 Apr 2014 16:16:11 +0000 (16:16 +0000)]
[CSS Shapes] complex calc values for shape-margin return null for computed style
https://bugs.webkit.org/show_bug.cgi?id=132313

Reviewed by Bem Jones-Bey.

Source/WebCore:
We need to pass RenderStyle* to the cssValuePool when parsing
shape-margin in order to use calc() as a parameter.

I've added the new test case to parsing-shape-margin.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):

LayoutTests:
* fast/shapes/parsing/parsing-shape-margin.html:

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

6 years agoAX: Row span info is wrong for table cells when a footer section is placed above...
cfleizach@apple.com [Tue, 29 Apr 2014 16:15:14 +0000 (16:15 +0000)]
AX: Row span info is wrong for table cells when a footer section is placed above a body section
https://bugs.webkit.org/show_bug.cgi?id=131832

Reviewed by Mario Sanchez Prada.

Source/WebCore:
If a <footer> section is placed before the body, it renders AX row information and order incorrectly.
This also affects ARIA tables because they add their children by looking at renderer children, instead
interrogating the RenderTable directly.

Test: accessibility/table-with-footer-section-above-body.html

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addTableCellChild):
(WebCore::AccessibilityARIAGrid::addChildren):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::addChildrenFromSection):
* accessibility/AccessibilityTable.h:
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):

LayoutTests:
* accessibility/table-with-footer-section-above-body-expected.txt: Added.
* accessibility/table-with-footer-section-above-body.html: Added.

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

6 years agoAX: SpeechSynthesisUtterance cannot addEventListener
cfleizach@apple.com [Tue, 29 Apr 2014 16:04:57 +0000 (16:04 +0000)]
AX: SpeechSynthesisUtterance cannot addEventListener
https://bugs.webkit.org/show_bug.cgi?id=132321

Reviewed by Mario Sanchez Prada.

Source/WebCore:
Modified an existing test (speech-synthesis-speak.html) to use addEventTarget.

* Modules/speech/SpeechSynthesisUtterance.idl:

LayoutTests:
* platform/mac/fast/speechsynthesis/speech-synthesis-speak.html:

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

6 years agoGenerate Eclipse project + ninja build for GTK+ if Eclipse in available in the PATH
commit-queue@webkit.org [Tue, 29 Apr 2014 15:17:08 +0000 (15:17 +0000)]
Generate Eclipse project + ninja build for GTK+ if Eclipse in available in the PATH
https://bugs.webkit.org/show_bug.cgi?id=132190

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-04-29
Reviewed by Gustavo Noronha Silva.

* Scripts/webkitdirs.pm:
(canUseEclipse): Test if Eclipse is in the path. This is the same method used to test
    if ninja is in the path.
(generateBuildSystemFromCMakeProject): Use the eclipse generator if possible, fallback
    to the previous ninja generator if not.

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

6 years ago[CSS Shapes] shape-outside polygon fails when first vertex is 0,0
hmuller@adobe.com [Tue, 29 Apr 2014 15:01:18 +0000 (15:01 +0000)]
[CSS Shapes] shape-outside polygon fails when first vertex is 0,0
https://bugs.webkit.org/show_bug.cgi?id=132132

Reviewed by Bem Jones-Bey.

Source/WebCore:
ShapeInterval now distinguishes between x1==x2 - isEmpty() and x1,x2 haven't been
set yet - isUndefined(). Removed the ShapeInterval setX1() and setX2() methods, since
they're no longer used.

The polygon algorithm for computing excluded intervals now ignores horizontal
edges. It also ignores edges whose lower vertex matches the top of the line, if
the edge's Y direction is upwards (away from the top of the line). The rationale
for this was explained here:
http://hansmuller-webkit.blogspot.com/2012/11/revised-horizontal-box-algorithm.html

Test: fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html

* rendering/shapes/PolygonShape.cpp:
(WebCore::OffsetPolygonEdge::clippedEdgeXRange):
(WebCore::PolygonShape::getExcludedIntervals):
* rendering/shapes/ShapeInterval.h:
(WebCore::ShapeInterval::ShapeInterval):
(WebCore::ShapeInterval::isUndefined):
(WebCore::ShapeInterval::x1):
(WebCore::ShapeInterval::x2):
(WebCore::ShapeInterval::width):
(WebCore::ShapeInterval::isEmpty):
(WebCore::ShapeInterval::setX1):
(WebCore::ShapeInterval::setX2):
(WebCore::ShapeInterval::overlaps):
(WebCore::ShapeInterval::contains):
(WebCore::ShapeInterval::unite):

LayoutTests:
* fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html: Added.

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

6 years ago[CSS Regions] Fix getClientRects() for content nodes
abucur@adobe.com [Tue, 29 Apr 2014 14:54:47 +0000 (14:54 +0000)]
[CSS Regions] Fix getClientRects() for content nodes
https://bugs.webkit.org/show_bug.cgi?id=117407

Reviewed by David Hyatt.

Source/WebCore:
This patch modifies getClientRects() to return a list of fragments
for a fragmented box instead of a single rectangle positioned inside
the region where the box center would appear.

The approach is to split the border box of the element in regions using
the layout positioning. Then each fragment is mapped to the view coordinates
and the result added to the list of rectangles. To preserve the originating
region when mapping the fragment through the ancestor tree I've introduced
the concept of a current region. The current region is stored inside a
CurrentRenderRegionMaintainer object, created whenever an algorithm needing
it needs to run. When the maintainer is destroyed, the cleanup is made
automatically. The RenderFlowThread holds a pointer to this structure for
easy access.

Tests: fast/regions/cssom/client-rects-fixed-content.html
       fast/regions/cssom/client-rects-forced-breaks.html
       fast/regions/cssom/client-rects-inline-complex.html
       fast/regions/cssom/client-rects-inline.html
       fast/regions/cssom/client-rects-nested-regions.html
       fast/regions/cssom/client-rects-positioned.html
       fast/regions/cssom/client-rects-relative-position.html
       fast/regions/cssom/client-rects-simple-block.html
       fast/regions/cssom/client-rects-transforms.html
       fast/regions/cssom/client-rects-unsplittable-float.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteQuads): Split the box in fragments.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteQuads): Split the box in fragments.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::mapLocalToContainer):
(WebCore::RenderFlowThread::currentRegion):
* rendering/RenderFlowThread.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::absoluteQuadsForBoxInRegion): Get
the fragments for this box in the region.
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::absoluteQuadsForBox): Virtual function
that can be used to implement fragments to client rects mapping.
* rendering/RenderNamedFlowThread.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::rectFlowPortionForBox): Small change to correctly
map empty rectangles to containers.
(WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
(WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::absoluteQuadsForBoxInRegion):
(WebCore::CurrentRenderRegionMaintainer::region):

LayoutTests:
Tests verifying getClientRects works correctly in different situations.

* fast/regions/cssom/client-rects-fixed-content-expected.txt: Added.
* fast/regions/cssom/client-rects-fixed-content.html: Added.
* fast/regions/cssom/client-rects-forced-breaks-expected.txt: Added.
* fast/regions/cssom/client-rects-forced-breaks.html: Added.
* fast/regions/cssom/client-rects-inline-complex-expected.txt: Added.
* fast/regions/cssom/client-rects-inline-complex.html: Added.
* fast/regions/cssom/client-rects-inline-expected.txt: Added.
* fast/regions/cssom/client-rects-inline.html: Added.
* fast/regions/cssom/client-rects-nested-regions-expected.txt: Added.
* fast/regions/cssom/client-rects-nested-regions.html: Added.
* fast/regions/cssom/client-rects-positioned-expected.txt: Added.
* fast/regions/cssom/client-rects-positioned.html: Added.
* fast/regions/cssom/client-rects-relative-position-expected.txt: Added.
* fast/regions/cssom/client-rects-relative-position.html: Added.
* fast/regions/cssom/client-rects-simple-block-expected.txt: Added.
* fast/regions/cssom/client-rects-simple-block.html: Added.
* fast/regions/cssom/client-rects-transforms-expected.txt: Added.
* fast/regions/cssom/client-rects-transforms.html: Added.
* fast/regions/cssom/client-rects-unsplittable-float-expected.txt: Added.
* fast/regions/cssom/client-rects-unsplittable-float.html: Added.
* fast/regions/resources/helper.js:
(testClientRects): Function that compares the actual client rects for an
element to a list of expected client rects.

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

6 years agoLLINT loadisFromInstruction doesn't need special case for big endians
commit-queue@webkit.org [Tue, 29 Apr 2014 14:06:05 +0000 (14:06 +0000)]
LLINT loadisFromInstruction doesn't need special case for big endians
https://bugs.webkit.org/show_bug.cgi?id=132330

Patch by Tomas Popela <tpopela@redhat.com> on 2014-04-29
Reviewed by Mark Lam.

The change introduced in r167076 was wrong. We should not apply the offset
adjustment on loadisFromInstruction usage as the instruction
(UnlinkedInstruction) is declared as an union (i.e. with the int32_t
operand variable). The offset of the other union members will be the
same as the offset of the first one, that is 0. The behavior here is the
same on little and big endian architectures. Thus we don't need
special case for big endians.

* llint/LowLevelInterpreter.asm:

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

6 years agoStore the containing region map inside the flow thread
abucur@adobe.com [Tue, 29 Apr 2014 12:38:20 +0000 (12:38 +0000)]
Store the containing region map inside the flow thread
https://bugs.webkit.org/show_bug.cgi?id=131647

Reviewed by Mihnea Ovidenie.

Source/WebCore:
The patch moves the containing region map inside the flow thread where
it can be better handled in case the region chain changes and the map
needs to be cleared.

As a result of this move we are able to also cleanup the lines region
information of a block flow when it is removed from the tree.

Test: fast/regions/inline-strike-through.html

* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeFlowChildInfo):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::removeLineRegionInfo):
(WebCore::RenderFlowThread::checkLinesConsistency):
(WebCore::RenderFlowThread::containingRegionMap):
* rendering/RenderFlowThread.h:
* rendering/RootInlineBox.cpp:
(WebCore::containingRegionMap):
(WebCore::RootInlineBox::~RootInlineBox):
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::clearContainingRegion):
(WebCore::RootInlineBox::setContainingRegion):

LayoutTests:
Add a test that verifies the containing region map is properly cleared
when the region chain changes.

* fast/regions/inline-strike-through-expected.txt: Added.
* fast/regions/inline-strike-through.html: Added.

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

6 years agoUnreviewed EFL gardening.
ryuan.choi@samsung.com [Tue, 29 Apr 2014 11:42:41 +0000 (11:42 +0000)]
Unreviewed EFL gardening.

Removed remaining editing/pasteboard which are already skipped.

* platform/efl/TestExpectations:

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

6 years agocheck-webkit-style should understand --git-index
commit-queue@webkit.org [Tue, 29 Apr 2014 10:19:37 +0000 (10:19 +0000)]
check-webkit-style should understand --git-index
https://bugs.webkit.org/show_bug.cgi?id=125364

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-04-29
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.create_patch): The command now supports the --cached option.
* Scripts/webkitpy/style/main.py:
(CheckWebKitStyle.main): Passing the --git-index option.
* Scripts/webkitpy/style/optparser.py:
(CommandOptionValues.__init__): The git-index option is switched off by default.
(CommandOptionValues.__eq__): Equality check for the new option.
(ArgumentParser._create_option_parser):Adding the --git-index option
(ArgumentParser.parse):
* Scripts/webkitpy/style/optparser_unittest.py: New tests for the --git-index option
(CommandOptionValuesTest.test_init):
(CommandOptionValuesTest.test_eq):

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

6 years agoUnreviewed GTK gardening.
calvaris@igalia.com [Tue, 29 Apr 2014 09:34:31 +0000 (09:34 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Flagged some tests.

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

6 years ago[GTK][WK2] Avoid Vector copies in WebViewBaseInputMethodFilter::setPreedit()
zandobersek@gmail.com [Tue, 29 Apr 2014 08:44:14 +0000 (08:44 +0000)]
[GTK][WK2] Avoid Vector copies in WebViewBaseInputMethodFilter::setPreedit()
https://bugs.webkit.org/show_bug.cgi?id=132323

Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp:
(WebKit::WebViewBaseInputMethodFilter::setPreedit): Inline the Vector object construction into
the WebPageProxy::setComposition() call to avoid extra Vector copies and moves.

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

6 years ago<rdar://problem/16750708> REGRESSION (r159358): Crash in InjectedBundleHitTestResult...
mitz@apple.com [Tue, 29 Apr 2014 04:20:37 +0000 (04:20 +0000)]
<rdar://problem/16750708> REGRESSION (r159358): Crash in InjectedBundleHitTestResult::frame
https://bugs.webkit.org/show_bug.cgi?id=132318

Reviewed by Andy Estes.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): Fixed a typo: set
the source frame, not the destination frame.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Changed to get the
frame for the action not from a hit test result, because some link activation actions are
not mouse events, but rather from the event’s target.

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

6 years agoSimplify tryCacheGetById
mhahnenberg@apple.com [Tue, 29 Apr 2014 03:10:53 +0000 (03:10 +0000)]
Simplify tryCacheGetById
https://bugs.webkit.org/show_bug.cgi?id=132314

Reviewed by Oliver Hunt and Filip Pizlo.

This is neutral across all benchmarks we track, although it looks like a wee 0.5% progression on sunspider.

* jit/Repatch.cpp:
(JSC::tryCacheGetByID): If we fail to cache on self, we just repatch to call tryBuildGetByIDList next time.

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

6 years agoSelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth...
benjamin@webkit.org [Tue, 29 Apr 2014 02:29:31 +0000 (02:29 +0000)]
SelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth-child() is non-filtering
https://bugs.webkit.org/show_bug.cgi?id=132311

Reviewed by Andreas Kling.

Source/WebCore:
In two cases, the parent register was never returned to the register allocator:
-Non filtering selectors (the early return).
-Non marking selectors (at the moment: only querySelector API).

Unfortunately, generateElementIsNthChild() makes function call, which forces us to do this manual allocation
of the parentElement register. Long term, I want RegisterAllocator and FunctionCall to have a special type for that.

Test: fast/selectors/several-nth-child.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

LayoutTests:
* fast/selectors/several-nth-child-expected.txt: Added.
* fast/selectors/several-nth-child.html: Added.

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

6 years agoCSS JIT: backtracking with current / parent element for child
commit-queue@webkit.org [Tue, 29 Apr 2014 01:58:38 +0000 (01:58 +0000)]
CSS JIT: backtracking with current / parent element for child
https://bugs.webkit.org/show_bug.cgi?id=132057

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-04-28
Reviewed by Benjamin Poulain.

Calculate appropriate backtracking start height from the closest
descendant. And at first, we use it for a simple optimization.

1. When backtracking start height equals to current height, we
can simply jump to a descendant element check phase.
2. When backtracking start height equals to current height + 1, we
can simply jump to a descendant element traversing phase.

We can apply this optimization to fragments with adjacent combinators.
But, in the meantime, we start to implement it for a fragment with
child combinator.

Source/WebCore:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::TagNamePattern::TagNamePattern):
(WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::equalTagNames):
(WebCore::SelectorCompiler::equalTagNamePatterns):
(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
(WebCore::SelectorCompiler::requiresAdjacentTail):
(WebCore::SelectorCompiler::requiresDescendantTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentNode):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

LayoutTests:
* fast/selectors/backtracking-child-combinator-with-tail-expected.txt: Added.
* fast/selectors/backtracking-child-combinator-with-tail.html: Added.
* fast/selectors/backtracking-child-combinator-without-tail-expected.txt: Added.
* fast/selectors/backtracking-child-combinator-without-tail.html: Added.

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

6 years agoVersioning.
lforschler@apple.com [Tue, 29 Apr 2014 01:54:21 +0000 (01:54 +0000)]
Versioning.

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

6 years agoREGRESSION(r153142) ASSERT from CodeBlock::dumpBytecode dumping String Switch Jump...
msaboff@apple.com [Tue, 29 Apr 2014 01:36:14 +0000 (01:36 +0000)]
REGRESSION(r153142) ASSERT from CodeBlock::dumpBytecode dumping String Switch Jump Tables
https://bugs.webkit.org/show_bug.cgi?id=132315

Reviewed by Mark Hahnenberg.

Used the StringImpl version of utf8() instead of creating a String first.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):

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

6 years ago[iOS][WK2] Restore the scroll position and scale from the HistoryItem (mostly)
benjamin@webkit.org [Tue, 29 Apr 2014 01:30:42 +0000 (01:30 +0000)]
[iOS][WK2] Restore the scroll position and scale from the HistoryItem (mostly)
https://bugs.webkit.org/show_bug.cgi?id=132307

Source/WebCore:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-28
Reviewed by Simon Fraser.

* WebCore.exp.in:

Source/WebKit2:
<rdar://problem/16031704>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-28
Reviewed by Simon Fraser.

Restore the scroll position and scale on back-forward by restoring the values from HistoryItem.
This covers the common cases, see <rdar://problem/16031704>.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _didCommitLoadForMainFrame]): Deleted.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLoadForMainFrame]):
Get rid of the old code restoring the scroll position. This is now done by the WebProcess.

* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
Update the scrolling tree after invoking didCommitLayerTree() on the WebPageProxy.

WKContentView and WKWebView states are updated in response to didCommitLayerTree(), the content size
and scale in particular are set there.

After that, the content size/scale is in the same state as the layerTree update, and we can scroll
the content as needed.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
(WebKit::WebFrameLoaderClient::restoreViewState):
iOS WebKit1 uses a custom restoreViewState(), do the same for WebKit2 since the generic code is #ifdefed out.
This is also necessary for the main frame's state update.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::restorePageState):
Restore the scale and position of the main frame. For now, we assume m_userHasChangedPageScaleFactor is set otherwise
the initial-scale would override the restored value. We will need to fix that, the value should probably be saved with
the history.

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

6 years agoUnreviewed EFL gardening.
ryuan.choi@samsung.com [Tue, 29 Apr 2014 01:13:00 +0000 (01:13 +0000)]
Unreviewed EFL gardening.

Skip editing/pasteboard which EFL port does not support.

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

6 years ago[iOS][WK2] iOS fix after r167867
benjamin@webkit.org [Tue, 29 Apr 2014 00:46:16 +0000 (00:46 +0000)]
[iOS][WK2] iOS fix after r167867
https://bugs.webkit.org/show_bug.cgi?id=132302

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-28
Reviewed by Simon Fraser.

iOS Touch Points uses "phase" for describing the touch points state for historical reasons.
This patch adds state() as a synonym for phase, and revert r167893.

* Shared/WebEvent.h:
(WebKit::WebPlatformTouchPoint::state):
* UIProcess/WebPageProxy.cpp:
(WebKit::areAllTouchPointsReleased):

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

6 years agoCrash in platform/mac/accessibility/table-visible-rows.html
msaboff@apple.com [Tue, 29 Apr 2014 00:31:45 +0000 (00:31 +0000)]
Crash in platform/mac/accessibility/table-visible-rows.html
https://bugs.webkit.org/show_bug.cgi?id=132146

Reviewed by Filip Pizlo.

Instead of creating a local JSValueRef array on the stack and passing that to
JSObjectMakeArray(), changed to create an empty JSArray and then populate the
values using the JSObjectSetPropertyAtIndex() API.

* DumpRenderTree/AccessibilityUIElement.cpp:
(elementsForRangeCallback):
(convertElementsToObjectArray):
* DumpRenderTree/mac/TestRunnerMac.mm:
(originsArrayToJS):
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::contextClick):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::stringArrayToJS):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::convertElementsToObjectArray):

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

6 years agoFix a transcription error from r167901.
aestes@apple.com [Mon, 28 Apr 2014 23:23:03 +0000 (23:23 +0000)]
Fix a transcription error from r167901.

When addressing Darin's review feedback, I moved the iteration of dataArray from
QuickLookDocumentData::append() to WebQuickLookHandleClient::didReceiveDataArray(),
but I forgot to update the context argument to CFArrayApplyFunction() accordingly.

* WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.cpp:
(WebKit::WebQuickLookHandleClient::didReceiveDataArray):

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

6 years agoScrollbars do not update properly when topContentInset changes dynamically
bdakin@apple.com [Mon, 28 Apr 2014 23:19:04 +0000 (23:19 +0000)]
Scrollbars do not update properly when topContentInset changes dynamically
https://bugs.webkit.org/show_bug.cgi?id=132309
-and corresponding-
<rdar://problem/16642232>

Reviewed by Tim Horton.

It is not sufficient to do a layout and call updateScrollbars(). We must also call
RenderLayerCompositor::frameViewDidChangeSize() in order to properly adjust the
size and position of all of the scrolling-related layers.
* page/FrameView.cpp:
(WebCore::FrameView::topContentInsetDidChange):

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

6 years ago[New Multicolumn] event.offsetX/offsetY don't work correctly
hyatt@apple.com [Mon, 28 Apr 2014 22:35:24 +0000 (22:35 +0000)]
[New Multicolumn] event.offsetX/offsetY don't work correctly
https://bugs.webkit.org/show_bug.cgi?id=132284

Reviewed by Simon Fraser.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
Change the code here to only trigger for CSS Regions and not for
multi-column. Add a FIXME pointing out that the code is broken even for
CSS regions.

 * rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
Override mapAbsoluteToLocalPoint in order to guess a region and attempt
to translate the point from that region to the flow thread local coordinate
space.

(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromRegionToFlow):
* rendering/RenderMultiColumnFlowThread.h:
New helper function that just wraps calling the region's logical translation
function and converting to/from physical coordinates.

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

6 years ago[WK2 iOS] Need to show title in the action sheet for images not inside an anchor...
enrica@apple.com [Mon, 28 Apr 2014 22:00:28 +0000 (22:00 +0000)]
[WK2 iOS] Need to show title in the action sheet for images not inside an anchor element.
https://bugs.webkit.org/show_bug.cgi?id=132304
<rdar://problem/16535227>

Reviewed by Benjamin Poulain.

If the image in not inside an anchor tag, we must use the title attribute as
title for the action sheet.

* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):

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

6 years agoUnreviewed, rolling out r167857.
commit-queue@webkit.org [Mon, 28 Apr 2014 21:54:01 +0000 (21:54 +0000)]
Unreviewed, rolling out r167857.
https://bugs.webkit.org/show_bug.cgi?id=132305

the change was rolled out, roll out the new expectations as
well (Requested by thorton on #webkit).

Reverted changeset:

"Unreviewed. Updating one bindings test baseline after
r167855."
http://trac.webkit.org/changeset/167857

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

6 years ago[Mac] Use the animated version of setHighlighted on NSButtonCell where available
dino@apple.com [Mon, 28 Apr 2014 21:17:35 +0000 (21:17 +0000)]
[Mac] Use the animated version of setHighlighted on NSButtonCell where available
https://bugs.webkit.org/show_bug.cgi?id=132295
<rdar://problem/16747240>

Reviewed by Beth Dakin.

Like setState, there is an animated version of setHighlighted available.

* platform/mac/ThemeMac.mm:
(WebCore::updateStates): Use private version of _setHighlighted where possible.

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

6 years agoSource/JavaScriptCore: The LLInt is awesome and it should get more of the action.
fpizlo@apple.com [Mon, 28 Apr 2014 21:14:48 +0000 (21:14 +0000)]
Source/JavaScriptCore: The LLInt is awesome and it should get more of the action.

Rubber stamped by Geoffrey Garen.

5% speed-up on JSBench and no meaningful regressions.  Should be a PLT/DYE speed-up also.

* runtime/Options.h:

Tools: Make sure that the coverage of our tests doesn't change much if we change the thresholds now and in the future, but making
"no-cjit" runs force the old-school threshold.

Rubber stamped by Mark Hahnenberg.

* Scripts/run-jsc-stress-tests:

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

6 years agoWebKit2 View Gestures (Swipe): Discard snapshots made with a different view size...
timothy_horton@apple.com [Mon, 28 Apr 2014 21:07:08 +0000 (21:07 +0000)]
WebKit2 View Gestures (Swipe): Discard snapshots made with a different view size/pixel density
https://bugs.webkit.org/show_bug.cgi?id=132115

Reviewed by Simon Fraser.

We shouldn't try to use snapshots if they no longer match the destination view size.
To do this, we need an accurate understanding of the topContentInset, both for the Web view,
and for any custom views, because we don't want to include the inset area in the snapshot,
and we don't want to reject snapshots that differ from the current view only because they have an inset or not.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _takeViewSnapshot]):
(-[WKView _setCustomSwipeViewsTopContentInset:]):
Add and plumb through a topContentInset property to apply to the custom swipe views.
For simplicitly's sake in the multi-view case, it is applied in window coordinates,
so clients will have to do conversions if necessary.
Don't include the top content inset in the snapshot that is taken.

* UIProcess/mac/ViewGestureController.h:
(WebKit::ViewGestureController::setCustomSwipeViewsTopContentInset):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::windowRelativeBoundsForCustomSwipeViews):
Apply the aforementioned custom swipe view top content inset.

(WebKit::ViewGestureController::determineSnapshotLayerParent):
(WebKit::ViewGestureController::determineLayerAdjacentToSnapshotForParent):
Factor these out of beginSwipeGesture.

(WebKit::ViewGestureController::retrieveSnapshotForItem):
Don't return a snapshot if the current deviceScaleFactor doesn't match that
at which the snapshot was taken, or if the size of the snapshot doesn't match
the unobscured part of the snapshot layer (the layer's size sans top content inset).

(WebKit::layerGeometryFlippedToRoot): Added.
Determine whether geometry flipping occurs between a layer and the root of the tree it is in.

(WebKit::ViewGestureController::applyDebuggingPropertiesToSwipeViews):
Factor out debugging layer properties, and add some borders and backgrounds to our layers.
I switched to invert instead of blur because blur makes the borders hard to use.

(WebKit::ViewGestureController::beginSwipeGesture):
Add an additional layer, the swipeLayer, which is the parent of the swipeSnapshotLayer.
We use this layer to compensate for geometry flipping, since we don't necessarily
know the structure of the layer tree ahead of time when inserting snapshots into the
client's layer tree, in the custom swipe view case.
The swipe layer is always the full size of the view, including topContentInset, and
has a white background in order to fill in that space. The snapshot layer is the size
of the view *excluding* the topContentInset, which should match the size of the snapshot image
itself (and we reject the image and just paint white if this is not the case).

(WebKit::ViewGestureController::handleSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):
Move and remove the new swipeLayer.

* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::recordSnapshot):
Store the deviceScaleFactor at the time the snapshot was taken.
Fix a bug where the count of snapshots with live images was too high
because we were failing to decrement it when replacing a snapshot of
an existing item with a fresh one.

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

6 years agoUnreviewed, rolling out r167855.
commit-queue@webkit.org [Mon, 28 Apr 2014 20:55:09 +0000 (20:55 +0000)]
Unreviewed, rolling out r167855.
https://bugs.webkit.org/show_bug.cgi?id=132301

Broke the windows build (Requested by bfulgham on #webkit).

Reverted changeset:

"ScriptExecutionContext::Task should work well with C++11
lambdas"
https://bugs.webkit.org/show_bug.cgi?id=129795
http://trac.webkit.org/changeset/167855

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

6 years agoWK2 iOS: crash when handling a synthetic keyboard event.
enrica@apple.com [Mon, 28 Apr 2014 20:50:47 +0000 (20:50 +0000)]
WK2 iOS: crash when handling a synthetic keyboard event.
https://bugs.webkit.org/show_bug.cgi?id=132296
<rdar://problem/16469726>

Reviewed by Benjamin Poulain.

Adding a null check, since synthetic keyboard events do not
have a corresponding platform event. We already do this on OS X.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleEditingKeyboardEvent):

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

6 years ago[GTK] install-dependencies should also install ruby-json and ruby-highline
commit-queue@webkit.org [Mon, 28 Apr 2014 20:39:57 +0000 (20:39 +0000)]
[GTK] install-dependencies should also install ruby-json and ruby-highline
https://bugs.webkit.org/show_bug.cgi?id=132292

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-28
Reviewed by Philippe Normand.

* gtk/install-dependencies: Install ruby json and highline packages.

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

6 years ago[iOS] Implement WebQuickLookHandleClient for WebKit2
aestes@apple.com [Mon, 28 Apr 2014 20:02:41 +0000 (20:02 +0000)]
[iOS] Implement WebQuickLookHandleClient for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=132157

Reviewed by Darin Adler.

Source/WebCore:
* WebCore.exp.in: Exported QuickLookHandle::previewUTI().
* platform/network/ios/QuickLook.h:
* platform/network/ios/QuickLook.mm:
(WebCore::QuickLookHandle::previewFileName): Changed to return a WTF::String.
(WebCore::QuickLookHandle::previewUTI): Added.

Source/WebKit2:
* Shared/API/Cocoa/_WKNSFileManagerExtras.h: Added.
* Shared/API/Cocoa/_WKNSFileManagerExtras.mm: Added.
(+[NSFileManager _web_createTemporaryFileForQuickLook:]): Called WebCore::createTemporaryFileForQuickLook().
* Shared/ios/QuickLookDocumentData.cpp: Added.
(WebKit::QuickLookDocumentData::QuickLookDocumentData):
(WebKit::QuickLookDocumentData::append): Appened each CFDataRef to m_data and added their sizes to m_size.
(WebKit::QuickLookDocumentData::decodedData): Returned the combined CFDataRef created by decode().
Named this method 'decodedData' to indicate that it should only be called on objects populated by decode().
(WebKit::QuickLookDocumentData::clear): Cleared m_data and reset m_size to 0.
(WebKit::QuickLookDocumentData::encode): Implemented a custom encoding function to avoid having to combine
m_data into contiguous memory at encoding time. Encoded m_size then sequentially encoded each member of m_data.
(WebKit::QuickLookDocumentData::decode): Decoded the byte stream into a single CFDataRef. Eagerly copied the
decoded data rather than using a DataReference since we know this will outlive the decoder.
* Shared/ios/QuickLookDocumentData.h: Added.
* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didStartLoadForQuickLookDocumentInMainFrame):
(API::LoaderClient::didFinishLoadForQuickLookDocumentInMainFrame):
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didStartLoadForQuickLookDocumentInMainFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForQuickLookDocumentInMainFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didStartLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPageProxy::didFinishLoadForQuickLookDocumentInMainFrame):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:
(WebKit::WebFrameLoaderClient::didCreateQuickLookHandle):
* WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.cpp: Added.
(WebKit::WebQuickLookHandleClient::WebQuickLookHandleClient): Sent DidStartLoadForQuickLookDocumentInMainFrame
to WebPageProxy.
(WebKit::WebQuickLookHandleClient::didReceiveDataArray): Appended dataArray to m_data.
(WebKit::WebQuickLookHandleClient::didFinishLoading): Sent DidFinishLoadForQuickLookDocumentInMainFrame to
WebPageProxy and then cleared m_data.
(WebKit::WebQuickLookHandleClient::didFail): Cleared m_data.
* WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.h: Added.
(WebKit::WebQuickLookHandleClient::create):

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

6 years agoLayout Test fast/events/shadow-event-path[-2].html is failing
rniwa@webkit.org [Mon, 28 Apr 2014 20:01:36 +0000 (20:01 +0000)]
Layout Test fast/events/shadow-event-path[-2].html is failing
https://bugs.webkit.org/show_bug.cgi?id=132238

Add the file that was supposed to be committed in r167840.

* TestExpectations:
* fast/events/resources/shadow-event-path-shared.js: Added.

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

6 years agoREGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
cfleizach@apple.com [Mon, 28 Apr 2014 19:57:24 +0000 (19:57 +0000)]
REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
https://bugs.webkit.org/show_bug.cgi?id=111613

Reviewed by Mark Lam.

I think it's possible that didFinishSpeaking ends up calling directly back into start speaking, and the utterance reference
we were holding can get cleared, so protecting this should avoid a few asserts.

* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):

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

6 years agoREGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798...
timothy_horton@apple.com [Mon, 28 Apr 2014 19:56:46 +0000 (19:56 +0000)]
REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
https://bugs.webkit.org/show_bug.cgi?id=132297

* platform/wk2/TestExpectations:
Skip the test.

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

6 years agoGC should be able to remove things from the DFG worklist and cancel on-going compilat...
fpizlo@apple.com [Mon, 28 Apr 2014 19:01:07 +0000 (19:01 +0000)]
GC should be able to remove things from the DFG worklist and cancel on-going compilations if it knows that the compilation would already be invalidated
https://bugs.webkit.org/show_bug.cgi?id=132166

Reviewed by Oliver Hunt and Mark Hahnenberg.

The GC can aid type inference by removing structures that are dead and jettisoning
code that relies on those structures. This can dramatically accelerate type inference
for some tricky programs.

Unfortunately, we previously pinned any structures that enqueued compilations depended
on. This means that if you're on a machine that only runs a single compilation thread
and where compilations are relatively slow, you have a high chance of large numbers of
structures being pinned during any GC since the compilation queue is likely to be full
of random stuff.

This comprehensively fixes this issue by allowing the GC to remove compilation plans
if the things they depend on are dead, and to even cancel safepointed compilations.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan):
(JSC::CodeBlock::isKnownToBeLiveDuringGC):
(JSC::CodeBlock::finalizeUnconditionally):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan): Deleted.
* dfg/DFGDesiredIdentifiers.cpp:
(JSC::DFG::DesiredIdentifiers::DesiredIdentifiers):
* dfg/DFGDesiredIdentifiers.h:
* dfg/DFGDesiredWatchpoints.h:
* dfg/DFGDesiredWeakReferences.cpp:
(JSC::DFG::DesiredWeakReferences::DesiredWeakReferences):
* dfg/DFGDesiredWeakReferences.h:
* dfg/DFGGraphSafepoint.cpp:
(JSC::DFG::GraphSafepoint::GraphSafepoint):
* dfg/DFGGraphSafepoint.h:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::notifyCompiling):
(JSC::DFG::Plan::notifyCompiled):
(JSC::DFG::Plan::notifyReady):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
(JSC::DFG::Plan::isKnownToBeLiveDuringGC):
(JSC::DFG::Plan::cancel):
(JSC::DFG::Plan::visitChildren): Deleted.
* dfg/DFGPlan.h:
* dfg/DFGSafepoint.cpp:
(JSC::DFG::Safepoint::Result::~Result):
(JSC::DFG::Safepoint::Result::didGetCancelled):
(JSC::DFG::Safepoint::Safepoint):
(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::checkLivenessAndVisitChildren):
(JSC::DFG::Safepoint::isKnownToBeLiveDuringGC):
(JSC::DFG::Safepoint::cancel):
(JSC::DFG::Safepoint::visitChildren): Deleted.
* dfg/DFGSafepoint.h:
(JSC::DFG::Safepoint::Result::Result):
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::runThread):
(JSC::DFG::Worklist::visitChildren): Deleted.
* dfg/DFGWorklist.h:
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):
* ftl/FTLCompile.h:
* heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::rememberCurrentlyExecutingCodeBlocks):
* heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::visitCompilerWorklistWeakReferences):
(JSC::Heap::removeDeadCompilerWorklistEntries):
(JSC::Heap::visitWeakHandles):
(JSC::Heap::collect):
(JSC::Heap::visitCompilerWorklists): Deleted.
* heap/Heap.h:

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

6 years agoHide service controls for selection behind a runtime switch
beidson@apple.com [Mon, 28 Apr 2014 18:45:44 +0000 (18:45 +0000)]
Hide service controls for selection behind a runtime switch
<rdar://problem/16736616> and https://bugs.webkit.org/show_bug.cgi?id=132291

Reviewed by Tim Horton.

* Shared/WebPreferencesStore.h:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::selectionRectsDidChange): Do nothing if the UI is disabled.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::updatePreferences):

* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::serviceControlsEnabled):

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

6 years agoUnreviewed, rolling out r167871.
commit-queue@webkit.org [Mon, 28 Apr 2014 18:05:12 +0000 (18:05 +0000)]
Unreviewed, rolling out r167871.
https://bugs.webkit.org/show_bug.cgi?id=132290

broke a newmulticol test (spanner-nested-dynamic) (Requested
by thorton on #webkit).

Reverted changeset:

"Store the containing region map inside the flow thread"
https://bugs.webkit.org/show_bug.cgi?id=131647
http://trac.webkit.org/changeset/167871

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

6 years agoUnreviewed, rolling out r167853.
commit-queue@webkit.org [Mon, 28 Apr 2014 17:57:44 +0000 (17:57 +0000)]
Unreviewed, rolling out r167853.
https://bugs.webkit.org/show_bug.cgi?id=132288

caused crashes+timeouts+layout test failures described in the
bug (Requested by thorton on #webkit).

Reverted changeset:

"Coalesce responses on network process side"
https://bugs.webkit.org/show_bug.cgi?id=132229
http://trac.webkit.org/changeset/167853

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

6 years agoFix the iOS buld.
simon.fraser@apple.com [Mon, 28 Apr 2014 17:38:33 +0000 (17:38 +0000)]
Fix the iOS buld.

* UIProcess/WebPageProxy.cpp:
(WebKit::areAllTouchPointsReleased):

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

6 years ago[iOS WK2] Make subview rebuilding more incremental
simon.fraser@apple.com [Mon, 28 Apr 2014 17:28:13 +0000 (17:28 +0000)]
[iOS WK2] Make subview rebuilding more incremental
https://bugs.webkit.org/show_bug.cgi?id=132162
<rdar://problem/16718916>

Reviewed by Sam Weinig.

Previously we did bulk replacement of subviews, but that triggers
UIKit to send spurious will/DidMoveToWindow messages, which can
interfere with UIScrollView scrolling.

Make _web_setSubviews more incremental, only removing
deleted subviews, adding new ones, and moving existing ones
into the correct order.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(-[UIView _web_setSubviews:]):

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

6 years ago[iOS WK2] flickery scrolling with overflow-scrolling:touch
simon.fraser@apple.com [Mon, 28 Apr 2014 17:28:11 +0000 (17:28 +0000)]
[iOS WK2] flickery scrolling with overflow-scrolling:touch
https://bugs.webkit.org/show_bug.cgi?id=132150

Source/WebCore:

Reviewed by Tim Horton.

Fix typo in a comment.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):

Source/WebKit2:
<rdar://problem/16683006>

Reviewed by Tim Horton.

Maintain a flag that tells us if the user is interacting
with the UIScrollView, and while set, don't clobber the contentOffset
via scrolling tree updates.

* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(-[WKOverflowScrollViewDelegate initWithScrollingTreeNode:WebKit::]):
(-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDecelerating:]): We need this one,
not scrollViewDidEndScrollingAnimation:, to detect the end of decleration.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
(-[WKOverflowScrollViewDelegate scrollViewDidEndScrollingAnimation:]): Deleted.

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

6 years ago[X11] Add missing case for mime type application/x-webkit-test-netscape
commit-queue@webkit.org [Mon, 28 Apr 2014 17:27:10 +0000 (17:27 +0000)]
[X11] Add missing case for mime type application/x-webkit-test-netscape
https://bugs.webkit.org/show_bug.cgi?id=132278

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-28
Reviewed by Darin Adler.

Case for x-webkit-test-netscape has been omitted along with r167759.

* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::initialize):

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

6 years agoDeleting properties poisons objects
mhahnenberg@apple.com [Mon, 28 Apr 2014 17:26:33 +0000 (17:26 +0000)]
Deleting properties poisons objects
https://bugs.webkit.org/show_bug.cgi?id=131551

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
This is ~3% progression on Dromaeo with a ~6% progression on the jslib portion of Dromaeo in particular.

* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
* runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::hasDeletedOffset):
(JSC::PropertyTable::hadDeletedOffset): If we ever had deleted properties we can no longer cache offsets when
iterating properties because we're required to iterate properties in insertion order.
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap): We now re-use deleted properties when materializing the property map.
(JSC::Structure::removePropertyTransition): We allow up to 5 deletes for a particular path through the tree of
Structure transitions. After that, we convert to an uncacheable dictionary like we used to. We don't cache
delete transitions, but we allow transitioning from them.
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::removePropertyWithoutTransition):
(JSC::Structure::pin): Now does only what it says it does--marks the property table as pinned.
(JSC::Structure::pinAndPreventTransitions): More descriptive version of what the old pin() was doing.
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::setEnumerationCache):
(JSC::Structure::hadDeletedOffsets):
(JSC::Structure::propertyTable):
(JSC::Structure::checkOffsetConsistency): Rearranged variables to be more sensible.
* tests/stress/for-in-after-delete.js: Added.
(foo):

LayoutTests:
New JS regress test. We're ~3.5x faster on this microbenchmark now.

* js/regress/delete-a-few-properties-then-get-by-id-expected.txt: Added.
* js/regress/delete-a-few-properties-then-get-by-id.html: Added.
* js/regress/script-tests/delete-a-few-properties-then-get-by-id.js: Added.
(MyObject):
(foo):

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

6 years agoUnreviewed GTK gardening.
calvaris@igalia.com [Mon, 28 Apr 2014 15:59:13 +0000 (15:59 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Flagged some tests.

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

6 years ago[GTK] Builtin cursors do not properly handle transparency
mrobinson@webkit.org [Mon, 28 Apr 2014 15:18:57 +0000 (15:18 +0000)]
[GTK] Builtin cursors do not properly handle transparency
https://bugs.webkit.org/show_bug.cgi?id=131866

Reviewed by Gustavo Noronha Silva.

Tested by ManualTests/cursor.html.

* platform/gtk/CursorGtk.cpp:
(WebCore::createNamedCursor): Instead of interpreting the source bitmap as an A1 image, use
it as a 1-bit black and white image. We do this by:
    1. Painting the result to a full color image with transparency instead of an alpha-only surface.
    2. Masking a white background using the cursor alpha surface.
    3. Painting the black parts of the cursor by painting the source surface, where black pixels
    will be interpreted as full opaque pixels.

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

6 years agoUnreviewed GTK gardening.
calvaris@igalia.com [Mon, 28 Apr 2014 15:06:05 +0000 (15:06 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Flagged some tests.

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

6 years ago[WK2][X11] NetscapePluginModule::scanPlugin() should write UTF-8 strings to stdout
zandobersek@gmail.com [Mon, 28 Apr 2014 14:27:14 +0000 (14:27 +0000)]
[WK2][X11] NetscapePluginModule::scanPlugin() should write UTF-8 strings to stdout
https://bugs.webkit.org/show_bug.cgi?id=132245

Reviewed by Carlos Garcia Campos.

NetscapePluginModule::scanPlugin(), in the helper writeLine function, takes each character
of the given string and writes it out as a UChar, doing two fputc calls for each byte of the
16-bit type.

This fails badly with characters with integer value less than 256 as the most significant byte
of the UChar is written out as a null character. This effectively chops the output that's gathered
in the UIProcess and is parsed in PluginProcessProxy::scanPlugin().

To avoid all this, the UTF-8 encoding of the string is written out in the PluginProcess, and
String::fromUTF8() is called in the UIProcess to properly decode the received string.

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::writeCharacter):
(WebKit::writeLine):
(WebKit::writeByte): Deleted.
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):

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

6 years ago[GTK][WK2] Missing return statement in webkit_plugin_get_description()
zandobersek@gmail.com [Mon, 28 Apr 2014 14:24:38 +0000 (14:24 +0000)]
[GTK][WK2] Missing return statement in webkit_plugin_get_description()
https://bugs.webkit.org/show_bug.cgi?id=132263

Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/WebKitPlugin.cpp:
(webkit_plugin_get_description): Actually return the data of the cached
plugin description CString.

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

6 years ago[GTK] Crash in debug build with removing windowed plugin child widgets from the view
carlosgc@webkit.org [Mon, 28 Apr 2014 11:10:31 +0000 (11:10 +0000)]
[GTK] Crash in debug build with removing windowed plugin child widgets from the view
https://bugs.webkit.org/show_bug.cgi?id=132252

Reviewed by Philippe Normand.

It crashes due to an assert in HashTable that checks the iterators
validity. The problem is that we are iterating the children map
and the callback called on every iteration might modify the map,
making the iterators invalid. This happens when the WebView is
destroyed, GtkContainer calls gtk_container_foreach() with
gtk_widget_destroy as callback. When a widget inside a container
is destroyed, it's removed from the container, and in our case,
the child widget is removed from the map. This fixes several
crashes when running layout tests in debug bot.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerForall): Use copyKeysToVector() instead
of using a range iterator for the map keys and check in every
iteration that the child widget from the keys vector is still
present in the map before calling the callback.

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

6 years agoUnreviewed GTK gardening. Adding failure expectations for 6
calvaris@igalia.com [Mon, 28 Apr 2014 10:50:52 +0000 (10:50 +0000)]
Unreviewed GTK gardening. Adding failure expectations for 6
failing and flaky tests. Removed 1.

* platform/gtk/TestExpectations:

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

6 years ago[GTK] Review media bugs flags
calvaris@igalia.com [Mon, 28 Apr 2014 09:35:42 +0000 (09:35 +0000)]
[GTK] Review media bugs flags
https://bugs.webkit.org/show_bug.cgi?id=132246

Reviewed by Philippe Normand.

* platform/gtk/TestExpectations: Review flags of the GTK media
bugs.

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

6 years agoUnreviewed. Update GObject DOM bindings symbols file.
carlosgc@webkit.org [Mon, 28 Apr 2014 08:29:37 +0000 (08:29 +0000)]
Unreviewed. Update GObject DOM bindings symbols file.

* bindings/gobject/webkitdom.symbols: Add missing symbols.

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

6 years agoOrderIterator refactoring to avoid extra loops
rego@igalia.com [Mon, 28 Apr 2014 08:27:06 +0000 (08:27 +0000)]
OrderIterator refactoring to avoid extra loops
https://bugs.webkit.org/show_bug.cgi?id=119061

Reviewed by Darin Adler.

This patch removes order values Vector and use a Vector of pairs instead. The pairs are formed by a child
(RenderBox) and the index of this child. In addition, OrderIterator code is simplified.

It provides a helper class OrderIteratorPopulator, used for manipulating the Vector directly. Which allows to
consolidate the code into a single implementation across flexbox and grid. OrderIteratorPopulator part is based
on a patch from Blink r153971 by <jchaffraix@chromium.org>.

Current implementation is O(number of children * number of order values). Now it will just do a sort operation
and then a regular loop. So if you have different order values in a flexbox or grid the performance will
improve.

Comparing results of perf-tests:
* Layout/auto-grid-lots-of-data: ~0.5% worse.
* Layout/fixed-grid-lots-of-data: ~0.5% worse.
* Layout/fixed-grid-lots-of-data (setting 100 different order values): ~50% better.
* Layout/flexbox-lots-of-data: ~5% better.

No new tests, already covered by current tests.

* rendering/OrderIterator.cpp:
(WebCore::OrderIterator::currentChild): Return current child according to m_childrenIndex.
(WebCore::OrderIterator::first): Initialize m_childrenIndex and return current child.
(WebCore::OrderIterator::next): Increase m_childrenIndex and return current child.
(WebCore::compareByOrderValueAndIndex): Sorts the Vector by order value and index.
(WebCore::OrderIteratorPopulator::~OrderIteratorPopulator): Calls compareByOrderValueAndIndex() if there is any
child with non default order value.
(WebCore::OrderIteratorPopulator::collectChild): Adds the child and index to the Vector. Update
m_allChildrenHaveDefaultOrderValue accordingly.
(WebCore::OrderIterator::OrderIterator): Deleted.
(WebCore::OrderIterator::setOrderValues): Deleted.
(WebCore::OrderIterator::reset): Deleted.
* rendering/OrderIterator.h:
(WebCore::OrderIteratorPopulator::OrderIteratorPopulator): New helper class to manipulate the Vector.
(WebCore::OrderIterator::currentChild): Deleted.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox): Remove OrderIterator intialization.
(WebCore::RenderFlexibleBox::layoutBlock): Remove unneeded code related to old OrderValues vector.
(WebCore::RenderFlexibleBox::prepareOrderIteratorAndMargins): Populate OrderIterator using collectChild().
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Deleted.
* rendering/RenderFlexibleBox.h: Rename computeMainAxisPreferredSizes() to prepareOrderIteratorAndMargins().
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid): Remove OrderIterator initialization.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Populate OrderIterator using collectChild().

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

6 years agostd::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
carlosgc@webkit.org [Mon, 28 Apr 2014 08:16:15 +0000 (08:16 +0000)]
std::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
https://bugs.webkit.org/show_bug.cgi?id=131685

Patch by Zan Dobersek <zdobersek@igalia.com> on 2014-04-28
Reviewed by Darin Adler.

Use std::bitset<>::operator[]() instead of std::bitset<>::test() to avoid
bounds checks which are not necessary as long as a CSSPropertyID value is used.

* css/CSSParser.cpp:
(WebCore::filterProperties):
* css/StyleProperties.cpp:
(WebCore::StyleProperties::asText):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::CascadedProperties::hasProperty):
(WebCore::StyleResolver::CascadedProperties::set):

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

6 years agostd::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
zandobersek@gmail.com [Mon, 28 Apr 2014 08:12:08 +0000 (08:12 +0000)]
std::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
https://bugs.webkit.org/show_bug.cgi?id=131685

Reviewed by Darin Adler.

Use std::bitset<>::operator[]() instead of std::bitset<>::test() to avoid
bounds checks which are not necessary as long as a CSSPropertyID value is used.

* css/CSSParser.cpp:
(WebCore::filterProperties):
* css/StyleProperties.cpp:
(WebCore::StyleProperties::asText):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::CascadedProperties::hasProperty):
(WebCore::StyleResolver::CascadedProperties::set):

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

6 years ago[GTK] TextTrack kind and mode attributes are enums since r166180
carlosgc@webkit.org [Mon, 28 Apr 2014 08:06:54 +0000 (08:06 +0000)]
[GTK] TextTrack kind and mode attributes are enums since r166180
https://bugs.webkit.org/show_bug.cgi?id=132228

Reviewed by Martin Robinson.

We don't support enum values yet in GObject DOM bindings, but they
are internally strings anyway, so we can keep the old
implementations using strings as custom functions until we
properly support enums.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_text_track_get_kind):
(webkit_dom_text_track_get_mode):
(webkit_dom_text_track_set_mode):
* bindings/gobject/WebKitDOMCustom.h:
* bindings/gobject/WebKitDOMCustom.symbols:

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

6 years ago[GTK] TextTrack::addCue can raise an exception since r163974
carlosgc@webkit.org [Mon, 28 Apr 2014 08:03:00 +0000 (08:03 +0000)]
[GTK] TextTrack::addCue can raise an exception since r163974
https://bugs.webkit.org/show_bug.cgi?id=132227

Reviewed by Martin Robinson.

webkit_dom_text_track_add_cue() now receives a GError paramater
which is an API break. Add
webkit_dom_text_track_add_cue_with_error and keep
webkit_dom_text_track_add_cue as deprecated to keep API
compatibility.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_text_track_add_cue):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:
* bindings/scripts/CodeGeneratorGObject.pm:
(GetEffectiveFunctionName):

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

6 years ago[GTK] TextTrackCue API changed in r163649
carlosgc@webkit.org [Mon, 28 Apr 2014 07:57:18 +0000 (07:57 +0000)]
[GTK] TextTrackCue API changed in r163649
https://bugs.webkit.org/show_bug.cgi?id=132226

Reviewed by Martin Robinson.

TextTrackCue is now a base class and part of its API was moved to
the derived class VTTCue. Update the GObject DOM bindings to keep
backwards compatibility.

* PlatformGTK.cmake: Generate bindings for DataCue and VTTCue.
* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_text_track_cue_get_cue_as_html): Mark as deprecated in
favor of VTTCue API.
(webkit_dom_text_track_cue_get_vertical): Ditto.
(webkit_dom_text_track_cue_set_vertical): Ditto.
(webkit_dom_text_track_cue_get_snap_to_lines): Ditto.
(webkit_dom_text_track_cue_set_snap_to_lines): Ditto.
(webkit_dom_text_track_cue_get_line): Ditto.
(webkit_dom_text_track_cue_set_line): Ditto.
(webkit_dom_text_track_cue_get_position): Ditto.
(webkit_dom_text_track_cue_set_position): Ditto.
(webkit_dom_text_track_cue_get_size): Ditto.
(webkit_dom_text_track_cue_set_size): Ditto.
(webkit_dom_text_track_cue_get_align): Ditto.
(webkit_dom_text_track_cue_set_align): Ditto.
(webkit_dom_text_track_cue_get_text): Ditto.
(webkit_dom_text_track_cue_set_text): Ditto.
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols: Add new deprecated symbols.
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap): Add generic wrap for TextTrackCue now that it's a
base class to generate DataCue or VTTCue objects.
* bindings/gobject/WebKitDOMPrivate.h:
* bindings/gobject/webkitdom.symbols: Add DataCue symbols.
* bindings/scripts/CodeGeneratorGObject.pm:
(IsPolymorphic): Add TextTrackCue to the list of polymorphic classes.

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