llango.u-szeged@partner.samsung.com [Wed, 24 Sep 2014 16:11:20 +0000 (16:11 +0000)]
Update the list of u-szeged contributors.
Rubber-stamped by Csaba Osztrogonác <ossy@webkit.org>.
Tools:
* Scripts/webkitpy/common/config/contributors.json:
Websites/webkit.org:
* team.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173922
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 24 Sep 2014 15:56:26 +0000 (15:56 +0000)]
Use is<SVG*Element>() instead of isSVG*Element()
https://bugs.webkit.org/show_bug.cgi?id=137058
Reviewed by Dirk Schulze.
Use is<SVG*Element>() instead of isSVG*Element() and drop support for
generated isSVG*Element().
No new tests, no behavior change.
* css/CSSCursorImageValue.cpp:
(WebCore::resourceReferencedByCursorElement):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::useSVGZoomRulesForLength):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/make_names.pl:
(printTypeHelpers):
* editing/gtk/EditorGtk.cpp:
(WebCore::elementURL):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::isLiveLink):
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
* svg/SVGAltGlyphDefElement.cpp:
(WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::hasValidGlyphElements):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::hasValidAttributeType):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::isOutermostSVGSVGElement):
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::findLightElement):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::associatedFontElement):
(WebCore::SVGFontFaceElement::rebuildFontFace):
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::srcValue):
(WebCore::SVGFontFaceSrcElement::childrenChanged):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLocatable.cpp:
(WebCore::isViewportElement):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::pathElement):
(WebCore::SVGMPathElement::notifyParentOfPathChange):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setupInitialView):
* svg/SVGUseElement.cpp:
(WebCore::dumpInstanceTree):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173921
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 24 Sep 2014 12:53:29 +0000 (12:53 +0000)]
Unreviewed. Add more free icons for the Web Inspector in GTK+
Patch by Andres Gomez <agomez@igalia.com> on 2014-09-24
* UserInterface/Images/gtk/AUTHORS:
* UserInterface/Images/gtk/ApplicationCache.png: Added.
* UserInterface/Images/gtk/ApplicationCache@2x.png: Added.
* UserInterface/Images/gtk/BottomUpTree.svg: Added.
* UserInterface/Images/gtk/Breakpoint.png: Added.
* UserInterface/Images/gtk/Breakpoint@2x.png: Added.
* UserInterface/Images/gtk/BreakpointButton.svg:
* UserInterface/Images/gtk/BreakpointInactive.png: Added.
* UserInterface/Images/gtk/BreakpointInactive@2x.png: Added.
* UserInterface/Images/gtk/BreakpointInactiveButton.svg:
* UserInterface/Images/gtk/COPYING:
* UserInterface/Images/gtk/COPYING_CCBYSA3: Copied from Source/WebInspectorUI/UserInterface/Images/gtk/COPYING.
* UserInterface/Images/gtk/ClippingCSS.png: Added.
* UserInterface/Images/gtk/ClippingCSS@2x.png: Added.
* UserInterface/Images/gtk/ClippingGeneric.png: Added.
* UserInterface/Images/gtk/ClippingGeneric@2x.png: Added.
* UserInterface/Images/gtk/ClippingJS.png: Added.
* UserInterface/Images/gtk/ClippingJS@2x.png: Added.
* UserInterface/Images/gtk/CloseTimeline.png: Added.
* UserInterface/Images/gtk/CloseTimeline@2x.png: Added.
* UserInterface/Images/gtk/ColorIcon.png: Added.
* UserInterface/Images/gtk/ColorIcon@2x.png: Added.
* UserInterface/Images/gtk/Colors.png: Added.
* UserInterface/Images/gtk/Colors@2x.png: Added.
* UserInterface/Images/gtk/ColorsLarge.png: Added.
* UserInterface/Images/gtk/ColorsLarge@2x.png: Added.
* UserInterface/Images/gtk/Database.png: Added.
* UserInterface/Images/gtk/Database@2x.png: Added.
* UserInterface/Images/gtk/DatabaseTable.png: Added.
* UserInterface/Images/gtk/DatabaseTable@2x.png: Added.
* UserInterface/Images/gtk/HierarchicalNavigationItemChevron.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner1.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner10.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner11.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner12.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner2.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner3.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner4.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner5.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner6.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner7.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner8.svg: Added.
* UserInterface/Images/gtk/IndeterminateProgressSpinner9.svg: Added.
* UserInterface/Images/gtk/Issues.svg: Added.
* UserInterface/Images/gtk/IssuesEnabled.svg: Added.
* UserInterface/Images/gtk/LayerBorders.svg: Added.
* UserInterface/Images/gtk/LessColumns.svg: Added.
* UserInterface/Images/gtk/LocalStorage.png: Added.
* UserInterface/Images/gtk/LocalStorage@2x.png: Added.
* UserInterface/Images/gtk/Locked.svg: Added.
* UserInterface/Images/gtk/Logs.svg: Added.
* UserInterface/Images/gtk/Memory.svg: Added.
* UserInterface/Images/gtk/MoreColumns.svg: Added.
* UserInterface/Images/gtk/Native.svg: Added.
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Added.
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Added.
* UserInterface/Images/gtk/NavigationItemBug.svg: Added.
* UserInterface/Images/gtk/NavigationItemCurleyBraces.svg: Added.
* UserInterface/Images/gtk/NavigationItemFile.svg: Added.
* UserInterface/Images/gtk/NavigationItemLayers.svg: Added.
* UserInterface/Images/gtk/NavigationItemLog.svg: Added.
* UserInterface/Images/gtk/NavigationItemMagnifyingGlass.svg: Added.
* UserInterface/Images/gtk/NavigationItemStopwatch.svg: Added.
* UserInterface/Images/gtk/NavigationItemStorage.svg: Added.
* UserInterface/Images/gtk/NavigationItemTrash.svg: Added.
* UserInterface/Images/gtk/NavigationItemVariable.svg: Added.
* UserInterface/Images/gtk/Network.png: Added.
* UserInterface/Images/gtk/Network@2x.png: Added.
* UserInterface/Images/gtk/NetworkLarge.png: Added.
* UserInterface/Images/gtk/NetworkLarge@2x.png: Added.
* UserInterface/Images/gtk/Pause.svg: Added.
* UserInterface/Images/gtk/Percent.svg: Added.
* UserInterface/Images/gtk/Plus.svg: Added.
* UserInterface/Images/gtk/PseudoElement.svg: Added.
* UserInterface/Images/gtk/Reflection.svg: Added.
* UserInterface/Images/gtk/Reload.svg: Added.
* UserInterface/Images/gtk/Request.svg: Added.
* UserInterface/Images/gtk/Response.svg: Added.
* UserInterface/Images/gtk/ResultLine.svg: Added.
* UserInterface/Images/gtk/Resume.svg: Added.
* UserInterface/Images/gtk/SessionStorage.png: Added.
* UserInterface/Images/gtk/SessionStorage@2x.png: Added.
* UserInterface/Images/gtk/ShadowDOM.svg: Added.
* UserInterface/Images/gtk/SourceCode.svg: Added.
* UserInterface/Images/gtk/SplitToggleDown.svg: Added.
* UserInterface/Images/gtk/SplitToggleUp.svg: Added.
* UserInterface/Images/gtk/StepInto.svg: Added.
* UserInterface/Images/gtk/StepOut.svg: Added.
* UserInterface/Images/gtk/StepOver.svg: Added.
* UserInterface/Images/gtk/StyleRuleAuthor.svg: Added.
* UserInterface/Images/gtk/StyleRuleInherited.svg: Added.
* UserInterface/Images/gtk/StyleRuleInheritedElement.svg: Added.
* UserInterface/Images/gtk/StyleRuleInspector.svg: Added.
* UserInterface/Images/gtk/StyleRuleUser.svg: Added.
* UserInterface/Images/gtk/StyleRuleUserAgent.svg: Added.
* UserInterface/Images/gtk/Time.svg: Added.
* UserInterface/Images/gtk/TimelineRecordAnimation.svg: Added.
* UserInterface/Images/gtk/TimelineRecordEvent.svg: Added.
* UserInterface/Images/gtk/TimelineRecordLayout.svg: Added.
* UserInterface/Images/gtk/TimelineRecordPaint.svg: Added.
* UserInterface/Images/gtk/TimelineRecordScriptEvaluated.svg: Added.
* UserInterface/Images/gtk/TimelineRecordStyle.svg: Added.
* UserInterface/Images/gtk/TimelineRecordTimer.svg: Added.
* UserInterface/Images/gtk/Undock.svg: Added.
* UserInterface/Images/gtk/UserInputPrompt.svg: Added.
* UserInterface/Images/gtk/UserInputPromptPrevious.svg: Added.
* UserInterface/Images/gtk/UserInputResult.svg: Added.
* UserInterface/Images/gtk/Warning.svg: Added.
* UserInterface/Images/gtk/Weight.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173912
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 24 Sep 2014 09:14:32 +0000 (09:14 +0000)]
Unreviewed, rolling out r173839.
https://bugs.webkit.org/show_bug.cgi?id=137062
NumberConstruct should no longer use static tables (Requested
by dpino on #webkit).
Reverted changeset:
"Simple ES6 feature: Number constructor extras"
https://bugs.webkit.org/show_bug.cgi?id=131707
http://trac.webkit.org/changeset/173839
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173911
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 24 Sep 2014 07:56:52 +0000 (07:56 +0000)]
Remove the style marking from :nth-child()
https://bugs.webkit.org/show_bug.cgi?id=137055
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-24
Reviewed by Andreas Kling.
Source/WebCore:
Previously, :nth-child() had to mark the RenderStyle as unique in order
to prevent it from being used for style sharing.
After r173229, :nth-child() use the more generic element marking
"StyleIsAffectedByPreviousSibling".
In StyleResolver::canShareStyleWithElement(), StyleIsAffectedByPreviousSibling
is already used to prevent style sharing of those elements, making the "Unique"
flag redundant.
Since it is now useless, remove the style marking from SelectorChecker and the CSS JIT.
Tests: fast/css/nth-child-style-sharing-even.html
fast/css/nth-child-style-sharing-fixed-integer.html
fast/css/nth-child-style-sharing-odd.html
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::setElementChildIndexAndUpdateStyle): Deleted.
* rendering/style/RenderStyle.h:
LayoutTests:
Add basic tests for style sharing with :nth-child().
* fast/css/nth-child-style-sharing-even-expected.html: Added.
* fast/css/nth-child-style-sharing-even.html: Added.
* fast/css/nth-child-style-sharing-fixed-integer-expected.html: Added.
* fast/css/nth-child-style-sharing-fixed-integer.html: Added.
* fast/css/nth-child-style-sharing-odd-expected.html: Added.
* fast/css/nth-child-style-sharing-odd.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173910
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 24 Sep 2014 05:10:18 +0000 (05:10 +0000)]
2014-09-23 Geoffrey Garen <ggaren@apple.com>
Rolled out r173346.
bmalloc should honor the FastMalloc statistics API
https://bugs.webkit.org/show_bug.cgi?id=136592
This didn't really work. Because we allow ranges with and without
physical pages to merge, and we allow double-committing and
double-decommitting, we can't rely on commit actions to track memory
footprint.
* wtf/FastMalloc.cpp:
(WTF::fastMallocStatistics):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173909
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 24 Sep 2014 05:07:19 +0000 (05:07 +0000)]
2014-09-23 Geoffrey Garen <ggaren@apple.com>
Rolled out r173346.
bmalloc should honor the FastMalloc statistics API
https://bugs.webkit.org/show_bug.cgi?id=136592
This didn't really work. Because we allow ranges with and without
physical pages to merge, and we allow double-committing and
double-decommitting, we can't rely on commit actions to track memory
footprint.
* bmalloc/Heap.cpp:
(bmalloc::Heap::size): Deleted.
(bmalloc::Heap::capacity): Deleted.
* bmalloc/Heap.h:
* bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::allocateMediumChunk):
(bmalloc::VMHeap::allocateLargeChunk):
* bmalloc/VMHeap.h:
(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::deallocateMediumPage):
(bmalloc::VMHeap::deallocateLargeRange):
(bmalloc::VMHeap::size): Deleted.
(bmalloc::VMHeap::capacity): Deleted.
* bmalloc/bmalloc.h:
(bmalloc::api::heapSize): Deleted.
(bmalloc::api::heapCapacity): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173908
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 24 Sep 2014 03:31:50 +0000 (03:31 +0000)]
Add support for is<HTML*Element>() for type checking
https://bugs.webkit.org/show_bug.cgi?id=137015
Reviewed by Benjamin Poulain.
Add support for is<HTML*Element>() for type checking while keeping
support for the legacy toHTML*Element() form until the code base is
ported.
toHTML*Element() helpers are now macros to the new is<HTML*Element>()
type checking helpers.
No new tests, no behavior change.
* dom/Document.cpp:
(WebCore::Document::setTitle):
* dom/Element.cpp:
(WebCore::Element::childShouldCreateRenderer):
* dom/Element.h:
(WebCore::is):
(WebCore::downcast):
(WebCore::isElementOfType): Deleted.
* dom/ElementAncestorIterator.h:
(WebCore::lineageOfType):
* dom/ElementIterator.h:
(WebCore::findElementAncestorOfType):
* dom/ElementTraversal.h:
(WebCore::Traversal<ElementType>::firstChildTemplate):
(WebCore::Traversal<ElementType>::lastChildTemplate):
(WebCore::Traversal<ElementType>::firstWithinTemplate):
(WebCore::Traversal<ElementType>::lastWithinTemplate):
(WebCore::Traversal<ElementType>::nextTemplate):
(WebCore::Traversal<ElementType>::previous):
(WebCore::Traversal<ElementType>::nextSibling):
(WebCore::Traversal<ElementType>::previousSibling):
(WebCore::Traversal<ElementType>::nextSkippingChildren):
* dom/TypedElementDescendantIterator.h:
(WebCore::TypedElementDescendantIteratorAdapter<ElementType>::from):
(WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::from):
* dom/make_names.pl:
(printTypeHelpers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173907
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 24 Sep 2014 03:17:44 +0000 (03:17 +0000)]
The style resolution cache applies properties incorrectly whenever direction != ltr
https://bugs.webkit.org/show_bug.cgi?id=137052
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-23
Reviewed by Andreas Kling.
Source/WebCore:
The optimization r135021 introduced a bug whenever the direction of subtree is not
uniform in the whole page.
When StyleResolver::applyMatchedProperties() resolves the style, some properties are
resolved differently based on the writing-mode and the direction.
In isCacheableInMatchedPropertiesCache(), the cases for writing-mode are already handled
by not caching any style with anything else than the default.
The direction was ignored, causing the bugs solved here.
Tests: css3/flexbox/flex-flow-2.html
fast/css/style-resolver-cache-direction-1.html
fast/css/style-resolver-cache-direction-2.html
fast/css/style-resolver-cache-direction-3.html
* css/StyleResolver.cpp:
(WebCore::isCacheableInMatchedPropertiesCache):
LayoutTests:
* css3/flexbox/flex-flow-2-expected.txt: Added.
* css3/flexbox/flex-flow-2.html: Added.
The test flex-flow.html should have uncovered the bug. It did not because it uses
:nth-child(), which disable style optimizations.
flex-flow-2.html is a copy of flex-flow.html using classes instead of :nth-child().
This would have caught the bug.
* fast/css/style-resolver-cache-direction-1-expected.html: Added.
* fast/css/style-resolver-cache-direction-1.html: Added.
* fast/css/style-resolver-cache-direction-2-expected.html: Added.
* fast/css/style-resolver-cache-direction-2.html: Added.
* fast/css/style-resolver-cache-direction-3-expected.html: Added.
* fast/css/style-resolver-cache-direction-3.html: Added.
New basic tests for the fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173906
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 24 Sep 2014 01:45:40 +0000 (01:45 +0000)]
Have CSS classes' methods return more references
https://bugs.webkit.org/show_bug.cgi?id=137036
Reviewed by Ryosuke Niwa.
Have CSS classes' methods return more references instead of pointers
when possible.
No new tests, no behavior change.
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::style):
* css/CSSFontFaceRule.h:
* css/CSSGroupingRule.cpp:
(WebCore::CSSGroupingRule::cssRules):
* css/CSSGroupingRule.h:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::media):
* css/CSSImportRule.h:
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::style):
* css/CSSPageRule.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::style):
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::style):
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::cssRules):
* css/WebKitCSSKeyframesRule.h:
* css/WebKitCSSViewportRule.cpp:
(WebCore::WebKitCSSViewportRule::style):
* css/WebKitCSSViewportRule.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyleSheet::setRuleSelector):
(WebCore::InspectorStyleSheet::deleteRule):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::styleForId):
(WebCore::InspectorStyleSheet::ruleIndexByStyle):
(WebCore::InspectorStyleSheet::ruleId):
(WebCore::InspectorStyleSheet::revalidateStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173905
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Wed, 24 Sep 2014 00:52:37 +0000 (00:52 +0000)]
[Windows] Enable CSS Supports Rule on Windows.
* win/tools/vsprops/FeatureDefines.props:
* css/CSSAllInOne.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173904
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Wed, 24 Sep 2014 00:46:22 +0000 (00:46 +0000)]
[Windows] More debugging for the Windows bots.
* Scripts/webkitpy/common/system/path.py:
(_CygPath):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173903
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Wed, 24 Sep 2014 00:16:25 +0000 (00:16 +0000)]
Unreviewed. Fix for r173899, those tabs should be spaces.
* Scripts/webkitpy/port/driver.py:
(Driver._command_from_driver_input):
(Driver): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173902
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Wed, 24 Sep 2014 00:08:40 +0000 (00:08 +0000)]
[Windows] More windows test gardening of some fast/dom tests.
* platform/win/TestExpectations:
* platform/win/fast/dom/NavigatorContentUtils: Added.
* platform/win/fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Added.
* platform/win/fast/dom/navigator-detached-no-crash-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173901
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Tue, 23 Sep 2014 23:58:09 +0000 (23:58 +0000)]
[Win] 64-bit Build fix after r173882.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add correct 64-bit mangled symbol name.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173900
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Tue, 23 Sep 2014 23:34:49 +0000 (23:34 +0000)]
[Windows] Add some logging to debug a problem with the Windows bots that causes layout tests to exit early.
* Scripts/webkitpy/port/driver.py:
(Driver):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Tue, 23 Sep 2014 22:29:35 +0000 (22:29 +0000)]
DebuggerCallFrame::invalidate() should invalidate all DebuggerScope chains.
<https://webkit.org/b/137045>
Reviewed by Geoffrey Garen.
DebuggerCallFrame::invalidate() currently invalidates all DebuggerCallFrames
in the debugger stack, but only invalidates the DebuggerScope chain of the
top most frame. We should also invalidate all the DebuggerScope chains of
the other frames in the debugger stack.
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::invalidate):
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::invalidateChain):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173896
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 22:27:38 +0000 (22:27 +0000)]
Unreviewed build fix after r173893.
Partial revert of r173893 to fix debug builds.
Source/WebCore:
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::text):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName):
(WebCore::Element::updateId):
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand):
(WebCore::findFirstMarkable):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::matchesReadWritePseudoClass):
(WebCore::HTMLElement::directionality):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):
* html/HTMLPlugInImageElement.cpp:
(WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
* html/HTMLTextFormControlElement.cpp:
(WebCore::enclosingTextFormControl):
* page/FrameView.cpp:
(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::updateEmbeddedObject):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absolutePDFURL):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::plugInImageElement):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textFormControlElement):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* testing/Internals.cpp:
(WebCore::Internals::visiblePlaceholder):
Source/WebKit/win:
* DOMHTMLClasses.cpp:
(DOMHTMLDocument::URL):
(DOMHTMLDocument::body):
(DOMHTMLDocument::forms):
Source/WebKit2:
* 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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Tue, 23 Sep 2014 22:16:25 +0000 (22:16 +0000)]
Implement snapping behavior for Mac overflow scrolling
https://bugs.webkit.org/show_bug.cgi?id=135774
Patch by Wenson Hsieh <wenson_hsieh@apple.com> on 2014-09-22
Reviewed by Beth Dakin.
Hooks into AxisScrollSnapAnimator to implement overflow scroll snapping on Mac.
We need to find a way to test this!
* dom/Element.cpp:
(WebCore::Element::dispatchWheelEvent):
* page/EventHandler.cpp:
(WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent):
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
(WebCore::ScrollAnimator::scrollOffsetInAxis):
(WebCore::ScrollAnimator::immediateScrollInAxis):
(WebCore::ScrollAnimator::startScrollSnapTimer):
(WebCore::ScrollAnimator::stopScrollSnapTimer):
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired):
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired):
* platform/ScrollAnimator.h:
* platform/mac/AxisScrollSnapAnimator.h:
* platform/mac/AxisScrollSnapAnimator.mm:
(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator):
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::endScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::initializeGlideParameters):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173894
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 22:03:15 +0000 (22:03 +0000)]
Use downcast<HTML*Element>() instead of toHTML*Element()
https://bugs.webkit.org/show_bug.cgi?id=137007
Reviewed by Benjamin Poulain.
Source/WebCore:
Use downcast<HTML*Element>() instead of toHTML*Element() and drop
transition macros for toHTML*Element().
This patch also cleans up the surrounding code.
No new tests, no behavior change.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::labelChanged):
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
(WebCore::AccessibilityListBox::addChildren):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::isSelected):
(WebCore::AccessibilityListBoxOption::stringValue):
(WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaTimeline::valueDescription):
* accessibility/AccessibilityMenuListOption.cpp:
(WebCore::AccessibilityMenuListOption::isEnabled):
(WebCore::AccessibilityMenuListOption::isSelected):
(WebCore::AccessibilityMenuListOption::setSelected):
(WebCore::AccessibilityMenuListOption::stringValue):
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::addChildren):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::isNativeTextControl):
(WebCore::AccessibilityNodeObject::isNativeImage):
(WebCore::AccessibilityNodeObject::isInputImage):
(WebCore::AccessibilityNodeObject::isMultiSelectable):
(WebCore::AccessibilityNodeObject::isReadOnly):
(WebCore::AccessibilityNodeObject::valueForRange):
(WebCore::AccessibilityNodeObject::maxValueForRange):
(WebCore::AccessibilityNodeObject::minValueForRange):
(WebCore::isNodeActionElement):
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::text):
(WebCore::AccessibilityNodeObject::stringValue):
(WebCore::AccessibilityNodeObject::colorValue):
(WebCore::accessibleNameForNode):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isFileUploadButton):
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::labelElementContainer):
(WebCore::AccessibilityRenderObject::internalLinkElement):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::url):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::getDocumentLinks):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
(WebCore::AccessibilityRenderObject::stringValueForMSAA):
(WebCore::AccessibilityRenderObject::isLinked):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::inputElement):
(WebCore::AccessibilitySliderThumb::elementRect):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::title):
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::notifyChildrenSelectionChange):
* accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
(optionFromSelection):
(webkitAccessibleSelectionGetSelectionCount):
* accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
(webkitAccessibleTableGetCaption):
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetDescription):
* accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::AccessibilityObject::accessibilityPasswordFieldLength):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorCheckerTestFunctions.h:
(WebCore::isChecked):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* css/StyleSheetList.cpp:
(WebCore::StyleSheetList::getNamedItem):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
* dom/CurrentScriptIncrementer.h:
(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::setDragImage):
* dom/Document.cpp:
(WebCore::Document::setTitle):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::iconURLs):
* dom/DocumentOrderedMap.cpp:
(WebCore::keyMatchesMapName):
(WebCore::keyMatchesLowercasedMapName):
(WebCore::keyMatchesLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
(WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName):
(WebCore::Element::updateId):
(WebCore::Element::updateLabel):
(WebCore::Element::ensureCachedHTMLCollection):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/VisitedLinkState.cpp:
(WebCore::linkHashForElement):
(WebCore::VisitedLinkState::determineLinkStateSlowCase):
* dom/make_names.pl:
(printTypeHelpers):
* editing/Editor.cpp:
(WebCore::Editor::selectionForCommand):
(WebCore::imageElementFromImageDocument):
(WebCore::findFirstMarkable):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectAll):
(WebCore::scanForForm):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::nonBoundaryShadowTreeRootNode):
(WebCore::VisibleSelection::isInPasswordField):
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processElement):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
* editing/markup.cpp:
(WebCore::isPlainTextMarkup):
* html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestions):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::findAssociatedForm):
* html/HTMLAnchorElement.cpp:
(WebCore::appendServerMapMousePosition):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::imageElement):
* html/HTMLCollection.cpp:
(WebCore::isMatchingElement):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::matchesReadWritePseudoClass):
(WebCore::HTMLElement::setInnerHTML):
(WebCore::HTMLElement::directionality):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
(WebCore::shouldAutofocus):
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::formControlElements):
(WebCore::HTMLFormControlsCollection::formImageElements):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::getTextFieldValues):
(WebCore::HTMLFormElement::assertItemCanBeInPastNamesMap):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::notifyFinished):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::dataList):
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::shadowSelect):
* html/HTMLLegendElement.cpp:
(WebCore::HTMLLegendElement::virtualForm):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLNameCollection.cpp:
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatches):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):
(WebCore::HTMLObjectElement::containsJavaApplet):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions):
(WebCore::HTMLOptGroupElement::ownerSelectElement):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::ownerDataListElement):
(WebCore::HTMLOptionElement::ownerSelectElement):
* html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add):
* html/HTMLOptionsCollection.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::hasPlaceholderLabelOption):
(WebCore::HTMLSelectElement::value):
(WebCore::HTMLSelectElement::setValue):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::searchOptionsForValue):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::optionAtIndex):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::detailsElement):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::caption):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::findParentTable):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::rowIndex):
* html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::rowAfter):
(WebCore::HTMLTableRowsCollection::lastRow):
(WebCore::HTMLTableRowsCollection::customElementAfter):
* html/HTMLTableRowsCollection.h:
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::cloneNode):
* html/HTMLTextFormControlElement.cpp:
(WebCore::enclosingTextFormControl):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::elementMatches):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::descendentVideoElement):
(WebCore::ancestorVideoElement):
(WebCore::MediaDocument::replaceMediaElementTimerFired):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::updateTickMarkValues):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::insert):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::rendererIsNeeded):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterShadowElement::meterElement):
* html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressShadowElement::progressElement):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::handleFallbackContent):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestObject):
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip):
* page/DragController.cpp:
(WebCore::DragController::draggableElement):
* page/EventHandler.cpp:
(WebCore::isSubmitImage):
* page/FocusController.cpp:
(WebCore::FocusController::advanceFocusDirectionally):
* page/FrameView.cpp:
(WebCore::FrameView::addEmbeddedObjectToUpdate):
(WebCore::FrameView::updateEmbeddedObject):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* page/SpatialNavigation.cpp:
(WebCore::FocusCandidate::FocusCandidate):
* page/ios/FrameIOS.mm:
(WebCore::ancestorRespondingToClickEvents):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::absolutePDFURL):
(WebCore::HitTestResult::enterFullscreenForVideo):
(WebCore::HitTestResult::mediaControlsEnabled):
(WebCore::HitTestResult::isLiveLink):
(WebCore::HitTestResult::isContentEditable):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::updateFromElement):
* rendering/RenderCounter.cpp:
(WebCore::planCounter):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintContents):
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::inputElement):
(WebCore::RenderFileUploadControl::uploadButton):
* rendering/RenderFrame.cpp:
(WebCore::RenderFrame::frameElement):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::frameSetElement):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::canvasElement):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::iframeElement):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::paintAreaElementFocusRing):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::imageMap):
(WebCore::RenderImage::updateAltText):
* rendering/RenderLayerBacking.cpp:
(WebCore::canvasCompositingStrategy):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateConfiguration):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::selectElement):
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::marqueeSpeed):
* rendering/RenderMenuList.cpp:
(WebCore::selectedOptionCount):
(RenderMenuList::selectElement):
(RenderMenuList::updateOptionsWidth):
(RenderMenuList::setTextFromOption):
(RenderMenuList::itemText):
(RenderMenuList::itemIsSelected):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::meterElement):
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::progressElement):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::element):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::plugInImageElement):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::textFormControlElement):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::textAreaElement):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::inputElement):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::videoElement):
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::imageForRenderer):
* svg/svgtags.in:
Generate helpers to SVGAElement so that isSVGAElement() can be used
instead of hasTagName(SVGNames::aTag). I did such update in this
patch.
* testing/Internals.cpp:
(WebCore::Internals::visiblePlaceholder):
(WebCore::Internals::wasLastChangeUserEdit):
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
(WebCore::Internals::isSelectPopupVisible):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startElementNs):
Source/WebKit/ios:
Use downcast<HTML*Element>() instead of toHTML*Element().
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::focusedElementChanged):
Source/WebKit/mac:
Use downcast<HTML*Element>() instead of toHTML*Element().
* DOM/WebDOMOperations.mm:
(-[DOMHTMLInputElement _setAutofilled:]):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedElementChanged):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textFieldDidBeginEditing):
(WebEditorClient::textFieldDidEndEditing):
(WebEditorClient::textDidChangeInTextField):
(WebEditorClient::doTextFieldCommandFromEvent):
(WebEditorClient::textWillBeDeletedInTextField):
(WebEditorClient::textDidChangeInTextArea):
* WebView/WebHTMLRepresentation.mm:
(inputElementFromDOMElement):
Source/WebKit/win:
Use downcast<HTML*Element>() instead of toHTML*Element().
* DOMHTMLClasses.cpp:
(DOMHTMLDocument::URL):
(DOMHTMLDocument::body):
(DOMHTMLDocument::forms):
(DOMHTMLFormElement::action):
(DOMHTMLFormElement::method):
(DOMHTMLSelectElement::options):
(DOMHTMLSelectElement::activateItemAtIndex):
(DOMHTMLOptionElement::text):
(DOMHTMLOptionElement::label):
(DOMHTMLInputElement::form):
(DOMHTMLInputElement::disabled):
(DOMHTMLInputElement::readOnly):
(DOMHTMLInputElement::setType):
(DOMHTMLInputElement::value):
(DOMHTMLInputElement::setValue):
(DOMHTMLInputElement::setValueForUser):
(DOMHTMLInputElement::select):
(DOMHTMLInputElement::setSelectionStart):
(DOMHTMLInputElement::selectionStart):
(DOMHTMLInputElement::setSelectionEnd):
(DOMHTMLInputElement::selectionEnd):
(DOMHTMLInputElement::isTextField):
(DOMHTMLInputElement::replaceCharactersInRange):
(DOMHTMLInputElement::selectedRange):
(DOMHTMLInputElement::setAutofilled):
(DOMHTMLInputElement::isAutofilled):
(DOMHTMLInputElement::isUserEdited):
(DOMHTMLTextAreaElement::form):
(DOMHTMLTextAreaElement::value):
(DOMHTMLTextAreaElement::setValue):
(DOMHTMLTextAreaElement::select):
(DOMHTMLTextAreaElement::isUserEdited):
(DOMHTMLIFrameElement::contentFrame):
* WebFrame.cpp:
(formElementFromDOMElement):
(inputElementFromDOMElement):
Source/WebKit2:
Use downcast<HTML*Element>() instead of toHTML*Element().
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::isTextField):
(WebKit::InjectedBundleNodeHandle::htmlTableCellElementCellAbove):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::commit):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::createAnnotationElement):
(WebKit::PDFPluginTextAnnotation::value):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::pluginSnapshotTimerFired):
(WebKit::PluginView::pluginDidReceiveUserInteraction):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::focusedElementChanged):
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textFieldDidBeginEditing):
(WebKit::WebEditorClient::textFieldDidEndEditing):
(WebKit::WebEditorClient::textDidChangeInTextField):
(WebKit::WebEditorClient::textDidChangeInTextArea):
(WebKit::WebEditorClient::doTextFieldCommandFromEvent):
(WebKit::WebEditorClient::textWillBeDeletedInTextField):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setAssistedNodeValue):
(WebKit::WebPage::setAssistedNodeValueAsNumber):
(WebKit::WebPage::setAssistedNodeSelectedIndex):
(WebKit::isAssistableNode): Deleted.
(WebKit::WebPage::getAssistedNodeInformation): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173893
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Tue, 23 Sep 2014 21:24:01 +0000 (21:24 +0000)]
Renamed DebuggerCallFrameScope to DebuggerPausedScope.
<https://webkit.org/b/137042>
Reviewed by Michael Saboff.
DebuggerPausedScope is a better name for this data structure because it
is meant for tracking the period within which the debugger is paused,
and doing clean ups after the pause ends.
* debugger/Debugger.cpp:
(JSC::DebuggerPausedScope::DebuggerPausedScope):
(JSC::DebuggerPausedScope::~DebuggerPausedScope):
(JSC::Debugger::pauseIfNeeded):
(JSC::DebuggerCallFrameScope::DebuggerCallFrameScope): Deleted.
(JSC::DebuggerCallFrameScope::~DebuggerCallFrameScope): Deleted.
* debugger/Debugger.h:
* debugger/DebuggerCallFrame.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 21:21:17 +0000 (21:21 +0000)]
Have DataTransfer::files() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137039
Reviewed by Ryosuke Niwa.
Have DataTransfer::files() return a reference instead of a pointer as
it can never return null.
No new tests, no behavior change.
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::files):
* dom/DataTransfer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 21:17:28 +0000 (21:17 +0000)]
Have NamedNodeMap::element() and DOMStringMap::element() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137040
Reviewed by Ryosuke Niwa.
Have NamedNodeMap::element() and DOMStringMap::element() return a
reference instead of a pointer as they can never return null.
No new tests, no behavior change.
* dom/DatasetDOMStringMap.h:
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::element):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 23 Sep 2014 21:08:36 +0000 (21:08 +0000)]
Web Inspector: Remove UserInterface/Images/gtk from Apple builds
https://bugs.webkit.org/show_bug.cgi?id=136955
Reviewed by Joseph Pecoraro.
* Scripts/copy-user-interface-resources.pl:
Remove Images/Legacy and Images/gtk on Mac and Windows builds by looking
at the MAC_OS_X_VERSION_MAJOR and OFFICIAL_BUILD environment vars.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 23 Sep 2014 21:04:53 +0000 (21:04 +0000)]
REGRESSION (r171197): Clip's content is drawn behind Safari window when entering Full Screen youtube html5 first time
https://bugs.webkit.org/show_bug.cgi?id=137029
Reviewed by Brent Fulgham.
In r171197, we ordered the full screen window on- and off-screen so that the fullscreen animation went to the
correct screen, which introduced a subtle glitch at the beginning and end of an animation. For entering, ensure
that the window is scaled to its starting size before ordering on-screen. For exiting, order the window off-
screen before resetting its clipping rect.
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Tue, 23 Sep 2014 20:54:14 +0000 (20:54 +0000)]
[Tools] git-commit uses wrong ChangeLog when run from a subdirectory
https://bugs.webkit.org/show_bug.cgi?id=137031
Reviewed by Joseph Pecoraro.
commit-log-editor is run from the top of the Git checkout, even when git-commit is invoked
from a subdirectory, making the parsed locations of ChangeLog files incorrect. Git provides
a mapping prefix in the GIT_PREFIX environment variable, so apply this prefix to the parsed
ChangeLog locations before passing them to createCommitMessage().
* Scripts/commit-log-editor:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 20:21:51 +0000 (20:21 +0000)]
[CLoop] - Fix CLoop on the 32-bit Big-Endians
https://bugs.webkit.org/show_bug.cgi?id=137020
Patch by Tomas Popela <tpopela@redhat.com> on 2014-09-23
Reviewed by Mark Lam.
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173886
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 19:53:08 +0000 (19:53 +0000)]
Have DOMImplementation::document() and Element::attributes() return references
https://bugs.webkit.org/show_bug.cgi?id=137035
Reviewed by Andreas Kling.
Have DOMImplementation::document() and Element::attributes() return
references instead of pointers as they can never return null.
No new tests, no behavior change.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Update the JS Bindings code generator to use WTF::getPtr() in a couple
more places so that the implementation can return references instead
of pointers even when [GenerateIsReachable=xxx] IDL extended attribute
is used.
* dom/DOMImplementation.h:
(WebCore::DOMImplementation::document):
* dom/Element.cpp:
(WebCore::Element::attributes):
* dom/Element.h:
(WebCore::Node::attributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173885
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 19:30:18 +0000 (19:30 +0000)]
Have Document::ensureTemplateDocument() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137033
Reviewed by Ryosuke Niwa.
Have Document::ensureTemplateDocument() return a reference instead of
a pointer as it can never return null.
No new tests, no behavior change.
* dom/Document.cpp:
(WebCore::Document::ensureTemplateDocument):
* dom/Document.h:
* editing/markup.cpp:
(WebCore::createFragmentForInnerOuterHTML):
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::content):
(WebCore::HTMLTemplateElement::didMoveToNewDocument):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173884
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 18:44:41 +0000 (18:44 +0000)]
Have Document::accessSVGExtensions() return a reference
https://bugs.webkit.org/show_bug.cgi?id=137030
Reviewed by Ryosuke Niwa.
Have Document::accessSVGExtensions() return a reference instead of a
pointer as it can never return null.
No new tests, no behavior change.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::removeChildren):
* dom/Document.cpp:
(WebCore::Document::commonTeardown):
(WebCore::Document::implicitClose):
(WebCore::Document::accessSVGExtensions):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore::Element::removedFrom):
* editing/markup.cpp:
(WebCore::isPlainTextMarkup):
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::buildReferenceFilter):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::removeFromCacheAndInvalidateDependencies):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::svgExtensionsFromElement):
* rendering/svg/RenderSVGResourceContainer.h:
(WebCore::getRenderSVGResourceContainerById):
(WebCore::getRenderSVGResourceById):
* rendering/svg/SVGResources.cpp:
(WebCore::registerPendingResource):
(WebCore::SVGResources::buildCachedResources):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::resourcesCacheFromRenderer):
(WebCore::SVGResourcesCache::resourceDestroyed):
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::reportAttributeParsingError):
(WebCore::SVGElement::removedFrom):
(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::attributeChanged):
(WebCore::SVGElement::buildPendingResourcesIfNeeded):
(WebCore::SVGElement::accessDocumentSVGExtensions): Deleted.
* svg/SVGElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::clearResourceReferences):
(WebCore::SVGFEImageElement::buildPendingResource):
* svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::insertedInto):
(WebCore::SVGFontFaceElement::removedFrom):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::buildPendingResource):
(WebCore::SVGMPathElement::clearResourceReferences):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::parseAttribute):
(WebCore::SVGPathElement::invalidateMPathDependencies):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::parseAttribute):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::insertedInto):
(WebCore::SVGSVGElement::removedFrom):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::detachTarget):
(WebCore::SVGTRefElement::buildPendingResource):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::clearResourceReferences):
(WebCore::SVGTextPathElement::buildPendingResource):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::clearResourceReferences):
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::buildInstanceTree):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::clearResourceReferences):
(WebCore::SVGSMILElement::buildPendingResource):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173883
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 18:38:24 +0000 (18:38 +0000)]
Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
https://bugs.webkit.org/show_bug.cgi?id=136893
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-23
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Adds new remote inspector protocol handling for automatic inspection.
Debuggers can signal they have enabled automatic inspection, and
when debuggables are created the current application will pause to
see if the debugger will inspect or decline to inspect the debuggable.
* inspector/remote/RemoteInspectorConstants.h:
* inspector/remote/RemoteInspector.h:
* inspector/remote/RemoteInspector.mm:
(Inspector::globalAutomaticInspectionState):
(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::start):
When first starting, check the global "is there an auto-inspect" debugger state.
This is necessary so that the current application knows if it should pause or
not when a debuggable is created, even without having connected to webinspectord yet.
(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate):
When a debuggable has enabled remote inspection, take this path to propose
it as an automatic inspection candidate if there is an auto-inspect debugger.
(Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage):
Send the automatic inspection candidate message.
(Inspector::RemoteInspector::receivedSetupMessage):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupSucceeded):
After attempting to open an inspector, unpause if it was for the
automatic inspection candidate.
(Inspector::RemoteInspector::waitingForAutomaticInspection):
When running a nested runloop, check if we should remain paused.
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
If by the time we connect to webinspectord we have a candidate, then
immediately send the candidate message.
(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::xpcConnectionFailed):
In error cases, clear our state.
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::receivedAutomaticInspectionConfigurationMessage):
(Inspector::RemoteInspector::receivedAutomaticInspectionRejectMessage):
Update state when receiving new messages.
* inspector/remote/RemoteInspectorDebuggable.h:
* inspector/remote/RemoteInspectorDebuggable.cpp:
(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
Special case when a debuggable is newly allowed to be debuggable.
(Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection):
Run a nested run loop while this is an automatic inspection candidate.
* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
When the inspector starts via automatic inspection automatically pause.
We plan on removing this condition by having the frontend signal to the
backend when it is completely initialized.
* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::setup):
Pass on the flag of whether or not this was automatic inspection.
* runtime/JSGlobalObjectDebuggable.h:
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection):
When pausing in a JSGlobalObject we need to release the API lock.
Source/WebCore:
Automatic inspection is currently disabled for web pages.
This just updates the interfaces that changed.
* WebCore.exp.in:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::show):
* inspector/InspectorController.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::connect):
* page/PageDebuggable.h:
* testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):
Source/WebKit:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Source/WebKit2:
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::remoteFrontendConnected):
Source/WTF:
Currently automatic inspection only happens in processes that have a
debugger attached. That condition may change in the future, but this
function can stand on its own in WTF. It may be useful in the future
to perhaps continue though ASSERTs if you have a debugger attached.
* wtf/Assertions.cpp:
* wtf/Assertions.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173882
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Tue, 23 Sep 2014 18:24:02 +0000 (18:24 +0000)]
bmalloc: Allocation should be more precise
https://bugs.webkit.org/show_bug.cgi?id=136993
Reviewed by Gavin Barraclough.
13% reduction in heap size on the MallocBench *_memory_warning benchmarks.
This patch teaches the allocator to merge adjacent free lines into a
single allocatable range. This allows us to shrink the size of an
individual line without increasing fragmentation or the rate of allocator
slow paths.
We'll only take more slow paths when available memory is sparse, which
is exactly when it's worth it. When available memory is dense, we'll
take fewer slow paths.
* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/Algorithm.h:
(bmalloc::divideRoundingUp):
* bmalloc/Allocator.cpp:
(bmalloc::Allocator::Allocator): Updated for interface changes.
(bmalloc::Allocator::scavenge): Scavenge by object instead of by line.
Now that we merge lines, it's not convenient to scavenge by line.
(bmalloc::Allocator::allocateSmallBumpRange):
(bmalloc::Allocator::allocateMediumBumpRange): Allocate whole ranges
instead of individual lines.
(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::allocateSmallLine): Deleted.
(bmalloc::Allocator::allocateMediumLine): Deleted.
(bmalloc::Allocator::allocateMedium): Deleted.
* bmalloc/Allocator.h:
(bmalloc::Allocator::allocateFastCase): Folded medium allocations
into the standard fast path with small allocations. Since a BumpAllocator
just allocates out of an arbitrary range, it doesn't need to distinguish
between small and medium lines.
* bmalloc/BumpAllocator.h:
(bmalloc::BumpAllocator::size):
(bmalloc::BumpAllocator::BumpAllocator):
(bmalloc::BumpAllocator::init):
(bmalloc::BumpAllocator::refill):
(bmalloc::BumpAllocator::line): Deleted. No need to track line information
anymore: the heap just gives us a pointer and a pre-computed number of
objects, and we allocate them.
* bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::processObjectLog): Updated for interface changes.
* bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
(bmalloc::Heap::initializeLineMetadata): Pre-compute precise metadata
detailing where all objects will lie in memory. After we merge two lines,
we might allocate an object that spans from one line to the next. This
metadata details which bits of memory overlap in that way, and how they
overlap.
(bmalloc::Heap::refillSmallBumpRangeCache):
(bmalloc::Heap::refillMediumBumpRangeCache): Scan a whole page at a time,
and merge adjacent free lines into BumpRanges.
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::deallocateMediumLine): Track pages rather than lines,
since we scan for free memory a page at a time.
(bmalloc::Heap::allocateSmallLineSlowCase): Deleted.
(bmalloc::Heap::allocateMediumLineSlowCase): Deleted. Folded into the
fast path.
* bmalloc/Heap.h:
(bmalloc::Heap::derefSmallLine):
(bmalloc::Heap::derefMediumLine):
(bmalloc::Heap::deallocateSmallLine): Deleted.
(bmalloc::Heap::allocateSmallLine): Deleted.
(bmalloc::Heap::deallocateMediumLine): Deleted.
(bmalloc::Heap::allocateMediumLine): Deleted. Updated for interface changes.
* bmalloc/Line.h:
(bmalloc::Line<Traits>::ref):
(bmalloc::Line<Traits>::deref):
(bmalloc::Line<Traits>::concurrentRef): Deleted. We don't pass a derefCount
anymore, since we only ever deref by 1 now.
* bmalloc/MediumAllocator.h:
(bmalloc::MediumAllocator::isNull): Deleted.
(bmalloc::MediumAllocator::MediumAllocator): Deleted.
(bmalloc::MediumAllocator::line): Deleted.
(bmalloc::MediumAllocator::allocate): Deleted.
(bmalloc::MediumAllocator::derefCount): Deleted.
(bmalloc::MediumAllocator::refill): Deleted.
(bmalloc::MediumAllocator::clear): Deleted. Deleted some code that's
been dead for a while, since it doesn't build anymore with this patch.
* bmalloc/Page.h:
(bmalloc::Page::sizeClass):
(bmalloc::Page::setSizeClass):
(bmalloc::Page::smallSizeClass): Deleted.
(bmalloc::Page::setSmallSizeClass): Deleted. Renamed setSmallSizeClass
to sizeClass, since we use it for medium sizes too.
* bmalloc/Sizes.h:
(bmalloc::Sizes::sizeClass):
(bmalloc::Sizes::objectSize): Shrank line sizes to save memory.
(bmalloc::Sizes::smallSizeClassFor): Deleted.
(bmalloc::Sizes::mediumSizeClassFor): Deleted.
* bmalloc/bmalloc.h:
(bmalloc::api::realloc): Now that we have precise objects sizes, realloc
can be a bit more precise. It also has to be, since we can't guarantee
that an object ends at the end of a line anymore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173881
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 18:09:02 +0000 (18:09 +0000)]
W3C test importer should detect manual and reference tests according their filenames
https://bugs.webkit.org/show_bug.cgi?id=133852
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-23
Reviewed by Bem Jones-Bey.
* Scripts/webkitpy/w3c/test_parser.py:
(TestParser.analyze_test): Adding checks based on WPT filename rules.
(TestParser.is_wpt_manualtest): Detecting whether the test is a manual test based on its filename.
(TestParser):
(TestParser.potential_ref_filename): Getting the potential reference filename of a test from its filename.
(TestParser.is_wpt_reftest): Detecting whether the test is a ref test based on its filename.
* Scripts/webkitpy/w3c/test_parser_unittest.py:
(test_analyze_manual_wpt_test): Adding a test for a "-manual.html" file with testharness.js link in it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173880
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bjonesbe@adobe.com [Tue, 23 Sep 2014 17:32:04 +0000 (17:32 +0000)]
Unreviewed, add Rebecca Hauck as a contributor.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173879
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Tue, 23 Sep 2014 17:11:53 +0000 (17:11 +0000)]
[Win] Correct 64-bit Windows export definitions after r173804.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Provide proper
64-bit mangled symbol names.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173878
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Tue, 23 Sep 2014 17:11:33 +0000 (17:11 +0000)]
Switch build.webkit.org URLs to https
Reviewed by Lucas Forschler and Alexey Proskuryakov.
* TestResultServer/app.yaml: Update version to this commit
revision.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
* BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/RecentBuildsLoader.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:
* Scripts/webkitpy/common/config/urls.py:
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
(test_builder_with_name):
* Scripts/webkitpy/tool/commands/queries.py:
(TreeStatus):
* TestResultServer/generate_builders_json.py:
(main):
* TestResultServer/generate_builders_json_unittest.py:
(GenerateBuildersJsonTest.test_generate_json_data.dummy_fetch_json):
(GenerateBuildersJsonTest):
(GenerateBuildersJsonTest.test_generate_json_data):
* TestResultServer/static-dashboards/builders.jsonp:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(loadExpectationsLayoutTests):
* TestResultServer/static-dashboards/timeline_explorer.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173877
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 17:10:33 +0000 (17:10 +0000)]
W3C test importer should copy .htaccess files
https://bugs.webkit.org/show_bug.cgi?id=136850
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-23
Reviewed by Bem Jones-Bey.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.should_skip_file): Helper function to check whether to skip file or not. Added ".htaccess" file specific check.
(TestImporter):
(TestImporter.find_importable_tests): Making use of new helper function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173876
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Tue, 23 Sep 2014 16:56:49 +0000 (16:56 +0000)]
Trying to revive bot watcher's dashboard after HSTS.
Unreviewed.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): It looks like XMLHttpRequest may not like HSTS redirects, let's try to avoid these.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173875
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 16:41:45 +0000 (16:41 +0000)]
[GTK] Adds implementation of subtle crypto HMAC algorithm
https://bugs.webkit.org/show_bug.cgi?id=133320
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.
Source/WebCore:
Tests are already in place under crypto/subtle/hmac-*.html
* crypto/gtk/CryptoAlgorithmHMACGtk.cpp:
(WebCore::getGnutlsDigestAlgorithm):
(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
LayoutTests:
* platform/gtk/TestExpectations: Whitelists HMAC related tests that are passing
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173874
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 16:14:24 +0000 (16:14 +0000)]
Unreviewed, rolling out r173864.
It still make tests failes on EFL bots
Reverted changeset:
"Unreviewed, EFL gardening. Unskip media test on EFL port.
Almost media tests"
http://trac.webkit.org/changeset/173864
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173873
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 15:17:52 +0000 (15:17 +0000)]
[GTK] Adds implementation of Subtle Crypto digest algorithms
https://bugs.webkit.org/show_bug.cgi?id=133319
Source/WebCore:
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.
Tests are already in place under crypto/subtle/sha-*.html
* crypto/gtk/CryptoDigestGtk.cpp:
(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):
LayoutTests:
Leaves all crypto/subtle tests skipped and whitelist only those related to
digest algorithms (sha-*.html). When enough crypto algorithms are implemented,
we can invert the approach and blacklist only those tests whose algorithms are
not implemented.
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-09-23
Reviewed by Philippe Normand.
* platform/gtk/TestExpectations: Unskip tests for Subtle-Crypto digest algorithms.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173872
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 14:47:21 +0000 (14:47 +0000)]
Make Tools/BuildSlaveSupport/wait-for-SVN-server.py handle server donwtime
https://bugs.webkit.org/show_bug.cgi?id=137026
Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-23
Reviewed by Csaba Osztrogonác.
* BuildSlaveSupport/wait-for-SVN-server.py:
(getLatestSVNRevision):
(waitForSVNRevision):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173871
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 09:57:53 +0000 (09:57 +0000)]
Remove unlinkZeroFiles from build-webkit
https://bugs.webkit.org/show_bug.cgi?id=137018
Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-23
Reviewed by Csaba Osztrogonác.
* Scripts/build-webkit:
(unlinkZeroFiles): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173870
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 09:26:14 +0000 (09:26 +0000)]
[GTK] Minibrowser : Add keyboard support for stop page load
https://bugs.webkit.org/show_bug.cgi?id=136857
Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-23
Reviewed by Philippe Normand.
Keyboard support to stop page load in GTK Minibrowser using F6 and Escape keys.
* MiniBrowser/gtk/BrowserWindow.c:
(stopPageLoad): Callback to stop page load.
(browser_window_init):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173869
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
svillar@igalia.com [Tue, 23 Sep 2014 08:37:10 +0000 (08:37 +0000)]
[CSS Grid Layout] Do not grow tracks when the growth factor is 0
https://bugs.webkit.org/show_bug.cgi?id=136575
Reviewed by Darin Adler.
A couple of performance optimizations for the track sizing
algorithm. On the one hand we avoid the computation of the
available logical space share if the track has no growth potential
(the current breadth is the maximum breadth) and on the other
hand, we avoid calling RenderGrid::distributeSpaceToTracks() if
the available logical space is not greater than 0.
The combined effect of these two changes is an impressive +16%
improvement in auto-grid-lots-of-data.html performance test.
No new tests as there is no change in the functionality.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173868
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rosca@adobe.com [Tue, 23 Sep 2014 07:47:21 +0000 (07:47 +0000)]
[CSS Blending] The composited layers isolated by the page group should blend with the default white background color.
https://bugs.webkit.org/show_bug.cgi?id=136563
Reviewed by Simon Fraser.
Source/WebCore:
If a blending layer is not isolated, then it should blend with a white backdrop:
http://dev.w3.org/fxtf/compositing-1/#pagebackdrop
Tests: css3/blending/blend-mode-body-composited-child-background-color.html
css3/blending/blend-mode-body-composited-child.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
If the isolating composited layer is the root renderer, then it should have a backing store
into which the initial white backdrop will be painted.
LayoutTests:
* css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
* css3/blending/blend-mode-body-composited-child-background-color-expected.html: Added.
* css3/blending/blend-mode-body-composited-child-background-color.html: Added.
* css3/blending/blend-mode-body-composited-child-expected.html: Added.
* css3/blending/blend-mode-body-composited-child.html: Added.
* css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
* css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173867
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 06:00:35 +0000 (06:00 +0000)]
Unreviewed build fix after r173859.
Partial revert to fix debug build after r173859.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* rendering/svg/RenderSVGBlock.h:
(WebCore::RenderSVGBlock::graphicsElement):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::graphicsElement):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
* svg/SVGElement.cpp:
(WebCore::SVGElement::getBoundingBox):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::toClipPath):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::embeddedContentBox):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::startAnimation):
(WebCore::SVGImage::stopAnimation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173866
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 23 Sep 2014 04:39:35 +0000 (04:39 +0000)]
Ensure that layout is up-to-date before hit-testing via RenderView
https://bugs.webkit.org/show_bug.cgi?id=136651
Reviewed by David Hyatt.
Ensure that layout is up-to-date before we do hit-testing via the RenderView.
Previously, RenderLayer::hitTest() called updateLayout(), but it's better
to push that responsibility onto RenderView before entering the RenderLayer
tree.
Make callers a little more consistent in getting the RenderView via
Frame::contentRenderer(), though perhaps we should remove that and just
call Document::renderView() everywhere.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press): Hit test via the RenderView, rather
than doing so on the RenderView's layer, to ensure that we updateLayout().
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityHitTest): This code calls
hitTest() on arbitrary layers, so needs to explicitly update layout.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::contains):
* page/EventHandler.cpp:
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::hitTestResultAtPoint): The explicit updateLayout() is
no longer needed.
(WebCore::EventHandler::updateCursor):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::hitTestResultInFrame):
* page/Frame.cpp:
(WebCore::Frame::contentRenderer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
* rendering/RenderView.cpp:
(WebCore::RenderView::hitTest): Here's where we ensure that layout is up-to-date.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173865
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 04:31:08 +0000 (04:31 +0000)]
Unreviewed, EFL gardening. Unskip media test on EFL port. Almost media tests
are passed except for some tests. Unfortunately what revision fixed this crash on media test.
To maintain media test on EFL port again, this commit unskips those tests.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173864
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Tue, 23 Sep 2014 04:13:53 +0000 (04:13 +0000)]
Unreviewed, EFL gardening. Unskip batterystatus, which doesn't come to crash anymore.
* platform/efl/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173863
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Tue, 23 Sep 2014 03:08:40 +0000 (03:08 +0000)]
[Windows] More test expectation gardening.
* platform/win/TestExpectations: Skip some failing image only failures, unskip some tests reported as now passing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173862
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Tue, 23 Sep 2014 02:25:17 +0000 (02:25 +0000)]
[Windows] More test expectation gardening.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173861
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 23 Sep 2014 01:05:55 +0000 (01:05 +0000)]
[EFL][WK2] Minibrowser : Add keyboard support for page reload while ignoring cache
https://bugs.webkit.org/show_bug.cgi?id=136813
Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-22
Reviewed by Gyuyoung Kim.
Ctrl+r is used for page reload along with F5. Ctrl+Shift+r and Ctrl+F5 is used for page reload while ignoring cache.
* MiniBrowser/efl/main.c:
(on_key_down):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173860
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Tue, 23 Sep 2014 00:55:05 +0000 (00:55 +0000)]
Use downcast<SVG*Element>() instead of toSVG*Element()
https://bugs.webkit.org/show_bug.cgi?id=137004
Reviewed by Benjamin Poulain.
Use downcast<SVG*Element>() instead of toSVG*Element() for casting SVG
Elements and get rid of the transition toSVG*Element() macros.
Also use downcast<MathML*Element>() instead of toMathML*Element() for
casting MathML Elements.
The HTML Elements casting counterparts will be taken care of in a
separate patch.
No new tests, no behavior change.
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSCursorImageValue.cpp:
(WebCore::resourceReferencedByCursorElement):
(WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchAllRules):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::locateCousinList):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::locateSharedStyle):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
* dom/Element.cpp:
(WebCore::Element::synchronizeAllAttributes):
(WebCore::Element::synchronizeAttribute):
(WebCore::Element::boundsInRootViewSpace):
(WebCore::Element::getBoundingClientRect):
(WebCore::Element::childShouldCreateRenderer):
(WebCore::Element::fastAttributeLookupAllowed):
* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingTargetRules):
* dom/ScriptElement.cpp:
(WebCore::toScriptElementIfPossible):
* dom/make_names.pl:
(printTypeHelpers):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::getSVGDocument):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPhrasingContent):
(WebCore::MathMLElement::childShouldCreateRenderer):
(WebCore::MathMLElement::attributeChanged):
* mathml/MathMLElement.h:
(WebCore::Node::hasTagName):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::instanceAssociatedWithShadowTreeElement):
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::parseColSpanFromDOM):
(WebCore::RenderTableCell::parseRowSpanFromDOM):
(WebCore::RenderTableCell::computePreferredLogicalWidths):
* rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::addChild):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):
(WebCore::RenderMathMLMenclose::paint):
* rendering/svg/RenderSVGBlock.h:
(WebCore::RenderSVGBlock::graphicsElement):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::foreignObjectElement):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::gradientElement):
* rendering/svg/RenderSVGGradientStop.h:
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageElement):
* rendering/svg/RenderSVGInline.h:
(WebCore::RenderSVGInline::graphicsElement):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::getElementCTM):
(WebCore::RenderSVGModelObject::checkIntersection):
(WebCore::RenderSVGModelObject::checkEnclosure):
* rendering/svg/RenderSVGModelObject.h:
(WebCore::RenderSVGModelObject::element):
* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::rectElement):
* rendering/svg/RenderSVGResource.cpp:
(WebCore::removeFromCacheAndInvalidateDependencies):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
* rendering/svg/RenderSVGResourceClipper.h:
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
* rendering/svg/RenderSVGResourceFilter.h:
* rendering/svg/RenderSVGResourceLinearGradient.h:
* rendering/svg/RenderSVGResourceMarker.h:
* rendering/svg/RenderSVGResourceMasker.h:
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::patternElement):
* rendering/svg/RenderSVGResourceRadialGradient.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::svgSVGElement):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::graphicsElement):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::textElement):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::textPathElement):
(WebCore::RenderSVGTextPath::layoutPath):
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/svg/RenderSVGTransformableContainer.h:
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::svgSVGElement):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromLineElement):
(WebCore::updatePathFromPathElement):
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::layoutChildren):
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* rendering/svg/SVGResources.cpp:
(WebCore::targetReferenceFromResource):
(WebCore::SVGResources::buildCachedResources):
* rendering/svg/SVGTextLayoutEngine.cpp:
(WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::createElementRenderer):
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAltGlyphDefElement.cpp:
(WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::hasValidGlyphElements):
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateAnimatedValue):
* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
(WebCore::SVGAnimationElement::adjustForInheritance):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::getBoundingBox):
(WebCore::SVGElement::childShouldCreateRenderer):
(WebCore::SVGElement::title):
(WebCore::SVGElement::updateRelativeLengthsInformation):
* svg/SVGElement.h:
(WebCore::Node::hasTagName):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::buildPendingResource):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::childShouldCreateRenderer):
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::isSVGFilterPrimitiveStandardAttributes):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
* svg/SVGFontFaceFormatElement.cpp:
(WebCore::SVGFontFaceFormatElement::childrenChanged):
* svg/SVGFontFaceSrcElement.cpp:
(WebCore::SVGFontFaceSrcElement::srcValue):
(WebCore::SVGFontFaceSrcElement::childrenChanged):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::childrenChanged):
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::invalidateGlyphCache):
* svg/SVGGraphicsElement.h:
(WebCore::isSVGGraphicsElement):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLinearGradientElement.cpp:
(WebCore::setGradientAttributes):
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
* svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::nearestViewportElement):
(WebCore::SVGLocatable::farthestViewportElement):
(WebCore::SVGLocatable::computeCTM):
(WebCore::SVGLocatable::getTransformToElement):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::buildPendingResource):
(WebCore::SVGMPathElement::pathElement):
(WebCore::SVGMPathElement::notifyParentOfPathChange):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::synchronizeOrientType):
(WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::synchronizeD):
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::commitChange):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
* svg/SVGRadialGradientElement.cpp:
(WebCore::setGradientAttributes):
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setupInitialView):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::elementFromRenderer):
* svg/SVGTextContentElement.h:
(WebCore::isSVGTextContentElement):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::buildPendingResource):
* svg/SVGUseElement.cpp:
(WebCore::dumpInstanceTree):
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::toClipPath):
(WebCore::SVGUseElement::buildInstanceTree):
(WebCore::SVGUseElement::hasCycleUseReferencing):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):
(WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewTarget):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::connectConditions):
(WebCore::SVGSMILElement::disconnectConditions):
* svg/animation/SVGSMILElement.h:
(WebCore::isSVGSMILElement):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin):
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
(WebCore::SVGImage::embeddedContentBox):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::startAnimation):
(WebCore::SVGImage::stopAnimation):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::platformApplySoftware):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
* svg/properties/SVGPathSegListPropertyTearOff.cpp:
(WebCore::SVGPathSegListPropertyTearOff::contextElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173859
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Tue, 23 Sep 2014 00:47:06 +0000 (00:47 +0000)]
Follow on fix for [iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache() when using WebKit1
https://bugs.webkit.org/show_bug.cgi?id=136962
Rubber-stamped by Simon Fraser.
Remove the const per review comment. It is not needed.
* loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::DiskCacheMonitor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173858
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 23 Sep 2014 00:23:54 +0000 (00:23 +0000)]
Move nodeFromPoint() back to Document where it belongs
https://bugs.webkit.org/show_bug.cgi?id=137012
Reviewed by Zalan Bujtas.
Source/WebCore:
nodeFromPoint() was moved into TreeScope for ShadowDOM work, but now we can move
it back to its logical place.
Make versions of elementFromPoint and caretRangeFromPoint that take LayoutPoints,
and change the current scale/offset code to be in layout units (which results
in a small behavior change).
elementFromPoint(int, int) and caretRangeFromPoint(int, int) are still required
for bindings code.
* dom/Document.cpp:
(WebCore::Document::nodeFromPoint):
(WebCore::Document::elementFromPoint):
(WebCore::Document::caretRangeFromPoint):
* dom/Document.h:
(WebCore::Document::elementFromPoint): Move logic from TreeScope::elementFromPoint()
here.
* dom/TreeScope.cpp:
(WebCore::nodeFromPoint): Deleted.
(WebCore::TreeScope::elementFromPoint): Deleted.
* dom/TreeScope.h:
LayoutTests:
All platforms use subpixel layout now, so remove the conditional behavior in this test.
Fix the test to account for scaling now being done in layout units.
* fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
* fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html:
* platform/mac/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173857
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Mon, 22 Sep 2014 23:10:47 +0000 (23:10 +0000)]
Split the test parsing-css-nth-child-of.html in 3
https://bugs.webkit.org/show_bug.cgi?id=137013
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-22
Rubber-stamped by Christophe Dumez.
parsing-css-nth-child-of.html tends to be too slow in debug, causing timeout from time to time.
The speed issues will be fixed once we JIT the selector. Since it will take a while before the JIT is ready,
this patch splits the test in three to avoid timeouts on the bots.
* fast/css/parsing-css-nth-child-of-1-expected.txt: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of-expected.txt.
* fast/css/parsing-css-nth-child-of-1.html: Added.
* fast/css/parsing-css-nth-child-of-2-expected.txt: Added.
* fast/css/parsing-css-nth-child-of-2.html: Renamed from LayoutTests/fast/css/parsing-css-nth-child-of.html.
* fast/css/parsing-css-nth-child-of-3-expected.txt: Added.
* fast/css/parsing-css-nth-child-of-3.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173856
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Mon, 22 Sep 2014 22:09:13 +0000 (22:09 +0000)]
Add the baseline implementation of :nth-child(An+B of selector-list)
https://bugs.webkit.org/show_bug.cgi?id=136975
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-22
Reviewed by Darin Adler.
Source/WebCore:
Tests: fast/css/nth-child-of-classname.html
fast/css/nth-child-of-complex-selector.html
fast/css/nth-child-of-compound-selector.html
fast/css/nth-child-of-tagname.html
fast/selectors/nth-child-of-basics.html
fast/selectors/nth-child-of-class-style-update.html
fast/selectors/nth-child-of-complex-selectors.html
fast/selectors/nth-child-of-selector-list.html
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
Pretty basic:
-Go over the previous siblings.
-For each sibling, test the selector list. If it matches, increase the count.
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
Skip any case of the new selector. This will be implemented separately.
LayoutTests:
* fast/css/nth-child-of-classname-expected.html: Added.
* fast/css/nth-child-of-classname.html: Added.
* fast/css/nth-child-of-complex-selector-expected.html: Added.
* fast/css/nth-child-of-complex-selector.html: Added.
* fast/css/nth-child-of-compound-selector-expected.html: Added.
* fast/css/nth-child-of-compound-selector.html: Added.
* fast/css/nth-child-of-tagname-expected.html: Added.
* fast/css/nth-child-of-tagname.html: Added.
Cover basic styling and style sharing.
* fast/selectors/nth-child-of-basics-expected.txt: Added.
* fast/selectors/nth-child-of-basics.html: Added.
* fast/selectors/nth-child-of-complex-selectors-expected.txt: Added.
* fast/selectors/nth-child-of-complex-selectors.html: Added.
* fast/selectors/nth-child-of-selector-list-expected.txt: Added.
* fast/selectors/nth-child-of-selector-list.html: Added.
Cover querySelector and styling of various cases.
* fast/selectors/nth-child-of-class-style-update-expected.txt: Added.
* fast/selectors/nth-child-of-class-style-update.html: Added.
Basic case of style invalidation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Mon, 22 Sep 2014 22:08:02 +0000 (22:08 +0000)]
Implement 'vhea', 'vmtx', and 'kern' tables in SVG -> OTF converter
https://bugs.webkit.org/show_bug.cgi?id=136971
Reviewed by Darin Adler.
This patch fills in the tables related to vertical metrics and kerning. The vertical metrics tables are
fairly straightforward. On the other hand, the 'kern' table has subtables which can be in a variety
of formats; however, according to Microsoft, Windows only allows one particular format, which doesn't
allow for ranges of glyphs to be described and therefore might lead to a large 'kern' table size. In
the interest of platform agnosticism I have implemented this particular format, and have not actually
witnessed any extremely large 'kern' tables in any of the fonts that I have looked at.
I also added basic support for the horiz-origin-x and horiz-origin-y SVG properties, though support
might not be perfect based on my testing.
Regarding testing, after this patch, almost all of our SVG fonts tests pass (barring tiny rebaselining;
the platform font system calculates slightly different advances than we did. These differences are tiny
and expected from such a dramatic shift in text handling engines.) There are around two dozen failing
tests left that look like they are actually indiciative of code problems.
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::ensureGlyphCache): Refactor to accept new signature of
SVG*KernElement::build*KerningPair().
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::buildHorizontalKerningPair): Refactor to allow for intermediate data to be
returned, which the SVG -> OTF font converter can use.
* svg/SVGHKernElement.h: New signature for buildHorizontalKerningPair().
* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Save the glyph's vertical advance along with
the glyph's horizontal advance.
(WebCore::SVGToOTFFontConverter::KerningData::KerningData): This data represents a record in one of
the two 'kern' subtables, and as such needs to be sorted.
(WebCore::SVGToOTFFontConverter::KerningData::operator<): Sort comparator.
(WebCore::SVGToOTFFontConverter::appendHEADTable): Save the unitsPerEm locally to save a conditional.
(WebCore::SVGToOTFFontConverter::appendHHEATable): Ditto.
(WebCore::SVGToOTFFontConverter::appendHMTXTable): Ditto. Also use the horizontal advance as opposed to
the vertical advance.
(WebCore::SVGToOTFFontConverter::appendOS2Table): Save the unitsPerEm locally to save a conditional.
Also if the average advance isn't found in the font, use the missing glyph's advance. If there is no
missing glyph, bail and use the unitsPerEm.
(WebCore::SVGToOTFFontConverter::appendVORGTable): If the default vertical origin isn't found in the
font, use the missing glyphs's vertical origin. If there is no missing glyph, bail and use 0.
(WebCore::SVGToOTFFontConverter::appendVHEATable): Parallel of 'hhea' table, except for vertical info.
(WebCore::SVGToOTFFontConverter::appendVMTXTable): Parallel of 'hmtx' table, except for vertical info.
(WebCore::SVGToOTFFontConverter::appendKerningHelperFields): Computes and appends 4 fields that font
parsers need in order to do a binary search on the kern records.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): For each codepoint in the ranges, look up its
representative glyph and append it to a set.
(WebCore::SVGToOTFFontConverter::addCodepoints): For each codepoint in the range, look up its
representative glyph and append it to a set.
(WebCore::SVGToOTFFontConverter::addGlyphNames): For each glyph name, look up its representative glyph
and append it to a set.
(WebCore::SVGToOTFFontConverter::computeKerningData): Call SVG*KernElement::build*KerningPair() and
iterate through all the data it returned, building up records into a Vector.
(WebCore::SVGToOTFFontConverter::appendKERNTable): Go through the vector that computeKerningData()
returned and actually write out the two subtables. One is for horizontal kerning and the other is for
vertical kerning.
(WebCore::CFFBuilder::CFFBuilder): Use the position of the glyph origin to perform the initial moveto
command.
(WebCore::transcodeGlyphPaths): Get the glyph's origin and pass it to the CFFBuilder.
(WebCore::SVGToOTFFontConverter::appendGlyphData): Templated overloading so that the missing glyph
gets a null SVGGlyphElement pointer but the rest of the glyphs get a non-null one.
(WebCore::SVGToOTFFontConverter::processGlyphElement): Called on both SVGGlyphElements and
SVGMissingGlyphElements, this pulls out information from the element and computs its path information.
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Use the new templated version of
processGlyphElement so we can get the same glyph parsing behavior on SVGMissingGlyphElements. In
addition, populate two maps for the kerning table creation function to use.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Append new tables.
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::buildVerticalKerningPair): Refactor to allow for intermediate data to be
returned, which the SVG -> OTF font converter can use.
* svg/SVGVKernElement.h: New signature for buildVerticalKerningPair().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173852
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Mon, 22 Sep 2014 22:00:49 +0000 (22:00 +0000)]
[Cocoa] Add UI delegate callback when window.close() is called
https://bugs.webkit.org/show_bug.cgi?id=137008
<rdar://problem/
17801001>
Reviewed by Anders Carlsson.
Source/WebKit2:
Implement support infrastructure to notify the UI client when window.close() is called.
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added method declaration for -_webViewClose:.
* UIProcess/Cocoa/UIDelegate.h: Added override declaration for API::UIClient::close().
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate): Wire up delegate method to Objective-C selector, -[WKUIDelegatePrivate _webViewClose:].
(WebKit::UIDelegate::UIClient::close): Added; turns around and calls -[WKUIDelegatePrivate _webViewClose:] (if applicable).
Tools:
Add a test to ensure that -[WKUIDelegatePrivate _webViewClose:] is called on window.close()
for window opened via JavaScript (i.e. window.open()).
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173851
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Mon, 22 Sep 2014 21:10:36 +0000 (21:10 +0000)]
WebSocket crash when a connection is closed from server side
https://bugs.webkit.org/show_bug.cgi?id=137009
rdar://problem/
18333977
rdar://problem/
12708225
Reviewed by Brady Eidson.
I don't think that this can be tested with our test server.
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel): Added logging.
(WebCore::WebSocketChannel::~WebSocketChannel): Ditto.
(WebCore::WebSocketChannel::close): Protect self, because startClosingHandshake
can release the last reference.
(WebCore::WebSocketChannel::fail): Added an assertion that the channel is always
closed after this function.
(WebCore::WebSocketChannel::startClosingHandshake): Protect self, and don't change
the stack from closed back to closing if after failing to send closing handshake.
(WebCore::WebSocketChannel::processOutgoingFrameQueue): Protect self.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173848
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 22 Sep 2014 20:25:49 +0000 (20:25 +0000)]
FTL allocatePropertyStorage code should involve less copy-paste
https://bugs.webkit.org/show_bug.cgi?id=137006
Reviewed by Michael Saboff.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::allocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::reallocatePropertyStorage):
(JSC::FTL::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Mon, 22 Sep 2014 19:52:08 +0000 (19:52 +0000)]
Bad cast in isValidColumnSpanner.
https://bugs.webkit.org/show_bug.cgi?id=133380.
Reviewed by Simon Fraser.
Source/WebCore:
Added fast/multicol/multicol-crazy-nesting.html
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
The crawl up the chain looking for unsplittable objects should use containing blocks
and not be casting to parent boxes. You can have an inline in the parent chain, so
this was not the right way to walk up the tree.
LayoutTests:
* fast/multicol/multicol-crazy-nesting-expected.txt: Added.
* fast/multicol/multicol-crazy-nesting.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Mon, 22 Sep 2014 18:55:50 +0000 (18:55 +0000)]
ASSERT in RenderMultiColumnSet::requiresBalancing.
https://bugs.webkit.org/show_bug.cgi?id=136376.
Reviewed by David Kilzer.
Source/WebCore:
Added fast/multicol/multicol-selection.html.
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::isValidColumnSpanner):
Don't allow an object to become a spanner if it does not have the flow
thread as its containing block. Otherwise the flow thread won't get notified
of spanner placeholder insertions, and so the spanner ends up orphaned.
LayoutTests:
* fast/multicol/multicol-selection-expected.txt: Added.
* fast/multicol/multicol-selection.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 22 Sep 2014 18:36:46 +0000 (18:36 +0000)]
W3C importer should import html files within resources folders
https://bugs.webkit.org/show_bug.cgi?id=127548
Patch by Youenn Fablet <youennf@gmail.com> on 2014-09-22
Reviewed by Ryosuke Niwa.
Import HTML files in any folder named "resources" even if file is not detected as a HTML test file
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.find_importable_tests):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173841
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Mon, 22 Sep 2014 18:35:23 +0000 (18:35 +0000)]
[Win] Implement cap height in SimpleFontDataWin to enable initial-letter support for Windows.
https://bugs.webkit.org/show_bug.cgi?id=136841
Reviewed by David Hyatt.
* platform/graphics/win/SimpleFontDataCGWin.cpp:
(WebCore::SimpleFontData::platformInit): Add missing calls to set up our fonts.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173840
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 22 Sep 2014 16:53:37 +0000 (16:53 +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-22
Reviewed by Darin Adler.
Source/JavaScriptCore:
* runtime/CommonIdentifiers.h: Added new identifiers.
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::getOwnPropertySlot):
(JSC::NumberConstructor::isFunction): Added.
(JSC::numberConstructorEpsilonValue): Added.
(JSC::numberConstructorNegInfinity): Added.
(JSC::numberConstructorPosInfinity): Added.
(JSC::numberConstructorMaxValue): Added.
(JSC::numberConstructorMinValue): Added.
(JSC::numberConstructorMaxSafeInteger): Added.
(JSC::numberConstructorMinSafeInteger): Added.
(JSC::numberConstructorFuncIsFinite): Added.
(JSC::numberConstructorFuncIsInteger): Added.
(JSC::numberConstructorFuncIsNaN): Added.
(JSC::numberConstructorFuncIsSafeInteger): Added.
* 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@173839
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Mon, 22 Sep 2014 15:51:24 +0000 (15:51 +0000)]
Update HTMLMediaElement logging
https://bugs.webkit.org/show_bug.cgi?id=136991
Reviewed by Alexey Proskuryakov.
No new tests, only logging was changed.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173838
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 22 Sep 2014 15:34:29 +0000 (15:34 +0000)]
FTL should store the four bytes of the cell header using a 32-bit store rather than four 8-bit stores
https://bugs.webkit.org/show_bug.cgi?id=136992
Reviewed by Sam Weinig.
LLVM ought to be able to do this optimization for us given how the code was written, but
any such lower-level attempts to optimize this would get into trouble with the weird
object materialization logic I'll be introducing in bug 136330. So, this brings the
merging of the byte stores into the FTL lowering so that we can control it explicitly.
* ftl/FTLAbstractHeap.h:
(JSC::FTL::AbstractHeap::changeParent):
* ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::allocateCell):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173837
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
evab.u-szeged@partner.samsung.com [Mon, 22 Sep 2014 15:00:52 +0000 (15:00 +0000)]
REGRESSION(r173631): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=136946
Reviewed by Jer Noble.
No new tests required, no new functionality.
* page/DragController.cpp:
(WebCore::DragController::startDrag):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173836
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihnea@adobe.com [Mon, 22 Sep 2014 14:47:53 +0000 (14:47 +0000)]
[CSSRegions] Use nullptr in regions code
https://bugs.webkit.org/show_bug.cgi?id=137001
Reviewed by Andrei Bucur.
No new tests as no new functionality is introduced.
* dom/DOMNamedFlowCollection.cpp:
(WebCore::DOMNamedFlowCollection::item):
(WebCore::DOMNamedFlowCollection::namedItem):
* dom/NamedFlowCollection.cpp:
(WebCore::NamedFlowCollection::flowByName):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getLayerListForRegion):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::firstRegion):
(WebCore::RenderFlowThread::lastRegion):
(WebCore::RenderFlowThread::currentActiveRenderBox):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173835
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 22 Sep 2014 11:15:08 +0000 (11:15 +0000)]
[GTK] Test /webkit2/WebKitWebView/can-show-mime-type fails if evince browser plugin is installed
https://bugs.webkit.org/show_bug.cgi?id=136998
Reviewed by Philippe Normand.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewCanShowMIMEType): Remove the check of PDF as
unsupported MIME type.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173832
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 11:10:49 +0000 (11:10 +0000)]
[kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941
Patch by Shankar Prasad <svenkate@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.
* kn.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173831
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Mon, 22 Sep 2014 09:53:52 +0000 (09:53 +0000)]
Unreviewed. Fix WebKitGTKTranslations rule in watchlist.
In r145081 GTK+ translations were moved from Source/WebKit/gtk/po/
to Source/WebCore/platform/gtk/po/ but the rule was not updated.
* Scripts/webkitpy/common/config/watchlist: Use
Source/WebCore/platform/gtk/po/ as directory to watch for
WebKitGTKTranslations rule and add berto and myself to the list of
watchers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173825
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 09:48:17 +0000 (09:48 +0000)]
[l10n] [mr] WebKitGTK+ Marathi Translations
https://bugs.webkit.org/show_bug.cgi?id=136979
Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.
* mr.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173824
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@gmail.com [Mon, 22 Sep 2014 08:51:53 +0000 (08:51 +0000)]
Fix syntaxError in watchlist since r173594
https://bugs.webkit.org/show_bug.cgi?id=136996
Reviewed by Philippe Normand.
* Scripts/webkitpy/common/config/watchlist: Removed unnecessary comma.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173816
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 08:36:24 +0000 (08:36 +0000)]
[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136976
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.
* pl.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173815
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 08:34:46 +0000 (08:34 +0000)]
[l10n] Updated Hebrew translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136678
Patch by Yosef Or Boczko <yoseforb@gnome.org> on 2014-09-22
Reviewed by Philippe Normand.
* he.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173814
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 08:33:46 +0000 (08:33 +0000)]
Webkit Tamil translations updated
https://bugs.webkit.org/show_bug.cgi?id=136816
Patch by Shantha kumar <shantha.thamizh@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.
* ta.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173813
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 08:32:34 +0000 (08:32 +0000)]
[as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=136908
Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.
* as.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173812
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 08:30:41 +0000 (08:30 +0000)]
Odia (or_IN) translation for webkit
https://bugs.webkit.org/show_bug.cgi?id=136920
Patch by Manoj Kumar Giri <mgiri@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.
* or.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173811
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
berto@igalia.com [Mon, 22 Sep 2014 08:28:41 +0000 (08:28 +0000)]
Webkit Gujarati Translations
https://bugs.webkit.org/show_bug.cgi?id=136525
Patch by Sweta Kothari <swkothar@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.
* gu.po:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173810
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Mon, 22 Sep 2014 08:15:32 +0000 (08:15 +0000)]
[GStreamer] Cannot play Vimeo video
https://bugs.webkit.org/show_bug.cgi?id=134969
Reviewed by Sergio Villar Senin.
Source/WebCore:
Ensure the GStreamer HTTP source element also sends cookies when
it's sending its requests. Some streaming platforms such as Vimeo
do server-side cookie checks on incoming requests before serving
media data.
Test: http/tests/media/hls/video-cookie.html
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart): Set first-party cookie URL to the request so
the ResourceLoader properly sets cookies in the HTTP request.
LayoutTests:
New test for a HLS stream enforcing a specific cookie before
serving its fragments, like Vimeo does.
* http/tests/media/hls/video-cookie-expected.txt: Added.
* http/tests/media/hls/video-cookie.html: Added.
* http/tests/media/resources/hls/playlist-with-cookie.m3u8: Added.
* http/tests/media/resources/hls/sub-playlist-with-cookie.php: Added.
* http/tests/media/resources/video-cookie-check-cookie.php:
* platform/gtk/TestExpectations: Marked test as slow, as the other
HLS test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173809
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihnea@adobe.com [Mon, 22 Sep 2014 07:51:54 +0000 (07:51 +0000)]
Leverage RenderLayerBacking::renderer() instead of m_owningLayer.renderer()
https://bugs.webkit.org/show_bug.cgi?id=136954
Reviewed by Darin Adler.
No new tests just refactoring.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::paintIntoLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173808
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 22 Sep 2014 07:20:31 +0000 (07:20 +0000)]
Eliminate redundant PtrHash specializations
https://bugs.webkit.org/show_bug.cgi?id=136990
Patch by Sam Weinig <sam@webkit.org> on 2014-09-22
Reviewed by Darin Adler.
Now that we have IsSmartPtr, we can eliminate all the specializations
of PtrHash that we had (for RefPtr, OwnPtr, RetainPtr, and std::unique_ptr)
and instead just have one that uses GetPtrHelper.
No changes of behavior intended.
* wtf/GetPtr.h:
Remove unnecessary const_cast that Darin noticed.
* wtf/HashFunctions.h:
(WTF::PtrHash::hash): Deleted.
(WTF::PtrHash::equal): Deleted.
(WTF::PtrHash<RefPtr<P>>::hash): Deleted.
(WTF::PtrHash<RefPtr<P>>::equal): Deleted.
Specialize PtrHash based on whether the type is a smart pointer, and use GetPtrHelper
to implement the smart pointer specialized variant.
* wtf/HashMap.h:
Remove include of GetPtr.h that is now included by HashFunctions.h
* wtf/OwnPtr.h:
(WTF::PtrHash<OwnPtr<P>>::hash): Deleted.
(WTF::PtrHash<OwnPtr<P>>::equal): Deleted.
Remove unnecessary specialization of PtrHash.
* wtf/RetainPtr.h:
(WTF::PtrHash<RetainPtr<P>>::hash): Deleted.
(WTF::PtrHash<RetainPtr<P>>::equal): Deleted.
Specialize IsSmartPointer for RetainPtr and remove the then unnecessary specialization of PtrHash.
(This is already tested in the API test WTF/cf/RetainPtrHashing).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173807
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihnea@adobe.com [Mon, 22 Sep 2014 07:08:42 +0000 (07:08 +0000)]
[CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918
Reviewed by Andrei Bucur.
Source/WebCore:
In some situations, for instance when an image has an attached animation, the style change caused by the animation
triggers a geometry update for the backing store associated with the image's layer. This may occur before
the layout for the image has finished.
Moreover, if the image in such situation - having a composited layer - is displayed in a region,
sicne the layout did not finish yet, the mappings between the layers of the elements collected in the named flow
and the regions associated with the named flow are not updated and cannot be used.
Therefore in those situations, we have to bail out early and use these mappings only after the layout has finished.
This patch also changes RenderLayerBacking method updateAfterDescendents -> updateAfterDescendants.
Test: fast/regions/animated-image-in-region.html
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
LayoutTests:
* fast/regions/animated-image-in-region-expected.txt: Added.
* fast/regions/animated-image-in-region.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173806
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
saambarati1@gmail.com [Mon, 22 Sep 2014 06:58:29 +0000 (06:58 +0000)]
Web Inspector: fix TypeSet hierarchy in TypeTokenView
https://bugs.webkit.org/show_bug.cgi?id=136982
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
TypeSet was computing the set of type booleans in the Inspector::Protocol::Runtime::TypeSet
object incorrectly because it was calling TypeSet::doesTypeConformTo(T) which checks if the
type set has only been of type T. It now checks '(m_seenTypes & T) != TypeNothing' to see
if type T is in the set of seen types, but not the entire set itself.
* runtime/TypeSet.cpp:
(JSC::TypeSet::inspectorTypeSet):
Source/WebInspectorUI:
The protocol object representation of TypeSet was being computed
incorrectly in JSC::TypeSet. This patch fixes that problem
and also asserts that the type information that the Web Inspector
receives is not empty.
* UserInterface/Models/TypeSet.js:
(WebInspector.TypeSet):
* UserInterface/Views/TypeTokenView.js:
(WebInspector.TypeTokenView.prototype._displayTypeName):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173805
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Mon, 22 Sep 2014 03:51:55 +0000 (03:51 +0000)]
Generate Element casting helper functions
https://bugs.webkit.org/show_bug.cgi?id=136839
Reviewed by Darin Adler.
Source/WebCore:
Generate Element casting helper functions instead of requiring explicit
use of NODE_TYPE_CASTS() macro. Casting is now done using the following
form: downcast<HTMLDivElement>(), instead of toHTMLDivElement().
The previous form (i.e. toHTMLDivElement()) is still supported for now
by generating macros that convert these calls into the new form, until
the code base is ported to the new casting helpers.
The plan is also to use is<HTMLDivElement>() instead of
isHTMLDivElement() for consistency but this was not changed in this
patch to avoid blowing up the size.
This CL also updates the way we convert a JSValue into an
implementation pointer. Instead of using toHTMLDivElement(), which
looked like a cast, we now use JSHTMLDivElement::toWrapped(). This
avoids conflicting with the toXXXElement() macros and makes it
clearer this is not a simple cast.
No new tests, no behavior change.
* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::installReplacement):
* WebCore.exp.in:
* bindings/js/JSAudioBufferSourceNodeCustom.cpp:
(WebCore::JSAudioBufferSourceNode::setBuffer):
* bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
* bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::JSCommandLineAPIHost::getEventListeners):
(WebCore::JSCommandLineAPIHost::databaseId):
(WebCore::JSCommandLineAPIHost::storageId):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::toHTMLFormElementOrNull):
(WebCore::constructJSDOMFormData):
(WebCore::JSDOMFormData::append):
(WebCore::toHTMLFormElement): Deleted.
* bindings/js/JSDOMStringListCustom.cpp:
(WebCore::JSDOMStringList::toWrapped):
(WebCore::toDOMStringList): Deleted.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::toWrapped):
(WebCore::toDOMWindow): Deleted.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::createTouchList):
* bindings/js/JSEventTargetCustom.cpp:
(WebCore::JSEventTarget::toWrapped):
(WebCore::toEventTarget): Deleted.
* bindings/js/JSExceptionBase.cpp:
(WebCore::toExceptionBase):
* bindings/js/JSHTMLMediaElementCustom.cpp:
(WebCore::JSHTMLMediaElement::setController):
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::add):
(WebCore::JSHTMLOptionsCollection::remove):
* bindings/js/JSHTMLSelectElementCustom.cpp:
(WebCore::JSHTMLSelectElement::remove):
(WebCore::selectIndexSetter):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::showContextMenu):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::toWrapped):
(WebCore::toNodeFilter): Deleted.
* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::exportKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
(JSValueToNative):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::JSTestActiveDOMObject::toWrapped):
(WebCore::toTestActiveDOMObject): Deleted.
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetter::toWrapped):
(WebCore::toTestCustomNamedGetter): Deleted.
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::toWrapped):
(WebCore::toTestEventConstructor): Deleted.
* bindings/scripts/test/JS/JSTestEventConstructor.h:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
(WebCore::JSTestEventTarget::toWrapped):
(WebCore::toTestEventTarget): Deleted.
* bindings/scripts/test/JS/JSTestEventTarget.h:
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::toWrapped):
(WebCore::toTestException): Deleted.
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::toWrapped):
(WebCore::toTestGenerateIsReachable): Deleted.
* bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::JSTestInterface::toWrapped):
(WebCore::toTestInterface): Deleted.
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::toWrapped):
(WebCore::toTestMediaQueryListListener): Deleted.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::toWrapped):
(WebCore::toTestNamedConstructor): Deleted.
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::JSTestNondeterministic::toWrapped):
(WebCore::toTestNondeterministic): Deleted.
* bindings/scripts/test/JS/JSTestNondeterministic.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::JSTestObj::toWrapped):
(WebCore::toTestObj): Deleted.
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
(WebCore::JSTestOverloadedConstructors::toWrapped):
(WebCore::toTestOverloadedConstructors): Deleted.
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::toWrapped):
(WebCore::toTestSerializedScriptValueInterface): Deleted.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::JSTestTypedefs::toWrapped):
(WebCore::toTestTypedefs): Deleted.
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattribute::toWrapped):
(WebCore::toattribute): Deleted.
* bindings/scripts/test/JS/JSattribute.h:
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonly::toWrapped):
(WebCore::toreadonly): Deleted.
* bindings/scripts/test/JS/JSreadonly.h:
* dom/Element.h:
(WebCore::downcast):
* dom/make_names.pl:
(printTypeHelpers):
* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.h:
* html/HTMLAudioElement.h:
* html/HTMLBaseElement.h:
* html/HTMLBodyElement.h:
* html/HTMLCanvasElement.h:
* html/HTMLDataListElement.h:
* html/HTMLDetailsElement.h:
* html/HTMLDivElement.h:
* html/HTMLEmbedElement.h:
* html/HTMLFieldSetElement.h:
* html/HTMLFormElement.h:
* html/HTMLFrameElement.h:
* html/HTMLFrameSetElement.h:
* html/HTMLHtmlElement.h:
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.h:
* html/HTMLInputElement.h:
* html/HTMLLabelElement.h:
* html/HTMLLegendElement.h:
* html/HTMLLinkElement.h:
* html/HTMLMapElement.h:
* html/HTMLMarqueeElement.h:
* html/HTMLMetaElement.h:
* html/HTMLMeterElement.h:
* html/HTMLOListElement.h:
* html/HTMLObjectElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLParamElement.h:
* html/HTMLProgressElement.h:
* html/HTMLScriptElement.h:
* html/HTMLSelectElement.h:
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.h:
* html/HTMLSummaryElement.h:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableElement.h:
* html/HTMLTableRowElement.h:
* html/HTMLTemplateElement.h:
* html/HTMLTextAreaElement.h:
* html/HTMLTitleElement.h:
* html/HTMLTrackElement.h:
* html/HTMLVideoElement.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::scriptValueAsNode):
* mathml/MathMLMencloseElement.h:
* svg/SVGAltGlyphDefElement.h:
* svg/SVGAltGlyphElement.h:
* svg/SVGAltGlyphItemElement.h:
* svg/SVGAnimateMotionElement.h:
* svg/SVGAnimateTransformElement.h:
* svg/SVGCircleElement.h:
* svg/SVGClipPathElement.h:
* svg/SVGCursorElement.h:
* svg/SVGEllipseElement.h:
* svg/SVGFEDistantLightElement.h:
* svg/SVGFEFuncAElement.h:
* svg/SVGFEFuncBElement.h:
* svg/SVGFEFuncGElement.h:
* svg/SVGFEFuncRElement.h:
* svg/SVGFEMergeNodeElement.h:
* svg/SVGFEPointLightElement.h:
* svg/SVGFESpotLightElement.h:
* svg/SVGFilterElement.h:
* svg/SVGFontElement.h:
* svg/SVGFontFaceElement.h:
* svg/SVGFontFaceNameElement.h:
* svg/SVGFontFaceSrcElement.h:
* svg/SVGFontFaceUriElement.h:
* svg/SVGForeignObjectElement.h:
* svg/SVGGlyphElement.h:
* svg/SVGGlyphRefElement.h:
* svg/SVGHKernElement.h:
* svg/SVGImageElement.h:
* svg/SVGLineElement.h:
* svg/SVGLinearGradientElement.h:
* svg/SVGMPathElement.h:
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.h:
* svg/SVGMissingGlyphElement.h:
* svg/SVGPathElement.h:
* svg/SVGPatternElement.h:
* svg/SVGPolygonElement.h:
* svg/SVGPolylineElement.h:
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.h:
* svg/SVGSVGElement.h:
* svg/SVGScriptElement.h:
* svg/SVGStopElement.h:
* svg/SVGStyleElement.h:
* svg/SVGTextElement.h:
* svg/SVGTextPathElement.h:
* svg/SVGTitleElement.h:
* svg/SVGUseElement.h:
* svg/SVGVKernElement.h:
* svg/SVGViewElement.h:
Source/WebKit:
Update some of the exported symbols on Windows for functions that were
renamed.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Source/WebKit/mac:
Use JSXXX::toWrapped() instead of toXXX() function.
* DOM/WebDOMOperations.mm:
* WebView/WebView.mm:
(-[WebView _notificationIDForTesting:]):
Source/WebKit/win:
Use JSXXX::toWrapped() instead of toXXX() function.
* WebView.cpp:
(WebView::elementFromJS):
Source/WebKit2:
Use JSXXX::toWrapped() instead of toXXX() function.
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::webNotificationID):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173804
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
saambarati1@gmail.com [Mon, 22 Sep 2014 03:42:30 +0000 (03:42 +0000)]
Web Inspector: unlocalized 'many' string in type profiler inline bubble
https://bugs.webkit.org/show_bug.cgi?id=136980
Reviewed by Timothy Hatcher.
Generate the localizable string for the type profiler's "many" inline bubble.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/TypeTokenView.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173803
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 22 Sep 2014 00:31:16 +0000 (00:31 +0000)]
Leak: WebNotificationPrivate ObjC leaks seen on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=136972
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-21
Reviewed by Darin Adler.
* WebView/WebNotification.h:
* WebView/WebNotification.mm:
(-[WebNotification initWithCoreNotification:notificationID:]):
Switch to RetainPtr and adopt into _private to ensure when we are
deallocated that _private will get deallocated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173802
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 22 Sep 2014 00:24:44 +0000 (00:24 +0000)]
Make possible HashSet<std::unique_ptr<>>
https://bugs.webkit.org/show_bug.cgi?id=136166
Reviewed by Darin Adler.
Source/WTF:
* wtf/GetPtr.h:
(WTF::getPtr):
(WTF::GetPtrHelper<std::unique_ptr<T>>::getPtr):
Make specializing GetPtrHelper a bit cleaner (you don't have to put
IsSmartPtr<T>::value everywhere any more) and add specializations for
std::unique_ptr.
* wtf/HashFunctions.h:
(WTF::PtrHash<std::unique_ptr<P>>):
Add specialization for PtrHash for std::unique_ptr and set it as the DefaultHash
for it as well.
* wtf/HashMap.h:
* wtf/HashSet.h:
Add overloads of find(), contains(), remove(), take() (and get() for HashMap) for "smart pointers" that
take the raw pointer type as the parameter. These use SFINAE to make themselves only available
when the IsSmartPtr<KeyType>::value is true.
* wtf/HashTraits.h:
Override constructDeletedValue() and isDeletedValue() in the std::unique_ptr specialization
since the default implementation depends on the type having a constructor that takes a HashTableDeletedValue
and function named isHashTableDeletedValue().
* wtf/OwnPtr.h:
(WTF::OwnPtr::OwnPtr):
(WTF::OwnPtr::isHashTableDeletedValue):
(WTF::OwnPtr::hashTableDeletedValue):
Add HashTableDeletedValue constructor/functions to allow the constructDeletedValue() and isDeletedValue()
hash traits to work.
(WTF::PtrHash<OwnPtr<P>>::hash):
(WTF::PtrHash<OwnPtr<P>>::equal):
Add specialization for PtrHash for OwnPtr and set it as the DefaultHash
for it as well.
* wtf/Ref.h:
Update for the less verbose GetPtrHelper specialization.
Tools:
* TestWebKitAPI/Tests/WTF/CopyMoveCounter.h: Removed.
* TestWebKitAPI/Counters.cpp: Added.
* TestWebKitAPI/Counters.h: Copied from Tools/TestWebKitAPI/Tests/WTF/CopyMoveCounter.h.
Move the CopyMoveCounter helper from CopyMoveCounter.h to Counters.h, and add a ConstructorDestructorCounter
helper to the mix as well. Add Counters.cpp to allow for the global variables to be used in more than one
translation unit.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add new files.
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
Add tests for using std::unique_ptr and OwnPtr as the key's of a HashMap.
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
Add tests for using std::unique_ptr and OwnPtr as the values of a HashSet.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173801
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Mon, 22 Sep 2014 00:18:50 +0000 (00:18 +0000)]
Fix post-mortem nits for r173724
https://bugs.webkit.org/show_bug.cgi?id=136986
Reviewed by Darin Adler.
Fix post-mortem nits for r173724.
No new tests, no behavior change.
* editing/EditingStyle.cpp:
(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
Use nullptr instead of 0.
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::doUnapply):
Use getIdAttribute() / setIdAttribute().
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computePreferredLogicalWidths):
Use fastHasAttribute() for nowrap and do an early return to avoid
calling styleOrColLogicalWidth() if the nowrap attribute is missing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173800
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 21 Sep 2014 23:52:31 +0000 (23:52 +0000)]
Structure should have a method for concurrently getting all of the property map entries, and this method shouldn't involve copy-paste
https://bugs.webkit.org/show_bug.cgi?id=136983
Reviewed by Mark Hahnenberg.
* runtime/PropertyMapHashTable.h:
(JSC::PropertyMapEntry::PropertyMapEntry): Moved PropertyMapEntry struct to Structure.h so that Structure can refer to it.
* runtime/Structure.cpp:
(JSC::Structure::getConcurrently): Switch to using the new forEachPropertyConcurrently() method.
(JSC::Structure::getPropertiesConcurrently): The subject of this patch. It will be useful for object allocation sinking (bug 136330).
(JSC::Structure::dump): Switch to using the new forEachPropertyConcurrently() method.
* runtime/Structure.h:
(JSC::PropertyMapEntry::PropertyMapEntry): Moved from PropertyMapHashTable.h.
* runtime/StructureInlines.h:
(JSC::Structure::forEachPropertyConcurrently): Capture this very common concurrent structure iteration pattern into a template method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173799
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 21 Sep 2014 20:30:10 +0000 (20:30 +0000)]
run-webkit-tests should count tests submitted as absolute paths once
https://bugs.webkit.org/show_bug.cgi?id=136848
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-21
Reviewed by Darin Adler.
* Scripts/webkitpy/port/base.py:
(Port._expanded_paths): In case of absolute path, do not search for platform specific tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173798
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 21 Sep 2014 19:18:40 +0000 (19:18 +0000)]
Structure::getConcurrently() doesn't need to take a VM& argument.
Rubber stamped by Dan Bernstein.
Removed the extra argument, and then removed similar arguments from other methods until
I could build successfully again. It turned out that many methods took a VM& argument
just for calling getConcurrently().
* bytecode/CodeBlock.cpp:
(JSC::dumpStructure):
(JSC::dumpChain):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printPutByIdCacheStatus):
* bytecode/ComplexGetStatus.cpp:
(JSC::ComplexGetStatus::computeFor):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdStatus.h:
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):
* bytecode/PutByIdStatus.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
* runtime/IntendedStructureChain.cpp:
(JSC::IntendedStructureChain::mayInterceptStoreTo):
* runtime/IntendedStructureChain.h:
* runtime/Structure.cpp:
(JSC::Structure::getConcurrently):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::getConcurrently):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173797
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sun, 21 Sep 2014 18:26:18 +0000 (18:26 +0000)]
Unreviewed, speculative build fix.
If you use typed arrays, you gotta include runtime/TypedArrayInlines.h.
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173796
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 20 Sep 2014 21:52:14 +0000 (21:52 +0000)]
FTL OSRExit construction should be based on methods that return ExitValues rather than methods that add ExitValues to OSRExit
https://bugs.webkit.org/show_bug.cgi?id=136978
Reviewed by Dean Jackson.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::exitArgument):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode): Deleted.
(JSC::FTL::LowerDFGToLLVM::tryToSetConstantExitArgument): Deleted.
(JSC::FTL::LowerDFGToLLVM::addExitArgument): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173795
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 20 Sep 2014 18:45:54 +0000 (18:45 +0000)]
FTL OSR exit should do reboxing and value recovery in the same pass
https://bugs.webkit.org/show_bug.cgi?id=136977
Reviewed by Oliver Hunt.
It's conceptually simpler to have all of the logic in one place. After the
recover-and-rebox loop is done, all of the exit values are in the form that the baseline
JIT would want them to be in; the only remaining task is to move them into the right
place on the stack after we do all of the necessary stack adjustments.
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173794
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 20 Sep 2014 17:59:58 +0000 (17:59 +0000)]
StorageAccessData should be referenced in a sensible way
https://bugs.webkit.org/show_bug.cgi?id=136963
Reviewed and rubber stamped by Michael Saboff.
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handlePutByOffset):
(JSC::DFG::ByteCodeParser::handlePutById):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::storageAccessData):
(JSC::DFG::Node::storageAccessDataIndex): Deleted.
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compilePutByOffset):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173793
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 20 Sep 2014 15:34:08 +0000 (15:34 +0000)]
Web Inspector: Option+Click on CSS url(...) should jump to resource view
https://bugs.webkit.org/show_bug.cgi?id=136965
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-20
Reviewed by Timothy Hatcher.
* UserInterface/Views/CodeMirrorAdditions.js:
When parsing CSS url(...) tokens, the contents of url(...)
are a "string" type, not "atom".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173792
268f45cc-cd09-0410-ab3c-
d52691b4dbfc