WebKit-https.git
4 years agoRemove an accidentally committed line..
ap@apple.com [Tue, 30 Sep 2014 19:59:54 +0000 (19:59 +0000)]
Remove an accidentally committed line..

* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_bubble):

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

4 years agoUse is<>() / downcast<>() for Element
cdumez@apple.com [Tue, 30 Sep 2014 19:59:49 +0000 (19:59 +0000)]
Use is<>() / downcast<>() for Element
https://bugs.webkit.org/show_bug.cgi?id=137241

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for Element instead of isElementNode() /
toElement().

Source/WebCore:

No new tests, no behavior change.

* accessibility/AXObjectCache.cpp:
(WebCore::nodeHasRole):
(WebCore::createFromRenderer):
(WebCore::AXObjectCache::handleLiveRegionCreated):
(WebCore::AXObjectCache::handleMenuItemSelected):
(WebCore::AXObjectCache::rootAXEditableElement):
(WebCore::isNodeAriaVisible):
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::canSetFocusAttribute):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
(WebCore::AccessibilityNodeObject::isEnabled):
(WebCore::AccessibilityNodeObject::isPressed):
(WebCore::AccessibilityNodeObject::isHovered):
(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::nativeActionElement):
(WebCore::AccessibilityNodeObject::actionElement):
(WebCore::AccessibilityNodeObject::mouseButtonListener):
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::helpText):
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::text):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::canSetFocusAttribute):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::hasTagName):
(WebCore::AccessibilityObject::hasAttribute):
(WebCore::AccessibilityObject::element):
(WebCore::AccessibilityObject::classList):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::helpText):
(WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::accessKey):
(WebCore::AccessibilityRenderObject::setElementAttributeValue):
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
(WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
(WebCore::AccessibilityRenderObject::renderObjectIsObservable):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::setAccessibleName):
(WebCore::AccessibilityRenderObject::stringRoleForMSAA):
* accessibility/AccessibilitySearchFieldButtons.cpp:
(WebCore::AccessibilitySearchFieldCancelButton::press):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::styledNode):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::locateCousinList):
* dom/ContainerNode.cpp:
(WebCore::destroyRenderTreeIfNeeded):
(WebCore::ContainerNode::notifyChildRemoved):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
(WebCore::assertConnectedSubrameCountIsConsistent):
* dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::elementFromPoint):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage):
* dom/Element.h:
(WebCore::isElement):
(WebCore::Node::hasAttributes):
(WebCore::Node::attributes):
(WebCore::Node::parentElement):
* dom/ElementTraversal.h:
(WebCore::Traversal<Element>::nextTemplate):
(WebCore::ElementTraversal::previousIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
(WebCore::ElementTraversal::pseudoAwarePreviousSibling):
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::namedItem):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::normalize):
(WebCore::Node::pseudoAwareFirstChild):
(WebCore::Node::pseudoAwareLastChild):
(WebCore::Node::computedStyle):
(WebCore::Node::parentOrShadowHostElement):
(WebCore::Node::rootEditableElement):
(WebCore::Node::isEqualNode):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespacePrefix):
(WebCore::Node::ancestorElement):
(WebCore::appendAttributeDesc):
(WebCore::Node::showNodePathForThis):
(WebCore::Node::enclosingLinkEventParentOrSelf):
(WebCore::Node::handleLocalEvents):
(WebCore::Node::willRespondToMouseMoveEvents):
(WebCore::Node::willRespondToMouseClickEvents):
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::nodeCanBeDistributed):
* dom/Position.cpp:
(WebCore::Position::element):
* dom/Range.cpp:
(WebCore::Range::getBorderAndTextQuads):
* dom/ShadowRoot.h:
(WebCore::Node::shadowRoot):
* dom/StaticNodeList.cpp:
(WebCore::StaticNodeList::namedItem):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
* editing/ApplyStyleCommand.cpp:
(WebCore::dummySpanAncestorForNode):
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::isRemovableBlock):
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
(WebCore::CompositeEditCommand::moveParagraphs):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
* editing/Editor.cpp:
(WebCore::Editor::isSpellCheckingEnabledFor):
(WebCore::Editor::applyEditingStyleToBodyElement):
* editing/FormatBlockCommand.cpp:
(WebCore::isElementForFormatBlock):
(WebCore::FormatBlockCommand::elementForFormatBlockCommand):
* editing/FrameSelection.cpp:
(WebCore::removingNodeRemovesPosition):
(WebCore::CaretBase::paintCaret):
(WebCore::FrameSelection::debugRenderer):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::outdentParagraph):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
(WebCore::MarkupAccumulator::appendStartMarkup):
* editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::appendEndTag):
* editing/ModifySelectionListLevel.cpp:
(WebCore::IncreaseSelectionListLevelCommand::doApply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isMailPasteAsQuotationNode):
(WebCore::haveSameTagName):
(WebCore::handleStyleSpansBeforeInsertion):
(WebCore::ReplaceSelectionCommand::doApply):
* editing/SpellChecker.cpp:
(WebCore::SpellChecker::isCheckable):
* editing/SplitTextNodeContainingElementCommand.cpp:
(WebCore::SplitTextNodeContainingElementCommand::doApply):
* editing/TextIterator.cpp:
(WebCore::isRendererReplacedElement):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverterCaches::propertyValueForNode):
(HTMLConverterCaches::floatPropertyValueForNode):
(HTMLConverterCaches::colorPropertyValueForNode):
(HTMLConverter::aggregatedAttributesForAncestors):
(HTMLConverter::aggregatedAttributesForElementAndItsAncestors):
(HTMLConverter::_traverseNode):
(WebCore::editingAttributedStringFromRange):
* editing/htmlediting.cpp:
(WebCore::unsplittableElementForPosition):
(WebCore::enclosingBlock):
(WebCore::enclosingElementWithTag):
(WebCore::enclosingTableCell):
(WebCore::enclosingAnchorElement):
(WebCore::areIdenticalElements):
(WebCore::isNonTableCellHTMLBlockElement):
(WebCore::deprecatedEnclosingBlockFlowElement):
(WebCore::rendererForCaretPainting):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::wrapWithNode):
(WebCore::createMarkupInternal):
(WebCore::createFragmentFromText):
* html/HTMLDetailsElement.cpp:
(WebCore::DetailsSummaryElement::fallbackSummary):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::insertAdjacentElement):
(WebCore::contextElementForInsertion):
(WebCore::HTMLElement::directionality):
* html/HTMLFormControlElement.h:
(WebCore::isHTMLFormControlElement):
* html/HTMLMediaElement.h:
(WebCore::isHTMLMediaElement):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::collectOptionInnerText):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::removedFrom):
* html/HTMLSummaryElement.cpp:
(WebCore::isClickableControl):
* html/HTMLTextFormControlElement.h:
(WebCore::isHTMLTextFormControlElement):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attachLater):
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::htmlElement):
* html/parser/HTMLStackItem.h:
(WebCore::HTMLStackItem::element):
* html/shadow/InsertionPoint.h:
(WebCore::parentElementForDistribution):
(WebCore::shadowRootOfParentForDistribution):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
* html/track/VTTCue.cpp:
(WebCore::VTTCue::markFutureAndPastNodes):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::createDigest):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::resetPseudoStates):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::assertElement):
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::setNodeName):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
* inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::inlineStyleSheetText):
* page/DragController.cpp:
(WebCore::elementUnderMouse):
* page/EventHandler.cpp:
(WebCore::findDropZone):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::updateMouseEventTargetNode):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::title):
(WebCore::HitTestResult::innerTextIfTruncated):
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::innerElement):
(WebCore::HitTestResult::innerNonSharedElement):
* rendering/RenderDeprecatedFlexibleBox.h:
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::isOpen):
* rendering/RenderElement.h:
(WebCore::RenderElement::element):
(WebCore::RenderElement::nonPseudoElement):
(WebCore::RenderElement::generatingElement):
* rendering/RenderGrid.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::isRestartedPlugin):
* rendering/RenderListItem.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::isChildAllowed):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::updateDragState):
(WebCore::RenderObject::getUncachedPseudoStyle):
* rendering/RenderRuby.h:
* rendering/RenderRubyText.h:
* rendering/RenderTableCaption.h:
* rendering/RenderTableCol.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
* rendering/RenderThemeGtk.cpp:
(WebCore::nodeHasClass):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
* rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::isAutosizingContainer):
(WebCore::TextAutosizer::containerContainsOneOfTags):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::isChildAllowed):
* style/StyleResolveTree.cpp:
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::detachDistributedChildren):
(WebCore::Style::detachChildren):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::resolveTree):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::buildPendingResource):
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunLang::evaluate):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathStep.cpp:
(WebCore::XPath::nodeMatchesBasicTest):
(WebCore::XPath::Step::nodesInAxis):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):

Source/WebKit/mac:

* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]):

Source/WebKit/win:

* DOMEventsClasses.cpp:
(DOMMouseEvent::toElement):
* DOMEventsClasses.h:

Source/WebKit2:

* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::WebRenderObject):
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
(-[WKDOMElement hasAttribute:]):
(-[WKDOMElement getAttribute:]):
(-[WKDOMElement setAttribute:value:]):
(-[WKDOMElement tagName]):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::elementBounds):
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::mediaType):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
(WebKit::WebPage::blurAssistedNode):
(WebKit::WebPage::getPositionInformation):
(WebKit::nextFocusableElement):
(WebKit::WebPage::elementDidFocus):

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

4 years agoGet the STRING_STATS codepath compiling again, and add calls to ref/deref
andersca@apple.com [Tue, 30 Sep 2014 19:50:01 +0000 (19:50 +0000)]
Get the STRING_STATS codepath compiling again, and add calls to ref/deref
https://bugs.webkit.org/show_bug.cgi?id=137259

Reviewed by Andreas Kling.

* wtf/text/StringImpl.cpp:
(WTF::StringStats::removeString):
(WTF::StringStats::printStats):
(WTF::StringImpl::~StringImpl):
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::isSubString):
(WTF::StringImpl::ref):
(WTF::StringImpl::deref):
(WTF::StringStats::addUpconvertedString): Deleted.

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

4 years agobuild.webkit.org/dashboard: Switch EWS view to using actual retry count
ap@apple.com [Tue, 30 Sep 2014 19:48:09 +0000 (19:48 +0000)]
build.webkit.org/dashboard: Switch EWS view to using actual retry count
https://bugs.webkit.org/show_bug.cgi?id=137240

Reviewed by Ryosuke Niwa.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:
(EWSQueue.prototype.loadDetailedStatus):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js:
(EWSQueueView.prototype._popoverContentForEWSQueue):
Use the new retry_count data member from JSON.

* QueueStatusServer/app.yaml: Updating the version.

* QueueStatusServer/handlers/queuestatusjson.py: (QueueStatusJSON._rows_for_work_items):
Instead of message_count, produce retry_count.

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

4 years agoEWS doesn't need to show all the bubbles when a patch fails to apply
ap@apple.com [Tue, 30 Sep 2014 19:43:58 +0000 (19:43 +0000)]
EWS doesn't need to show all the bubbles when a patch fails to apply
https://bugs.webkit.org/show_bug.cgi?id=137256

Reviewed by Ryosuke Niwa.

