Start cleaning the API of SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=121654

Reviewed by Antti Koivisto.

Make the matching mode internal.
Remove unused accessors.
Make isFrameFocused() internal.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):
(WebCore::isFrameFocused):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::match):
* css/StyleResolver.h:
(WebCore::checkRegionSelector):
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::selectorMatches):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move layer hierarchy functions from RenderObject to RenderElement
https://bugs.webkit.org/show_bug.cgi?id=121692

Reviewed by Andreas Kling.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::moveLayers):
(WebCore::RenderElement::findNextLayer):
(WebCore::RenderElement::layerCreationAllowedForSubtree):
        
    Move these from RenderObject.

(WebCore::RenderElement::insertedIntoTree):
(WebCore::RenderElement::willBeRemovedFromTree):
        
    Factor the layer related portion of these virtuals here.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make extract-localizable-strings available to WebCore clients
https://bugs.webkit.org/show_bug.cgi?id=121699

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Added a Scripts group with a reference to
extract-localizable-strings.pl. Added a Copy Scripts build phase to the WebCore target that
copies the script into PrivateHeaders/Scripts in the framework.
* extract-localizable-strings.pl: Copied from Tools/Scripts/extract-localizable-strings.

Tools:

* Scripts/extract-localizable-strings: Copied to
Soure/WebCore/extract-localizaebl-strings.pl, and changed this into a shell script that
executes the script from its new location. This is a temporary measure until certain code
that is external to WebKit is adapted to the new location.
* Scripts/update-webkit-localizable-strings: Changed to call extract-localizable-strings.pl
from its new location.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clobberize phase forgets to indicate that it writes GCState for several node types
https://bugs.webkit.org/show_bug.cgi?id=121702

Reviewed by Oliver Hunt.

Added read and write for GCState to the nodes that could end up allocating (and thereby
cause a garbage collection).

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make JSMainThreadNullState noncopyable.

Blindly rubber-stamped by Antti Koivisto.

* bindings/js/JSMainThreadExecState.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move tests to new import location
https://bugs.webkit.org/show_bug.cgi?id=121701

Reviewed by Dirk Schulze.

The import script was previously importing the tests into an incorrect
path. This change uses the latest import script to import all of the
shapes tests to the right location.

There are also some small changes in the tests since they had some
more metadata added upstream, but there are no functional changes in
the tests with this change.

* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/resources/rounded-rectangle.js.
(ellipseXIntercept):
(scanConvertRoundedRectangleOutside):
(genLeftRightRoundedRectFloatShapeOutsideRefTest):
(genLeftRoundedRectFloatShapeOutsideRefTest):
(genRightRoundedRectFloatShapeOutsideRefTest):
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/subpixel-utils.js: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/resources/subpixel-utils.js.
(SubPixelLayout):
(SubPixelLayout.):
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html: Copied from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html: Renamed from LayoutTests/csswg/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html.
* csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log: Added.
* csswg/submitted/shapes/shape-outside/w3c-import.log: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add an argument to ImageSource::createFrameAtIndex to hint a decoder that we expect a scaled image.
https://bugs.webkit.org/show_bug.cgi?id=121696

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-09-20
Reviewed by Antti Koivisto.

Add an argument to ImageSource::createFrameAtIndex.  A platform image decoder can decide the optimal
scale based on the hint and pass the real scale it used for decoding.

No new tests, no behavior change.

* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::createFrameAtIndex):
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::createFrameAtIndex):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-[WebHTMLConveter _getFloat:forNode:property:] leaks
https://bugs.webkit.org/show_bug.cgi?id=121709

Reviewed by Enrica Casucci.

* platform/mac/HTMLConverter.mm:
(-[WebHTMLConverter _getFloat:forNode:property:]): Don't leak.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move logicalHeightForLine out of LineWidth.h
https://bugs.webkit.org/show_bug.cgi?id=121575

Reviewed by David Hyatt.

In bug #121107 (r155565), I moved logicalHeightForLine into LineWidth.h as part of LineWidth
refactoring. LogicalHeightForLine without passing the second parameter uses RenderBlock::lineHeight
anyway, except it doesn't take -line-box-contain CSS property into account. For Shapes we don't
have implementation for variable-height lines (https://bugs.webkit.org/show_bug.cgi?id=95361) yet, so
so I modified the affected functions to call lineHeight directly. I renamed logicalHeightForLine
to minLineHeightForReplacedRenderer, and I made the second parameter a mandatory for that function.

No new tests, no behavior change.

* rendering/LineWidth.cpp:
(WebCore::LineWidth::updateAvailableWidth):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
* rendering/LineWidth.h:
* rendering/RenderBlock.cpp: Move the definition here.
(WebCore::RenderBlock::minLineHeightForReplacedRenderer):
* rendering/RenderBlock.h: Move the function here and rename it.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutShapeInsideInfo):
(WebCore::updateLogicalInlinePositions):
(WebCore::updateSegmentsForShapes):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Fix keyboard shortcuts for other platforms
https://bugs.webkit.org/show_bug.cgi?id=120657

Patch by Marcelo Morais <m.morais@samsung.com> on 2013-09-20
Reviewed by Timothy Hatcher.

Handling keyboard shortcuts according to the current platform.

* UserInterface/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
(.WebInspector.InspectorFrontendHostStub.prototype.platform): Added. Return the
current platform.
* UserInterface/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut.Modifier.get CommandOrControl): Added. Created keyboard
modifier to return Control or Command key according to current platform.
* UserInterface/ContentBrowser.js:
(WebInspector.ContentBrowser): Returning Control or Command key for keyboard
shortcuts according to current platform.
* UserInterface/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel): Ditto.
* UserInterface/FindBanner.js:
(WebInspector.FindBanner): Ditto.
* UserInterface/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController): Ditto.
* UserInterface/LogContentView.js:
(WebInspector.LogContentView): Ditto.
* UserInterface/Main.js:
(WebInspector.contentLoaded): Ditto.
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156198 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactoring LineBreaker and RenderTextInfo out of RenderBlock.h
https://bugs.webkit.org/show_bug.cgi?id=121707

Reviewed by David Hyatt.

LineBreaker and RenderTextInfo are defined in RenderBlock.h, but only used in RenderBlockLineLayout.cpp.
Moving them there (LineBreaker needs to be a friend class of RenderBlock) in the first step in the process
of refactoring LineBreaker::NextSegmentBreak into more manageable chunks.

This change was reviewed and landed in Blink:
https://src.chromium.org/viewvc/blink?revision=157402&view=revision

No new tests.

* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineBreaker::LineBreaker):
(WebCore::LineBreaker::lineWasHyphenated):
(WebCore::LineBreaker::positionedObjects):
(WebCore::LineBreaker::clear):
(WebCore::RenderTextInfo::RenderTextInfo):
(WebCore::RenderTextInfo::~RenderTextInfo):
(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):
(WebCore::LineBreaker::reset):
(WebCore::LineBreaker::nextLineBreak):
(WebCore::LineBreaker::nextSegmentBreak):


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