Unreviewed EFL gardening.

Mark fast/flexbox/line-clamp-link-after-ellipsis.html as failing
on EFL port. This test was introduced in r142335.

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG CompareEq(a, null) and CompareStrictEq(a, const) are unsound with respect to constant folding
https://bugs.webkit.org/show_bug.cgi?id=109387

Reviewed by Oliver Hunt.
        
Lock in the decision to use a non-speculative constant comparison as early as possible
and don't let the CFA change it by folding constants. This might be a performance
penalty on some really weird code (FWIW, I haven't seen this on benchmarks), but on
the other hand it completely side-steps the unsoundness that the bug speaks of.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::isConstantForCompareStrictEq):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
document.write during window.onload can trigger DumpRenderTree to dump the render tree
https://bugs.webkit.org/show_bug.cgi?id=109465

Reviewed by Eric Seidel.

Source/WebCore:

This patch is a partial revert of
http://trac.webkit.org/changeset/142378. It's not safe to call
checkComplete during the load event. We'll need to find another way of
calling checkComplete at the right time.

Test: fast/parser/document-write-during-load.html

* dom/Document.cpp:
(WebCore::Document::decrementActiveParserCount):

LayoutTests:

* fast/parser/document-write-during-load-expected.txt: Added.
* fast/parser/document-write-during-load.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2][Notifications] Missing early return in populateCopyOfNotificationPermissions
https://bugs.webkit.org/show_bug.cgi?id=108459

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2013-02-11
Reviewed by Alexey Proskuryakov.

* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
Providers might return 0 and we will end up with a null-pointer dereference.
Early check against this.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Replace correct misspelled range in WebKit::WebFrameImpl::replaceMisspelledRange
https://bugs.webkit.org/show_bug.cgi?id=108513

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-11
Reviewed by Tony Chang.

WebKit::WebFrameImpl::replaceMisspelledRange is going to be used by Chromium instead of
WebKit::WebFrameImpl::replaceSelection for correcting misspellings. The current implementation
of WebKit::WebFrameImpl::replaceMisspelledRange sometimes replaces the wrong range. This change
uses Range::create instead of TextIterator::rangeFromLocationAndLength to select the correct
range. This change also disables smart replace in WebKit::WebFrameImpl::replaceMisspelledRange
to avoid introducing spaces around misspellings.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::replaceMisspelledRange): Replace correct misspelled range.
* tests/WebFrameTest.cpp: Add unit test for WebKit::WebFrameImpl::replaceMisspelledRange method.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Windows 7 Debug mode build fix.

* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] FilterTypeSaturatingBrightness enum
https://bugs.webkit.org/show_bug.cgi?id=109380

Introduce a new WebFilterOperation::FilterType enum (FilterTypeSaturatingBrightness)
to support existing interntal clients which rely on the current saturating brightness
behavior (in preparation of switching to the new brightness implementation).

Reviewed by James Robinson.

* chromium/public/WebFilterOperation.h:
(WebKit::WebFilterOperation::amount):
(WebKit::WebFilterOperation::createSaturatingBrightnessFilter):
(WebKit::WebFilterOperation::setAmount):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make WebVTTTokenizer stop inheriting from MarkupTokenizerBase
https://bugs.webkit.org/show_bug.cgi?id=109411

Reviewed by Adam Barth.

Moved InputStreamPreprocessor into its own header file so it can be
used by both WebVTTTokenizer and HTMLTokenizer.

Also split out kEndOfFileMarker from InputStreamPreprocessor<T> so that
it can be used w/o a specific instantiation of the template class.
This also made it possible to fix three old fixmes about wanting to share
that constant.

Again, separating WebVTT code from Markup* base classes made it simpler
at the cost of a little copy/paste code.  WebVTT tokenization is remarkably
simple compared to HTML.

This will make it immediately possible to pull MarkupTokenizerBase up into
HTMLTokenizer and further simplify the code.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::markEndOfFile):
* html/parser/HTMLInputStream.h:
(WebCore::HTMLInputStream::markEndOfFile):
* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::nextToken):
* html/parser/InputStreamPreprocessor.h: Added.
(WebCore):
(InputStreamPreprocessor):
(WebCore::InputStreamPreprocessor::InputStreamPreprocessor):
(WebCore::InputStreamPreprocessor::nextInputCharacter):
(WebCore::InputStreamPreprocessor::peek):
(WebCore::InputStreamPreprocessor::advance):
(WebCore::InputStreamPreprocessor::skipNextNewLine):
(WebCore::InputStreamPreprocessor::reset):
(WebCore::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
* html/track/WebVTTTokenizer.cpp:
(WebCore::WebVTTTokenizer::WebVTTTokenizer):
(WebCore::WebVTTTokenizer::nextToken):
* html/track/WebVTTTokenizer.h:
(WebVTTTokenizer):
(WebCore::WebVTTTokenizer::haveBufferedCharacterToken):
(WebCore::WebVTTTokenizer::bufferCharacter):
(WebCore::WebVTTTokenizer::emitAndResumeIn):
(WebCore::WebVTTTokenizer::emitEndOfFile):
(WebCore::WebVTTTokenizer::shouldSkipNullCharacters):
* xml/parser/MarkupTokenizerBase.h:
(MarkupTokenizerBase):
(WebCore::MarkupTokenizerBase::bufferCharacter):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r142491.
http://trac.webkit.org/changeset/142491
https://bugs.webkit.org/show_bug.cgi?id=109470

broke the 32 bit build (Requested by jessieberlin on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-11

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileStrictEq):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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