* QueueStatusServer/app.yaml: Updated app version.

* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_bubble):
(StatusBubble._build_bubbles_for_attachment):
(StatusBubble.get):
* QueueStatusServer/templates/statusbubble.html:
When some queues fail to apply, and no queues had meaningful output (meaning that
they will almost certainly fail to apply later), we can show a single bubble
telling the user just that.

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

4 years agoWeb Replay: use static Strings instead of AtomicStrings for replay input type tags
burg@cs.washington.edu [Tue, 30 Sep 2014 19:21:25 +0000 (19:21 +0000)]
Web Replay: use static Strings instead of AtomicStrings for replay input type tags
https://bugs.webkit.org/show_bug.cgi?id=137086

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This pattern doesn't work when we want to define some inputs in WebKit2.
The ReplayInputTypes class was generated from WebCore inputs only. This
patch moves all input traits to use static local Strings as type tags.

* replay/scripts/CodeGeneratorReplayInputs.py: Remove configuration of how
type tags are generated, since all framework targets now generate the same code.

* replay/NondeterministicInput.h:
* replay/scripts/CodeGeneratorReplayInputs.py: Simplify and rebase test results.
(Generator.generate_input_trait_implementation):
* replay/scripts/CodeGeneratorReplayInputsTemplates.py: Simplify templates.

* replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::SavedMouseButton>::type):
* replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h:
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::SavedMouseButton>::type):
* replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
* replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::HandleWheelEvent>::type):
* replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h:
* replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::FormCombo>::type):
* replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h:
* replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::GetCurrentTime>::type):
(JSC::InputTraits<Test::SetRandomSeed>::type):
* replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h:
* replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::ArrayOfThings>::type):
(JSC::InputTraits<Test::SavedHistory>::type):
* replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h:
* replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::ScalarInput1>::type):
(JSC::InputTraits<Test::ScalarInput2>::type):
* replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h:
* replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp:
(JSC::InputTraits<Test::ScalarInput>::type):
(JSC::InputTraits<Test::MapInput>::type):
* replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h:

Source/WebCore:

This pattern doesn't work when we want to define some inputs in WebKit2,
since the ReplayInputTypes class is generated from WebCore inputs only.

Replace tag-checking uses of ReplayInputTypes with InputTraits<T>::type().
Remove thread-local input types, and switch to using a plain const String instead
of const AtomicString.

No new tests, no behavior changed.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorReplayAgent.cpp:
(WebCore::SerializeInputToJSONFunctor::operator()):
* platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::ThreadGlobalData):
(WebCore::ThreadGlobalData::destroy):
* platform/ThreadGlobalData.h:
(WebCore::ThreadGlobalData::inputTypes): Deleted.
* replay/AllReplayInputs.h:
* replay/EventLoopInput.h:
* replay/EventLoopInputDispatcher.cpp:
(WebCore::EventLoopInputDispatcher::dispatchInput):
* replay/MemoizedDOMResult.cpp:
(WebCore::MemoizedDOMResultBase::type):
(JSC::InputTraits<MemoizedDOMResultBase>::type):
* replay/MemoizedDOMResult.h:
* replay/ReplayInputTypes.cpp: Removed.
* replay/ReplayInputTypes.h: Removed.
* replay/ReplayingInputCursor.cpp:
(WebCore::ReplayingInputCursor::loadInput):
* replay/SegmentedInputStorage.cpp:
(WebCore::SegmentedInputStorage::load):
(WebCore::SegmentedInputStorage::store):
* replay/SerializationMethods.cpp:
(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
(JSC::EncodingTraits<NondeterministicInputBase>::decodeValue):

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

4 years ago[Mac] Flaky test marked as failing in r174111 also needs to be marked as passing.
roger_fong@apple.com [Tue, 30 Sep 2014 19:11:48 +0000 (19:11 +0000)]
[Mac] Flaky test marked as failing in r174111 also needs to be marked as passing.
* platform/mac/TestExpectations:

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

4 years ago[Mac] Mark a flaky webgl conformance test as failing.
roger_fong@apple.com [Tue, 30 Sep 2014 19:05:55 +0000 (19:05 +0000)]
[Mac] Mark a flaky webgl conformance test as failing.
* platform/mac/TestExpectations:

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

4 years agoREGRESSION (r172532): JSBase.h declares NSMapTable functions that are SPI
dbates@webkit.org [Tue, 30 Sep 2014 18:40:32 +0000 (18:40 +0000)]
REGRESSION (r172532): JSBase.h declares NSMapTable functions that are SPI
https://bugs.webkit.org/show_bug.cgi?id=137170
<rdar://problem/18477384>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Move conditional include of header Foundation/NSMapTablePriv.h and forward declarations
of NSMapTable SPI from file JavaScriptCore/API/JSBase.h to WTF/wtf/spi/cocoa/NSMapTableSPI.h.

* API/JSBase.h:
* API/JSManagedValue.mm: Include header WTF/wtf/spi/cocoa/NSMapTableSPI.h.
* API/JSVirtualMachine.mm: Ditto.
* API/JSVirtualMachineInternal.h: Forward declare class NSMapTable.
* API/JSWrapperMap.mm: Include header WTF/wtf/spi/cocoa/NSMapTableSPI.h. Also, order
#include directives such that they are sorted in alphabetical order.

Source/WTF:

Add SPI wrapper header, NSMapTableSPI.h.

Additionally, define convenience macro EXTERN_C that can be used to specify the C linkage
convention for a declaration. For example, the declaration "EXTERN_C const int x;" will
expand to:

extern const int x;

and

extern "C" const int x;

when used in a C and C++ file, respectively.

* WTF.xcodeproj/project.pbxproj:
* wtf/Compiler.h:
* wtf/spi/cocoa/NSMapTableSPI.h: Added.

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

4 years agobmalloc: cleaned up fast path vs slow path
ggaren@apple.com [Tue, 30 Sep 2014 18:37:45 +0000 (18:37 +0000)]
bmalloc: cleaned up fast path vs slow path
https://bugs.webkit.org/show_bug.cgi?id=137081

Reviewed by Sam Weinig.

Might be a 1% speedup on MallocBench. Also cleans up the code a bit.

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::Allocator): Merged the small and medium range
caches, just like the small and medium allocators. Ranges are abstract
objects that don't really care whether they hold small or medium objects,
so they don't need to be segregated.

(bmalloc::Allocator::scavenge): Ditto.

(bmalloc::Allocator::allocateBumpRangeSlowCase):
(bmalloc::Allocator::allocateBumpRange): Same thing here, except that
we do care a tiny bit, because we need to specify small vs medium when
allocating new ranges from the heap, to ensure that the heap allocates
from the right segment of VM.

(bmalloc::Allocator::allocateLarge):
(bmalloc::Allocator::allocateXLarge): NO_INLINE because this was clouding
up the fast path. Large allocation performance is dominated by allocation
logic and initialization, so inlining it doesn't help.

(bmalloc::Allocator::allocateSlowCase): Slow path got a bit cleaner since
it doesn't need to distinguish small vs medium objects.

(bmalloc::Allocator::allocateSmallBumpRange): Deleted.
(bmalloc::Allocator::allocateMediumBumpRange): Deleted.

* bmalloc/Allocator.h:
* bmalloc/BumpRange.h:

* bmalloc/Cache.cpp:
(bmalloc::Cache::allocateSlowCase): Deleted.
(bmalloc::Cache::deallocateSlowCase): Deleted.
* bmalloc/Cache.h:
(bmalloc::Cache::allocate):
(bmalloc::Cache::deallocate):
(bmalloc::Cache::allocateFastCase): Deleted.
(bmalloc::Cache::deallocateFastCase): Deleted. Removed the Cache slow
paths. The downside to this change is that the fast path branches to two
distinct failure cases instead of one. The upside is that the slow path
doesn't need to re-read the segment register, which is not as cheap as a
normal register, and it doesn't need to do an extra level of function
call. Seems to be worth it.

* bmalloc/Deallocator.h:
* bmalloc/Heap.cpp:
(bmalloc::Heap::refillSmallBumpRangeCache):
(bmalloc::Heap::refillMediumBumpRangeCache):
* bmalloc/Heap.h: Updated for interface changes.

* bmalloc/Sizes.h: The most ranges a cache will hold is the number of
small lines in a page / 2, since any other free lines will coalesce
with their neighbors.

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

4 years agoFix C API header
oliver@apple.com [Tue, 30 Sep 2014 17:27:10 +0000 (17:27 +0000)]
Fix C API header
https://bugs.webkit.org/show_bug.cgi?id=137254
<rdar://problem/18487528>

Build fix

Guard extern "C" behind __cplusplus ifdef

* API/JSBase.h:

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

4 years ago[EFL] Bump EFL version to 1.11.2
commit-queue@webkit.org [Tue, 30 Sep 2014 15:19:16 +0000 (15:19 +0000)]
[EFL] Bump EFL version to 1.11.2
https://bugs.webkit.org/show_bug.cgi?id=137118

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-30
Reviewed by Gyuyoung Kim.

Disable NEON for EFL build because the build system doesn't pass the necessary -mfpu=neon flag to the compiler.
Tools/efl/patches/ecore.patch: Removed, because this fix is already in EFL.

* efl/jhbuild.modules:
* efl/patches/ecore.patch: Removed.

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

4 years ago[Mac] MediaPlayerPrivateQTKit should not use FrameView
eric.carlson@apple.com [Tue, 30 Sep 2014 14:30:34 +0000 (14:30 +0000)]
[Mac] MediaPlayerPrivateQTKit should not use FrameView
https://bugs.webkit.org/show_bug.cgi?id=137119

Reviewed by Carlos Garcia Campos.

Remove obsolete QTKit code that would fall back to rendering into an NSView.
Aside from being dead code, it was only used when accelerated compositing
was not enabled and tha hasn't been possible for a long time, it required a
layering violation to get the FrameView.

* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::setSize):
(WebCore::MediaPlayerPrivateQTKit::paint):
(WebCore::mainThreadSetNeedsDisplay): Deleted.
(WebCore::MediaPlayerPrivateQTKit::createQTMovieView): Deleted.
(WebCore::MediaPlayerPrivateQTKit::detachQTMovieView): Deleted.
(-[WebCoreMovieObserver menuForEventDelegate:]): Deleted.
(-[WebCoreMovieObserver setView:]): Deleted.

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

4 years agoREGRESSION(r173929): [GTK] TestInspector fails after r173929
carlosgc@webkit.org [Tue, 30 Sep 2014 13:38:03 +0000 (13:38 +0000)]
REGRESSION(r173929): [GTK] TestInspector fails after r173929
https://bugs.webkit.org/show_bug.cgi?id=137247

Reviewed by Philippe Normand.

Source/WebKit2:

Add WebKitWebInspector:can-attach property to notify when the
inspector attach availability changes.

