WebKit-https.git
5 years ago[cairo] GraphicsContext should not depend on GTK+
carlosgc@webkit.org [Sun, 28 Sep 2014 08:06:08 +0000 (08:06 +0000)]
[cairo] GraphicsContext should not depend on GTK+
https://bugs.webkit.org/show_bug.cgi?id=137175

Reviewed by Martin Robinson.

Remove the unused methods depending on GDK and simplify
GraphicsContext::drawFocusRing() using only cairo API.

* PlatformGTK.cmake: Move GraphicsContextCairo.cpp to the webcore sources.
* platform/graphics/GraphicsContext.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing): Iterate the rectangles
instead of creating a region for the rectangles and call gdk_cairo_region().
(WebCore::GraphicsContext::setGdkExposeEvent): Deleted.
(WebCore::GraphicsContext::gdkExposeEvent): Deleted.
(WebCore::GraphicsContext::gdkWindow): Deleted.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):

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

5 years agoHTMLPlugInElement::isUserObservable() is causing layout
cdumez@apple.com [Sun, 28 Sep 2014 05:57:48 +0000 (05:57 +0000)]
HTMLPlugInElement::isUserObservable() is causing layout
https://bugs.webkit.org/show_bug.cgi?id=137156

Reviewed by Ryosuke Niwa.

While profiling the page load of nytimes.com, I noticed that we were
spending ~4-5% of cpu time in HTMLPlugInElement::isUserObservable().
The reason is that the function calls pluginWidget(), which causes a
layout update in HTMLObjectElement::renderWidgetForJSBindings(), to
make sure the plugin is loaded and its renderer is created.

HTMLPlugInElement::isUserObservable() shouldn't need to do a layout.
This patch does the following to address the problem:
- Rename renderWidgetForJSBindings() to renderWidgetLoadingPlugin()
  because this function is not always called from the JS Bindings
  nowadays. The new name makes it clearer that this will load the
  plugin if needed (to make sure the renderer is created, and by
  doing a layout).
- Add a PluginLoadingPolicy argument to
  HTMLPlugInElement::pluginWidget() to let the caller control if the
  plugin should be loaded or not.
- Update the call to pluginWidget() in isUserObservable() so that
  we do not attempt to load the plugin (thus not causing a layout).

No new tests, no behavior change.

* WebCore.exp.in:
* WebCore.order:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::renderWidgetLoadingPlugin):
(WebCore::HTMLAppletElement::renderWidgetForJSBindings): Deleted.
* html/HTMLAppletElement.h:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetLoadingPlugin):
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Deleted.
* html/HTMLEmbedElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderWidgetLoadingPlugin):
(WebCore::HTMLObjectElement::renderWidgetForJSBindings): Deleted.
* html/HTMLObjectElement.h:
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::pluginWidget):
(WebCore::HTMLPlugInElement::isUserObservable):
* html/HTMLPlugInElement.h:

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

5 years agoUse the new is<>() / downcast<>() for more Node subclasses
cdumez@apple.com [Sun, 28 Sep 2014 05:21:30 +0000 (05:21 +0000)]
Use the new is<>() / downcast<>() for more Node subclasses
https://bugs.webkit.org/show_bug.cgi?id=137184

Reviewed by Ryosuke Niwa.

Use the new is<>() / downcast<>() for more Node subclasses:
CDATASection, CharacterData, Comment, DocumentType,
ProcessingInstruction, and PseudoElement.

No new tests, no behavior change.

* dom/CDATASection.h:
(WebCore::isCDATASection):
* dom/CharacterData.cpp:
(WebCore::CharacterData::setDataAndUpdate):
* dom/CharacterData.h:
(WebCore::isCharacterData):
* dom/Comment.h:
(WebCore::isComment):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/DocumentType.h:
(WebCore::isDocumentType):
* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules):
(WebCore::nodeOrHostIfPseudoElement):
* dom/Node.cpp:
(WebCore::markAncestorsWithChildNeedsStyleRecalc):
(WebCore::Node::pseudoAwarePreviousSibling):
(WebCore::Node::pseudoAwareNextSibling):
* dom/NodeTraversal.cpp:
(WebCore::NodeTraversal::previousIncludingPseudo):
(WebCore::NodeTraversal::nextIncludingPseudo):
(WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
* dom/ProcessingInstruction.h:
(WebCore::isProcessingInstruction):
* dom/PseudoElement.h:
(WebCore::isPseudoElement):
* dom/Range.cpp:
(WebCore::lengthOfContentsInNode):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::checkNodeWOffset):
* editing/Editor.cpp:
(WebCore::Editor::shouldInsertFragment):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartMarkup):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_traverseNode):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::setInnerNode):
(WebCore::HitTestResult::setInnerNonSharedNode):
* rendering/RenderListItem.cpp:
(WebCore::enclosingList):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::generatingPseudoHostElement):
* xml/XPathFunctions.cpp:
(WebCore::XPath::expandedNameLocalPart):

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

5 years agoUse the new is<>() / downcast<>() for Attr Nodes
cdumez@apple.com [Sun, 28 Sep 2014 04:13:59 +0000 (04:13 +0000)]
Use the new is<>() / downcast<>() for Attr Nodes
https://bugs.webkit.org/show_bug.cgi?id=137183

Reviewed by Ryosuke Niwa.

Use the new is<>() / downcast<>() for Attr Nodes instead of isAttr() /
toAttr().

No new tests, no behavior change.

* dom/Attr.h:
(WebCore::isAttr):
* dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::adoptNode):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::setNamedItem):
* dom/Node.cpp:
(WebCore::Node::compareDocumentPosition):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::searchUsingXPath):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::sortBlock):
(WebCore::XPath::NodeSet::sort):
(WebCore::XPath::findRootNode):

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

5 years agoWeb Replay: Playback position updates should be sent before the next event loop input...
burg@cs.washington.edu [Sat, 27 Sep 2014 22:17:29 +0000 (22:17 +0000)]
Web Replay: Playback position updates should be sent before the next event loop input is dispatched
https://bugs.webkit.org/show_bug.cgi?id=137162

Reviewed by Timothy Hatcher.

Source/WebCore:

To drive playback position updates in the Inspector UI, we send playbackHitPosition protocol
messages as the replay backend dispatches inputs. However, right now the semantics of that
message are muddy. The update is sent *after* the input at the offset is dispatched. This leads
to unexpected results if the debugger pauses while the input is being dispatched: the frontend
will only know about the previous (stale) playback position when the debugger pauses.

With this patch, the backend sends the playbackHitPosition(segmentOffset=n, inputOffset=m)
message when backend is about to dispatch input m, but has not yet begun to do so. Thus, any
subsequent page execution events (profiling, debugger pauses, etc) until the next
playbackHitPosition are caused by input m's being dispatched.

* inspector/protocol/Replay.json: Clarify the message's semantics.
* replay/ReplayController.cpp:
(WebCore::ReplayController::willDispatchInput):
(WebCore::ReplayController::didDispatchInput):

Source/WebInspectorUI:

Pausing playback from the UI was broken because of a typo. Fix this, and rename
stopPlayback to cancelPlayback.

* UserInterface/Controllers/ReplayManager.js:
(WebInspector.ReplayManager.prototype.switchSession.if):

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

5 years agoDisable function.arguments
fpizlo@apple.com [Sat, 27 Sep 2014 20:27:59 +0000 (20:27 +0000)]
Disable function.arguments
https://bugs.webkit.org/show_bug.cgi?id=137167

Source/JavaScriptCore:

Rubber stamped by Geoffrey Garen.

Add an option to disable function.arguments. Add a test for disabling it.

Disabling function.arguments means that it returns an Arguments object that claims that
there were zero arguments. All other Arguments functionality still works, so any code
that tries to inspect this object will still think that it is looking at a perfectly
valid Arguments object.

This also makes function.arguments disabled by default. Note that the RJST harness will
enable them by default, to continue to get test coverage for the code that implements
the feature.

We will rip out that code once we're confident that it's really safe to remove this
feature. Only once we rip out that support will we be able to do optimizations to
leverage the lack of this feature. It's important to keep the support code, and the test
infrastructure, in place before we are confident. The logic to keep this working touches
the entire compiler and a large chunk of the runtime, so reimplementing it - or even
merging it back in - would be a nightmare. That's also basically the reason why we want
to rip it out if at all possible. It's a lot of terrible code.

* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::createArguments):
* runtime/Arguments.h:
(JSC::Arguments::create):
(JSC::Arguments::finishCreation):
* runtime/Options.h:
* tests/stress/disable-function-dot-arguments.js: Added.
(foo):
(bar):

Tools:

Rubber stamped by Geoffrey Garen

Enable the feature by default during tests.

* Scripts/run-jsc-stress-tests:

LayoutTests:

Rubber stamped by Geoffrey Garen.

Don't remove the tests for this, yet - but mark them as failing. We will rebase these,
or remove them entirely, once we know that it's safe to rip out this feature entirely.

* TestExpectations:

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

5 years agoChaining multiple :nth-child() does not work properly
benjamin@webkit.org [Sat, 27 Sep 2014 18:49:12 +0000 (18:49 +0000)]
Chaining multiple :nth-child() does not work properly
https://bugs.webkit.org/show_bug.cgi?id=137032

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-27
Reviewed by Gavin Barraclough.

Source/WebCore:

When multiple :nth-child() are chained, the evaluation of each "An+B" could depend on
the execution of the previous "An+B". The reason is that the register holding the position
of the current element could be modified by the evaluation of "An+B".

There are two cases in which the register was used as the destination of an operation:
1) When A and B are positive, the counter would be the destination of "counter - B".
2) When A is not 1 or 2, the modulo operation was not preserving the input register.

For (1), we a copy of the counter in that case of generateElementIsNthChild().

For (2), we also preserve a copy of the input if it is used by the operation. In this case,
if the input register is one of the argument we need for idiv, we preserve it on the stack
or in a register depending on what is available.

This increases the register requirements by 2 in the worst case on x86. The extra registers
can push generateElementIsNthChild() above the 4 available registers. To accomodate for that,
minimumRegisterRequirements() reserve more registers on x86.

The extra register pressure has strictly no effect on performance, x86_64 has 9 registers
available without pushing anything. The extra allocation is only necessary for debugging.

Tests: fast/selectors/nth-child-basics.html
       fast/selectors/nth-child-chained.html
       fast/selectors/nth-child-of-basics-2.html
       fast/selectors/nth-child-of-chained.html

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

LayoutTests:

* fast/selectors/nth-child-chained-expected.txt: Added.
* fast/selectors/nth-child-chained.html: Added.
* fast/selectors/nth-child-of-chained-expected.txt: Added.
* fast/selectors/nth-child-of-chained.html: Added.
Those new tests target specifically the register reuse bug fixed by the patch.

* fast/selectors/nth-child-basics-expected.txt: Added.
* fast/selectors/nth-child-basics.html: Added.
* fast/selectors/nth-child-of-basics-2-expected.txt: Added.
* fast/selectors/nth-child-of-basics-2.html: Added.
Those tests add coverage for the examples used by http://nthmaster.com. This is to increase
the general test coverage.

I added nth-child-of-basics-2.html instead of extending nth-child-of-basics.html because
of the speed issue in debug without CSS JIT (otherwise the test can timeout).

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

5 years agoWebKit top of tree sources won't build in 10.9 w/ Xcode 6.0.1
mitz@apple.com [Sat, 27 Sep 2014 07:13:44 +0000 (07:13 +0000)]
WebKit top of tree sources won't build in 10.9 w/ Xcode 6.0.1
https://bugs.webkit.org/show_bug.cgi?id=137053

Reviewed by Mark Rowe.

.:

* WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
In the build pre-action, pass the --wksi and --llvm options to
copy-webkitlibraries-to-product-directory.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Ditto.

Websites/webkit.org:

* building/build.html: Removed instructions how to work around this bug, now that it’s fixed.

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

5 years agoWebKit top of tree sources won't build in 10.9 w/ Xcode 6.0.1
ap@apple.com [Sat, 27 Sep 2014 05:18:55 +0000 (05:18 +0000)]
WebKit top of tree sources won't build in 10.9 w/ Xcode 6.0.1
https://bugs.webkit.org/show_bug.cgi?id=137053

Patch by David Gatwood. Reviewed, tweaked and landed by Alexey Proskuryakov.

Explain that to build from Xcode, one needs to build from command line once first.

Removed a Windows section that explained how to launch cygwin shell, which was
silly given that we then link to a long document explaining further steps.

* building/build.html:

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

5 years agoMark fast/selectors/nth-child-of-basics as Slow
utatane.tea@gmail.com [Sat, 27 Sep 2014 03:52:52 +0000 (03:52 +0000)]
Mark fast/selectors/nth-child-of-basics as Slow
https://bugs.webkit.org/show_bug.cgi?id=137149

Reviewed by Benjamin Poulain.

Since there are many tests in fast/selectors/nth-child-of-basics,
it takes long time and sometime LayoutTests timeout[1].

[1]: https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20(Tests)/builds/3042

* TestExpectations:
Mark fast/selectors/nth-child-of-basics as Slow.

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

5 years agoStop using legacy NODE_TYPE_CASTS() macro for HTML Elements
cdumez@apple.com [Sat, 27 Sep 2014 01:32:34 +0000 (01:32 +0000)]
Stop using legacy NODE_TYPE_CASTS() macro for HTML Elements
https://bugs.webkit.org/show_bug.cgi?id=137137

Reviewed by Benjamin Poulain.

Source/WebCore:

Stop using legacy NODE_TYPE_CASTS() macro for HTML Elements and use the
new SPECIALIZE_TYPE_TRAITS_*() macro instead so that is<>() /
downcast<>() works for those types.

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::labelForElement):
(WebCore::AccessibilityNodeObject::text):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetName):
(webkitAccessibleGetDescription):
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginInstance):
(WebCore::pluginScriptObjectFromPluginViewBase):
(WebCore::pluginScriptObject):
(WebCore::pluginElementCustomPut):
(WebCore::isPluginElement): Deleted.
* bindings/objc/DOM.mm:
(kitClass):
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchAllRules):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::locateCousinList):
(WebCore::elementHasDirectionAuto):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::assertConnectedSubrameCountIsConsistent):
(WebCore::collectFrameOwners):
(WebCore::disconnectSubframes):
* dom/Document.cpp:
(WebCore::Document::adoptNode):
(WebCore::Document::setBody):
(WebCore::Document::iconURLs):
(WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
(WebCore::Document::updateHoverActiveState):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Range.cpp:
(WebCore::Range::createContextualFragment):
* dom/make_names.pl:
(printTypeHelpers):
* editing/ApplyStyleCommand.cpp:
(WebCore::isLegacyAppleStyleSpan):
(WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
(WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan):
(WebCore::isEmptyFontTag):
(WebCore::ApplyStyleCommand::applyBlockStyle):
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeConflictingInlineStyleFromRun):
(WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
(WebCore::ApplyStyleCommand::removeInlineStyle):
(WebCore::ApplyStyleCommand::shouldSplitTextElement):
(WebCore::ApplyStyleCommand::applyInlineStyleChange):
* editing/DeleteButtonController.cpp:
(WebCore::enclosingDeletableElement):
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand):
(WebCore::Editor::setBaseWritingDirection):
(WebCore::findFirstMarkable):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
(WebCore::scanForForm):
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::mergeWithNeighboringLists):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::elementCannotHaveEndTag):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
(WebCore::ReplaceSelectionCommand::handleStyleSpans):
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
* editing/TextIterator.cpp:
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):
(WebCore::shouldEmitExtraNewlineForNode):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
* editing/htmlediting.cpp:
(WebCore::enclosingList):
(WebCore::embeddedSublist):
(WebCore::appendedSublist):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
* editing/mac/EditorMac.mm:
(WebCore::maybeCopyNodeAttributesToFragment):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendElement):
* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):
* html/ColorInputType.cpp:
(WebCore::ColorInputType::shadowColorSwatch):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedInto):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::namedItem):
(WebCore::HTMLCollection::updateNamedElementCache):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::matchesReadWritePseudoClass):
(WebCore::HTMLElement::setOuterHTML):
(WebCore::elementAffectsDirectionality):
(WebCore::HTMLElement::directionality):
(WebCore::HTMLElement::dirAttributeChanged):
* html/HTMLElement.h:
(WebCore::isHTMLElement):
(WebCore::Node::hasTagName):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getNamedElements):
* html/HTMLFrameElementBase.h:
(WebCore::isHTMLFrameElementBase):
* html/HTMLFrameOwnerElement.h:
(WebCore::isHTMLFrameOwnerElement):
* html/HTMLMediaElement.h:
(WebCore::isHTMLMediaElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::isDisabledFormControl):
* html/HTMLPlugInElement.h:
(WebCore::isHTMLPlugInElement):
* html/HTMLPlugInImageElement.cpp:
(WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
* html/HTMLPlugInImageElement.h:
(WebCore::isHTMLPlugInImageElement):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setOption):
(WebCore::HTMLSelectElement::setLength):
(WebCore::HTMLSelectElement::recalcListItems):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::cellAbove):
* html/HTMLTableCellElement.h:
(WebCore::isHTMLTableCellElement):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableRowsCollection.cpp:
(WebCore::isInSection):
* html/HTMLTableSectionElement.h:
(WebCore::isHTMLTableSectionElement):
* html/HTMLTagNames.in:
* html/HTMLTextFormControlElement.cpp:
(WebCore::enclosingTextFormControl):
* html/HTMLTextFormControlElement.h:
(WebCore::isHTMLTextFormControlElement):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::removedFrom):
(WebCore::HTMLTrackElement::mediaElement):
* html/LabelableElement.h:
(WebCore::isLabelableElement):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::sliderTrackElement):
* html/shadow/MediaControlElementTypes.cpp:
(WebCore::parentMediaElement):
(WebCore::mediaControlElementType):
* html/shadow/TextControlInnerElements.h:
(WebCore::isTextControlInnerTextElement):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPhrasingContent):
(WebCore::MathMLElement::isFlowContent):
(WebCore::MathMLElement::childShouldCreateRenderer):
* mathml/mathtags.in:
* page/DragController.cpp:
(WebCore::DragController::canProcessDrag):
* page/EventHandler.cpp:
(WebCore::targetIsFrame):
* page/FocusController.cpp:
(WebCore::hasCustomFocusLogic):
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
* page/Frame.cpp:
(WebCore::Frame::searchForLabelsBeforeElement):
* page/FrameView.cpp:
(WebCore::FrameView::init):
(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::updateEmbeddedObject):
* page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode):
(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
* page/SpatialNavigation.cpp:
(WebCore::frameOwnerElement):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absolutePDFURL):
(WebCore::HitTestResult::mediaElement):
* rendering/RenderBlockFlow.cpp:
(WebCore::resizeTextPermitted):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::layout):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::updateSnapOffsets):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::isRestartedPlugin):
* rendering/RenderMedia.h:
(WebCore::RenderMedia::mediaElement):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::offsetParent):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::plugInImageElement):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::parseColSpanFromDOM):
(WebCore::RenderTableCell::parseRowSpanFromDOM):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textFormControlElement):
* rendering/RenderThemeGtk.cpp:
(WebCore::getMediaElementFromRenderObject):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* rendering/RenderTreeAsText.cpp:
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
* rendering/RenderWidget.h:
(WebCore::RenderWidget::frameOwnerElement):
* testing/Internals.cpp:
(WebCore::Internals::visiblePlaceholder):
(WebCore::Internals::simulateAudioInterruption):
(WebCore::Internals::isPluginSnapshotted):
* xml/XPathStep.cpp:
(WebCore::XPath::nodeMatchesBasicTest):

