SimpleLineLayout::canUseFor() should iterate through RenderTexts to check if their content is eligible for simple line layout.
https://bugs.webkit.org/show_bug.cgi?id=139007

Reviewed by Antti Koivisto.

Source/WebCore:

Tests: fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html
       fast/text/simple-line-layout-multiple-renderers-with-float.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):

LayoutTests:

* fast/text/simple-line-layout-multiple-renderers-non-breaking-space-expected.html: Added.
* fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html: Added.
* fast/text/simple-line-layout-multiple-renderers-with-float-expected.html: Added.
* fast/text/simple-line-layout-multiple-renderers-with-float.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid String concatenation with line break iterator
https://bugs.webkit.org/show_bug.cgi?id=139034

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/text/simple-lines-multiple-renderers-break.html

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::initializeSegments):

    Include String too so it doesn't need to be fetched from the renderer.

(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):

    Make this iterative instead of recursive.
    Uset setPriorContext to provide previous characters instead of concatenating
    the string from all the previous segments.

(WebCore::SimpleLineLayout::findNextNonWhitespace):
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):

    Search using segments instead of the concatenated string.

(WebCore::SimpleLineLayout::FlowContents::textWidth):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow):
(WebCore::SimpleLineLayout::FlowContents::runWidth):
(WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow): Deleted.
(WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Deleted.
(WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): Deleted.
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::characterAt):
(WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition):
(WebCore::SimpleLineLayout::FlowContents::segmentForPosition):

LayoutTests:

Test that there is no implicit break point between Text nodes.

* fast/text/simple-lines-multiple-renderers-break-expected.html: Added.
* fast/text/simple-lines-multiple-renderers-break.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move :placeholder-shown out of experimental
https://bugs.webkit.org/show_bug.cgi?id=138998

Reviewed by Andreas Kling.

The pseudo class :placeholder-shown is used by the inspector, disabling it breaks
the sidebar.

The implementation has been stable for a while, we can move it to stable.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Remove some bad stuff from WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=138896

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-24
Reviewed by Sam Weinig.

The state loadStateAtProcessExit does not seem to be used anywhere.

The state urlAtProcessExit only exists to forward the url from
WebPageProxy::resetStateAfterProcessExited() to the coordinated graphics code
WebView::processDidExit().

* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::processDidExit):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::urlAtProcessExit): Deleted.
(WebKit::WebPageProxy::loadStateAtProcessExit): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simple line layout: Rename TextFragment::mustBreak to TextFragment::isLineBreak
https://bugs.webkit.org/show_bug.cgi?id=139035

Reviewed by Antti Koivisto.

Move new line logic to FlowContents class.
This is in preparation to support <br>.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::isNewline):
(WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): Deleted.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, EFL build fix since r176530.

* UIProcess/CoordinatedGraphics/WebView.cpp: Replace pointer with reference.
(WebKit::WebView::processDidExit):

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