* UIProcess/API/C/gtk/WKInspectorClientGtk.h:
* UIProcess/API/gtk/WebKitWebInspector.cpp:
(webkit_web_inspector_class_init): Add WebKitWebInspector:can-attach property.
(didChangeAttachAvailability): Emit notify::can-attach.
(webkitWebInspectorCreate): Add implementation for didChangeAttachAvailability.
(webkit_web_inspector_get_can_attach): Return whether the inspector can be attached.
* UIProcess/API/gtk/WebKitWebInspector.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add index of new symbols in 2.8.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/gtk/WebInspectorClientGtk.cpp:
(WebKit::WebInspectorClientGtk::didChangeAttachAvailability):
* UIProcess/gtk/WebInspectorClientGtk.h:
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Notify the client.

Tools:

Wait until can-attach property changes before trying to attach the
inspector after resizing the view.

* TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp:
(testInspectorDefault):

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

4 years ago[GTK] The remote web inspector shows the HTML content as plain text
carlosgc@webkit.org [Tue, 30 Sep 2014 13:33:50 +0000 (13:33 +0000)]
[GTK] The remote web inspector shows the HTML content as plain text
https://bugs.webkit.org/show_bug.cgi?id=137250

Reviewed by Gustavo Noronha Silva.

Use GResource API directly to get the resource data, instead of
using the GFile API, and use g_content_type_guess() to get the
MIME Type.

* UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
(WebKit::WebInspectorServer::platformResourceForPath):

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

4 years ago[GTK] Move GtkPopupMenu implementation to WebPopupMenuProxyGtk
carlosgc@webkit.org [Tue, 30 Sep 2014 13:28:07 +0000 (13:28 +0000)]
[GTK] Move GtkPopupMenu implementation to WebPopupMenuProxyGtk
https://bugs.webkit.org/show_bug.cgi?id=137193

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Remove GtkPopupMenu from platform.

* PlatformGTK.cmake:
* platform/gtk/GtkPopupMenu.cpp: Removed.
* platform/gtk/GtkPopupMenu.h: Removed.

Source/WebKit2:

GtkPopupMenu was in platform only to have a common implementation to
be shared with WebKit1. Now that it's only used by
WebPopupMenuProxyGtk in WebKit2, we can simplify the code by
merging the implementation directly into WebPopupMenuProxyGtk.

* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::~WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::populatePopupMenu):
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
(WebKit::WebPopupMenuProxyGtk::hidePopupMenu):
(WebKit::WebPopupMenuProxyGtk::typeAheadFind):
(WebKit::WebPopupMenuProxyGtk::resetTypeAheadFindState):
(WebKit::WebPopupMenuProxyGtk::selectItemCallback):
(WebKit::WebPopupMenuProxyGtk::keyPressEventCallback):
* UIProcess/gtk/WebPopupMenuProxyGtk.h:
(WebKit::WebPopupMenuProxyGtk::setCurrentlySelectedMenuItem):

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

4 years agoRequire Python 2.7 version
evab.u-szeged@partner.samsung.com [Tue, 30 Sep 2014 12:50:48 +0000 (12:50 +0000)]
Require Python 2.7 version
https://bugs.webkit.org/show_bug.cgi?id=137112

Reviewed by Csaba Osztrogonác.

* Scripts/ensure-valid-python:
(checkPythonVersion):
* Scripts/webkitpy/common/version_check.py:

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

4 years agoAvoid copying the iterated-over items in range-based for-loops in RenderGrid
zandobersek@gmail.com [Tue, 30 Sep 2014 12:48:42 +0000 (12:48 +0000)]
Avoid copying the iterated-over items in range-based for-loops in RenderGrid
https://bugs.webkit.org/show_bug.cgi?id=137246

Reviewed by Sergio Villar Senin.

Adjust the range-based for-loops in RenderGrid to avoid the unnecessary copying
of the items that are being iterated.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::insertItemIntoGrid):
(WebCore::RenderGrid::gridAreaBreadthForChild):

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

4 years agoHindi translation updated
berto@igalia.com [Tue, 30 Sep 2014 12:17:04 +0000 (12:17 +0000)]
Hindi translation updated
https://bugs.webkit.org/show_bug.cgi?id=137021

Patch by Rajesh Ranjan <rajeshkajha@yahoo.com> on 2014-09-30
Reviewed by Philippe Normand.

* hi.po:

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

4 years agoUpdated Telugu Translation for WebKitGTK+
berto@igalia.com [Tue, 30 Sep 2014 12:15:08 +0000 (12:15 +0000)]
Updated Telugu Translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=137027

Patch by Krishnababu Krothapalli <kkrothap@redhat.com> on 2014-09-30
Reviewed by Philippe Normand.

* te.po:

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

4 years ago[CSS Grid Layout] Use modern for-loops in RenderGrid
svillar@igalia.com [Tue, 30 Sep 2014 10:30:34 +0000 (10:30 +0000)]
[CSS Grid Layout] Use modern for-loops in RenderGrid
https://bugs.webkit.org/show_bug.cgi?id=137214

Reviewed by Darin Adler.

New code is already using modern range based for loops. We had some
"old" code pending to be migrated.

No new tests as there is no change in functionality.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::layoutGridItems):

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

4 years agoCaret not shown at the end of line in overtype mode
svillar@igalia.com [Tue, 30 Sep 2014 10:17:16 +0000 (10:17 +0000)]
Caret not shown at the end of line in overtype mode
https://bugs.webkit.org/show_bug.cgi?id=135508

Reviewed by Ryosuke Niwa.

Source/WebCore:

When overtype mode is enabled we usually replace the 'normal'
blinking caret shown in contenteditable elements by a block cursor
that covers the next character to be replaced. The exception is the
end of line where we fallback to the blinking caret even in overtype
mode (as there is no next character to replace).

We were not showing anything at the end of lines in overtype mode
because the detection of the end of line was incorrect and not very
understandable. Replaced the old code with a proper and clean end of
line detection mechanism compatible with bidi text.

Tests: editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html
       editing/selection/block-cursor-overtype-mode-end-of-line.html

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateAppearance):
* editing/VisibleUnits.cpp:
(WebCore::isLogicalEndOfLine):
* editing/VisibleUnits.h:

LayoutTests:

* editing/selection/block-cursor-overtype-mode-end-of-line-expected.html: Added.
* editing/selection/block-cursor-overtype-mode-end-of-line-rtl-expected.html: Added.
* editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html: Added.
* editing/selection/block-cursor-overtype-mode-end-of-line.html: Added.

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

4 years agoSkip a JSC test after r174036.
mhock@apple.com [Tue, 30 Sep 2014 09:45:54 +0000 (09:45 +0000)]
Skip a JSC test after r174036.
https://bugs.webkit.org/show_bug.cgi?id=137236

Reviewed by Csaba Osztrogonác.

* Scripts/run-javascriptcore-tests:

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

4 years agoWeb Inspector: InjectedScripts should not be profiled or displayed in Timeline
burg@cs.washington.edu [Tue, 30 Sep 2014 03:34:11 +0000 (03:34 +0000)]
Web Inspector: InjectedScripts should not be profiled or displayed in Timeline
https://bugs.webkit.org/show_bug.cgi?id=136806

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

It doesn't make sense to show profile nodes for injected scripts when profiling user content.
For now, omit nodes by suspending profiling before and after executing injected scripts.

* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::suspendProfiling): Added.
(JSC::LegacyProfiler::unsuspendProfiling): Added.
* profiler/LegacyProfiler.h:
* profiler/ProfileGenerator.cpp: Add isSuspended() flag, remove unused typedef.
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::ProfileGenerator::willExecute):
(JSC::ProfileGenerator::didExecute):
* profiler/ProfileGenerator.h:
(JSC::ProfileGenerator::setIsSuspended): Added.

Source/WebCore:

Instead of creating timeline records for injected scripts, suspend profiling
of the current page before and after calling injected script functions.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::willCallInjectedScriptFunction):
(WebCore::InspectorController::didCallInjectedScriptFunction):

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

4 years agoWeb Inspector: InspectorValues should use references for out parameters
burg@cs.washington.edu [Tue, 30 Sep 2014 03:30:54 +0000 (03:30 +0000)]
Web Inspector: InspectorValues should use references for out parameters
https://bugs.webkit.org/show_bug.cgi?id=137190

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Use references for out parameters in asType() and getType() methods.
Also convert to references in some miscellaneous code where we don't
expect or handle null values.

Remove variants of asObject() and asArray() that return a nullable RefPtr.
Now, client code is forced to use out parameters and check for cast failure.

Iron out control flow in some functions and fix some style issues.

* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeEvalCall):
* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::injectedScriptForObjectId): Simplify control flow.
* inspector/InspectorBackendDispatcher.cpp:
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::getPropertyValue):
(Inspector::AsMethodBridges::asInteger):
(Inspector::AsMethodBridges::asDouble):
(Inspector::AsMethodBridges::asString):
(Inspector::AsMethodBridges::asBoolean):
(Inspector::AsMethodBridges::asObject):
(Inspector::AsMethodBridges::asArray):
* inspector/InspectorProtocolTypes.h:
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::assertValueHasExpectedType):
* inspector/InspectorValues.cpp: Use more by-reference out parameters. Add more spacing.
(Inspector::InspectorValue::asBoolean):
(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorValue::asString):
(Inspector::InspectorValue::asValue):
(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorValue::toJSONString):
(Inspector::InspectorValue::writeJSON):
(Inspector::InspectorBasicValue::asBoolean):
(Inspector::InspectorBasicValue::asDouble):
(Inspector::InspectorBasicValue::asInteger):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorString::asString):
(Inspector::InspectorString::writeJSON):
(Inspector::InspectorObjectBase::asObject):
(Inspector::InspectorObjectBase::openAccessors):
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::asArray):
(Inspector::InspectorArrayBase::writeJSON):
* inspector/InspectorValues.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::parseLocation):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::didParseSource):
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
* inspector/scripts/codegen/generate_protocol_types_implementation.py:
(ProtocolTypesImplementationGenerator):
(ProtocolTypesImplementationGenerator._generate_assertion_for_enum):
* inspector/scripts/codegen/generator_templates.py:
* inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
* replay/EncodedValue.cpp:
(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::EncodedValue::convertTo<String>):

Source/WebCore:

Clean up some call sites to explicitly check for cast success, and simplify
some exceptional control flows.

No new tests, no behavior changed.

* inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::inspectImpl):
* inspector/InspectorCSSAgent.cpp:
(WebCore::computePseudoClassMask):
* inspector/InspectorDOMAgent.cpp:
(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::parseQuad):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightFrame):
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::findStorageArea):
* inspector/InspectorIndexedDBAgent.cpp: Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
* inspector/InspectorReplayAgent.cpp:
(WebCore::InspectorReplayAgent::replayToPosition):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::styleWithProperties):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
* inspector/InspectorWorkerAgent.cpp:

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

4 years ago[GTK] [EFL] Install TestNetscapePlugin apart from the other libs.
clopez@igalia.com [Tue, 30 Sep 2014 02:02:15 +0000 (02:02 +0000)]
[GTK] [EFL] Install TestNetscapePlugin apart from the other libs.
https://bugs.webkit.org/show_bug.cgi?id=137212

This moves TestNetscapePlugin to a new folder (lib/plugins).
We should not use the same directory for TestNetscapePlugin and
the other libraries, because we end up scanning all the .so in the
lib dir for every test.

Reviewed by Carlos Garcia Campos.

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Set LIBRARY_OUTPUT_DIRECTORY to lib/plugins.
* Scripts/webkitpy/port/efl.py:
(EflPort.setup_environ_for_server): Update plugin path.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Update plugin path.
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Update plugin path.

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