Source/WebKit/win:

Use is<>() / downcast<>() where appropriate.

* DOMHTMLClasses.cpp:
(DOMHTMLElement::idName):
(DOMHTMLElement::innerText):
(DOMHTMLElement::setInnerText):

Source/WebKit2:

Use is<>() / downcast<>() where appropriate.

* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::value):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::pluginSnapshotTimerFired):
(WebKit::PluginView::pluginDidReceiveUserInteraction):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::performActionOnElement):

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

5 years ago[Win] Unreviewed. More gardening on Windows tests.
roger_fong@apple.com [Fri, 26 Sep 2014 23:55:59 +0000 (23:55 +0000)]
[Win] Unreviewed. More gardening on Windows tests.
* platform/win/TestExpectations:
Enable some css3 conditional tests that are now passing.
Disable some failing hidpi tests since we don’t have hidpi test support on Windows.

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

5 years agoAdd API for loading local files
andersca@apple.com [Fri, 26 Sep 2014 23:38:30 +0000 (23:38 +0000)]
Add API for loading local files
https://bugs.webkit.org/show_bug.cgi?id=137153
rdar://problem/17761459

Reviewed by Oliver Hunt.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
Load the file, wrapping the navigation ID in a WKNavigation using createLoadRequestNavigation.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadFile):
* UIProcess/WebPageProxy.h:
Return the navigation ID (or 0 if the navigation failed).

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

5 years agoWeb Inspector: Automatic Inspection should continue once all breakpoints are loaded
commit-queue@webkit.org [Fri, 26 Sep 2014 23:25:17 +0000 (23:25 +0000)]
Web Inspector: Automatic Inspection should continue once all breakpoints are loaded
https://bugs.webkit.org/show_bug.cgi?id=137038

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-26
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add a new protocol command "Inspector.initialized" that signifies to the backend
when the frontend has sent all its initialization messages to the backend. This
can include information like breakpoints, which we would want to have loaded
before any JavaScript evaluates in the context.

* inspector/protocol/InspectorDomain.json:
New protocol command, Inspector.initialized.

* inspector/agents/InspectorAgent.h:
* inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::InspectorAgent):
(Inspector::InspectorAgent::initialized):
Tell the InspectorEnvironment (the Controller) the frontend has initialized.

* inspector/InspectorEnvironment.h:
Abstract virtual method to handle frontend initialization. To be
implemented by all of the InspectorControllers.

* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
(Inspector::JSGlobalObjectInspectorController::frontendInitialized):
When a frontend is initialized, if it was automatic inspection unpause the debuggable.

* inspector/remote/RemoteInspectorDebuggable.cpp:
(Inspector::RemoteInspectorDebuggable::unpauseForInitializedInspector):
Complete setup for this debuggable.

* inspector/remote/RemoteInspectorDebuggable.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setup):
Move the setup complete to later, when the frontend sends an "initialized" message.

* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate):
Provide a longer timeout now that the frontend must send messages after the connection
has established. The longest I have seen in  600ms, but the average tends to be 200ms.
So bump the timeout to 800ms for a buffer.

(Inspector::RemoteInspector::setupSucceeded): Deleted.
(Inspector::RemoteInspector::setupCompleted):
Rename, as this happens at a slightly different time.

Source/WebCore:

Handle frontend initialization messages even though pages cannot
be automatically inspected yet.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::frontendInitialized):
* inspector/InspectorController.h:
* inspector/WorkerInspectorController.h:
* page/Page.h:
(WebCore::Page::inspectorDebuggable):

Source/WebInspectorUI:

* UserInterface/Base/Main.js:
Send the initialized message after we have sent all other setup messages,
such as enabling features and setting breakpoints.

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

5 years agoMany platform/mac-wk2/tiled-drawing/ tests fail when run on a retina device
bdakin@apple.com [Fri, 26 Sep 2014 23:18:08 +0000 (23:18 +0000)]
Many platform/mac-wk2/tiled-drawing/ tests fail when run on a retina device
https://bugs.webkit.org/show_bug.cgi?id=137089

Reviewed by Tim Horton.

This is a little sneaky since updateWindowScaleForTest() should ensure that these
tests run at 1x, but that code does not seem to execute at the right time for
these tests, so if we just ensure we start out at 1x, that appears to fix these
tests and does not break the HiDPI tests either.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):

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

5 years ago[Windows] Decrease default number of child processes used by Windows.
roger_fong@apple.com [Fri, 26 Sep 2014 22:54:07 +0000 (22:54 +0000)]
[Windows] Decrease default number of child processes used by Windows.
* Scripts/webkitpy/port/win.py:
(WinPort.default_child_processes):
Having too many seems to cause many tests to crash or timeout.
We may even need to make it have only 1 child process if we’re still seeing problems after this.

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

5 years agoDFG shouldn't insert store barriers when it has it on good authority that we're not...
fpizlo@apple.com [Fri, 26 Sep 2014 22:53:20 +0000 (22:53 +0000)]
DFG shouldn't insert store barriers when it has it on good authority that we're not storing a cell
https://bugs.webkit.org/show_bug.cgi?id=137161

Reviewed by Mark Hahnenberg.

This looks like a 1% Octane speed-up.

* bytecode/SpeculatedType.h:
(JSC::isNotCellSpeculation):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::insertCheck):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateNotCell):

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

5 years agoVersioning.
bshafiei@apple.com [Fri, 26 Sep 2014 21:57:15 +0000 (21:57 +0000)]
Versioning.

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

5 years ago[Mac] Some inspector tests time out following r173992.
roger_fong@apple.com [Fri, 26 Sep 2014 21:41:44 +0000 (21:41 +0000)]
[Mac] Some inspector tests time out following r173992.
https://bugs.webkit.org/show_bug.cgi?id=137157
* platform/mac/TestExpectations:

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

5 years agoWeb Inspector: Type Token View shows type information on hover when it shouldn't
saambarati1@gmail.com [Fri, 26 Sep 2014 21:39:53 +0000 (21:39 +0000)]
Web Inspector: Type Token View shows type information on hover when it shouldn't
https://bugs.webkit.org/show_bug.cgi?id=137152

Reviewed by Brian J. Burg.

TypeTokenView should only show type information when there is
more than one primitive type or more than zero objects types.
This fixes a bug in checking the length of object types.

* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView.prototype._shouldShowPopover):

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

5 years agoREGRESSION (r173988): Fix unused variable warning in PDFDocumentImage.cpp
ddkilzer@apple.com [Fri, 26 Sep 2014 21:05:01 +0000 (21:05 +0000)]
REGRESSION (r173988): Fix unused variable warning in PDFDocumentImage.cpp

Fixes the following build failure in release builds:

    WebCore/platform/graphics/cg/PDFDocumentImage.cpp:230:12: error: unused variable 'pageCount' [-Werror,-Wunused-variable]

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::computeBoundsForCurrentPage): Change
ASSERT() to call pageCount().

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

5 years agoMac EWS bots do not keep logs as promised
ap@apple.com [Fri, 26 Sep 2014 19:02:42 +0000 (19:02 +0000)]
Mac EWS bots do not keep logs as promised
https://bugs.webkit.org/show_bug.cgi?id=137151

Reviewed by Ryosuke Niwa.

* EWSTools/start-queue-mac.sh: Actually keep the logs for 14 days.

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

5 years agoAdd WKInspector back function stubs that went missing from r173929.
timothy@apple.com [Fri, 26 Sep 2014 18:51:18 +0000 (18:51 +0000)]
Add WKInspector back function stubs that went missing from r173929.
My changes to WKDeprecatedFunctions.cpp got lost in the shuffle.

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKInspectorIsDebuggingJavaScript):
(WKInspectorToggleJavaScriptDebugging):
(WKInspectorIsProfilingJavaScript):
(WKInspectorToggleJavaScriptProfiling):

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

5 years agoGet rid of webkit-queues dashboard
ap@apple.com [Fri, 26 Sep 2014 18:49:30 +0000 (18:49 +0000)]
Get rid of webkit-queues dashboard
https://bugs.webkit.org/show_bug.cgi?id=137141

Reviewed by Ryosuke Niwa.

* QueueStatusServer/app.yaml: Updated version.

* QueueStatusServer/templates/dashboard.html: Removed.
* QueueStatusServer/handlers/dashboard.py: Removed.
* QueueStatusServer/main.py:
Kill it!

* QueueStatusServer/stylesheets/common.css: Copied from Tools/QueueStatusServer/stylesheets/dashboard.css.
(.status-cell): Deleted.
(.status-cell:hover): Deleted.
(.status-cell.pass): Deleted.
(.status-cell.fail): Deleted.
(.status-cell.pending): Deleted.
(.status-cell.error): Deleted.
* QueueStatusServer/stylesheets/dashboard.css: Removed.
* QueueStatusServer/templates/activebots.html:
* QueueStatusServer/templates/patch.html:
* QueueStatusServer/templates/queuestatus.html:
* QueueStatusServer/templates/recentstatus.html:
Renamed dashboard.css to common.css, and removed dashboard-only rules.

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

5 years agoStorageTracker::deleteOrigin being called off the main thread (ASSERTs in inspector...
burg@cs.washington.edu [Fri, 26 Sep 2014 18:26:29 +0000 (18:26 +0000)]
StorageTracker::deleteOrigin being called off the main thread (ASSERTs in inspector/test-harness-trivially-works.html test)
https://bugs.webkit.org/show_bug.cgi?id=129642

Apply post-review comments from Alexey Proskuryakov.

* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::deleteEmptyDatabase): Make a thread-safe isolated copy of the string.

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

5 years agoREGRESSION(r173929): Web inspector doesn't work after r173929 when INSPECTOR_SERVER...
carlosgc@webkit.org [Fri, 26 Sep 2014 17:50:05 +0000 (17:50 +0000)]
REGRESSION(r173929): Web inspector doesn't work after r173929 when INSPECTOR_SERVER is enabled
https://bugs.webkit.org/show_bug.cgi?id=137150

Reviewed by Timothy Hatcher.

The inspector doesn't show any information about the inspected
page because it's sending messages to a remote frontend that is
not running.

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::WebInspector): Initialize m_remoteFrontendConnected.
(WebKit::WebInspector::sendMessageToFrontend): Send
SendMessageToRemoteFrontend message to the UI process when remote
frontend is connected, or SendMessageToFrontend message to
WebInspectorUI otherwise.
(WebKit::WebInspector::remoteFrontendConnected): Set m_remoteFrontendConnected to true.
(WebKit::WebInspector::remoteFrontendDisconnected): Set m_remoteFrontendConnected to false.
* WebProcess/WebPage/WebInspector.h:

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

5 years agoFix typo in YARR at BOL check
pvarga@webkit.org [Fri, 26 Sep 2014 17:49:57 +0000 (17:49 +0000)]
Fix typo in YARR at BOL check
https://bugs.webkit.org/show_bug.cgi?id=137144

Reviewed by Darin Adler.

* yarr/YarrPattern.cpp: replace bitwise and operator by logical and
(JSC::Yarr::YarrPatternConstructor::assertionBOL):

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

5 years agoSVG -> OTF converter bug gardening
mmaxfield@apple.com [Fri, 26 Sep 2014 17:18:57 +0000 (17:18 +0000)]
SVG -> OTF converter bug gardening
https://bugs.webkit.org/show_bug.cgi?id=137088

Reviewed by Darin Adler.

This test fixes some (but not all) of the svg/ layout tests that never worked with the
SVG -> OTF font converter. The actual list of tests this fixes is shown below. I will be
filing bugs for the remaining issues along with the relevant tests that those issues
cause to fail.

Tests: svg/W3C-SVG-1.1/fonts-elem-05-t.svg
       svg/W3C-SVG-1.1/fonts-kern-01-t.svg
       svg/custom/glyph-setting-d-attribute.svg
       svg/custom/scrolling-embedded-svg-file-image-repaint-problem.html
       svg/custom/skip-underline-missing-glyph.html
       svg/custom/svg-fonts-fallback.xhtml
       svg/custom/svg-fonts-in-text-controls.html

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::appendHEADTable): We use the font's minimum and maximum
bounding box information to size <textarea>s and <input>s.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): Codepoint ranges are closed.
(WebCore::SVGToOTFFontConverter::computeKerningData): Typo in appending glyphs to the
wrong set.
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths): Use the font's horizontal
origin if the glyph doesn't have one.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): r173852 implemented vhea, vmtx,
and kern.
(WebCore::transcodeGlyphPaths): Moved inside SVGToOTFFontConverter.

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

5 years agoiOS build fix following r173989.
mitz@apple.com [Fri, 26 Sep 2014 17:02:37 +0000 (17:02 +0000)]
iOS build fix following r173989.

* page/ios/FrameIOS.mm:
(WebCore::ancestorRespondingToClickEvents):

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

5 years agoGet rid of Retry status in webkit-queues
ap@apple.com [Fri, 26 Sep 2014 16:58:41 +0000 (16:58 +0000)]
Get rid of Retry status in webkit-queues
https://bugs.webkit.org/show_bug.cgi?id=137135

Reviewed by Ryosuke Niwa.

* QueueStatusServer/config/messages.py: Removed Retry.

* QueueStatusServer/handlers/releasepatch.py: This is now straightforward, as it
no longer needs to check the latest status. It just always both unlocks the patch
and removes it from WorkItems.

* QueueStatusServer/handlers/submittoews.py: (SubmitToEWS._should_add_to_ews_queue):
I don't understand why we even needed to check for retries here, but now that there
are no retries, that code can go to /dev/null.

* QueueStatusServer/loggers/recordpatchevent.py:
(RecordPatchEvent.started):
(RecordPatchEvent.retrying): Deleted.
Fixed retry counting, it should work for all queues now.

* QueueStatusServer/model/queuestatus.py:
(QueueStatus.is_retry_request): Deleted. These are no more.

* Scripts/webkitpy/common/net/statusserver_mock.py:
(MockStatusServer.release_lock):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
Did whatever it took to keep passing the tests. The particular test doesn't seem
quite right, but whatever.

* Scripts/webkitpy/tool/commands/queues.py:
(CommitQueue.process_work_item): Instead of posting a retry status, just unlock
and let others pick up. Also, added explicit returns for clarity.
(AbstractPatchQueue._did_retry): Deleted.

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

5 years ago[GTK] Don't include full path names in WebKitEnumTypes.h
berto@igalia.com [Fri, 26 Sep 2014 16:57:45 +0000 (16:57 +0000)]
[GTK] Don't include full path names in WebKitEnumTypes.h
https://bugs.webkit.org/show_bug.cgi?id=137148

Reviewed by Carlos Garcia Campos.

Replace @filename@ with @basename@ in the template, since we don't
want to include the full path name in the generated header.

* UIProcess/API/gtk/WebKitEnumTypes.h.template:

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