4 years agoA small change to EWS bubble text. Explain why there are messages for ineligible...
ap@apple.com [Mon, 29 Sep 2014 23:08:07 +0000 (23:08 +0000)]
A small change to EWS bubble text. Explain why there are messages for ineligible patches.

Rubber-stamped by Tim Horton.

* QueueStatusServer/app.yaml:
* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_bubble):

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

4 years agoDFG HasStructureProperty codegen should use one fewer registers
fpizlo@apple.com [Mon, 29 Sep 2014 22:38:15 +0000 (22:38 +0000)]
DFG HasStructureProperty codegen should use one fewer registers
https://bugs.webkit.org/show_bug.cgi?id=137235

Reviewed by Andreas Kling.

This was an obvious source of inefficiency and it was causing us to run out of registers on
x86-32.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

4 years agoDon't use GPRResult unless you're flushing registers and making a runtime function...
fpizlo@apple.com [Mon, 29 Sep 2014 22:25:51 +0000 (22:25 +0000)]
Don't use GPRResult unless you're flushing registers and making a runtime function call
https://bugs.webkit.org/show_bug.cgi?id=137234

Rubber stamped by Andreas Kling.

Rename GPRResult to GPRFlushedCallResult, in an attempt to dissuade people from using it for results in the
general case.

Replace GPRResult with GPRTemporary in those places where it was causing bugs: particularly in GetDirectPname it
would cause us to spill the register that has the base, and the code was assuming (rightly) that the base and the
result were in different registers. That's a valid assumption when using GPRTemporary but not with GPRResult.
Also this code wasn't getting any benefit from using GPRResult because it wasn't doing flushRegisters().

I don't know how to test this. A test would require setting up a particularly awkward register allocation state.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::GPRFlushedCallResult::GPRFlushedCallResult):
(JSC::DFG::GPRFlushedCallResult2::GPRFlushedCallResult2):
(JSC::DFG::GPRResult::GPRResult): Deleted.
(JSC::DFG::GPRResult2::GPRResult2): Deleted.
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::speculateDoubleRepMachineInt):

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

4 years agoUse is<>() / downcast<>() for Document
cdumez@apple.com [Mon, 29 Sep 2014 22:23:20 +0000 (22:23 +0000)]
Use is<>() / downcast<>() for Document
https://bugs.webkit.org/show_bug.cgi?id=137221

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for Document instead of isDocumentNode() /
toDocument().

Source/WebCore:

No new tests, no behavior change.

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::document):
(WebCore::Geolocation::frame):
(WebCore::Geolocation::page):
* Modules/indexeddb/IDBFactory.cpp:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::document):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
* Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore::Notification::show):
(WebCore::Notification::permission):
(WebCore::Notification::requestPermission):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::document):
* Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::create):
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::allowDatabaseAccess):
(WebCore::DatabaseContext::databaseExceededQuota):
* Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientHandshakeMessage):
(WebCore::WebSocketHandshake::clientHandshakeRequest):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* bindings/js/DOMConstructorWithDocument.h:
(WebCore::DOMConstructorWithDocument::document):
* bindings/js/DOMRequestState.h:
(WebCore::DOMRequestState::DOMRequestState):
(WebCore::DOMRequestState::clear):
* bindings/js/JSAudioContextCustom.cpp:
(WebCore::constructJSAudioContext):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::toJSDOMGlobalObject):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/js/ScriptState.cpp:
(WebCore::frameFromExecState):
* crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::document):
* dom/Comment.cpp:
(WebCore::Comment::create):
* dom/ContainerNode.cpp:
(WebCore::checkAcceptChild):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
* dom/Document.h:
(WebCore::isDocument):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::create):
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage):
* dom/EventDispatcher.cpp:
(WebCore::WindowEventContext::WindowEventContext):
* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::document):
* dom/Node.cpp:
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupPrefix):
(WebCore::Node::lookupNamespaceURI):
(WebCore::Node::removedLastRef):
* dom/Range.cpp:
(WebCore::Range::create):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::dispatchErrorEvent):
* dom/Text.cpp:
(WebCore::Text::create):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartMarkup):
* html/HTMLDocument.h:
(WebCore::isHTMLDocument):
* html/HTMLNameCollection.h:
(WebCore::HTMLNameCollection::document):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::insertedInto):
* html/ImageDocument.h:
(WebCore::isImageDocument):
* html/MediaDocument.h:
(WebCore::isMediaDocument):
* html/PluginDocument.h:
(WebCore::isPluginDocument):
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::ownerDocument):
* html/track/VTTCue.cpp:
(WebCore::VTTCue::initialize):
* html/track/VTTRegion.h:
(WebCore::VTTRegion::ownerDocument):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::assertDocument):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::innerParentNode):
* inspector/InspectorInstrumentation.cpp:
(WebCore::frameForScriptExecutionContext):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::corsPolicyPreventedLoad):
(WebCore::TextTrackLoader::notifyFinished):
(WebCore::TextTrackLoader::load):
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoader::create):
(WebCore::ThreadableLoader::loadResourceSynchronously):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
* page/Crypto.cpp:
(WebCore::Crypto::document):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::focus):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::document):
(WebCore::DOMWindow::styleMedia):
(WebCore::DOMWindow::getComputedStyle):
* page/DragController.cpp:
(WebCore::DragController::dragExited):
(WebCore::DragController::dragEnteredOrUpdated):
* page/EventSource.cpp:
(WebCore::EventSource::create):
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusDirectionally):
* page/History.cpp:
(WebCore::History::go):
* page/SpatialNavigation.cpp:
(WebCore::scrollInDirection):
(WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
(WebCore::canScrollInDirection):
(WebCore::nodeRectInAbsoluteCoordinates):
* svg/SVGDocument.h:
(WebCore::isSVGDocument):
* testing/Internals.cpp:
(WebCore::Internals::contextDocument):
(WebCore::Internals::frame):
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::addToWorkerDocuments):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::document):
(WebCore::XMLHttpRequest::open):

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
(-[WKDOMDocument createElement:]):
(-[WKDOMDocument createTextNode:]):
(-[WKDOMDocument body]):

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

4 years agoTypo fix, suggested by Tim Horton.
ap@apple.com [Mon, 29 Sep 2014 22:14:13 +0000 (22:14 +0000)]
Typo fix, suggested by Tim Horton.

* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_message_for_provisional_failure):

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

4 years agoImprove Bugzilla status bubbles
ap@apple.com [Mon, 29 Sep 2014 21:55:04 +0000 (21:55 +0000)]
Improve Bugzilla status bubbles
https://bugs.webkit.org/show_bug.cgi?id=137232

Reviewed by Ryosuke Niwa.

* QueueStatusServer/app.yaml: Will update again with an actual version when landing.

* QueueStatusServer/handlers/statusbubble.py: Eliminated yellow color, added
blue and orange. Significantly extended tooltips. Made bubbles show up even for queues
that are stuck, as it was only confusing that they disappeared after 99.

* QueueStatusServer/model/attachment.py: Removed functionality that was only used
by old bubbles. We need a lot more information to determine color, so the implementation
can not be here.

* QueueStatusServer/templates/statusbubble.html: Updated colors in CSS, made bubbles
always have a link for consistency. Added code to convert timestamps in tooltips
to local time zone.

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

4 years agoUnreviewed, rolling out r174045.
commit-queue@webkit.org [Mon, 29 Sep 2014 21:26:06 +0000 (21:26 +0000)]
Unreviewed, rolling out r174045.
https://bugs.webkit.org/show_bug.cgi?id=137231

Introduced a crash during page loading tests on Mac (Requested
by rniwa on #webkit).

Reverted changeset:

"Replace OSObjectPtr with RetainPtr/adoptOS"
https://bugs.webkit.org/show_bug.cgi?id=137158
http://trac.webkit.org/changeset/174045

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

4 years agoREGRESSION (r168046): Confused column spans when combined with dynamic animations
hyatt@apple.com [Mon, 29 Sep 2014 20:54:02 +0000 (20:54 +0000)]
REGRESSION (r168046): Confused column spans when combined with dynamic animations
https://bugs.webkit.org/show_bug.cgi?id=134048.

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/multicol-fieldset-span-changes.html

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant):
Refactor handling of insertions into the multicolumn flow thread into
a helper function, processPossibleSpannerDescendant. This makes it easier
to call the code from more than one place.

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Modify the nested columns span shifting code to avoid problems. The
new code suppresses notifications and does the move of the spanner back
into the original spot *before* removing the placeholder. This ensures that
the placeholder parent still exists.

The stale placeholder is then removed and destroyed after the spanner has been put back
into place.

(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
Refactor the removal notifications for spanners into a helper function so that it can
be called to do cleanup from the code that cleans up stale placeholders on a shift.

* rendering/RenderMultiColumnFlowThread.h:
Modified to add the new helpers.

LayoutTests:

* fast/multicol/multicol-fieldset-span-changes-expected.txt: Added.
* fast/multicol/multicol-fieldset-span-changes.html: Added.

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

4 years agoUse SPECIALIZE_TYPE_TRAITS_*() macro for MathMLElement
cdumez@apple.com [Mon, 29 Sep 2014 20:50:45 +0000 (20:50 +0000)]
Use SPECIALIZE_TYPE_TRAITS_*() macro for MathMLElement
https://bugs.webkit.org/show_bug.cgi?id=137222

Reviewed by Ryosuke Niwa.

Use SPECIALIZE_TYPE_TRAITS_*() macro for MathMLElement instead of
NODE_TYPE_CASTS() + NodeTypeCastTraits template specialization.

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::accessibilityDescription):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isMathElement):
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::attributeChanged):
* mathml/MathMLElement.h:
(WebCore::isMathMLElement):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):

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

4 years ago[Windows] Skip some failing inspector tests following r174020.
roger_fong@apple.com [Mon, 29 Sep 2014 20:39:49 +0000 (20:39 +0000)]
[Windows] Skip some failing inspector tests following r174020.
* platform/win/TestExpectations:

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

4 years ago[Mac] Unreviewed. Missing test gardening from r174080.
roger_fong@apple.com [Mon, 29 Sep 2014 20:25:20 +0000 (20:25 +0000)]
[Mac] Unreviewed. Missing test gardening from r174080.

* accessibility/roles-computedRoleString-expected.txt:
* accessibility/roles-computedRoleString.html:

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

4 years agoSet the TBA versions based on the PLATFORM_NAME
andersca@apple.com [Mon, 29 Sep 2014 20:19:52 +0000 (20:19 +0000)]
Set the TBA versions based on the PLATFORM_NAME
https://bugs.webkit.org/show_bug.cgi?id=137226
Follow-up fix for <rdar://problem/17761459>.

Reviewed by Dan Bernstein.

* mac/rewrite-availability-macros.sh:
Turns out that MACOSX_DEPLOYMENT_TARGET is set even for iOS builds,
so set the versions based on the PLATFORM_NAME environment variable.

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

4 years ago[Mac] Unreviewed test gardening.
roger_fong@apple.com [Mon, 29 Sep 2014 19:42:08 +0000 (19:42 +0000)]
[Mac] Unreviewed test gardening.

These accessibility tests need to be changed following r174074.
* accessibility/aria-labelledby-with-descendants-expected.txt:
* accessibility/roles-computedRoleString.html:
* platform/mac/TestExpectations: Some previously skipped inspector tests crash in debug configuration.

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

4 years ago[Mac] Remove MediaPlayerPrivateQTKit frame rate code
eric.carlson@apple.com [Mon, 29 Sep 2014 19:29:53 +0000 (19:29 +0000)]
[Mac] Remove MediaPlayerPrivateQTKit frame rate code
https://bugs.webkit.org/show_bug.cgi?id=137217

Reviewed by Carlos Garcia Campos.

No new tests, this removes obsolete code.

* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::play):
(WebCore::MediaPlayerPrivateQTKit::pause):
(WebCore::MediaPlayerPrivateQTKit::didEnd):
(WebCore::MediaPlayerPrivateQTKit::repaint):
(WebCore::MediaPlayerPrivateQTKit::paint):

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

4 years agoAdd Jake as a contributor.
timothy_horton@apple.com [Mon, 29 Sep 2014 19:26:23 +0000 (19:26 +0000)]
Add Jake as a contributor.

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

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

4 years ago[Windows] Skip a javascriptcore test following r174036.
roger_fong@apple.com [Mon, 29 Sep 2014 19:13:51 +0000 (19:13 +0000)]
[Windows] Skip a javascriptcore test following r174036.
* Scripts/run-javascriptcore-tests:

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

4 years ago[Windows] Reduce number of processes used by NRWT on Windows to 1.
roger_fong@apple.com [Mon, 29 Sep 2014 18:42:14 +0000 (18:42 +0000)]
[Windows] Reduce number of processes used by NRWT on Windows to 1.
* Scripts/webkitpy/port/win.py:
(WinPort.default_child_processes):
Reduce number of processes to 1 so we can get a good baseline for what failures
we should be expecting to see from the Windows bots.

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

4 years agoBuild fix.
mitz@apple.com [Mon, 29 Sep 2014 18:28:34 +0000 (18:28 +0000)]
Build fix.

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

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

4 years agoAX: in an aria-labelledby computation, do not traverse into elements whose nameFrom...
cfleizach@apple.com [Mon, 29 Sep 2014 18:18:44 +0000 (18:18 +0000)]
AX: in an aria-labelledby computation, do not traverse into elements whose nameFrom value does not include 'contents'
https://bugs.webkit.org/show_bug.cgi?id=136714

Reviewed by Darin Adler.

Source/WebCore:

There are certain ARIA elements that tell us we should not query their children when determining the name of the object.
Those ones have the "nameFrom" property set to "author" instead of "contents." WebKit needs to honor that status.

Test: accessibility/aria-namefrom-author.html
      Modified: accessibility/aria-labelledby-with-descendants.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::shouldUseAccessiblityObjectInnerText):
(WebCore::shouldAddSpaceBeforeAppendingNextElement):
(WebCore::appendNameToStringBuilder):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibleNameDerivesFromContent):
(WebCore::initializeRoleMap):
* accessibility/AccessibilityObject.h:

LayoutTests:

* accessibility/aria-labelledby-with-descendants-expected.txt:
* accessibility/aria-labelledby-with-descendants.html:
* accessibility/aria-namefrom-author-expected.txt: Added.
* accessibility/aria-namefrom-author.html: Added.

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

4 years ago[iOS] Optimize media controls AirPlay discovery
eric.carlson@apple.com [Mon, 29 Sep 2014 18:12:13 +0000 (18:12 +0000)]
[iOS] Optimize media controls AirPlay discovery
https://bugs.webkit.org/show_bug.cgi?id=137180

Reviewed by Darin Adler.

AirPlay discovery mode uses increases power consumption, so don't enable it when there
is no chance an AirPlay target picker will be useful.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS): Initialize isListeningForPlaybackTargetAvailabilityEvent.
(ControllerIOS.prototype.addVideoListeners): Don't enable register wireless playback event
    listeners, it isn't possible to show the target picker until there is an inline controller.
(ControllerIOS.prototype.removeVideoListeners): Call setShouldListenForPlaybackTargetAvailabilityEvent.
(ControllerIOS.prototype.setControlsType): Add wireless event listers on when not showing
    the one button controller.
(ControllerIOS.prototype.updateStatusDisplay): Unregister wireless event listeners when the
    media element is in an error state.
(ControllerIOS.prototype.setShouldListenForPlaybackTargetAvailabilityEvent): New, add or
    remove event listeners.

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

4 years ago[iOS] Add basic support for link navigation in WKPDFView
aestes@apple.com [Mon, 29 Sep 2014 18:05:36 +0000 (18:05 +0000)]
[iOS] Add basic support for link navigation in WKPDFView
https://bugs.webkit.org/show_bug.cgi?id=137182

Reviewed by Tim Horton.

Teach WKPDFView to navigate to URLs when PDF link annotations are tapped.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::navigateToURLWithSimulatedClick): Sent Messages::WebPage::NavigateToURLWithSimulatedClick.
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKPDFView.h:
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _clearPages]): Removed self as the UIPDFAnnotationControllerDelegate.
(-[WKPDFView _revalidateViews]): Added self as the UIPDFAnnotationControllerDelegate.
(-[WKPDFView annotation:wasTouchedAtPoint:controller:]): Retrieved the URL from the touched annotation,
computed the touched point relative to the WKPDFView and to the screen, and called
navigateToURLWithSimulatedClick() after a 200 ms delay in order to show a soon-to-be-added tap highlight
(this value matches the delay in UIWebPDFView).
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToURLWithSimulatedClick): Created a fake single-click MouseEvent and called
FrameLoader::urlSelected(). Creating a mouse event ensures that the navigation appears as a
NavigationTypeLinkClicked in navigation policy delegates.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

4 years ago[iOS] Remove obsolete playbackTargetAvailabilityChanged methods
eric.carlson@apple.com [Mon, 29 Sep 2014 18:00:07 +0000 (18:00 +0000)]
[iOS] Remove obsolete playbackTargetAvailabilityChanged methods
https://bugs.webkit.org/show_bug.cgi?id=137179

Reviewed by Darin Adler.

No new tests, this just removes unused code.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerPlaybackTargetAvailabilityChanged): Deleted.
* html/HTMLMediaElement.h:

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::playbackTargetAvailabilityChanged): Deleted.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerPlaybackTargetAvailabilityChanged): Deleted.

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

4 years ago[WinCairo] D3D11 is not used by default.
commit-queue@webkit.org [Mon, 29 Sep 2014 17:44:47 +0000 (17:44 +0000)]
[WinCairo] D3D11 is not used by default.
https://bugs.webkit.org/show_bug.cgi?id=137215

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-29
Reviewed by Alex Christensen.

ANGLE_DEFAULT_D3D11 needs to be defined for D3D11 to be used as default.

* ANGLE.vcxproj/libGLESv2Common.props:

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

4 years agoUse the new is<>() / downcast<>() for ShadowRoot and StyledElement
cdumez@apple.com [Mon, 29 Sep 2014 17:35:28 +0000 (17:35 +0000)]
Use the new is<>() / downcast<>() for ShadowRoot and StyledElement
https://bugs.webkit.org/show_bug.cgi?id=137199

Reviewed by Darin Adler.

Use the new is<>() / downcast<>() for ShadowRoot and StyledElement and
move towards getting rid of the NODE_TYPE_CASTS() macro.

No new tests, no behavior change.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchAllRules):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::initElement):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::locateCousinList):
(WebCore::StyleResolver::findSiblingForStyleSharing):
* dom/Attr.cpp:
(WebCore::Attr::style):
* dom/Element.cpp:
(WebCore::Element::removeAttribute):
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):
(WebCore::eventTargetRespectingTargetRules):
(WebCore::EventPath::EventPath):
* dom/Node.cpp:
(WebCore::Node::containingShadowRoot):
(WebCore::Node::parentOrShadowHostElement):
(WebCore::Node::showNodePathForThis):
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::traverseParent):
* dom/ShadowRoot.h:
(WebCore::isShadowRoot):
(WebCore::Node::shadowRoot):
(WebCore::Node::parentOrShadowHostNode):
* dom/StyledElement.h:
(WebCore::StyledElement::presentationAttributeStyle):
(WebCore::isStyledElement):
* dom/Text.cpp:
(WebCore::isSVGShadowText):
* dom/TreeScope.cpp:
(WebCore::TreeScope::focusedElement):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::wrappingStyleForSerialization):
* editing/Editor.cpp:
(WebCore::Editor::applyEditingStyleToElement):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverterCaches::inlineStylePropertyForElement):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendElement):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* page/DragController.cpp:
(WebCore::asFileInput):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::owner):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
* svg/SVGElement.cpp:
(WebCore::SVGElement::title):
* testing/Internals.cpp:
(WebCore::Internals::shadowRoot):
(WebCore::Internals::shadowRootType):
(WebCore::Internals::includerFor):

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

4 years agoUse the new is<>() / downcast<>() for Text Nodes
cdumez@apple.com [Mon, 29 Sep 2014 17:20:18 +0000 (17:20 +0000)]
Use the new is<>() / downcast<>() for Text Nodes
https://bugs.webkit.org/show_bug.cgi?id=137188

Reviewed by Darin Adler.

Use the new is<>() / downcast<>() functions for Text Nodes instead of
isText() / toText().

Source/WebCore:

No new tests, no behavior change.

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::textUnderElement):
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* dom/CharacterData.cpp:
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
* dom/ContainerNode.cpp:
(WebCore::destroyRenderTreeIfNeeded):
* dom/Node.cpp:
(WebCore::Node::normalize):
* dom/Position.cpp:
(WebCore::Position::containerNode):
(WebCore::Position::containerText):
(WebCore::Position::isRenderedCharacter):
(WebCore::Position::leadingWhitespacePosition):
* dom/Range.cpp:
(WebCore::Range::insertNode):
(WebCore::Range::getBorderAndTextQuads):
* dom/Text.cpp:
(WebCore::earliestLogicallyAdjacentTextNode):
(WebCore::latestLogicallyAdjacentTextNode):
* dom/Text.h:
(WebCore::isText):
* dom/TextNodeTraversal.cpp:
(WebCore::TextNodeTraversal::contentsAsString):
* dom/TextNodeTraversal.h:
(WebCore::TextNodeTraversal::firstTextChildTemplate):
(WebCore::TextNodeTraversal::firstTextWithinTemplate):
(WebCore::TextNodeTraversal::traverseNextTextTemplate):
(WebCore::TextNodeTraversal::nextSibling):
* editing/ApplyBlockElementCommand.cpp:
(WebCore::isNewLineAtPosition):
(WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::splitTextAtEnd):
(WebCore::ApplyStyleCommand::splitTextElementAtEnd):
(WebCore::ApplyStyleCommand::joinChildTextNodes):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::positionOutsideTabSpan):
(WebCore::CompositeEditCommand::canRebalance):
(WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
(WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
(WebCore::CompositeEditCommand::deleteInsignificantText):
(WebCore::CompositeEditCommand::removePlaceholderAt):
(WebCore::CompositeEditCommand::cleanupAfterDeletion):
(WebCore::CompositeEditCommand::moveParagraphs):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::fixupWhitespace):
(WebCore::DeleteSelectionCommand::doApply):
* editing/Editor.cpp:
(WebCore::Editor::setComposition):
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::insertTab):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartMarkup):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
(WebCore::ReplaceSelectionCommand::performTrivialReplace):
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
* editing/VisibleUnits.cpp:
(WebCore::startPositionForLine):
(WebCore::endPositionForLine):
(WebCore::startOfParagraph):
(WebCore::endOfParagraph):
* editing/htmlediting.cpp:
(WebCore::lineBreakExistsAtPosition):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::renderedText):
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):
* html/HTMLElement.cpp:
(WebCore::mergeWithNextTextNode):
(WebCore::HTMLElement::setOuterHTML):
(WebCore::HTMLElement::setOuterText):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasFallbackContent):
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setText):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::positionForIndex):
(WebCore::HTMLTextFormControlElement::indexForPosition):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertTextNode):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setNodeValue):
* rendering/RenderCombineText.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::getRanges):
* rendering/RenderText.cpp:
(WebCore::RenderText::textNode):
* rendering/svg/RenderSVGInlineText.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::detachDistributedChildren):
(WebCore::Style::detachChildren):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::resolveTree):

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
(-[WKDOMText data]):
(-[WKDOMText setData:]):

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