5 years ago[CSS Grid Layout] Empty string case already covered by containesOnlyWhiteSpace.
jfernandez@igalia.com [Fri, 26 Sep 2014 14:27:52 +0000 (14:27 +0000)]
[CSS Grid Layout] Empty string case already covered by containesOnlyWhiteSpace.
https://bugs.webkit.org/show_bug.cgi?id=137146

Reviewed by Sergio Villar Senin.

When checking out for white-space only strings in the grid-template-areas
property values, it's not neccessary to check out for empty strings as
such case is already covered.

No new tests, already covered by fast/css-grid-layout/grid-template-areas-empty-string-crash.html.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateAreasRow):

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

5 years ago[CSS Grid Layout] Fix the handling of infinity in track growth limits
svillar@igalia.com [Fri, 26 Sep 2014 13:41:57 +0000 (13:41 +0000)]
[CSS Grid Layout] Fix the handling of infinity in track growth limits
https://bugs.webkit.org/show_bug.cgi?id=137019

Reviewed by Darin Adler.

Source/WebCore:

The growth limit of content sized tracks is initialized to
infinity which is internally represented as -1. We were not
specialcasing this situation, and thus, -1 was used in the
computations as any other value. This change makes the code aware
of the existence of infinites (like when sorting tracks by growth
potential or when initializing the track growth limits).

There was another bug related to infinities. The code that was
replacing a infinite growth limit by a finite one was not using
the proper indexes so the tracks that were being updated were the
wrong ones.

Test: fast/css-grid-layout/grid-content-sized-columns-resolution.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::sortByGridTrackGrowthPotential):
(WebCore::RenderGrid::distributeSpaceToTracks):

LayoutTests:

* fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt: Added.
* fast/css-grid-layout/grid-content-sized-columns-resolution.html: Added.
* fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt:

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

5 years ago[EFL] Fix the gst-libav build on ARM Thumb2
ossy@webkit.org [Fri, 26 Sep 2014 13:14:12 +0000 (13:14 +0000)]
[EFL] Fix the gst-libav build on ARM Thumb2
https://bugs.webkit.org/show_bug.cgi?id=137022

Reviewed by Zoltan Herczeg.

* efl/jhbuild.modules:
* efl/patches/gst-libav.patch: Added.

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

5 years ago[GTK] Fix support for the initial-letter CSS property to first-letter
commit-queue@webkit.org [Fri, 26 Sep 2014 08:39:59 +0000 (08:39 +0000)]
[GTK] Fix support for the initial-letter CSS property to first-letter
https://bugs.webkit.org/show_bug.cgi?id=137108

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-09-26
Reviewed by Alejandro G. Castro.

Source/WebCore:

Add support for cap-height to the font system.

* platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::SimpleFontData::platformInit):

LayoutTests:

Add missing GTK test expectation files after http://webkit.org/b/136484

* platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
* platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.

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

5 years ago[EFL] Bump up dependencies not to conflict with the GTK port.
commit-queue@webkit.org [Fri, 26 Sep 2014 08:20:46 +0000 (08:20 +0000)]
[EFL] Bump up dependencies not to conflict with the GTK port.
https://bugs.webkit.org/show_bug.cgi?id=137143

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-09-26
Reviewed by Gyuyoung Kim.

Tools/efl/install-dependencies and Tools/gtk/install-dependencies keep
installing and removing different versions of libgnutls-dev, thus
hindering the development for both ports on the same machine. GTK is
using the newer version of the package, now bumping up EFL to use the
same.

* efl/install-dependencies:

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

5 years ago[GTK] Enable CSS_IMAGE_SET in production builds
carlosgc@webkit.org [Fri, 26 Sep 2014 07:39:29 +0000 (07:39 +0000)]
[GTK] Enable CSS_IMAGE_SET in production builds
https://bugs.webkit.org/show_bug.cgi?id=137142

Reviewed by Alejandro G. Castro.

This is required by the inspector to show some of the icons that
has a HiDPI variant.

* Source/cmake/OptionsGTK.cmake:

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

5 years agoUnreviewed gardening after r173992. Skip inspector/timelines/.
burg@cs.washington.edu [Fri, 26 Sep 2014 07:32:01 +0000 (07:32 +0000)]
Unreviewed gardening after r173992. Skip inspector/timelines/.

* TestExpectations: mark inspector/timelines/ as Skip, since
it seems to be running into unexplained nondeterminism similar to
inspector/debugger/ tests. These should be investigated together.

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

5 years ago[EFL][WK2] Minibrowser : Fix the 'Escape' button issue to exit fullscreen
commit-queue@webkit.org [Fri, 26 Sep 2014 06:24:03 +0000 (06:24 +0000)]
[EFL][WK2] Minibrowser : Fix the 'Escape' button issue to exit fullscreen
https://bugs.webkit.org/show_bug.cgi?id=136854

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-25
Reviewed by Gyuyoung Kim.

'Escape' key should exit fullscreen first and then should be used to stop page load.

* MiniBrowser/efl/main.c:
(on_key_down):

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

5 years agoWeb Inspector: Show type info icon is blurry
timothy@apple.com [Fri, 26 Sep 2014 06:03:05 +0000 (06:03 +0000)]
Web Inspector: Show type info icon is blurry
https://bugs.webkit.org/show_bug.cgi?id=137125

Reviewed by Darin Adler.

* UserInterface/Images/NavigationItemTypes.svg:
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):

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

5 years agoUnreviewed, EFL gardening. Mark SVG 1.1 tests are flaky.
gyuyoung.kim@samsung.com [Fri, 26 Sep 2014 05:37:29 +0000 (05:37 +0000)]
Unreviewed, EFL gardening. Mark SVG 1.1 tests are flaky.

* platform/efl/TestExpectations:

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

5 years agoWeb Inspector: console.assert(bitString) TypeSet:50
saambarati1@gmail.com [Fri, 26 Sep 2014 04:31:17 +0000 (04:31 +0000)]
Web Inspector: console.assert(bitString) TypeSet:50
https://bugs.webkit.org/show_bug.cgi?id=137051

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This patch creates stricter requirements on a TypeDescription
being valid. To be valid, a TypeDescription now ensures that
the TypeSet it describes has non null type information.

* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
* runtime/TypeSet.h:
(JSC::TypeSet::isEmpty):

Source/WebInspectorUI:

This fixes TypeSet's isContainedIn method by ensuring that
the type bit string isn't zero because the test would trivially
pass if the bit string is zero.

* UserInterface/Models/TypeSet.js:
(WebInspector.TypeSet.prototype.isContainedIn):

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

5 years agoFTL should sink object allocations
fpizlo@apple.com [Fri, 26 Sep 2014 03:59:33 +0000 (03:59 +0000)]
FTL should sink object allocations
https://bugs.webkit.org/show_bug.cgi?id=136330

Reviewed by Oliver Hunt.
Source/JavaScriptCore:

This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The
ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to
eliminate it completely. The way sinking reasons about the CFG means that it resembles a
partial escape analysis: we create paths through a function where some allocation(s) don't
have to be done at all even if there are other paths along which those allocations still have
to happen. But it also produces other side benefits. Even if an allocation isn't eliminated
along any path, the act of sinking reduces the number of barriers that have to execute.

Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11
sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and
successors; and to add more functor goodness to allow for more lambdas.

This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this
is a spectacular speed-up on microbenchmarks but it's still too limited to affect big
benchmarks. For example, doing o == p makes the sinking phase think that o and p escape.
That's just an omission and there are likely others; we can easily fix them. I think it's
best to land it in its current form and then to worry about the big benchmarks in subsequent
work (see bug 137126).

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/StructureSet.h:
(JSC::StructureSet::iterator::iterator):
(JSC::StructureSet::iterator::operator*):
(JSC::StructureSet::iterator::operator++):
(JSC::StructureSet::iterator::operator==):
(JSC::StructureSet::iterator::operator!=):
(JSC::StructureSet::begin):
(JSC::StructureSet::end):
* dfg/DFGAbstractInterpreter.h:
(JSC::DFG::AbstractInterpreter::phiChildren):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::execute):
* dfg/DFGAvailability.h:
(JSC::DFG::Availability::shouldUseNode):
(JSC::DFG::Availability::isFlushUseful):
(JSC::DFG::Availability::isDead):
(JSC::DFG::Availability::operator!=):
* dfg/DFGAvailabilityMap.cpp: Added.
(JSC::DFG::AvailabilityMap::prune):
(JSC::DFG::AvailabilityMap::clear):
(JSC::DFG::AvailabilityMap::dump):
(JSC::DFG::AvailabilityMap::operator==):
(JSC::DFG::AvailabilityMap::merge):
* dfg/DFGAvailabilityMap.h: Added.
(JSC::DFG::AvailabilityMap::forEachAvailability):
* dfg/DFGBasicBlock.cpp:
(JSC::DFG::BasicBlock::SSAData::SSAData):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::begin):
(JSC::DFG::BasicBlock::end):
(JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable):
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator):
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*):
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++):
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==):
(JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=):
(JSC::DFG::BasicBlock::SuccessorsIterable::begin):
(JSC::DFG::BasicBlock::SuccessorsIterable::end):
(JSC::DFG::BasicBlock::successors):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGFlushedAt.cpp:
(JSC::DFG::FlushedAt::dump):
* dfg/DFGFlushedAt.h:
(JSC::DFG::FlushedAt::FlushedAt):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::mergeRelevantToOSR):
(JSC::DFG::Graph::invalidateCFG):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable):
(JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator):
(JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*):
(JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++):
(JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==):
(JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=):
(JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext):
(JSC::DFG::Graph::NaturalBlockIterable::begin):
(JSC::DFG::Graph::NaturalBlockIterable::end):
(JSC::DFG::Graph::blocksInNaturalOrder):
(JSC::DFG::Graph::doToChildrenWithNode):
(JSC::DFG::Graph::doToChildren):
* dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGHeapLocation.h:
* dfg/DFGInsertOSRHintsForUpdate.cpp: Added.
(JSC::DFG::insertOSRHintsForUpdate):
* dfg/DFGInsertOSRHintsForUpdate.h: Added.
* dfg/DFGInsertionSet.h:
(JSC::DFG::InsertionSet::graph):
* dfg/DFGMayExit.cpp:
(JSC::DFG::mayExit):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToPutByOffsetHint):
(JSC::DFG::Node::convertToPutStructureHint):
(JSC::DFG::Node::convertToPhantomNewObject):
(JSC::DFG::Node::isCellConstant):
(JSC::DFG::Node::castConstant):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasStorageAccessData):
(JSC::DFG::Node::hasObjectMaterializationData):
(JSC::DFG::Node::objectMaterializationData):
(JSC::DFG::Node::isPhantomObjectAllocation):
* dfg/DFGNodeType.h:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::LocalOSRAvailabilityCalculator::endBlock):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):
* dfg/DFGOSRAvailabilityAnalysisPhase.h:
* dfg/DFGObjectAllocationSinkingPhase.cpp: Added.
(JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase):
(JSC::DFG::ObjectAllocationSinkingPhase::run):
(JSC::DFG::ObjectAllocationSinkingPhase::performSinking):
(JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints):
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):
(JSC::DFG::ObjectAllocationSinkingPhase::resolve):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
(JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize):
(JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize):
(JSC::DFG::performObjectAllocationSinking):
* dfg/DFGObjectAllocationSinkingPhase.h: Added.
* dfg/DFGObjectMaterializationData.cpp: Added.
(JSC::DFG::PhantomPropertyValue::dump):
(JSC::DFG::ObjectMaterializationData::dump):
(JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore):
(JSC::DFG::ObjectMaterializationData::similarityScore):
* dfg/DFGObjectMaterializationData.h: Added.
(JSC::DFG::PhantomPropertyValue::PhantomPropertyValue):
(JSC::DFG::PhantomPropertyValue::operator==):
* dfg/DFGPhantomCanonicalizationPhase.cpp:
(JSC::DFG::PhantomCanonicalizationPhase::run):
* dfg/DFGPhantomRemovalPhase.cpp:
(JSC::DFG::PhantomRemovalPhase::run):
* dfg/DFGPhiChildren.cpp: Added.
(JSC::DFG::PhiChildren::PhiChildren):
(JSC::DFG::PhiChildren::~PhiChildren):
(JSC::DFG::PhiChildren::upsilonsOf):
* dfg/DFGPhiChildren.h: Added.
(JSC::DFG::PhiChildren::forAllIncomingValues):
(JSC::DFG::PhiChildren::forAllTransitiveIncomingValues):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGPrePostNumbering.cpp: Added.
(JSC::DFG::PrePostNumbering::PrePostNumbering):
(JSC::DFG::PrePostNumbering::~PrePostNumbering):
(JSC::DFG::PrePostNumbering::compute):
(WTF::printInternal):
* dfg/DFGPrePostNumbering.h: Added.
(JSC::DFG::PrePostNumbering::preNumber):
(JSC::DFG::PrePostNumbering::postNumber):
(JSC::DFG::PrePostNumbering::isStrictAncestorOf):
(JSC::DFG::PrePostNumbering::isAncestorOf):
(JSC::DFG::PrePostNumbering::isStrictDescendantOf):
(JSC::DFG::PrePostNumbering::isDescendantOf):
(JSC::DFG::PrePostNumbering::edgeKind):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGPromoteHeapAccess.h: Added.
(JSC::DFG::promoteHeapAccess):
* dfg/DFGPromotedHeapLocation.cpp: Added.
(JSC::DFG::PromotedLocationDescriptor::dump):
(JSC::DFG::PromotedHeapLocation::createHint):
(JSC::DFG::PromotedHeapLocation::dump):
(WTF::printInternal):
* dfg/DFGPromotedHeapLocation.h: Added.
(JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor):
(JSC::DFG::PromotedLocationDescriptor::operator!):
(JSC::DFG::PromotedLocationDescriptor::kind):
(JSC::DFG::PromotedLocationDescriptor::info):
(JSC::DFG::PromotedLocationDescriptor::hash):
(JSC::DFG::PromotedLocationDescriptor::operator==):
(JSC::DFG::PromotedLocationDescriptor::operator!=):
(JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue):
(JSC::DFG::PromotedHeapLocation::PromotedHeapLocation):
(JSC::DFG::PromotedHeapLocation::operator!):
(JSC::DFG::PromotedHeapLocation::kind):
(JSC::DFG::PromotedHeapLocation::base):
(JSC::DFG::PromotedHeapLocation::info):
(JSC::DFG::PromotedHeapLocation::descriptor):
(JSC::DFG::PromotedHeapLocation::hash):
(JSC::DFG::PromotedHeapLocation::operator==):
(JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue):
(JSC::DFG::PromotedHeapLocationHash::hash):
(JSC::DFG::PromotedHeapLocationHash::equal):
* dfg/DFGSSACalculator.cpp:
(JSC::DFG::SSACalculator::reset):
* dfg/DFGSSACalculator.h:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::run):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::validate):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLExitPropertyValue.cpp: Added.
(JSC::FTL::ExitPropertyValue::dump):
* ftl/FTLExitPropertyValue.h: Added.
(JSC::FTL::ExitPropertyValue::ExitPropertyValue):
(JSC::FTL::ExitPropertyValue::operator!):
(JSC::FTL::ExitPropertyValue::location):
(JSC::FTL::ExitPropertyValue::value):
* ftl/FTLExitTimeObjectMaterialization.cpp: Added.
(JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization):
(JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization):
(JSC::FTL::ExitTimeObjectMaterialization::add):
(JSC::FTL::ExitTimeObjectMaterialization::get):
(JSC::FTL::ExitTimeObjectMaterialization::dump):
* ftl/FTLExitTimeObjectMaterialization.h: Added.
(JSC::FTL::ExitTimeObjectMaterialization::type):
(JSC::FTL::ExitTimeObjectMaterialization::properties):
* ftl/FTLExitValue.cpp:
(JSC::FTL::ExitValue::materializeNewObject):
(JSC::FTL::ExitValue::dumpInContext):
* ftl/FTLExitValue.h:
(JSC::FTL::ExitValue::isObjectMaterialization):
(JSC::FTL::ExitValue::objectMaterialization):
(JSC::FTL::ExitValue::withVirtualRegister):
(JSC::FTL::ExitValue::valueFormat):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckStructure):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compilePutStructure):
(JSC::FTL::LowerDFGToLLVM::compileNewObject):
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate):
(JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject):
(JSC::FTL::LowerDFGToLLVM::checkStructure):
(JSC::FTL::LowerDFGToLLVM::allocateCell):
(JSC::FTL::LowerDFGToLLVM::storeStructure):
(JSC::FTL::LowerDFGToLLVM::allocateObject):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::weakStructureID):
(JSC::FTL::LowerDFGToLLVM::weakStructure):
(JSC::FTL::LowerDFGToLLVM::availabilityMap):
(JSC::FTL::LowerDFGToLLVM::availability): Deleted.
* ftl/FTLOSRExit.h:
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileRecovery):
(JSC::FTL::compileStub):
* ftl/FTLOperations.cpp: Added.
(JSC::FTL::operationNewObjectWithButterfly):
(JSC::FTL::operationMaterializeObjectInOSR):
* ftl/FTLOperations.h: Added.
* ftl/FTLSwitchCase.h:
(JSC::FTL::SwitchCase::SwitchCase):
* runtime/JSObject.h:
(JSC::JSObject::finishCreation):
(JSC::JSFinalObject::JSFinalObject):
(JSC::JSFinalObject::create):
* runtime/Structure.cpp:
(JSC::Structure::canUseForAllocationsOf):
* runtime/Structure.h:
* tests/stress/elidable-new-object-roflcopter-then-exit.js: Added.
(sumOfArithSeries):
(foo):
* tests/stress/elide-new-object-dag-then-exit.js: Added.
(sumOfArithSeries):
(bar):
(verify):
(foo):
* tests/stress/obviously-elidable-new-object-then-exit.js: Added.
(sumOfArithSeries):
(foo):