4 years agoRemove remaining uses of NODE_TYPE_CASTS() from html/
cdumez@apple.com [Mon, 29 Sep 2014 17:16:32 +0000 (17:16 +0000)]
Remove remaining uses of NODE_TYPE_CASTS() from html/
https://bugs.webkit.org/show_bug.cgi?id=137172

Reviewed by Darin Adler.

Remove remaining uses of NODE_TYPE_CASTS() from html/ and use the new
SPECIALIZE_TYPE_TRAITS_*() macro instead so that is<>() / downcast<>()
works for those types.

No new tests, no behavior change.

* css/SelectorCheckerTestFunctions.h:
(WebCore::matchesLangPseudoClass):
(WebCore::matchesFutureCuePseudoClass):
(WebCore::matchesPastCuePseudoClass):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement):
The new casting function found a bad cast from a StyledElement to VTTElement.
Those two types are unrelated as VTTElement inherits directly from Element.
Knowing that |element| in this method cannot be a VTTElement simplifies the
logic a bit.

* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::findFirstEnteringInsertionPoints):
(WebCore::NodeRenderingTraversal::findLastEnteringInsertionPoints):
(WebCore::NodeRenderingTraversal::traverseParent):
* html/HTMLLabelElement.cpp:
(WebCore::nodeAsSupportedLabelableElement):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::innerTextElement):
* html/LabelableElement.h:
(WebCore::isLabelableElement):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::ensureInsertionPointList):
* html/shadow/InsertionPoint.h:
(WebCore::isInsertionPoint):
(WebCore::isActiveInsertionPoint):
(WebCore::parentNodeForDistribution):
* html/shadow/TextControlInnerElements.h:
(WebCore::isTextControlInnerTextElement):
* html/track/VTTCue.cpp:
(WebCore::VTTCue::copyWebVTTNodeToDOMTree):
(WebCore::VTTCue::markFutureAndPastNodes):
* html/track/WebVTTElement.h:
(WebCore::isWebVTTElement):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):
* style/StyleResolveTree.cpp:
(WebCore::Style::attachRenderTree):
(WebCore::Style::detachChildren):

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

4 years agoMissing changes from r174049
commit-queue@webkit.org [Mon, 29 Sep 2014 17:05:50 +0000 (17:05 +0000)]
Missing changes from r174049
https://bugs.webkit.org/show_bug.cgi?id=137206

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-09-29
Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h:

LayoutTests:

* js/number-constructor-expected.txt:
* js/script-tests/number-constructor.js:

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

4 years agoMake is<>() / downcast<>() work for HTMLDocument and its subclasses
cdumez@apple.com [Mon, 29 Sep 2014 16:58:42 +0000 (16:58 +0000)]
Make is<>() / downcast<>() work for HTMLDocument and its subclasses
https://bugs.webkit.org/show_bug.cgi?id=137169

Reviewed by Darin Adler.

Source/WebCore:

Make is<>() / downcast<>() work for HTMLDocument and its subclasses by
using the SPECIALIZE_TYPE_TRAITS_*() macro. Drop the DOCUMENT_TYPE_CASTS()
macro as it is no longer needed.

No new tests, no behavior change.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* dom/Document.cpp:
(WebCore::Document::prepareForDestruction):
(WebCore::Document::processHttpEquiv):
(WebCore::eventTargetElementForDocument):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName):
(WebCore::Element::updateId):
* html/HTMLDocument.h:
(WebCore::isHTMLDocument):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::matchesReadWritePseudoClass):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/ImageDocument.cpp:
(WebCore::ImageDocumentParser::document):
* html/ImageDocument.h:
(WebCore::isImageDocument):
* html/MediaDocument.h:
(WebCore::isMediaDocument):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* html/PluginDocument.h:
(WebCore::isPluginDocument):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):
* page/DragController.cpp:
(WebCore::DragController::operationForLoad):
* page/FrameView.cpp:
(WebCore::determineLayerFlushThrottleState):

Source/WebKit/win:

Use is<>() / downcast<>() for HTMLDocument and its subclasses.

* DOMHTMLClasses.cpp:
(DOMHTMLDocument::URL):
(DOMHTMLDocument::body):
(DOMHTMLDocument::forms):

Source/WebKit2:

Use is<>() / downcast<>() for HTMLDocument and its subclasses.

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

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

4 years agoRevert "Support for :enabled selector on Anchor & Area elements"
bruno.d@partner.samsung.com [Mon, 29 Sep 2014 16:31:33 +0000 (16:31 +0000)]
Revert "Support for :enabled selector on Anchor & Area elements"
https://bugs.webkit.org/show_bug.cgi?id=134826

Reviewed by Darin Adler.

Source/WebCore:

HTML spec has been modified [1] to disable support for :enabled CSS
selector on Anchor, Area & Link elements, after discussion on W3C
Bugzilla [2].

This reverts r171671.

[1] https://html5.org/r/8818
[2] https://www.w3.org/Bugs/Public/show_bug.cgi?id=26622

* css/SelectorCheckerTestFunctions.h:
(WebCore::isEnabled):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute):

LayoutTests:

These layout tests are no longer correct after changes to the :enabled
CSS selector specification.

* fast/css/css-selector-enabled-links-expected.txt: Removed.
* fast/css/css-selector-enabled-links.html: Removed.

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

4 years agoTweak and tighten SVG font converter
darin@apple.com [Mon, 29 Sep 2014 16:26:59 +0000 (16:26 +0000)]
Tweak and tighten SVG font converter
https://bugs.webkit.org/show_bug.cgi?id=136956

Reviewed by Myles Maxfield.

Source/WebCore:

* svg/SVGToOTFFontConversion.cpp: Fixed copyright date.
(WebCore::overwrite32): Changed to use normal subscripting for clarity.
(WebCore::overwrite16): Added.
(WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Added a move
to make constructing each GlyphData less expensive.
(WebCore::SVGToOTFFontConverter::KerningData): Removed the < operator
since it the struct contains more than what we want to sort it by, so it's
not elegant to build the sorting rule into the struct.
(WebCore::SVGToOTFFontConverter): Removed "k" prefix from some constants.
Replaced many function templates with non-template functions. Changed
key type for m_codepointToIndexMap to UChar32.
(WebCore::integralLog2): Tweaked formatting.
(WebCore::SVGToOTFFontConverter::appendCMAPTable): Removed a stray
cast that doesn't have any effect. Use the Glyph type to index m_glyphs.
(WebCore::SVGToOTFFontConverter::appendHEADTable): Append the magic
number in a more straightforward way.
(WebCore::clampTo): Tweak formatting of the template function.
(WebCore::SVGToOTFFontConverter::appendHHEATable): Made some minor
style changes and improved some comments.
(WebCore::SVGToOTFFontConverter::appendOS2Table): Made some minor
style changes and tightened up code that did parsing a bit, removing the
dynamically allocated array for the fixed length Panose number.
Also use first and last instead of hand-coded versions of those.
(WebCore::appendValidCFFString): Renamed.
(WebCore::SVGToOTFFontConverter::appendCFFTable): Made various tweaks,
including more specific of null for the "no weight" value instead of
either empty or null.
(WebCore::SVGToOTFFontConverter::appendVORGTable): Simplified some of
the numeric parsing, since toInt is guaranteed to return 0 when it also
would return "false" for ok. Also got rid of a local vector and instead
just fixed up the size of the table afterward.
(WebCore::SVGToOTFFontConverter::appendVHEATable): Tweaked comment.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): Use isValidKey
instead of a local hardcoded rule to check hash table key validity.
Check for zero in the result of get rather than using find on the HashMap.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): Ditto.
(WebCore::SVGToOTFFontConverter::addGlyphNames): Ditto.
(WebCore::SVGToOTFFontConverter::addKerningPair): Added. Factored out from
appendKERNSubtable to reduce template bloat and improve clarity.
(WebCore::SVGToOTFFontConverter::appendKERNSubtable): Tweaked formatting.
Moved the bulk of the function into non-template function.
(WebCore::SVGToOTFFontConverter::finishAppendingKERNSubtable): Added.
Non-template part of appendKERNSubtable. Also changed std::sort to supply
custom comparison function rather than trying to use the < operator directly
on KerningData.
(WebCore::writeCFFEncodedNumber): Don't use powf just to multiply by
2^16. It's pretty easy to do that with plain old multiplication.
(WebCore::CFFBuilder::CFFBuilder): Renamed m_firstPoint to
m_hasBoundingBox.
(WebCore::CFFBuilder::boundingBox): Made this public and const and made
the rest of the class private.
(WebCore::CFFBuilder::updateBoundingBox): Used early return and revised
to use m_hasBoundingBox.
(WebCore::CFFBuilder::writePoint): Added. Used to keep the other
functions below smaller.
(WebCore::CFFBuilder::moveTo): Marked virtual and simplified using writePoint.
Might find a way to simplify even further by teaching writePoint about
the PathCoordinateMode.
(WebCore::CFFBuilder::lineTo): Ditto.
(WebCore::CFFBuilder::curveToCubic): Ditto. Also removed comment that said
the function could be faster. Not sure that's important to state like this.
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths): Changed into a
non-template function. Tweaked logic and formatting a bit.
(WebCore::SVGToOTFFontConverter::processGlyphElement): Changed into a
non-template function. Moved the code from appendGlyphData in here.
Use WTF::move so we don't copy the glyph paths when creating a GlyphData.
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Updated a bit for
function changes above. Changed code to use isValidKey to check if we can
add to m_codepointToIndexMap. Parse font-style rather than parsing
font-weight twice. Round weights instead of truncating them. Change rule
to "first wins" instead of "last wins" when there are multiple segments.
Removed one vague and non-helpful comment.
(WebCore::isFourByteAligned): Fixed minor formatting issue by making the
function non-abstract. No reason not to hard-code the number 3 when the
number four appears in the function name.
(WebCore::calculateChecksum): Removed unneeded comment about why the
checksum is little-endian; since this came from Windows documentation there
is no doubt that little-endian is correct, so we don't need a comment creating
fear, uncertainty, and doubt. If the checksum computation is wrong, it should
become obvious that we have a bad checksum. Also changed the for loop to use
its own loop variable instead of changing startingOffset, which is not logical.
(WebCore::SVGToOTFFontConverter::appendTable): Updated for name changes.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Ditto. Also streamlined
the checksum code a little. The comment still is a little peculiar; I was
tempted to take it out.

Tools:

I was investigating behavior of String::toInt, String::toDouble, and
String::toFloat for various failure cases, and decided to start some
unit tests for those functions here.

* TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::TEST): Addded a first small bit of StringToInt and
StringToDouble testing.

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

4 years ago[iOS] Remove CoreLocation workaround
dbates@webkit.org [Mon, 29 Sep 2014 15:37:17 +0000 (15:37 +0000)]
[iOS] Remove CoreLocation workaround
https://bugs.webkit.org/show_bug.cgi?id=137198

Reviewed by Dan Bernstein.

Following the fix for <rdar://problem/18448331>, we can revert the CoreLocation workaround
committed in <http://trac.webkit.org/changeset/173946> and <http://trac.webkit.org/changeset/173940> (in order).

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

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

4 years agoFix !ENABLE(INSPECTOR) build after r173929
commit-queue@webkit.org [Mon, 29 Sep 2014 15:30:50 +0000 (15:30 +0000)]
Fix !ENABLE(INSPECTOR) build after r173929
https://bugs.webkit.org/show_bug.cgi?id=137210

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-29
Reviewed by Timothy Hatcher.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions):

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

4 years ago[GTK][CMake] TestWebCore target build sometimes fail
philn@webkit.org [Mon, 29 Sep 2014 15:16:22 +0000 (15:16 +0000)]
[GTK][CMake] TestWebCore target build sometimes fail
https://bugs.webkit.org/show_bug.cgi?id=137207

Reviewed by Csaba Osztrogon.

* TestWebKitAPI/PlatformGTK.cmake: Make sure the forwarding
headers are generated before the TestWebCore target is built.

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

4 years ago[GTK] Remove MainFrameScrollbarGtk.cpp
carlosgc@webkit.org [Mon, 29 Sep 2014 12:32:24 +0000 (12:32 +0000)]
[GTK] Remove MainFrameScrollbarGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=137211

Reviewed by Philippe Normand.

This was only used by WebKit1.

* PlatformGTK.cmake:
* platform/gtk/MainFrameScrollbarGtk.cpp: Removed.
* platform/gtk/MainFrameScrollbarGtk.h: Removed.

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

4 years ago[GTK] Remove IntPointGtk.cpp and IntRectGtk.cpp
carlosgc@webkit.org [Mon, 29 Sep 2014 11:54:52 +0000 (11:54 +0000)]
[GTK] Remove IntPointGtk.cpp and IntRectGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=137209

Reviewed by Philippe Normand.

Source/WebCore:

IntPointGtk is unused and IntRectGtk is only required by GTK+2 and
only used when building with GTK+2 in GtkInputMethodFilter.cpp
that can be easily replaced.

* PlatformGTK.cmake:
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.h:
* platform/graphics/gtk/IntPointGtk.cpp: Removed.
* platform/graphics/gtk/IntRectGtk.cpp: Removed.
* platform/gtk/GtkInputMethodFilter.cpp:
(WebCore::GtkInputMethodFilter::setCursorRect):

Tools:

* TestWebKitAPI/PlatformGTK.cmake: Remove unneeded IntRectGtk.cpp
from the WebCore test sources.

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

4 years ago[CSS Grid Layout] Handle percentages of indefinite sizes in minmax() and grid-auto-*
svillar@igalia.com [Mon, 29 Sep 2014 10:08:34 +0000 (10:08 +0000)]
[CSS Grid Layout] Handle percentages of indefinite sizes in minmax() and grid-auto-*
https://bugs.webkit.org/show_bug.cgi?id=136453

Reviewed by Darin Adler.

Source/WebCore:

After r165048 percentages of indefinite sizes were correctly
computed to "auto". The problem is that we were not doing it when
the percentage was inside the minmax() function. In those cases it
should compute to min-content for the min track sizing function or
to max-content for the max track sizing function.

We were not doing it also for the track sizes specified in
grid-auto-{column|row} properties. Fixed as well as the code is
the same.

Tests: fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html
       fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash.html
       fast/css-grid-layout/percent-of-indefinite-track-size.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::gridTrackSize):
* rendering/RenderGrid.h:
* rendering/style/GridLength.h:
(WebCore::GridLength::isPercentage):
* rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::GridTrackSize):

LayoutTests:

Added three new tests, one to verify that we do not assert with
percentages inside minmax() and another two to verify that we
properly compute the percentage of indefinite size in various
situations both in grid-template-* properties and in
grid-auto-{column|row} properties.

Three other tests required minimum adjustments as they were using
percentages of indefinite sizes inside minmax functions. In order
to keep the original expected behavior some definite sizes were
added.

* fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
* fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
* fast/css-grid-layout/grid-auto-columns-rows-update.html:
* fast/css-grid-layout/percent-of-indefinite-track-size-expected.txt: Added.
* fast/css-grid-layout/percent-of-indefinite-track-size-in-auto-expected.txt: Added.
* fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html: Added.
* fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash-expected.txt: Added.
* fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash.html: Added.
* fast/css-grid-layout/percent-of-indefinite-track-size.html: Added.

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

4 years agoUnreviewed. Move sources not using GTK+ from WebCorePlatformGTK_SOURCES to WebCore_SO...
carlosgc@webkit.org [Mon, 29 Sep 2014 08:54:49 +0000 (08:54 +0000)]
Unreviewed. Move sources not using GTK+ from WebCorePlatformGTK_SOURCES to WebCore_SOURCES.

* PlatformGTK.cmake:

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

4 years agoREGRESSION(r172919): WebKitPluginProcess fails to scan GTK+2 plugins after r172919.
carlosgc@webkit.org [Mon, 29 Sep 2014 08:51:51 +0000 (08:51 +0000)]
REGRESSION(r172919): WebKitPluginProcess fails to scan GTK+2 plugins after r172919.
https://bugs.webkit.org/show_bug.cgi?id=137191

Reviewed by Philippe Normand.

In r172919 I moved the GTK+ symbols mix check earlier, before the
plugin is loaded and initialized. That made impossible to use the
GTK3 plugin process to scan gtk2 plugins, because we need to load
the plugin to get its metadata. But we don't need to initialize
the plugin to check if it requires GTK2, so we can do that check
in the UI process to decide which plugin process to use.

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
Remove the requires GTK2 check.
(WebKit::NetscapePluginModule::scanPlugin): Don't write
requires-gtk2 to stdout.
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::pluginRequiresGtk2): Helper function to check if the
given plugin path requires GTK2.
(WebKit::PluginProcessProxy::scanPlugin): Check if the plugin path
requires GTK2 and use WebKitPluginProcess2 in such case, or return
early if GTK2 plugins are not enabled. Log error messages when
something fails scanning the plugin to make it easiert to debug
problems in the future.

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

4 years agoUse std::unique_ptr instead of PassOwnPtr|OwnPtr for NamedNodeMap
gyuyoung.kim@samsung.com [Mon, 29 Sep 2014 07:15:14 +0000 (07:15 +0000)]
Use std::unique_ptr instead of PassOwnPtr|OwnPtr for NamedNodeMap
https://bugs.webkit.org/show_bug.cgi?id=137201

Reviewed by Darin Adler.

No new tests, just refactoring patch.

* dom/ElementRareData.h: Use std::unique_ptr instead of OwnPtr.
(WebCore::ElementRareData::setAttributeMap): Use std::unique_ptr.
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::create): ditto.

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

4 years agoReplace wkGetGlyphsForCharacters() with CGFontGetGlyphsForUnichars()
mmaxfield@apple.com [Mon, 29 Sep 2014 03:42:38 +0000 (03:42 +0000)]
Replace wkGetGlyphsForCharacters() with CGFontGetGlyphsForUnichars()
https://bugs.webkit.org/show_bug.cgi?id=137197

Reviewed by Alexey Proskuryakov.

No new tests because there is no behavior change.

Source/WebCore:

* WebCore.exp.in:
* WebCore.order:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill): Use SPI call instead of WKSI call
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/spi/cocoa/CGFontUnicodeSupport.h: Added for SPI call.

Source/WebKit:

* mac/WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebKit.order:

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* mac/WebKit2.order:

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

4 years agoAllow webkit-patch upload to respect the --directory argument with git checkouts
mmaxfield@apple.com [Mon, 29 Sep 2014 03:02:01 +0000 (03:02 +0000)]
Allow webkit-patch upload to respect the --directory argument with git checkouts
https://bugs.webkit.org/show_bug.cgi?id=137166

Reviewed by Darin Adler.

We simply hadn't plumbed it through.

* Scripts/webkitpy/common/checkout/scm/detection.py:
(SCMDetector.detect_scm_system):
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.__init__):
(Git.changed_files):

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

4 years agoAutomatically generate template specializations for most Elements
cdumez@apple.com [Mon, 29 Sep 2014 02:13:41 +0000 (02:13 +0000)]
Automatically generate template specializations for most Elements
https://bugs.webkit.org/show_bug.cgi?id=137174

Reviewed by Darin Adler.

Previously, the template specializations to make is<>() / downcast<>()
work for HTML/SVG/MathML elements were only generated if
"generateTypeHelpers" parameter was explicitly specified for the
corresponding tag name in the *Tags.in file.

We are however able to generate the template specializations for most
types so this patch drops the "generateTypeHelpers" parameter and
generates those template specializations by default.

One case we cannot generate the specialization ifor is when a class is
associated to several tag names but this patch updates the
make_names.pl script to detect this and skip those classes.