Source/WTF:

Make it possible to reset a Bag.

* wtf/Bag.h:
(WTF::Bag::Bag):
(WTF::Bag::~Bag):
(WTF::Bag::clear):

LayoutTests:

* js/math-denorm.html: Added.
* js/regress/elidable-new-object-dag-expected.txt: Added.
* js/regress/elidable-new-object-dag.html: Added.
* js/regress/elidable-new-object-roflcopter-expected.txt: Added.
* js/regress/elidable-new-object-roflcopter.html: Added.
* js/regress/elidable-new-object-tree-expected.txt: Added.
* js/regress/elidable-new-object-tree.html: Added.
* js/regress/obvious-sink-pathology-expected.txt: Added.
* js/regress/obvious-sink-pathology-taken-expected.txt: Added.
* js/regress/obvious-sink-pathology-taken.html: Added.
* js/regress/obvious-sink-pathology.html: Added.
* js/regress/obviously-elidable-new-object-expected.txt: Added.
* js/regress/obviously-elidable-new-object.html: Added.
* js/regress/script-tests/elidable-new-object-dag.js: Added.
(sumOfArithSeries):
(foo):
* js/regress/script-tests/elidable-new-object-roflcopter.js: Added.
(sumOfArithSeries):
(foo):
* js/regress/script-tests/elidable-new-object-tree.js: Added.
(sumOfArithSeries):
(foo):
* js/regress/script-tests/obvious-sink-pathology-taken.js: Added.
(sumOfArithSeries):
(bar):
(foo):
* js/regress/script-tests/obvious-sink-pathology.js: Added.
(sumOfArithSeries):
(bar):
(foo):
* js/regress/script-tests/obviously-elidable-new-object.js: Added.
(sumOfArithSeries):
(foo):
* js/regress/script-tests/sinkable-new-object-dag.js: Added.
(sumOfArithSeries):
(verify):
(foo):
* js/regress/script-tests/sinkable-new-object-taken.js: Added.
(sumOfArithSeries):
(bar):
(foo):
* js/regress/script-tests/sinkable-new-object.js: Added.
(sumOfArithSeries):
(bar):
(foo):
* js/regress/sinkable-new-object-dag-expected.txt: Added.
* js/regress/sinkable-new-object-dag.html: Added.
* js/regress/sinkable-new-object-expected.txt: Added.
* js/regress/sinkable-new-object-taken-expected.txt: Added.
* js/regress/sinkable-new-object-taken.html: Added.
* js/regress/sinkable-new-object.html: Added.

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

5 years agoWeb Inspector: FunctionCall timeline records omit profile data if the debugger has...
burg@cs.washington.edu [Fri, 26 Sep 2014 02:29:50 +0000 (02:29 +0000)]
Web Inspector: FunctionCall timeline records omit profile data if the debugger has paused
https://bugs.webkit.org/show_bug.cgi?id=136805

Reviewed by Timothy Hatcher.

Source/WebCore:

TimelineAgent was mismanaging its call stack depth counter, which caused nested FunctionCall
records to steal the parent FunctionCall's captured profile in the child's didCallFunction().
Thus, the top FunctionCall node had no profile data and nested FunctionCall nodes each had
their own profiles. The frontend expected just one profile, so it didn't show anything when
it couldn't be found.

Test: inspector/timeline/debugger-paused-while-recording.html

* inspector/InspectorTimelineAgent.cpp: Rename m_recordingProfileDepth to m_callStackDepth.
(WebCore::InspectorTimelineAgent::willCallFunction): Fix the call stack depth management.
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
* inspector/InspectorTimelineAgent.h:

Source/WebInspectorUI:

* UserInterface/Test.html: Add missing include for ScopeChainNode.js.

LayoutTests:

Add a test to see that script timeline records contain profiles even when
the debugger pauses during timeline capturing.

* inspector/timeline/debugger-paused-while-recording-expected.txt: Added.
* inspector/timeline/debugger-paused-while-recording.html: Added.
* inspector/timeline/resources/timeline-helper.js: Added.
(callFunction):
(hook):

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

5 years agoStorageTracker::deleteOrigin being called off the main thread (ASSERTs in inspector...
burg@cs.washington.edu [Fri, 26 Sep 2014 02:20:05 +0000 (02:20 +0000)]
StorageTracker::deleteOrigin being called off the main thread (ASSERTs in inspector/test-harness-trivially-works.html test)
https://bugs.webkit.org/show_bug.cgi?id=129642

Reviewed by Brady Eidson.

Source/WebCore:

When tearing down the inspector frontend's page, we trigger a threading violation
in StorageAreaSync's final sync code underneath StorageAreaSync::deleteEmptyDatabase().

No new tests. Regression is covered by inspector/test-harness-trivially-works.html.

* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::deleteEmptyDatabase): add a missing callOnMainThread() when
calling StorageTracker::deleteOriginWithIdentifier().

LayoutTests:

Remove the blanket Skip for all tests in inspector/.

* TestExpectations: clean up expectations for inspector/ and add new tracking bugs.

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

5 years agoClean up unused parameter warnings
utatane.tea@gmail.com [Fri, 26 Sep 2014 01:09:39 +0000 (01:09 +0000)]
Clean up unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=137107

Reviewed by Benjamin Poulain.

* Scripts/webkit/messages.py:
(generate_message_handler):
Sometimes generated code doesn't use `connection` parameter. So `UNUSED_PARAM(connection)` is necessary.
* UIProcess/API/C/WKPage.cpp:
(WKPageIsPlayingAudio):

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

5 years agoUnprefix CSS cursor values zoom-in and zoom-out.
commit-queue@webkit.org [Fri, 26 Sep 2014 01:00:56 +0000 (01:00 +0000)]
Unprefix CSS cursor values zoom-in and zoom-out.
https://bugs.webkit.org/show_bug.cgi?id=137061

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-09-25
Reviewed by Benjamin Poulain.

Source/WebCore:

This patch unprefixes CSS cursor values zoom-in and zoom-out.
-webkit-zoom-in and -webkit-zoom-out are kept as aliases.
ECursor members use InterCaps with an initial capital letter for now.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ECursor):
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyCursor::applyValue):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::resizeImageToFit):
(WebCore::ImageDocument::restoreImageSize):
(WebCore::ImageDocument::windowSizeChanged):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:

LayoutTests:

Add test cases for zoom-in, zoom-out, -webkit-zoom-in, -webkit-zoom-out.

* fast/css/cursor-parsing-expected.txt:
* fast/css/cursor-parsing.html:

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

5 years ago[Win] Debug builds of TestWebKitAPI are crashing.
bfulgham@apple.com [Fri, 26 Sep 2014 00:39:20 +0000 (00:39 +0000)]
[Win] Debug builds of TestWebKitAPI are crashing.
https://bugs.webkit.org/show_bug.cgi?id=133553

Reviewed by Dean Jackson.

../WebCore:

Avoid crash on shutdown due to invalid mutex state in the
HashMap debug implementation during a static destruction operation.

* dom/Node.cpp:
(WebCore::ignoreSet): Convert static value into a NeverDestroyed.
(WebCore::Node::trackForDebugging): Use new NeverDestroyed call.
(WebCore::Node::~Node): Ditto.

../WebKit/win:

Switch from global static HashTable to a NeverDestroyed object.
Modify all accessors of the global static to use the new
NeverDestroyed accessor method.

* AccessibleBase.cpp:
(AccessibleBase::AccessibleBase):
(AccessibleBase::~AccessibleBase):
* CFDictionaryPropertyBag.cpp:
(CFDictionaryPropertyBag::CFDictionaryPropertyBag):
(CFDictionaryPropertyBag::~CFDictionaryPropertyBag):
* DefaultDownloadDelegate.cpp:
(DefaultDownloadDelegate::DefaultDownloadDelegate):
(DefaultDownloadDelegate::~DefaultDownloadDelegate):
* DefaultPolicyDelegate.cpp:
(DefaultPolicyDelegate::DefaultPolicyDelegate):
(DefaultPolicyDelegate::~DefaultPolicyDelegate):
* MemoryStream.cpp:
(MemoryStream::MemoryStream):
(MemoryStream::~MemoryStream):
* WebActionPropertyBag.cpp:
(WebActionPropertyBag::WebActionPropertyBag):
(WebActionPropertyBag::~WebActionPropertyBag):
* WebArchive.cpp:
(WebArchive::WebArchive):
(WebArchive::~WebArchive):
* WebBackForwardList.cpp:
(WebBackForwardList::WebBackForwardList):
(WebBackForwardList::~WebBackForwardList):
* WebCache.cpp:
(WebCache::WebCache):
(WebCache::~WebCache):
* WebCookieManager.cpp:
(WebCookieManager::WebCookieManager):
(WebCookieManager::~WebCookieManager):
* WebCoreStatistics.cpp:
(WebCoreStatistics::WebCoreStatistics):
(WebCoreStatistics::~WebCoreStatistics):
* WebDataSource.cpp:
(WebDataSource::~WebDataSource):
* WebDatabaseManager.cpp:
(WebDatabaseManager::WebDatabaseManager):
(WebDatabaseManager::~WebDatabaseManager):
* WebDocumentLoader.cpp:
(WebDocumentLoader::WebDocumentLoader):
(WebDocumentLoader::~WebDocumentLoader):
* WebDownload.cpp:
(WebDownload::WebDownload):
(WebDownload::~WebDownload):
* WebDropSource.cpp:
(WebDropSource::WebDropSource):
(WebDropSource::~WebDropSource):
* WebElementPropertyBag.cpp:
(WebElementPropertyBag::WebElementPropertyBag):
(WebElementPropertyBag::~WebElementPropertyBag):
* WebError.cpp:
(WebError::WebError):
(WebError::~WebError):
* WebFrame.cpp:
(WebFrame::WebFrame):
(WebFrame::~WebFrame):
* WebFramePolicyListener.cpp:
(WebFramePolicyListener::WebFramePolicyListener):
(WebFramePolicyListener::~WebFramePolicyListener):
* WebGeolocationPolicyListener.cpp:
(WebGeolocationPolicyListener::WebGeolocationPolicyListener):
(WebGeolocationPolicyListener::~WebGeolocationPolicyListener):
* WebGeolocationPosition.cpp:
(WebGeolocationPosition::WebGeolocationPosition):
(WebGeolocationPosition::~WebGeolocationPosition):
* WebHTMLRepresentation.cpp:
(WebHTMLRepresentation::WebHTMLRepresentation):
(WebHTMLRepresentation::~WebHTMLRepresentation):
* WebHistory.cpp:
(WebHistory::WebHistory):
(WebHistory::~WebHistory):
* WebHistoryItem.cpp:
(WebHistoryItem::WebHistoryItem):
(WebHistoryItem::~WebHistoryItem):
* WebIconDatabase.cpp:
(WebIconDatabase::WebIconDatabase):
(WebIconDatabase::~WebIconDatabase):
* WebInspector.cpp:
(WebInspector::WebInspector):
(WebInspector::~WebInspector):
* WebJavaScriptCollector.cpp:
(WebJavaScriptCollector::WebJavaScriptCollector):
(WebJavaScriptCollector::~WebJavaScriptCollector):
* WebKitClassFactory.cpp:
(WebKitClassFactory::WebKitClassFactory):
(WebKitClassFactory::~WebKitClassFactory):
* WebKitDLL.cpp: Also switch to NeverDestroyed HashTable for
the global class name count.
* WebKitDLL.h:
* WebKitStatistics.cpp:
(WebKitStatistics::WebKitStatistics):
(WebKitStatistics::~WebKitStatistics):
(WebKitStatistics::comClassNameCounts):
* WebMutableURLRequest.cpp:
(WebMutableURLRequest::WebMutableURLRequest):
(WebMutableURLRequest::~WebMutableURLRequest):
* WebNavigationData.cpp:
(WebNavigationData::WebNavigationData):
(WebNavigationData::~WebNavigationData):
* WebNotification.cpp:
(WebNotification::WebNotification):
(WebNotification::~WebNotification):
* WebNotificationCenter.cpp:
(WebNotificationCenter::WebNotificationCenter):
(WebNotificationCenter::~WebNotificationCenter):
* WebPreferences.cpp:
(webPreferencesInstances):
(WebPreferences::WebPreferences):
(WebPreferences::~WebPreferences):
(WebPreferences::getInstanceForIdentifier):
(WebPreferences::setInstance):
(WebPreferences::removeReferenceForIdentifier):
* WebResource.cpp:
(WebResource::WebResource):
(WebResource::~WebResource):
* WebScriptObject.cpp:
(WebScriptObject::WebScriptObject):
(WebScriptObject::~WebScriptObject):
* WebScriptWorld.cpp:
(WebScriptWorld::WebScriptWorld):
(WebScriptWorld::~WebScriptWorld):
* WebSecurityOrigin.cpp:
(WebSecurityOrigin::WebSecurityOrigin):
(WebSecurityOrigin::~WebSecurityOrigin):
* WebSerializedJSValue.cpp:
(WebSerializedJSValue::WebSerializedJSValue):
(WebSerializedJSValue::~WebSerializedJSValue):
* WebTextRenderer.cpp:
(WebTextRenderer::WebTextRenderer):
(WebTextRenderer::~WebTextRenderer):
* WebURLAuthenticationChallenge.cpp:
(WebURLAuthenticationChallenge::WebURLAuthenticationChallenge):
(WebURLAuthenticationChallenge::~WebURLAuthenticationChallenge):
* WebURLAuthenticationChallengeSender.cpp:
(WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender):
(WebURLAuthenticationChallengeSender::~WebURLAuthenticationChallengeSender):
* WebURLCredential.cpp:
(WebURLCredential::WebURLCredential):
(WebURLCredential::~WebURLCredential):
* WebURLProtectionSpace.cpp:
(WebURLProtectionSpace::WebURLProtectionSpace):
(WebURLProtectionSpace::~WebURLProtectionSpace):
* WebURLResponse.cpp:
(:m_refCount):
(WebURLResponse::~WebURLResponse):
* WebUserContentURLPattern.cpp:
(WebUserContentURLPattern::WebUserContentURLPattern):
(WebUserContentURLPattern::~WebUserContentURLPattern):
* WebView.cpp:
(pendingDeleteBackingStoreSet): Switch from a global static
value to a NeverDestroyed object wrapped by an accessor function.
(WebView::WebView): Ditto.
(WebView::~WebView): Ditto.
(WebView::deleteBackingStore): Ditto.
(WebView::deleteBackingStoreSoon): Ditto,
(WebView::cancelDeleteBackingStoreSoon): Ditto.
* WebWorkersPrivate.cpp: Switch from a global static value for
the preferences objects t a NeverDestroyed container.
(WebWorkersPrivate::WebWorkersPrivate): Ditto.
(WebWorkersPrivate::~WebWorkersPrivate): Ditto.

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

5 years agoAdd support for is<SVGDocument>() / downcast<SVGDocument>()
cdumez@apple.com [Fri, 26 Sep 2014 00:34:56 +0000 (00:34 +0000)]
Add support for is<SVGDocument>() / downcast<SVGDocument>()
https://bugs.webkit.org/show_bug.cgi?id=137128

Reviewed by Ryosuke Niwa.

Add support for is<SVGDocument>() / downcast<SVGDocument>() by using
the SPECIALIZE_TYPE_TRAITS_*() macro, instead of the
DOCUMENT_TYPE_CASTS() one.

No new tests, no behavior change.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* svg/SVGDocument.h:
(WebCore::isSVGDocument):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::embeddedContentBox):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::startAnimation):
(WebCore::SVGImage::stopAnimation):

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

5 years ago[Win] 64-bit build fix after r173929.
bfulgham@apple.com [Fri, 26 Sep 2014 00:34:40 +0000 (00:34 +0000)]
[Win] 64-bit build fix after r173929.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

5 years agoUnreviewed. Skip quicktime-plugin-snapshotted.html
roger_fong@apple.com [Fri, 26 Sep 2014 00:29:15 +0000 (00:29 +0000)]
Unreviewed. Skip quicktime-plugin-snapshotted.html
Quicktime plugin snapshotting is now covered by all other snapshotting tests
and this test in particular seems to fail only on a few bots.
* platform/mac/TestExpectations:

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

5 years ago[Windows] Unreviewed build fix. Ensure that python2.7 is used for Windows builds.
roger_fong@apple.com [Fri, 26 Sep 2014 00:22:58 +0000 (00:22 +0000)]
[Windows] Unreviewed build fix. Ensure that python2.7 is used for Windows builds.
* WTF.vcxproj/WTFGenerated.make:

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

5 years agoAdd Said to the contributors list so his name completes in bugzilla.
dino@apple.com [Fri, 26 Sep 2014 00:04:35 +0000 (00:04 +0000)]
Add Said to the contributors list so his name completes in bugzilla.

* Scripts/webkitpy/common/config/contributors.json:

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

5 years agoRename CSSKeyframesRule insertRule to appendRule (57910)
commit-queue@webkit.org [Fri, 26 Sep 2014 00:03:35 +0000 (00:03 +0000)]
Rename CSSKeyframesRule insertRule to appendRule (57910)
https://bugs.webkit.org/show_bug.cgi?id=57910

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-09-25
Reviewed by Dean Jackson.

Source/WebCore:

Tests: animations/change-keyframes.html

* css/WebKitCSSKeyframesRule.h:
(WebCore::WebKitCSSKeyframesRule::appendRule):
-- Make WebKitCSSKeyframesRule::appendRule to be an alias of WebKitCSSKeyframesRule::insertRule()
   to conform with CSS specs
* css/WebKitCSSKeyframesRule.idl:
-- Add the new method WebKitCSSKeyframesRule::appendRule() but keep the original method
   WebKitCSSKeyframesRule::appendRule() to not break exiting customers' pages.

LayoutTests:

* animations/change-keyframes.html:
-- Ensure both WebKitCSSKeyframesRule methods insertRule() and appendRule() are
   both supported.

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

5 years agoNull deref in setStateScrollingNodeSnapOffsetsAsFloat
timothy_horton@apple.com [Thu, 25 Sep 2014 23:49:38 +0000 (23:49 +0000)]
Null deref in setStateScrollingNodeSnapOffsetsAsFloat
https://bugs.webkit.org/show_bug.cgi?id=137133
<rdar://problem/18447820>

Reviewed by Beth Dakin.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):
Get the deviceScaleFactor from m_page instead of various other places,
because scrolledContentsLayer can be null in the case of non-composited
overflow scroll.

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

5 years agoUse is<HTML*Element>() instead of isHTML*Element() - Part 2
cdumez@apple.com [Thu, 25 Sep 2014 23:37:12 +0000 (23:37 +0000)]
Use is<HTML*Element>() instead of isHTML*Element() - Part 2
https://bugs.webkit.org/show_bug.cgi?id=137103

Reviewed by Benjamin Poulain.

Source/WebCore:

Use is<HTML*Element>() instead of isHTML*Element() and drop support for
the generated isHTML*Element() macros.

No new tests, no behavior change.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::handleAttributeChanged):
(WebCore::AXObjectCache::labelChanged):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isEnabled):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::AccessibilityNodeObject::alternativeText):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::labelElementContainer):
(WebCore::AccessibilityRenderObject::internalLinkElement):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::url):
(WebCore::AccessibilityRenderObject::getDocumentLinks):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::stringValueForMSAA):
(WebCore::AccessibilityRenderObject::isLinked):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::title):
* accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetCaption):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):
* css/CSSDefaultStyleSheets.cpp:
(WebCore::elementCanUseSimpleDefaultStyle):
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* css/CSSStyleSheet.cpp:
(WebCore::isAcceptableCSSStyleSheetParent):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* css/StyleSheetList.cpp:
(WebCore::StyleSheetList::getNamedItem):
* dom/CurrentScriptIncrementer.h:
(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::setDragImage):
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesMapName):
(WebCore::keyMatchesLowercasedMapName):
(WebCore::keyMatchesLowercasedUsemap):
(WebCore::keyMatchesLabelForAttribute):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Node.cpp:
(WebCore::Node::enclosingLinkEventParentOrSelf):
* dom/Position.cpp:
(WebCore::endsOfNodeAreVisuallyDistinctPositions):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/VisitedLinkState.cpp:
(WebCore::linkHashForElement):
(WebCore::VisitedLinkState::determineLinkStateSlowCase):
* dom/make_names.pl:
(printTypeHelpers):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
* editing/Editor.cpp:
(WebCore::imageElementFromImageDocument):
* editing/FrameSelection.cpp:
(WebCore::scanForForm):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::removeHeadContents):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processElement):
* editing/htmlediting.cpp:
(WebCore::isNonTableCellHTMLBlockElement):
* editing/markup.cpp:
(WebCore::ancestorToRetainStructureAndAppearanceForBlock):
(WebCore::collectElementsToRemoveFromFragment):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::findAssociatedForm):
* html/HTMLAnchorElement.cpp:
(WebCore::appendServerMapMousePosition):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::imageElement):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::vlinkColor):
(WebCore::HTMLDocument::setVlinkColor):
(WebCore::HTMLDocument::isFrameSet):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setInnerHTML):
* html/HTMLFieldSetElement.cpp:
(WebCore::updateFromControlElementsAncestorDisabledStateUnder):
(WebCore::HTMLFieldSetElement::disabledStateChanged):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::formControlElements):
(WebCore::HTMLFormControlsCollection::formImageElements):
(WebCore::HTMLFormControlsCollection::namedItem):
(WebCore::HTMLFormControlsCollection::updateNamedElementCache):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::rendererIsNeeded):
* html/HTMLFrameElementBase.h:
(WebCore::isHTMLFrameElementBase):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::dataList):
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::virtualForm):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLNameCollection.cpp:
(WebCore::WindowNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatches):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::ownerDataListElement):
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
(WebCore::HTMLOptionElement::isDisabledFormControl):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::recalcListItems):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::caption):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::findParentTable):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::rowAfter):
(WebCore::HTMLTableRowsCollection::lastRow):
* html/HTMLTagNames.in:
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::elementMatches):
* html/MediaDocument.cpp:
(WebCore::descendentVideoElement):
(WebCore::ancestorVideoElement):
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::hasImpliedEndTag):
(WebCore::insert):
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isScopeMarker):
(WebCore::HTMLNames::isTableScopeMarker):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::inlineStyleSheetText):
* page/DragController.cpp:
(WebCore::DragController::draggableElement):
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusDirectionally):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
(WebCore::areElementsOnSameLine):
* page/ios/FrameIOS.mm:
(WebCore::ancestorRespondingToClickEvents):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::mediaSupportsFullscreen):
(WebCore::HitTestResult::mediaElement):
(WebCore::HitTestResult::enterFullscreenForVideo):
(WebCore::HitTestResult::mediaIsVideo):
(WebCore::HitTestResult::isLiveLink):
* rendering/RenderCounter.cpp:
(WebCore::planCounter):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::paintAreaElementFocusRing):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::imageMap):
(WebCore::RenderImage::updateAltText):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::marqueeSpeed):
* rendering/RenderMenuList.cpp:
(RenderMenuList::itemText):
(RenderMenuList::itemIsEnabled):
(RenderMenuList::itemIsLabel):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::meterElement):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldRespectImageOrientation):
(WebCore::RenderObject::getTextDecorationColors):
(WebCore::RenderObject::offsetParent):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::progressElement):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageForRenderer):
* testing/Internals.cpp:
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):

Source/WebKit/win:

Use is<HTML*Element>() instead of isHTML*Element().

* DOMCoreClasses.cpp:
(DOMElement::createInstance):
* DOMHTMLClasses.cpp:
(DOMHTMLFormElement::action):
(DOMHTMLFormElement::method):
* WebFrame.cpp:
(formElementFromDOMElement):

Source/WebKit2:

Use is<HTML*Element>() instead of isHTML*Element().

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::containsAnyFormElements):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):

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

5 years agoEWS only repeats its cycle every two hours
ap@apple.com [Thu, 25 Sep 2014 23:16:57 +0000 (23:16 +0000)]
EWS only repeats its cycle every two hours
https://bugs.webkit.org/show_bug.cgi?id=137129

Reviewed by Ryosuke Niwa.

* QueueStatusServer/app.yaml: Updated version.

* QueueStatusServer/config/queues.py: Moved timeout from activeworkitems.py to configuration.

* QueueStatusServer/handlers/releaselock.py: Added. Releases the lock without removing
the patch from work items.

* QueueStatusServer/index.yaml: No real change, just let AppEngine have its way with entry order.

* QueueStatusServer/main.py: Added release-lock.

* QueueStatusServer/model/activeworkitems.py:
(ActiveWorkItems.deactivate_expired): Use timeout from configuration.

* QueueStatusServer/model/workitems.py: Added move_to_end. When we unlock a patch,
we don't want it to be immediately picked up again, it's better to give other patches
a chance.

* QueueStatusServer/templates/releaselock.html: Added. Not sure why all commands have
these interactive versions, but OK.

* Scripts/webkitpy/tool/commands/earlywarningsystem.py: (AbstractEarlyWarningSystem.review_patch):
Unlock the patch when a non-final failure occurs (e.g. can't build even without the patch,
or svn is down).

* Scripts/webkitpy/tool/commands/queues.py:
(AbstractReviewQueue.process_work_item): Do not try/catch ScriptError around review_patch.
Style queue never raises these, and EWS already calls _did_fail, before re-throwing,
meaning that these handlers could never do the right thing. We'd either get a duplicate
_did_fail, or try to unlock an already unlocked patch.
(StyleQueue.review_patch): Unlock the patch on transient failure (such as svn failure),
making it eligible for retry immediately.

* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer._post_release_lock):
(StatusServer.release_lock):
Added a call to release-lock.

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

5 years agoSource/JavaScriptCore:
burg@cs.washington.edu [Thu, 25 Sep 2014 21:59:13 +0000 (21:59 +0000)]
Source/JavaScriptCore:
Web Replay: Check event loop input extents during replaying too
https://bugs.webkit.org/show_bug.cgi?id=136316

Reviewed by Timothy Hatcher.

Sometimes we see different nondeterminism during capture and replay
executions, so we should add determinism checks during replay too.

Move the withinEventLoopInputExtent flag to the base class, and tighten
the assertion to address <http://webkit.org/b/133019>.

* replay/InputCursor.h:
(JSC::InputCursor::InputCursor):
(JSC::InputCursor::setWithinEventLoopInputExtent): Added.
This assertion is slightly wrong because it does not account for nested run loops.
We can be within two input extents when a nested run loop processes additional
user inputs while the debugger is paused.

This should only be the case when execution is being neither captured or
replayed. The debugger should not pause when capturing, and we should not replay
event loop inputs while in a nested run loop.

(JSC::InputCursor::withinEventLoopInputExtent): Added.

Source/WebCore:
Web Replay: Check event loop input extents during replay too
https://bugs.webkit.org/show_bug.cgi?id=136316

Reviewed by Timothy Hatcher.

Sometimes we see different nondeterminism during capture and replay
executions, so we should support determinism checks during replay too.

Move the withinEventLoopInputExtent flag to the base class.

No new tests, no behavior changed.

* replay/CapturingInputCursor.cpp:
(WebCore::CapturingInputCursor::CapturingInputCursor):
(WebCore::CapturingInputCursor::setWithinEventLoopInputExtent): Deleted.
* replay/CapturingInputCursor.h:
* replay/EventLoopInput.cpp:
(WebCore::EventLoopInputExtent::EventLoopInputExtent):
(WebCore::EventLoopInputExtent::~EventLoopInputExtent):
Make m_cursor a pointer and add a new constructor so we can conditionally
enter event loop input extents. This is useful in some network replay situations.

* replay/EventLoopInput.h:
* replay/ReplayController.cpp:
(WebCore::ReplayController::willDispatchEvent): Expand the assertion to include replaying.

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

5 years agoWeb Inspector: sort probe details sidebar sections by source code location string
burg@cs.washington.edu [Thu, 25 Sep 2014 21:53:24 +0000 (21:53 +0000)]
Web Inspector: sort probe details sidebar sections by source code location string
https://bugs.webkit.org/show_bug.cgi?id=137080

Reviewed by Timothy Hatcher.

Probe sections should display in the same order as associated breakpoint tree elements.

* UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel.prototype.inspect.inspectedProbeSets):
(WebInspector.ProbeDetailsSidebarPanel.prototype.inspect):

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

5 years ago[Windows] Followup to r173972. Don’t set child process to none before reading from...
roger_fong@apple.com [Thu, 25 Sep 2014 21:45:02 +0000 (21:45 +0000)]
[Windows] Followup to r173972. Don’t set child process to none before reading from stdout.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convert):

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

5 years agoExpand WK_MAC_TBA and WK_IOS_TBA to the current deployment target version (or NA).
andersca@apple.com [Thu, 25 Sep 2014 21:05:33 +0000 (21:05 +0000)]
Expand WK_MAC_TBA and WK_IOS_TBA to the current deployment target version (or NA).
https://bugs.webkit.org/show_bug.cgi?id=137127
Part of rdar://problem/17761459.

Reviewed by Dan Bernstein.

* mac/rewrite-availability-macros.sh:

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

5 years agoRace in ref pointer for WebVideoFullscreenInterfaceAVKit.
commit-queue@webkit.org [Thu, 25 Sep 2014 20:35:53 +0000 (20:35 +0000)]
Race in ref pointer for WebVideoFullscreenInterfaceAVKit.
https://bugs.webkit.org/show_bug.cgi?id=137123

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-09-25
Reviewed by Eric Carlson.

Add WebThreadRun to prevent race with RefPtr of WebVideoFullscreenInterfaceAVKit.

* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController didSetupFullscreen]): add WebThreadRun
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setDuration): ditto
(WebVideoFullscreenInterfaceAVKit::setCurrentTime): ditto
(WebVideoFullscreenInterfaceAVKit::setRate): ditto
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions): ditto
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges): ditto
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): ditto
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): ditto
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback): ditto
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

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

5 years agoCommitLayerTree decode fails in 32-bit apps on 64-bit devices (TransformationMatrix...
timothy_horton@apple.com [Thu, 25 Sep 2014 19:30:52 +0000 (19:30 +0000)]
CommitLayerTree decode fails in 32-bit apps on 64-bit devices (TransformationMatrix alignment differs)
https://bugs.webkit.org/show_bug.cgi?id=136444
<rdar://problem/17952526>

Reviewed by Anders Carlsson.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TransformationMatrix>::encode):
(IPC::ArgumentCoder<TransformationMatrix>::decode):
Stop using SimpleArgumentCoder to encode/decode TransformationMatrix,
because the alignment of TransformationMatrix differs between architectures,
and there's no guarantee that both sides of a connection are the same architecture.

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

5 years ago[Windows] Close stdin to force a flush to stdout if no test path is read during layou...
roger_fong@apple.com [Thu, 25 Sep 2014 19:21:36 +0000 (19:21 +0000)]
[Windows] Close stdin to force a flush to stdout if no test path is read during layout tests.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convert):

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

5 years agoUnreviewed iOS build fix after r173944.
cdumez@apple.com [Thu, 25 Sep 2014 17:26:13 +0000 (17:26 +0000)]
Unreviewed iOS build fix after r173944.

Add a missing header include.
See <rdar://problem/18454708> for more details.

* html/parser/HTMLTreeBuilder.cpp:

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

5 years agoStop using legacy NODE_TYPE_CASTS() macro in svg/
cdumez@apple.com [Thu, 25 Sep 2014 17:25:43 +0000 (17:25 +0000)]
Stop using legacy NODE_TYPE_CASTS() macro in svg/
https://bugs.webkit.org/show_bug.cgi?id=137106

Reviewed by Ryosuke Niwa.

Stop using legacy NODE_TYPE_CASTS() in svg/ and use the new
SPECIALIZE_TYPE_TRAITS_*() macro instead so that is<>() / downcast<>()
can be used for those types.

No new tests, no behavior change.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* dom/Element.h:
* dom/Node.h:
(WebCore::is):
* dom/make_names.pl:
(printTypeHelpers):
* html/HTMLElement.h:
* html/HTMLMediaElement.h:
* html/HTMLPlugInImageElement.h:
* html/LabelableElement.h:
* mathml/MathMLElement.h:
Rename NodeTypeCastTraits::is() to NodeTypeCastTraits::isType() to
avoid naming conflict with the global is<>() function. This was an
issue when is<>() was called from one of the template specializations.

* rendering/svg/RenderSVGBlock.h:
(WebCore::RenderSVGBlock::graphicsElement):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::graphicsElement):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
(WebCore::isSVGAnimateElement): Deleted.
Use is<>() / downcast<>() where appropriate.

* svg/SVGAnimateElement.h:
(WebCore::isSVGAnimateElement):
Use SPECIALIZE_TYPE_TRAITS_*() instead of NODE_TYPE_CASTS() and add
overload for isSVGAnimateElement() taking an SVGElement in argument to
bypass the is<SVGElement>() check when the input type is an SVGElement.

* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
* svg/SVGElement.cpp:
(WebCore::SVGElement::getBoundingBox):
Use is<>() / downcast<>() where appropriate.

* svg/SVGElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.h:
Use SPECIALIZE_TYPE_TRAITS_*() instead of NODE_TYPE_CASTS() and drop
the pre-existing NodeTypeCastTraits template specialization as it is
now generated by the macro.

* svg/SVGGradientElement.cpp:
(WebCore::isSVGGradientElement): Deleted.
* svg/SVGGradientElement.h:
(WebCore::isSVGGradientElement):
Use SPECIALIZE_TYPE_TRAITS_*() instead of NODE_TYPE_CASTS() and add
overload for isSVGAnimateElement() taking an SVGElement in argument to
bypass the is<SVGElement>() check when the input type is an SVGElement.

* svg/SVGGraphicsElement.h:
(WebCore::isSVGGraphicsElement):
Use SPECIALIZE_TYPE_TRAITS_*() instead of NODE_TYPE_CASTS().

* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
(WebCore::isSVGPolyElement): Deleted.
Use is<>() / downcast<>() where appropriate.

* svg/SVGPolyElement.h:
(WebCore::isSVGPolyElement):
Use SPECIALIZE_TYPE_TRAITS_*() instead of NODE_TYPE_CASTS() and add
overload for isPolyElement() taking an SVGElement in argument to
bypass the is<SVGElement>() check when the input type is an SVGElement.

* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::elementFromRenderer):
Use is<>() / downcast<>() where appropriate.

* svg/SVGTextContentElement.h:
WebCore::isSVGTextContentElement):
Use SPECIALIZE_TYPE_TRAITS_*() instead of NODE_TYPE_CASTS().

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):
Use is<>() / downcast<>() where appropriate. Also use tighter typing
for value returned by shadowTreeElement().

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
Use is<>() / downcast<>() where appropriate.

* svg/animation/SVGSMILElement.h:
(WebCore::isSVGSMILElement):
Use SPECIALIZE_TYPE_TRAITS_*() instead of NODE_TYPE_CASTS() and drop
the pre-existing NodeTypeCastTraits template specialization as it is
now generated by the macro.

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

5 years agoMinor refactoring to mediaType/presentationType
bfulgham@apple.com [Thu, 25 Sep 2014 17:23:21 +0000 (17:23 +0000)]
Minor refactoring to mediaType/presentationType
https://bugs.webkit.org/show_bug.cgi?id=137085

Reviewed by Eric Carlson.

Add overloads for presentationType for the audio and video
HTML elements so that we don't have to explicity check the
tag name (via string comparison) to identify the type of
element.

No new tests. Should create no change in behavior.

* html/HTMLAudioElement.h: Overload presentationType to always
indicate audio type.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaType): Use the presentationType
method implementation, rather than duplicating that code.
* html/HTMLVideoElement.h: Overload presentationType to always
return video type.

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

5 years agoUnreviewed typo fix.
berto@igalia.com [Thu, 25 Sep 2014 14:54:57 +0000 (14:54 +0000)]
Unreviewed typo fix.

* UIProcess/API/C/soup/WKContextSoup.cpp:

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

5 years agoASSERTION FAILED: columnCount in WebCore::CSSParser::parseGridTemplateAreasRow
jfernandez@igalia.com [Thu, 25 Sep 2014 14:50:12 +0000 (14:50 +0000)]
ASSERTION FAILED: columnCount in WebCore::CSSParser::parseGridTemplateAreasRow
https://bugs.webkit.org/show_bug.cgi?id=136945

Reviewed by Sergio Villar Senin.

Source/WebCore:

Checking out whether the grid-template-areas value contains a white-space only
string, which is not valid as it does not produce a cell token.

Test: fast/css-grid-layout/grid-template-areas-empty-string-crash.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateAreasRow):

LayoutTests:

Testing the different types of white-space only strings for the grid-template-areas
property, which is not valid as it does not produce a cell token.

* fast/css-grid-layout/grid-template-areas-empty-string-crash-expected.txt: Added.
* fast/css-grid-layout/grid-template-areas-empty-string-crash.html: Added.

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

5 years ago[Gtk] build.sh needs a -- before make options when the build command is cmake --build
commit-queue@webkit.org [Thu, 25 Sep 2014 14:45:22 +0000 (14:45 +0000)]
[Gtk] build.sh needs a -- before make options when the build command is cmake --build
https://bugs.webkit.org/show_bug.cgi?id=136377

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-09-25
Reviewed by Philippe Normand.

.:

* Source/cmake/OptionsGTK.cmake: Only create the build.sh script
for CMake versions less than 3.

Tools:

* Scripts/webkitdirs.pm:
(buildCMakeGeneratedProject): Only use the build.sh script if it exists.

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

5 years ago[EFL] Split the list of dependencies to make sure that at least the universally avail...
commit-queue@webkit.org [Thu, 25 Sep 2014 13:39:11 +0000 (13:39 +0000)]
[EFL] Split the list of dependencies to make sure that at least the universally available packages get installed
https://bugs.webkit.org/show_bug.cgi?id=137117

Tools/efl/install-dependencies relies on apt-get to install packages.
Unfortunately, if a package does not exist (e.g., for a given
architecture) then apt-get install is not able to ignore the missing
package and install the rest but fails to run entirely (and there
seems to be no intent to change this behaviour).

On ARM64, the luajit package is missing and currently it needs manual
editing of install-dependencies to get the script install as much as it
can.

This patch separates the installation of the universally available
packages from those which might not be available for all architectures.

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-09-25
Reviewed by Gyuyoung Kim.

* efl/install-dependencies:

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

5 years agoUnreviewed. Add more free icons for the Web Inspector in GTK+.
carlosgc@webkit.org [Thu, 25 Sep 2014 11:26:42 +0000 (11:26 +0000)]
Unreviewed. Add more free icons for the Web Inspector in GTK+.

Patch by Andres Gomez <agomez@igalia.com> on 2014-09-25

* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/ApplicationCacheManifest.png: Added.
* UserInterface/Images/gtk/ApplicationCacheManifest@2x.png: Added.
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/COPYING_LGPL2: Added.
* UserInterface/Images/gtk/Cookie.png: Added.
* UserInterface/Images/gtk/Cookie@2x.png: Added.
* UserInterface/Images/gtk/HoverMenuButton.png: Added.
* UserInterface/Images/gtk/HoverMenuButton@2x.png: Added.
* UserInterface/Images/gtk/InstructionPointer.png: Added.
* UserInterface/Images/gtk/InstructionPointer@2x.png: Added.
* UserInterface/Images/gtk/Log.png: Added.
* UserInterface/Images/gtk/Log@2x.png: Added.
* UserInterface/Images/gtk/Profile.png: Added.
* UserInterface/Images/gtk/Profile@2x.png: Added.
* UserInterface/Images/gtk/Recording.png: Added.
* UserInterface/Images/gtk/Recording@2x.png: Added.
* UserInterface/Images/gtk/RecordingHovered.png: Added.
* UserInterface/Images/gtk/RecordingHovered@2x.png: Added.
* UserInterface/Images/gtk/RecordingStopped.png: Added.
* UserInterface/Images/gtk/RecordingStopped@2x.png: Added.
* UserInterface/Images/gtk/Script.png: Added.
* UserInterface/Images/gtk/Script@2x.png: Added.
* UserInterface/Images/gtk/ScriptLarge.png: Added.
* UserInterface/Images/gtk/ScriptLarge@2x.png: Added.
* UserInterface/Images/gtk/SliderThumb.png: Added.
* UserInterface/Images/gtk/SliderThumb@2x.png: Added.
* UserInterface/Images/gtk/SliderThumbPressed.png: Added.
* UserInterface/Images/gtk/SliderThumbPressed@2x.png: Added.
* UserInterface/Images/gtk/Stopwatch.png: Added.
* UserInterface/Images/gtk/Stopwatch@2x.png: Added.

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

5 years ago[WebKit2] Fix build warning in WebKit2/WebProcess module.
commit-queue@webkit.org [Thu, 25 Sep 2014 10:51:27 +0000 (10:51 +0000)]
[WebKit2] Fix build warning in WebKit2/WebProcess module.
https://bugs.webkit.org/show_bug.cgi?id=137105

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-09-25
Reviewed by Csaba Osztrogonác.

Fix build warning by removing unused parameter names

* WebProcess/WebPage/WebInspector.h:
(WebKit::WebInspector::didReceiveInvalidMessage):
* WebProcess/WebPage/WebInspectorUI.h:
(WebKit::WebInspectorUI::didReceiveInvalidMessage):

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

5 years agoUnreviewed, delete the empty Source/WebKit/wince/ChangeLog after r173949.
ossy@webkit.org [Thu, 25 Sep 2014 10:36:02 +0000 (10:36 +0000)]
Unreviewed, delete the empty Source/WebKit/wince/ChangeLog after r173949.

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

5 years agoRemove WinCE port from trunk
ossy@webkit.org [Thu, 25 Sep 2014 10:14:57 +0000 (10:14 +0000)]
Remove WinCE port from trunk
https://bugs.webkit.org/show_bug.cgi?id=136951

Reviewed by Alex Christensen.

.:
* Source/cmake/OptionsWinCE.cmake: Removed.
* Source/cmake/WebKitPackaging.cmake:

Source/JavaScriptCore:
* assembler/ARMAssembler.h:
(JSC::ARMAssembler::cacheFlush):
* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::cacheFlush):
* config.h:
* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherFromOtherThread):
(JSC::swapIfBackwards): Deleted.
* jit/ExecutableAllocator.h:
* jsc.cpp:
(main):
* runtime/DateConstructor.cpp:
* runtime/Options.cpp:
(JSC::overrideOptionWithHeuristic):
* runtime/VM.cpp:
(JSC::VM::VM):
* testRegExp.cpp:
(main):
* tools/CodeProfiling.cpp:
(JSC::CodeProfiling::notifyAllocator):

Source/WebCore:
* Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp:
* PlatformWinCE.cmake: Removed.
* accessibility/AXObjectCache.cpp:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modifyMovingRight):
* loader/icon/wince/IconDatabaseWinCE.cpp: Removed.
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEventForKey):
* page/Settings.cpp:
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::createDraggingDataTransfer):
* platform/ContextMenu.h:
* platform/DragImage.cpp:
* platform/FileSystem.h:
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::mayFillWithSolidColor):
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):
* platform/graphics/FontPlatformData.h:
* platform/graphics/ImageBufferData.h:
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/SimpleFontData.h:
* platform/graphics/opentype/OpenTypeUtilities.cpp:
(WebCore::renameAndActivateFont):
* platform/graphics/opentype/OpenTypeUtilities.h:
* platform/graphics/win/DIBPixelData.cpp:
(WebCore::DIBPixelData::setRGBABitmapAlpha):
* platform/graphics/win/GDIExtras.cpp: Removed.
* platform/graphics/win/GDIExtras.h:
(WebCore::hasAlphaBlendSupport):
(WebCore::alphaBlendIfSupported):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::createIconForFiles):
(WebCore::Icon::paint):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::initGDIFont):
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::boundsForGDIGlyph):
(WebCore::SimpleFontData::widthForGDIGlyph):
(WebCore::SimpleFontData::scriptFontProperties):
* platform/graphics/wince/FontCacheWinCE.cpp: Removed.
* platform/graphics/wince/FontCustomPlatformData.cpp: Removed.
* platform/graphics/wince/FontCustomPlatformData.h: Removed.
* platform/graphics/wince/FontPlatformData.cpp: Removed.
* platform/graphics/wince/FontPlatformData.h: Removed.
* platform/graphics/wince/FontWinCE.cpp: Removed.
* platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp: Removed.
* platform/graphics/wince/GradientWinCE.cpp: Removed.
* platform/graphics/wince/GraphicsContextWinCE.cpp: Removed.
* platform/graphics/wince/ImageBufferDataWince.h: Removed.
* platform/graphics/wince/ImageBufferWinCE.cpp: Removed.
* platform/graphics/wince/ImageWinCE.cpp: Removed.
* platform/graphics/wince/MediaPlayerPrivateWinCE.h: Removed.
* platform/graphics/wince/MediaPlayerProxy.cpp: Removed.
* platform/graphics/wince/MediaPlayerProxy.h: Removed.
* platform/graphics/wince/PathWinCE.cpp: Removed.
* platform/graphics/wince/PlatformPathWinCE.cpp: Removed.
* platform/graphics/wince/PlatformPathWinCE.h: Removed.
* platform/graphics/wince/SharedBitmap.cpp: Removed.
* platform/graphics/wince/SharedBitmap.h: Removed.
* platform/graphics/wince/SimpleFontDataWinCE.cpp: Removed.
* platform/graphics/wince/WinCEGraphicsExtras.h: Removed.
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/network/win/NetworkStateNotifierWin.cpp:
(WebCore::NetworkStateNotifier::NetworkStateNotifier):
* platform/win/COMPtr.h:
* platform/win/ClipboardUtilitiesWin.cpp:
* platform/win/ContextMenuItemWin.cpp:
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::getContextMenuItems):
(WebCore::ContextMenu::createPlatformContextMenuFromItems):
* platform/win/DragImageWin.cpp:
(WebCore::dragLabelFont):
* platform/win/FileSystemWin.cpp:
(WebCore::pathByAppendingComponent):
(WebCore::pathGetFileName):
(WebCore::storageDirectory):
* platform/win/LoggingWin.cpp:
(WebCore::logLevelString):
* platform/win/PasteboardWin.cpp:
(WebCore::PasteboardOwnerWndProc):
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::pathRemoveBadFSCharacters):
(WebCore::filesystemPathFromUrlOrTitle):
(WebCore::createGlobalHDropContent):
* platform/win/PlatformMouseEventWin.cpp:
(WebCore::messageToEventType):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/win/PlatformScreenWin.cpp:
(WebCore::deviceInfoForWidget):
(WebCore::screenIsMonochrome):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::show):
(WebCore::PopupMenuWin::paint):
(WebCore::PopupMenuWin::registerClass):
(WebCore::PopupMenuWin::wndProc):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::paintButton):
* platform/win/SharedBufferWin.cpp:
* platform/win/SharedTimerWin.cpp:
(WebCore::TimerWindowWndProc):
(WebCore::initializeOffScreenTimerWindow):
(WebCore::queueTimerProc):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):
* platform/win/SoftLinking.h:
* platform/win/SystemInfo.cpp:
(WebCore::windowsVersion):
(WebCore::processorArchitecture):
(WebCore::architectureTokenForUAString):
* platform/win/WCDataObject.cpp:
(WebCore::WCDataObject::CopyMedium):
* plugins/PluginDatabase.cpp:
* plugins/PluginView.cpp:
(WebCore::PluginView::stop):
* plugins/PluginViewNone.cpp:
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addMacromediaPluginDirectories):
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::load):
* plugins/win/PluginViewWin.cpp:
(WebCore::setUpOffscreenPaintingHooks):
(WebCore::registerPluginView):
(WebCore::PluginView::wndProc):
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paintIntoTransformedContext):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setParent):
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::platformStart):
* rendering/RenderThemeWinCE.cpp: Removed.
* rendering/RenderThemeWinCE.h: Removed.
* storage/wince/DatabaseThreadWinCE.cpp: Removed.
* storage/wince/DatabaseThreadWinCE.h: Removed.
* storage/wince/StorageThreadWinCE.cpp: Removed.
* storage/wince/StorageThreadWinCE.h: Removed.

Source/WebKit:
* PlatformWinCE.cmake: Removed.
* wince/WebCoreSupport/ChromeClientWinCE.cpp: Removed.
* wince/WebCoreSupport/ChromeClientWinCE.h: Removed.
* wince/WebCoreSupport/ContextMenuClientWinCE.cpp: Removed.
* wince/WebCoreSupport/ContextMenuClientWinCE.h: Removed.
* wince/WebCoreSupport/DragClientWinCE.cpp: Removed.
* wince/WebCoreSupport/DragClientWinCE.h: Removed.
* wince/WebCoreSupport/EditorClientWinCE.cpp: Removed.
* wince/WebCoreSupport/EditorClientWinCE.h: Removed.
* wince/WebCoreSupport/FrameLoaderClientWinCE.cpp: Removed.
* wince/WebCoreSupport/FrameLoaderClientWinCE.h: Removed.
* wince/WebCoreSupport/FrameNetworkingContextWinCE.cpp: Removed.
* wince/WebCoreSupport/FrameNetworkingContextWinCE.h: Removed.
* wince/WebCoreSupport/InspectorClientWinCE.cpp: Removed.
* wince/WebCoreSupport/InspectorClientWinCE.h: Removed.
* wince/WebCoreSupport/PlatformStrategiesWinCE.cpp: Removed.
* wince/WebCoreSupport/PlatformStrategiesWinCE.h: Removed.
* wince/WebView.cpp: Removed.
* wince/WebView.h: Removed.

Source/WebKit/cf:
* WebCoreSupport/WebInspectorClientCF.cpp:

Source/WTF:
* config.h:
* wtf/Assertions.cpp:
* wtf/Assertions.h:
* wtf/Atomics.h:
(WTF::weakCompareAndSwap):
* wtf/CurrentTime.cpp:
(WTF::lowResUTCTime):
* wtf/DataLog.cpp:
* wtf/DateMath.cpp:
(WTF::getLocalTime):
(WTF::calculateDSTOffset):
* wtf/FastMalloc.cpp:
* wtf/FeatureDefines.h:
* wtf/OSAllocator.h:
(WTF::OSAllocator::decommitAndRelease):
* wtf/Platform.h:
* wtf/PlatformWin.cmake:
* wtf/RAMSize.cpp:
(WTF::computeRAMSize):
* wtf/RandomNumberSeed.h:
(WTF::initializeRandomNumberGenerator):
* wtf/StackBounds.cpp:
(WTF::StackBounds::initialize):
* wtf/StackBounds.h:
(WTF::StackBounds::isGrowingDownward):
* wtf/StdLibExtras.h:
(wtf_bsearch): Deleted.
* wtf/StringExtras.h:
(strnicmp): Deleted.
(stricmp): Deleted.
(strdup): Deleted.
* wtf/ThreadSpecific.h:
* wtf/ThreadingWin.cpp:
(WTF::createThreadInternal):
* wtf/WindowsExtras.h:
(WTF::getRegistryValue):
(WTF::getWindowPointer):
(WTF::setWindowPointer):
* wtf/dtoa/utils.h:
* wtf/text/WTFString.cpp:
(WTF::String::format):