No new tests, no behavior change.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/make_names.pl:
(defaultTagPropertyHash):
(printTypeHelpers):
* html/HTMLTagNames.in:
* mathml/mathtags.in:
* svg/SVGAllInOne.cpp:
* svg/SVGAnimateColorElement.cpp:
(WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
(WebCore::SVGAnimateColorElement::determinePropertyValueTypes):
* svg/SVGAnimateColorElement.h:
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::SVGAnimateElement):
(WebCore::SVGAnimateElement::~SVGAnimateElement): Deleted.
(WebCore::SVGAnimateElement::hasValidAttributeType): Deleted.
(WebCore::SVGAnimateElement::determineAnimatedPropertyType): Deleted.
(WebCore::SVGAnimateElement::calculateAnimatedValue): Deleted.
(WebCore::SVGAnimateElement::calculateToAtEndOfDurationValue): Deleted.
(WebCore::SVGAnimateElement::calculateFromAndToValues): Deleted.
(WebCore::SVGAnimateElement::calculateFromAndByValues): Deleted.
(WebCore::propertyTypesAreConsistent): Deleted.
(WebCore::SVGAnimateElement::resetAnimatedType): Deleted.
(WebCore::applyCSSPropertyToTarget): Deleted.
(WebCore::removeCSSPropertyFromTarget): Deleted.
(WebCore::applyCSSPropertyToTargetAndInstances): Deleted.
(WebCore::removeCSSPropertyFromTargetAndInstances): Deleted.
(WebCore::notifyTargetAboutAnimValChange): Deleted.
(WebCore::notifyTargetAndInstancesAboutAnimValChange): Deleted.
(WebCore::SVGAnimateElement::clearAnimatedType): Deleted.
(WebCore::SVGAnimateElement::applyResultsToTarget): Deleted.
(WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition): Deleted.
(WebCore::SVGAnimateElement::isAdditive): Deleted.
(WebCore::SVGAnimateElement::calculateDistance): Deleted.
(WebCore::SVGAnimateElement::setTargetElement): Deleted.
(WebCore::SVGAnimateElement::setAttributeName): Deleted.
(WebCore::SVGAnimateElement::resetAnimatedPropertyType): Deleted.
(WebCore::SVGAnimateElement::ensureAnimator): Deleted.
* svg/SVGAnimateElement.h:
(WebCore::isSVGAnimateElement): Deleted.
* svg/SVGAnimateElementBase.cpp: Copied from Source/WebCore/svg/SVGAnimateElement.cpp.
(WebCore::SVGAnimateElementBase::SVGAnimateElementBase):
(WebCore::SVGAnimateElementBase::~SVGAnimateElementBase):
(WebCore::SVGAnimateElementBase::hasValidAttributeType):
(WebCore::SVGAnimateElementBase::determineAnimatedPropertyType):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):
(WebCore::SVGAnimateElementBase::calculateToAtEndOfDurationValue):
(WebCore::SVGAnimateElementBase::calculateFromAndToValues):
(WebCore::SVGAnimateElementBase::calculateFromAndByValues):
(WebCore::propertyTypesAreConsistent):
(WebCore::SVGAnimateElementBase::resetAnimatedType):
(WebCore::applyCSSPropertyToTarget):
(WebCore::removeCSSPropertyFromTarget):
(WebCore::applyCSSPropertyToTargetAndInstances):
(WebCore::removeCSSPropertyFromTargetAndInstances):
(WebCore::notifyTargetAboutAnimValChange):
(WebCore::notifyTargetAndInstancesAboutAnimValChange):
(WebCore::SVGAnimateElementBase::clearAnimatedType):
(WebCore::SVGAnimateElementBase::applyResultsToTarget):
(WebCore::SVGAnimateElementBase::animatedPropertyTypeSupportsAddition):
(WebCore::SVGAnimateElementBase::isAdditive):
(WebCore::SVGAnimateElementBase::calculateDistance):
(WebCore::SVGAnimateElementBase::setTargetElement):
(WebCore::SVGAnimateElementBase::setAttributeName):
(WebCore::SVGAnimateElementBase::resetAnimatedPropertyType):
(WebCore::SVGAnimateElementBase::ensureAnimator):
* svg/SVGAnimateElementBase.h: Copied from Source/WebCore/svg/SVGAnimateElement.h.
(WebCore::isSVGAnimateElementBase):
* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
(WebCore::SVGAnimateTransformElement::parseAttribute):
* svg/SVGAnimateTransformElement.h:
* svg/SVGAnimatedAngle.cpp:
* svg/SVGAnimatedBoolean.cpp:
* svg/SVGAnimatedColor.cpp:
* svg/SVGAnimatedInteger.cpp:
* svg/SVGAnimatedIntegerOptionalInteger.cpp:
* svg/SVGAnimatedLength.cpp:
* svg/SVGAnimatedLengthList.cpp:
* svg/SVGAnimatedNumber.cpp:
* svg/SVGAnimatedNumberList.cpp:
* svg/SVGAnimatedNumberOptionalNumber.cpp:
* svg/SVGAnimatedPath.cpp:
* svg/SVGAnimatedPointList.cpp:
* svg/SVGAnimatedPreserveAspectRatio.cpp:
* svg/SVGAnimatedRect.cpp:
* svg/SVGAnimatedString.cpp:
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
* svg/SVGSetElement.cpp:
(WebCore::SVGSetElement::SVGSetElement):
* svg/SVGSetElement.h:
* svg/svgtags.in:

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

4 years agoSimple ES6 feature: Number constructor extras
commit-queue@webkit.org [Mon, 29 Sep 2014 01:52:42 +0000 (01:52 +0000)]
Simple ES6 feature: Number constructor extras
https://bugs.webkit.org/show_bug.cgi?id=131707

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-09-28
Reviewed by Darin Adler.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h:
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation): Setup constants and
functions.
(JSC::numberConstructorFuncIsFinite): Added.
(JSC::numberConstructorFuncIsInteger): Added.
(JSC::numberConstructorFuncIsNaN): Added.
(JSC::numberConstructorFuncIsSafeInteger): Added.
(JSC::NumberConstructor::getOwnPropertySlot): Deleted.
(JSC::numberConstructorNaNValue): Deleted.
(JSC::numberConstructorNegInfinity): Deleted.
(JSC::numberConstructorPosInfinity): Deleted.
(JSC::numberConstructorMaxValue): Deleted.
(JSC::numberConstructorMinValue): Deleted.
* runtime/NumberConstructor.h:

LayoutTests:

* js/Object-getOwnPropertyNames-expected.txt:
* js/number-constructor-expected.txt: Added.
* js/number-constructor.html: Added.
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/number-constructor.js: Added.

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

4 years agoUse std::unique_ptr for ContextMenuController
gyuyoung.kim@samsung.com [Mon, 29 Sep 2014 01:18:30 +0000 (01:18 +0000)]
Use std::unique_ptr for ContextMenuController
https://bugs.webkit.org/show_bug.cgi?id=137178

Reviewed by Darin Adler.

Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
for ContextMenuController class. Inherited class is changed by this use as well.

Source/WebCore:

No new tests, no behavior changes.

* loader/EmptyClients.cpp:
(WebCore::EmptyContextMenuClient::customizeMenu):
* loader/EmptyClients.h:
* page/ContextMenuClient.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::clearContextMenu):
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::showContextMenu):
* page/ContextMenuController.h:

Source/WebKit/win:

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::customizeMenu):
* WebCoreSupport/WebContextMenuClient.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::customizeMenu):
* WebProcess/WebCoreSupport/WebContextMenuClient.h:

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

4 years agoMove ColorInputType class to std::unique_ptr
gyuyoung.kim@samsung.com [Mon, 29 Sep 2014 01:04:43 +0000 (01:04 +0000)]
Move ColorInputType class to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=137173

Reviewed by Darin Adler.

Replace uses of PassOwnPtr in code under ColorInputType class with std::unique_ptr.
Child classes follow this change as well.

Source/WebCore:

No new tests, no behavior changes.

* html/ColorInputType.cpp:
(WebCore::ColorInputType::didEndChooser):
* html/ColorInputType.h:
* loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createColorChooser):
* loader/EmptyClients.h:
* page/Chrome.cpp:
(WebCore::Chrome::createColorChooser):
* page/Chrome.h:
* page/ChromeClient.h:

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createColorChooser):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createColorChooser):
* WebProcess/WebCoreSupport/WebChromeClient.h:

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

4 years agoFix some minor typos: psuedo -> pseudo
commit-queue@webkit.org [Sun, 28 Sep 2014 23:18:25 +0000 (23:18 +0000)]
Fix some minor typos: psuedo -> pseudo
https://bugs.webkit.org/show_bug.cgi?id=137192

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-09-28
Reviewed by Alexey Proskuryakov.

PerformanceTests:

* Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js:

Source/WebCore:

No new tests, no behavior change.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::specificityForOneSelector):

LayoutTests:

* fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements-expected.txt:
* fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements.html:
* fast/dom/Window/getMatchedCSSRules-with-pseudo-elements-expected.txt:
* fast/dom/Window/getMatchedCSSRules-with-pseudo-elements.html:
* fast/selectors/159.html:
* fast/selectors/160.html:
* fast/selectors/166.html:
* platform/efl/fast/selectors/166-expected.txt:
* platform/gtk/fast/selectors/166-expected.txt:
* platform/ios-sim/fast/selectors/166-expected.txt:
* platform/mac/fast/selectors/166-expected.txt:

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

4 years agoReplace OSObjectPtr with RetainPtr/adoptOS
weinig@apple.com [Sun, 28 Sep 2014 20:59:28 +0000 (20:59 +0000)]
Replace OSObjectPtr with RetainPtr/adoptOS
https://bugs.webkit.org/show_bug.cgi?id=137158

Reviewed by Dan Bernstein.

Source/WebKit2:

* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
(DatabaseServiceInitializer):
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
(NetworkServiceInitializer):
* Platform/IPC/Connection.h:
(IPC::Connection::Identifier::Identifier):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
* PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(PluginServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::checkEntitlements):
(WebKit::XPCServiceInitializerDelegate::hasEntitlement):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
(WebKit::connectToReExecService):
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):

Source/WTF:

* WTF.xcodeproj/project.pbxproj:
* wtf/OSObjectPtr.h: Removed.
* wtf/RetainPtr.h:
(WTF::adoptOS):
Added. This adopt function is slightly different than both adoptCF and adoptNS,
in that unlike adoptCF(), it can be passed an Objective-C type (since OS objects
are sometimes Objective-C objects, but not always), and unlike adoptNS() it doesn't
require us to jump through hoops to appease GC (since OS objects are not Objective-C
objects if GC is enabled).

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp: Removed.
* TestWebKitAPI/Tests/WTF/darwin/RetainPtrOSObject.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp.
Rename and change test to use RetainPtr. Remove now unneeded part testing WTF::retainOSObject/WTF::releaseOSObject.

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

4 years agoUnreviewed. Move RenderThemeGtk.h from platform/gtk to rendering.
carlosgc@webkit.org [Sun, 28 Sep 2014 08:23:11 +0000 (08:23 +0000)]
Unreviewed. Move RenderThemeGtk.h from platform/gtk to rendering.

I forgot to move this file in r173111.

* rendering/RenderThemeGtk.h: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.h.

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

4 years ago[ATK] WebKitAccessibleWrapperAtk should not depend on GTK
carlosgc@webkit.org [Sun, 28 Sep 2014 08:18:07 +0000 (08:18 +0000)]
[ATK] WebKitAccessibleWrapperAtk should not depend on GTK
https://bugs.webkit.org/show_bug.cgi?id=137177

Reviewed by Martin Robinson.

It's used to get the web view widget, but there's no GtkWidget in
the web process and platformPageClient is always NULL.

* PlatformGTK.cmake: Move accessibility sources to the WebCore
sources list.
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkParentOfRootObject): Remove code to get view GtkWidget.
* editing/atk/FrameSelectionAtk.cpp: Remove unneeded header include.

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

4 years ago[GTK] Remove unused GtkPluginWidget
carlosgc@webkit.org [Sun, 28 Sep 2014 08:14:51 +0000 (08:14 +0000)]
[GTK] Remove unused GtkPluginWidget
https://bugs.webkit.org/show_bug.cgi?id=137176

Reviewed by Csaba Osztrogonác.

It was only used by WebKit1.

* PlatformGTK.cmake:
* platform/gtk/GtkPluginWidget.cpp: Removed.
* platform/gtk/GtkPluginWidget.h: Removed.

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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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