Tools:
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
* CMakeLists.txt:
* DumpRenderTree/win/DRTDataObject.cpp:
(DRTDataObject::CopyMedium):
* Scripts/build-webkit:
* Scripts/webkit-build-directory:
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(builtDylibPathForName):
(isAppleWinWebKit):
(launcherPath):
(launcherName):
(shouldRemoveCMakeCache):
(cmakeBasedPortArguments):
(cmakeBasedPortName):
(isCMakeBuild):
(isWinCE): Deleted.
(determineIsWinCE): Deleted.
* Scripts/webkitperl/FeatureList.pm:
* Scripts/webkitpy/port/port_testcase.py:
(test_apache_config_file_name_for_platform):
* TestWebKitAPI/config.h:
* WinCELauncher/CMakeLists.txt: Removed.
* WinCELauncher/main.cpp: Removed.
* gtk/manifest.txt:

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

5 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Thu, 25 Sep 2014 09:44:05 +0000 (09:44 +0000)]
[GTK] Unreviewed GTK gardening.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-09-25

* platform/gtk/TestExpectations: Report and mark new failures after r173515 and r173582.
* platform/gtk/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
Update expectations after r173857.

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

5 years agoUnreviewed. Fix GTK+ build after r173944.
carlosgc@webkit.org [Thu, 25 Sep 2014 09:36:01 +0000 (09:36 +0000)]
Unreviewed. Fix GTK+ build after r173944.

* page/ContextMenuController.cpp: Add missing include.

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

5 years ago[iOS] Another iOS build fix; workaround for CoreLocation
dbates@webkit.org [Thu, 25 Sep 2014 04:30:56 +0000 (04:30 +0000)]
[iOS] Another iOS build fix; workaround for CoreLocation
https://bugs.webkit.org/show_bug.cgi?id=137104
<rdar://problem/18450785>

Rubber-stamped by Benjamin Poulain.

Workaround CoreLocation issue by adding a default statement in -[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]
and -[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:].
We'll remove these default statements once we have the fix for <rdar://problem/18448331>.

* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):

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

5 years agoUse tighter typing for render objects in RenderGeometryMap
cdumez@apple.com [Thu, 25 Sep 2014 04:02:03 +0000 (04:02 +0000)]
Use tighter typing for render objects in RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=137102

Reviewed by Ryosuke Niwa.

Use tighter typing for render objects in RenderGeometryMap for clarity
and efficiency.

In particular, using RenderElement type instead of RenderObject
in canMapBetweenRenderers() allows us to call the faster
RenderElement::style() instead of RenderObject::style().

No new tests, no behavior change.

* rendering/RenderGeometryMap.cpp:
(WebCore::canMapBetweenRenderers):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):

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

5 years agoAdd initial is<>() / downcast<>() support for any type of Nodes
cdumez@apple.com [Thu, 25 Sep 2014 03:50:40 +0000 (03:50 +0000)]
Add initial is<>() / downcast<>() support for any type of Nodes
https://bugs.webkit.org/show_bug.cgi?id=137056

Reviewed by Benjamin Poulain.

Source/WebCore:

Add initial is<>() / downcast<>() support for any type of Nodes, not
just Elements by:
- Moving the is<>() / downcast<>() declarations from Element.h to
  Node.h
- Introducing a SPECIALIZE_TYPE_TRAITS_*() macro that generates the
  needed template specializations for is<>() / downcast<>() to work.
  This macro will replace NODE_TYPE_CASTS() entirely once the code base
  is fully ported.

This patch makes use of SPECIALIZE_TYPE_TRAITS_*() macro for
HTMLFormControlElement, that is an HTMLElement for which the template
specializations cannot be automatically generated because it requires
special handling.

This patch also makes use of SPECIALIZE_TYPE_TRAITS_*() macro for
DocumentFragment to show that it can be used for non-Element Nodes.

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::isRequired):
(WebCore::AccessibilityNodeObject::isControl):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isAutofilled):
(WebCore::isDisabled):
(WebCore::isEnabled):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::adjustRenderStyle):
* dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::setFocusedElement):
* dom/DocumentFragment.h:
(WebCore::isDocumentFragment):
* dom/Element.cpp:
(WebCore::Element::focus):
* dom/Element.h:
(WebCore::is): Deleted.
(WebCore::downcast): Deleted.
* dom/Node.h:
(WebCore::is):
(WebCore::downcast):
* dom/make_names.pl:
(printTypeHelpers):
* editing/FrameSelection.cpp:
(WebCore::scanForForm):
* editing/TextIterator.cpp:
(WebCore::isRendererReplacedElement):
* html/FormAssociatedElement.h:
* html/HTMLElement.h:
* html/HTMLFieldSetElement.cpp:
(WebCore::updateFromControlElementsAncestorDisabledStateUnder):
(WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::enclosingFormControlElement):
* html/HTMLFormControlElement.h:
(WebCore::isHTMLFormControlElement):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::submitElementFromEvent):
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::reset):
(WebCore::HTMLFormElement::formElementIndex):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
(WebCore::HTMLFormElement::documentDidResumeFromPageCache):
* html/HTMLMediaElement.h:
* html/HTMLPlugInImageElement.h:
* html/HTMLSummaryElement.cpp:
(WebCore::isClickableControl):
* html/LabelableElement.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
(WebCore::RadioNodeList::elementMatches):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::findFosterSite):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::disallowTelephoneNumberParsing):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* mathml/MathMLElement.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
* page/Frame.cpp:
(WebCore::Frame::searchForLabelsBeforeElement):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::formControlElement):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isReadOnlyControl):
* svg/SVGElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/animation/SVGSMILElement.h:

Source/WebKit/mac:

Use is<HTMLFormControlElement>() / downcast<HTMLFormControlElement>()
instead of isFormControlElement() / toHTMLFormControlElement().

* WebView/WebHTMLRepresentation.mm:
(searchForLabelsBeforeElement):

Source/WebKit/win:

Use is<HTMLFormControlElement>() / downcast<HTMLFormControlElement>()
instead of isFormControlElement() / toHTMLFormControlElement().

* WebFrame.cpp:
(WebFrame::elementWithName):

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

5 years agoOld Turkic characters behave as left-to-right instead of right-to-left, because they...
darin@apple.com [Thu, 25 Sep 2014 02:53:48 +0000 (02:53 +0000)]
Old Turkic characters behave as left-to-right instead of right-to-left, because they are encoded as surrogate pairs.
https://bugs.webkit.org/show_bug.cgi?id=70029

Reviewed by Dan Bernstein.

Source/WebCore:

Test: fast/text/international/old-turkic-direction.html

* CMakeLists.txt: Added InlineIterator.cpp.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* rendering/RenderingAllInOne.cpp: Ditto.

* rendering/InlineIterator.cpp: Added.
(WebCore::InlineIterator::surrogateTextDirection): New function used to compute the direction
when a surrogate pair is involved.
* rendering/InlineIterator.h: Made the characterAt function private.
(WebCore::InlineIterator::previousInSameNode): Took out unneeded range check. A zero will underflow
and become a large number and the characterAt function will return 0 in that case.
(WebCore::InlineIterator::direction): Added code to check U16_IS_SINGLE before calling
u_charDirection, and call surrogateTextDirection instead.

LayoutTests:

* fast/text/international/old-turkic-direction.html: Added.
* fast/text/international/old-turkic-direction-expected.html: Added.

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

5 years agoUnreviewed build fix after r173941.
cdumez@apple.com [Thu, 25 Sep 2014 02:46:25 +0000 (02:46 +0000)]
Unreviewed build fix after r173941.

Rename shadow to m_shadow.

* rendering/TextPainter.h:
(WebCore::ShadowApplier::shadowIsCompletelyCoveredByText):

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

5 years agoREGRESSION: Text with a zero offset, zero blur shadow vanishes
mmaxfield@apple.com [Thu, 25 Sep 2014 02:32:06 +0000 (02:32 +0000)]
REGRESSION: Text with a zero offset, zero blur shadow vanishes
https://bugs.webkit.org/show_bug.cgi?id=136801

Reviewed by Darin Adler.

Source/WebCore:

This patch performs some cleanup regarding TextPainter's shadow logic and handles an
additional case of empty shadows. Previously, there was tight coupling between
applyShadowToGraphicalContext() and paintTextWithShadows(), as they both used a
collection of variables to determine how shadows are to be drawn. This complexity has
been moved into a helper class, ShadowApplier, which performs what
applyShadowToGraphicsContext() used to do, and cleans up correctly in its destructor.
This removes the tight coupling mentioned earlier.

Test: fast/text/empty-shadow.html

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::applyShadowToGraphicsContext): Moved to ShadowApplier.
* rendering/InlineTextBox.h: Deleted applyShadowToGraphicsContext signature.
* rendering/TextPainter.cpp:
(WebCore::ShadowApplier::ShadowApplier): Perform the contents of applyShadowToGraphicsContext()
(WebCore::ShadowApplier::~ShadowApplier): Undo the work done previously
(WebCore::paintTextWithShadows): Create a ShadowApplier to do the relevant shadow work. In addition,
refactor some boolean flags to more meaningful ones with relation to the computation at hand.
(WebCore::isEmptyShadow): Moved to TextPainter.h, named shadowIsCompletelyCoveredByText()
* rendering/TextPainter.h:
(WebCore::ShadowApplier::ShadowApplier): Moved from InlineTextBox::applyShadowToGraphicsContext().
(WebCore::ShadowApplier::extraOffset): Getter.
(WebCore::ShadowApplier::~ShadowApplier): Moved from TextPainter::paintTextWithShadows().
(WebCore::isLastShadowIteration): Helper function.
(WebCore::shadowIsCompletelyCoveredByText): Determines whether or not we should not draw the shadow.
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintTextWithShadows): Update to use ShadowApplier.

LayoutTests:

This test should be a comprehensive test of empty shadows. It tests every
combination of one and two shadows being empty, as well as transparent and
opaque text.

After updating fast/text/empty-shadow.html, fast/text/empty-shadow-with-color.html
is no longer necessary.

* fast/text/empty-shadow-expected.html:
* fast/text/empty-shadow-with-color-expected.html: Removed.
* fast/text/empty-shadow-with-color.html: Removed.
* fast/text/empty-shadow.html:

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

5 years ago[iOS] Fix the iOS build; add case statements for kCLAuthorizationStatusAuthorized
dbates@webkit.org [Thu, 25 Sep 2014 02:17:20 +0000 (02:17 +0000)]
[iOS] Fix the iOS build; add case statements for kCLAuthorizationStatusAuthorized
https://bugs.webkit.org/show_bug.cgi?id=137101
<rdar://problem/18449815>

Reviewed by Mark Lam.

* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):

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

5 years agoWeb Inspector: subtract elapsed time while debugger is paused from profile nodes
burg@cs.washington.edu [Thu, 25 Sep 2014 00:25:31 +0000 (00:25 +0000)]
Web Inspector: subtract elapsed time while debugger is paused from profile nodes
https://bugs.webkit.org/show_bug.cgi?id=136796

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Rather than accruing no time to any profile node created while the debugger is paused,
we can instead count a node's elapsed time and exclude time elapsed while paused.

Time for a node may elapse in a non-contiguous fashion depending on the interleaving of
didPause, didContinue, willExecute, and didExecute. A node's start time is set to the
start of the last such interval that accrues elapsed time.

* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause): Added.
(JSC::ProfileGenerator::didContinue): Added.
* profiler/ProfileGenerator.h:
(JSC::ProfileGenerator::didPause): Deleted.
(JSC::ProfileGenerator::didContinue): Deleted.
* profiler/ProfileNode.h: Rename totalTime to elapsedTime.
(JSC::ProfileNode::Call::Call):
(JSC::ProfileNode::Call::elapsedTime): Added.
(JSC::ProfileNode::Call::setElapsedTime): Added.
(JSC::CalculateProfileSubtreeDataFunctor::operator()):
(JSC::ProfileNode::Call::totalTime): Deleted.
(JSC::ProfileNode::Call::setTotalTime): Deleted.

Source/WebCore:

* inspector/TimelineRecordFactory.cpp:
(WebCore::buildInspectorObject):

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

5 years agoUnreviewed build fix after r173932.
cdumez@apple.com [Wed, 24 Sep 2014 23:29:35 +0000 (23:29 +0000)]
Unreviewed build fix after r173932.

Unreviewed build fix after r173932 for Windows. Use WebCore:: namespace
explicitely in DOMCoreClasses.cpp.

* DOMCoreClasses.cpp:
(DOMElement::createInstance):

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

5 years ago[iOS] run-webkit-tests should support minor versions under devices and create a testi...
dfarler@apple.com [Wed, 24 Sep 2014 23:28:13 +0000 (23:28 +0000)]
[iOS] run-webkit-tests should support minor versions under devices and create a testing device under the right runtime
https://bugs.webkit.org/show_bug.cgi?id=136895

Reviewed by David Kilzer.

Create Device, DeviceType, and Runtime data classes.
Create Simulator class represent simctl output.

Wherever possible, use structured data classes anywhere a raw
identifier or UDID string was used for a cleaner implementation
and to encapsulate the inherent fragility of scraping simctl output.

Create a suitably named testing device if one doesn't exist.

Finally, accurately handle having multiple simulator runtimes (SDKs)
installed in the active Xcode.app bundle.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
* Scripts/webkitpy/port/driver.py:
(IOSSimulatorDriver.cmd_line):
Construct DeviceType and Runtime objects from identifiers passed at the
command line, still providing sensible defaults for 32- and 64-bit testing.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.__init__):
(IOSSimulatorPort.setup_test_run):
(IOSSimulatorPort):
(IOSSimulatorPort.testing_device):
Cache the testing device once it is created or found.
(IOSSimulatorPort.reset_preferences):
Get the device path from the Device object instead of consructing it
in the port class.
(IOSSimulatorPort.simulator_udid): Deleted.
Get the UDID from the testing_device :: Device object itself.
* Scripts/webkitpy/xcode/simulator.py:
Created Device, DeviceType, Runtime, and Simulator classes.
(get_runtimes): Deleted.
(get_devices): Deleted.
(get_device_types): Deleted.
(get_latest_runtime): Deleted.

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

5 years agoAttempt to fix crash seen on bots.
timothy@apple.com [Wed, 24 Sep 2014 23:11:46 +0000 (23:11 +0000)]
Attempt to fix crash seen on bots.

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

5 years agoDo the bmalloc.
ggaren@apple.com [Wed, 24 Sep 2014 22:07:41 +0000 (22:07 +0000)]
Do the bmalloc.
https://bugs.webkit.org/show_bug.cgi?id=132629

Reviewed by Gavin Barraclough.

64-bit only for now, just to try it out.

* wtf/FastMalloc.cpp:

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

5 years agoRemove incorrect use of the BKSProcessAssertionAllowSuspendOnSleep flag for process...
weinig@apple.com [Wed, 24 Sep 2014 22:02:01 +0000 (22:02 +0000)]
Remove incorrect use of the BKSProcessAssertionAllowSuspendOnSleep flag for process suspension in iOS WebKit2
<rdar://problem/18400566>
https://bugs.webkit.org/show_bug.cgi?id=137077

Reviewed by Anders Carlsson.

* UIProcess/ios/ProcessAssertionIOS.mm:
Remove use of the BKSProcessAssertionAllowSuspendOnSleep which does not do what we expect, and instead
causes processes to be suspended "forever" after sleep.

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

5 years agoFix 32-bit Mac build.
timothy@apple.com [Wed, 24 Sep 2014 21:41:06 +0000 (21:41 +0000)]
Fix 32-bit Mac build.

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

5 years agoUse is<HTML*Element>() instead of isHTML*Element() - Part 1
cdumez@apple.com [Wed, 24 Sep 2014 21:25:22 +0000 (21:25 +0000)]
Use is<HTML*Element>() instead of isHTML*Element() - Part 1
https://bugs.webkit.org/show_bug.cgi?id=137068

Reviewed by Ryosuke Niwa.

Start using is<HTML*Element>() instead of isHTML*Element().
Remaining usages will be updated in a follow-up patch to
reduce the size of the change.

Source/WebCore:

No new tests, no behavior change.

* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isSelected):
(WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaTimeline::valueDescription):
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::setElement):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::isNativeTextControl):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::isInputImage):
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::valueForRange):
(WebCore::AccessibilityNodeObject::maxValueForRange):
(WebCore::AccessibilityNodeObject::minValueForRange):
(WebCore::isNodeActionElement):
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::colorValue):
(WebCore::accessibleNameForNode):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isFileUploadButton):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isDisabled):
(WebCore::isEnabled):
(WebCore::isChecked):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::isInPasswordField):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processElement):
* editing/gtk/EditorGtk.cpp:
(WebCore::elementURL):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendText):
(WebCore::isPlainTextMarkup):
(WebCore::collectElementsToRemoveFromFragment):
* html/HTMLCollection.cpp:
(WebCore::isMatchingElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFormControlElement.cpp:
(WebCore::shouldAutofocus):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getTextFieldValues):
(WebCore::HTMLFormElement::formElementIndex):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
(WebCore::HTMLImageLoader::notifyFinished):
* html/HTMLNameCollection.cpp:
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatches):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions):
(WebCore::HTMLOptGroupElement::ownerSelectElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::index):
(WebCore::HTMLOptionElement::ownerSelectElement):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):
(WebCore::HTMLSelectElement::value):
(WebCore::HTMLSelectElement::setValue):
(WebCore::HTMLSelectElement::childShouldCreateRenderer):
(WebCore::HTMLSelectElement::setLength):
(WebCore::HTMLSelectElement::nextValidIndex):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::optionToListIndex):
(WebCore::HTMLSelectElement::listToOptionIndex):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::searchOptionsForValue):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::optionAtIndex):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
(WebCore::HTMLSelectElement::length):
* html/HTMLTagNames.in:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::hasImpliedEndTag):
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLNames::isSelectScopeMarker):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processEndTag):
* html/shadow/MediaControlElementTypes.cpp:
(WebCore::mediaControlElementType):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handleFallbackContent):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
* page/EventHandler.cpp:
(WebCore::isSubmitImage):
(WebCore::EventHandler::handleMousePressEvent):
* page/FocusController.cpp:
(WebCore::clearSelectionIfNeeded):
* page/FrameView.cpp:
(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::updateEmbeddedObject):
* page/PageSerializer.cpp:
(WebCore::frameOwnerURLAttributeName):
* page/SpatialNavigation.cpp:
(WebCore::canScrollInDirection):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::absolutePDFURL):
(WebCore::HitTestResult::isContentEditable):
* rendering/RenderBlockFlow.cpp:
(WebCore::resizeTextPermitted):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::updateFromElement):
(WebCore::RenderButton::canHaveGeneratedChildren):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::isOpen):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::uploadButton):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::updateAltText):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderMenuList.cpp:
(WebCore::selectedOptionCount):
(RenderMenuList::updateOptionsWidth):
(RenderMenuList::setTextFromOption):
(RenderMenuList::itemText):
(RenderMenuList::itemIsEnabled):
(RenderMenuList::itemIsSelected):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):
* testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser):
(WebCore::Internals::wasLastChangeUserEdit):
(WebCore::Internals::isSelectPopupVisible):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):

Source/WebKit/ios:

* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::focusedElementChanged):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedElementChanged):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):
* WebView/WebHTMLRepresentation.mm:
(inputElementFromDOMElement):

Source/WebKit/win:

* DOMCoreClasses.cpp:
(DOMElement::createInstance):
* DOMHTMLClasses.cpp:
(DOMHTMLOptionElement::text):
(DOMHTMLOptionElement::label):
(DOMHTMLInputElement::form):
(DOMHTMLInputElement::disabled):
(DOMHTMLInputElement::readOnly):
(DOMHTMLInputElement::setType):
(DOMHTMLInputElement::value):
(DOMHTMLInputElement::setValue):
(DOMHTMLInputElement::setValueForUser):
(DOMHTMLInputElement::select):
(DOMHTMLInputElement::setSelectionStart):
(DOMHTMLInputElement::selectionStart):
(DOMHTMLInputElement::setSelectionEnd):
(DOMHTMLInputElement::selectionEnd):
(DOMHTMLInputElement::isTextField):
(DOMHTMLInputElement::rectOnScreen):
(DOMHTMLInputElement::replaceCharactersInRange):
(DOMHTMLInputElement::selectedRange):
(DOMHTMLInputElement::setAutofilled):
(DOMHTMLInputElement::isAutofilled):
(DOMHTMLInputElement::isUserEdited):
(DOMHTMLTextAreaElement::form):
(DOMHTMLTextAreaElement::value):
(DOMHTMLTextAreaElement::setValue):
(DOMHTMLTextAreaElement::select):
(DOMHTMLTextAreaElement::isUserEdited):
* WebFrame.cpp:
(inputElementFromDOMElement):

Source/WebKit2:

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::isTextField):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedElementChanged):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::containsAnyFormControls):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setAssistedNodeValue):
(WebKit::WebPage::setAssistedNodeValueAsNumber):
(WebKit::WebPage::setAssistedNodeSelectedIndex):

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

5 years ago[iOS] Remove MediaPlayer::setHasPlaybackTargetAvailabilityListeners
eric.carlson@apple.com [Wed, 24 Sep 2014 21:22:41 +0000 (21:22 +0000)]
[iOS] Remove MediaPlayer::setHasPlaybackTargetAvailabilityListeners
https://bugs.webkit.org/show_bug.cgi?id=137075

Reviewed by Dean Jackson.

No new tests, this just removes unused code.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setHasPlaybackTargetAvailabilityListeners): Deleted.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setHasPlaybackTargetAvailabilityListeners): Deleted.

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

5 years agoAdd stub implementation of WKPageIsPlayingAudio().
adachan@apple.com [Wed, 24 Sep 2014 20:11:06 +0000 (20:11 +0000)]
Add stub implementation of WKPageIsPlayingAudio().
https://bugs.webkit.org/show_bug.cgi?id=137044

Reviewed by Anders Carlsson.

Also add an isPlayingAudioDidChange callback to WKPageUIClient.

* UIProcess/API/C/WKPage.cpp:
(WKPageIsPlayingAudio):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/API/C/WKPageUIClient.h:

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

5 years agoMake the Web Inspector use a separate web process.
timothy@apple.com [Wed, 24 Sep 2014 19:58:08 +0000 (19:58 +0000)]
Make the Web Inspector use a separate web process.

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

Reviewed by Anders Carlsson.

Source/WebCore:

* English.lproj/Localizable.strings: Updated.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptGlobalObject.h:
* bindings/js/ScriptState.h:
* inspector/InspectorFrontendHost.h:
* inspector/InspectorPageAgent.h:
* page/Chrome.h:
Exported a few functions and private headers.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setInspectorFrontendClient):
(WebCore::InspectorController::hasInspectorFrontendClient):
(WebCore::InspectorController::show):
* inspector/InspectorController.h:
Make InspectorFrontendClient a pointer instead of a std::unique_ptr.
This makes it easier to implement InspectorFrontendClient as
part of an existing object that is externally owned.

* testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::closeDummyInspectorFrontend):
* testing/Internals.h:
Change InspectorFrontendClientDummy from being moved to owned.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js: Updated.

* UserInterface/Base/Main.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
Move InspectorFrontendHost.loaded to later in the load.
Calling it early just shows the window before we have
a user interface to show.

* UserInterface/Base/Test.js:
(WebInspector.loaded):
(WebInspector.contentLoaded):
Match the changes in Main.js.

* UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.savedURL): Change comment.
(InspectorFrontendAPI.appendedToURL): Change comment.
(InspectorFrontendAPI.dispatch): Add an assert and early
return to be safe from unknown commands.
(InspectorFrontendAPI.loadCompleted): Delete _pendingCommands,
no need to keep an empty array around a one time use.

Source/WebKit/ios:

* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorClient::WebInspectorClient):
Removed m_frontendClient initialization since it is
now a std::unique_ptr that defaults to nullptr.

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::releaseFrontend):
Own WebInspectorFrontendClient instead of moving it.

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::openInspectorFrontend):
* WebCoreSupport/WebInspectorClient.h:
(WebInspectorClient::frontendClient):
Own WebInspectorFrontendClient instead of moving it.

Source/WebKit2:

* CMakeLists.txt:
* DerivedSources.make:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebKit2.xcodeproj/project.pbxproj:
Added new WebInspectorUI files and removed WebInspectorFrontendClient.cpp.

* Shared/APIObject.h: Added BundleInspectorUI.

* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
(WebKit::ChildProcessMainDelegate::getExtraInitializationData):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
Add support for "inspector-process" data, a boolean that is used by
WebProcess::initializeProcessName.

* UIProcess/API/C/WKInspector.cpp:
(WKInspectorIsDebuggingJavaScript):
(WKInspectorToggleJavaScriptDebugging):
(WKInspectorIsProfilingJavaScript):
(WKInspectorToggleJavaScriptProfiling):
* UIProcess/API/C/WKInspector.h:
Stub out functions we don't support but need to keep for nightly compatibility.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorPageGroups::createInspectorPageGroup):
(WebKit::WebInspectorProxy::WebInspectorProxy):
(WebKit::WebInspectorProxy::invalidate):
(WebKit::WebInspectorProxy::connect):
(WebKit::WebInspectorProxy::showConsole):
(WebKit::WebInspectorProxy::showResources):
(WebKit::WebInspectorProxy::showMainResourceForFrame):
(WebKit::WebInspectorProxy::attach):
(WebKit::WebInspectorProxy::detach):
(WebKit::WebInspectorProxy::inspectorContext):
(WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::open):
(WebKit::WebInspectorProxy::didClose):
(WebKit::WebInspectorProxy::attachAvailabilityChanged):
* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::isConnected):
(WebKit::WebInspectorProxy::canAttach):
* UIProcess/WebInspectorProxy.messages.in:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformAttach):
* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter close]):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformHide):
(WebKit::WebInspectorProxy::platformSave):
(WebKit::WebInspectorProxy::platformAppend):
(WebKit::WebInspectorProxy::platformAttach):
Changed how the Inspector page is created by making it in a new WebContext for
the Inspector. This removes us from the main process pool and guarantees no process
sharing for our user interface. Also send new WebInspectorUI messages to the Inspector
page and not the inspected page when appropriate.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions): Add "inspector-process" to extraInitializationData
if the context is the Inspector context. This is used by WebProcess::initializeProcessName.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::openInspectorFrontend):
(WebKit::WebInspectorClient::closeInspectorFrontend):
(WebKit::WebInspectorClient::bringFrontendToFront):
* WebProcess/WebCoreSupport/WebInspectorClient.h:
Remove the InspectorFrontendChannel class from WebInspectorClient and clean up a little.
InspectorFrontendChannel implementation moved to WebInspector.

* WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: Removed. Superseded by WebInspectorUI.

* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::create):
(WebKit::WebInspector::WebInspector):
(WebKit::WebInspector::createInspectorPage):
(WebKit::WebInspector::closeFrontend):
(WebKit::WebInspector::openInNewTab):
(WebKit::WebInspector::showConsole):
(WebKit::WebInspector::showResources):
(WebKit::WebInspector::showMainResourceForFrame):
(WebKit::WebInspector::startPageProfiling):
(WebKit::WebInspector::stopPageProfiling):
(WebKit::WebInspector::canAttachWindow):
(WebKit::WebInspector::updateDockingAvailability):
(WebKit::WebInspector::sendMessageToBackend):
(WebKit::WebInspector::sendMessageToFrontend):
(WebKit::WebInspector::remoteFrontendConnected):
(WebKit::WebInspector::remoteFrontendDisconnected):
* WebProcess/WebPage/WebInspector.h:
(WebKit::WebInspector::didClose):
(WebKit::WebInspector::didReceiveInvalidMessage):
(WebKit::WebInspector::setAttached):
* WebProcess/WebPage/WebInspector.messages.in:
Stop taking an optional InspectorFrontendChannel and inherit it instead. Create a connection that
can be passed to the other web process for WebInspectorUI to use. Stop referencing Inspector's page
directly, since it is in another process now.

* WebProcess/WebPage/WebInspectorUI.cpp: Added.
(WebKit::WebInspectorUI::create):
(WebKit::WebInspectorUI::WebInspectorUI):
(WebKit::WebInspectorUI::establishConnection):
(WebKit::WebInspectorUI::windowObjectCleared):
(WebKit::WebInspectorUI::frontendLoaded):
(WebKit::WebInspectorUI::moveWindowBy):
(WebKit::WebInspectorUI::bringToFront):
(WebKit::WebInspectorUI::closeWindow):
(WebKit::WebInspectorUI::requestSetDockSide):
(WebKit::WebInspectorUI::setDockSide):
(WebKit::WebInspectorUI::changeAttachedWindowHeight):
(WebKit::WebInspectorUI::changeAttachedWindowWidth):
(WebKit::WebInspectorUI::setToolbarHeight):
(WebKit::WebInspectorUI::openInNewTab):
(WebKit::WebInspectorUI::save):
(WebKit::WebInspectorUI::append):
(WebKit::WebInspectorUI::inspectedURLChanged):
(WebKit::WebInspectorUI::showConsole):
(WebKit::WebInspectorUI::showResources):
(WebKit::WebInspectorUI::showMainResourceForFrame):
(WebKit::WebInspectorUI::startPageProfiling):
(WebKit::WebInspectorUI::stopPageProfiling):
(WebKit::WebInspectorUI::didSave):
(WebKit::WebInspectorUI::didAppend):
(WebKit::WebInspectorUI::sendMessageToFrontend):
(WebKit::WebInspectorUI::sendMessageToBackend):
(WebKit::WebInspectorUI::evaluateCommandOnLoad):
(WebKit::WebInspectorUI::evaluateExpressionOnLoad):
(WebKit::WebInspectorUI::evaluatePendingExpressions):
* WebProcess/WebPage/WebInspectorUI.h: Added.
(WebKit::WebInspectorUI::page):
(WebKit::WebInspectorUI::didClose):
(WebKit::WebInspectorUI::didReceiveInvalidMessage):
(WebKit::WebInspectorUI::attachedBottom):
(WebKit::WebInspectorUI::attachedRight):
(WebKit::WebInspectorUI::detached):
(WebKit::WebInspectorUI::evaluateCommandOnLoad):
* WebProcess/WebPage/WebInspectorUI.messages.in: Added.
* WebProcess/WebPage/efl/WebInspectorUIEfl.cpp: Added.
(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL):
* WebProcess/WebPage/gtk/WebInspectorUIGtk.cpp: Added.
(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL):
* WebProcess/WebPage/mac/WebInspectorUIMac.mm: Added.
(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL):
Implement the InspectorFrontendClient and handle a connection to the inspected page's WebInspector.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::inspector):
(WebKit::WebPage::inspectorUI):
(WebKit::WebPage::didReceiveMessage):
Setup as a listener for WebInspectorUI messages.

* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::isInspectorPage): It is an Inspector page if we have a m_inspectorUI.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeProcessName):
Name the process "%@ Web Inspector" if it is an Inspector content process. Processes in that
context are not shared with multiple pages.

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

5 years ago[Yosemite] Button text doesn't go white while pushing the button, like it does for...
dino@apple.com [Wed, 24 Sep 2014 19:57:12 +0000 (19:57 +0000)]
[Yosemite] Button text doesn't go white while pushing the button, like it does for real buttons
https://bugs.webkit.org/show_bug.cgi?id=137054
rdar://problem/17559038

Reviewed by NOBODY (OOPS!).

On Yosemite and above, system buttons paint with white-ish text when they
are pressed. Since this isn't exposed by API, I've hardcoded the value
into RenderThemeMac.

The actual state is exposed by adding a :active rule to html.css that
uses a new CSSValueKeyword: ActiveButtonText.

Unfortunately I can't find a way to test this, because the active state isn't
testable. We should really expose the Inspector's forcePseudoState function into
window.internals.

* css/CSSValueKeywords.in: Add "activebuttontext".
* css/html.css:
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): New rule for active
button elements.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::systemColor): Handle CSSValueActivebuttontext as black.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor): Handle CSSValueActivebuttontext as
white with 75% opacity.

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

5 years agoAdd a deprecated stub for WKPreferencesSetMultithreadedWebGLEnabled (and Get)
dino@apple.com [Wed, 24 Sep 2014 19:52:14 +0000 (19:52 +0000)]
Add a deprecated stub for WKPreferencesSetMultithreadedWebGLEnabled (and Get)
https://bugs.webkit.org/show_bug.cgi?id=137071

Reviewed by Brent Fulgham.

Put in stubs for WKPreferencesSetMultithreadedWebGLEnabled and
WKPreferencesGetMultithreadedWebGLEnabled. These were removed in
r173776 but are still needed for nightly builds to link
(or will be once Yosemite nightlies are available).

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPreferencesSetMultithreadedWebGLEnabled):
(WKPreferencesGetMultithreadedWebGLEnabled):

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

5 years ago[Windows] Tentative fix for Windows test bots.
roger_fong@apple.com [Wed, 24 Sep 2014 19:24:57 +0000 (19:24 +0000)]
[Windows] Tentative fix for Windows test bots.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convert):

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

5 years agoAdd New Test for overrideMimeType in XMLHttpRequest.
commit-queue@webkit.org [Wed, 24 Sep 2014 17:30:02 +0000 (17:30 +0000)]
Add New Test for overrideMimeType in XMLHttpRequest.
https://bugs.webkit.org/show_bug.cgi?id=137057

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-09-24
Reviewed by Alexey Proskuryakov.

As part of bug: https://bugs.webkit.org/show_bug.cgi?id=136699, add more tests to test overrideMimeType for all states.

* http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror-expected.txt: Added.
* http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror.html: Added.

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

5 years agoChange more build.webkit.org links to https
ap@apple.com [Wed, 24 Sep 2014 17:26:00 +0000 (17:26 +0000)]
Change more build.webkit.org links to https
https://bugs.webkit.org/show_bug.cgi?id=137049

Reviewed by Csaba Osztrogonác.

Fix appspot, svn.webkit.org and Trac links.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
* BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/index.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ViewController.js:
(ViewController.prototype._domForBuildName):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:
(EWS):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitTestHistory.js:
(TestHistory):
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:

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