Fix duplicate TestExpecataions entry for svg/custom/foreign-object-skew.svg

Unreviewed gardening of TestExpecations

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tune BackgroundHTMLParser's pendingTokenLimit based on a benchmark
https://bugs.webkit.org/show_bug.cgi?id=110408

Reviewed by Adam Barth.

This constant was tuned by running the top 25 sites in Telemetry on a Nexus 7 device.
The new value decreases the maximum time spent parsing by 40% without significantly impacting total parse time or DOMContentLoaded.

No new tests because no new functionality.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Plug-in snapshotting code always accepts first snapshot
https://bugs.webkit.org/show_bug.cgi?id=110495

Reviewed by Tim Horton.

When we detect a plugin that can be snapshotted we start capturing
images until we find one that we believe isn't blank, or we timeout.
I introduced a regression recently where we swap renderers as
soon as the snapshot arrives, whether or not is is blank.

The fix was to have the embedder (currently only WK2) be the one
who tells the HTMLPlugInElement to start displaying snapshots.

Source/WebCore:

* html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::setDisplayState): Make this a virtual function.
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::setDisplayState): Override to call the
    base class version, but swap renderers if we should move to the snapshot.
(WebCore::HTMLPlugInImageElement::updateSnapshot): Don't swap renderers here any more.
* html/HTMLPlugInImageElement.h: New virtual version of setDisplayState.

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginSnapshotTimerFired): When we find a
snapshot that we like, tell the HTMLPlugInElement to move to
the snapshot view.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline 4 SVG tests after an aspect ratio change in r143389

These 4 SVG tests needed a rebaseline after fixing WK99984.

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac/svg/as-image/image-preserveAspectRatio-all-expected.png: Added.
* platform/chromium-mac/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac/svg/filters/feImage-preserveAspectRatio-all-expected.png: Added.
* platform/chromium-win/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set
https://bugs.webkit.org/show_bug.cgi?id=109989

Reviewed by Ryosuke Niwa.

.:

Add setters to export symbols.

* Source/autotools/symbols.filter:

Source/WebCore:

Start generating the code for settings that call m_page->setNeedsRecalcStyleInAllFrames()
when the value is changed. This allows us to generate 10 more settings. As a follow up, we
can remove some methods from DRT/WTR after this.

No new tests, this is a build refactor and should not impact any test results.

* page/Settings.cpp:
(WebCore::Settings::Settings): Remove member variables. Add SETTINGS_SETTER_BODIES macro that
has the generated setter bodies.
* page/Settings.h:
(Settings): Remove code that is now generated.
* page/Settings.in: Add new entries with setNeedsStyleRecalcWhenSetting=1
* page/make_settings.pl:
(defaultItemFactory): Add setNeedsStyleRecalcWhenSetting flag.
(generateSettingsMacrosHeader): Print macro for setter bodies.
(printConditionalMacros): Add setter body code.
(printGettersAndSetters): Pass in setNeedsStyleRecalcWhenSetting so we know whether to inline the
setter in the header or not.
(printGetterAndSetter): Ditto.
(printSetterBodies): Print macro for setter bodies.
(printSetterBody): Print setter body for a single setting.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, roll chromium deps 183552 -> 183788

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should not change its mind about what type speculations a node does, by encoding the checks in the NodeType, UseKind, and ArrayMode
https://bugs.webkit.org/show_bug.cgi?id=109371

Reviewed by Oliver Hunt.
        
FixupPhase now locks in the speculations that each node will do. The DFG then
remembers those speculations, and doesn't change its mind about them even if the
graph is transformed - for example if a node's child is repointed to a different
node as part of CSE, CFG simplification, or folding. Each node ensures that it
executes the speculations promised by its edges. This is true even for Phantom
nodes.
        
This still leaves some craziness on the table for future work, like the
elimination of speculating SetLocal's due to CFG simplification
(webkit.org/b/109388) and elimination of nodes via DCE (webkit.org/b/109389).
        
In all, this allows for a huge simplification of the DFG. Instead of having to
execute the right speculation heuristic each time you want to decide what a node
does (for example Node::shouldSpeculateInteger(child1, child2) &&
node->canSpeculateInteger()), you just ask for the use kinds of its children
(typically node->binaryUseKind() == Int32Use). Because the use kinds are
discrete, you can often just switch over them. This makes many parts of the code
more clear than they were before.
        
Having UseKinds describe the speculations being performed also makes it far
easier to perform analyses that need to know what speculations are done. This is
so far only used to simplify large parts of the CFA.
        
To have a larger vocabulary of UseKinds, this also changes the node allocator to
be able to round up Node sizes to the nearest multiple of 16.
        
This appears to be neutral on benchmarks, except for some goofy speed-ups, like
8% on Octane/box2d.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::startExecuting):
(DFG):
(JSC::DFG::AbstractState::executeEdges):
(JSC::DFG::AbstractState::verifyEdge):
(JSC::DFG::AbstractState::verifyEdges):
(JSC::DFG::AbstractState::executeEffects):
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractState.h:
(AbstractState):
(JSC::DFG::AbstractState::filterEdgeByUse):
(JSC::DFG::AbstractState::filterByType):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::filter):
* dfg/DFGAdjacencyList.h:
(JSC::DFG::AdjacencyList::AdjacencyList):
(JSC::DFG::AdjacencyList::child):
(JSC::DFG::AdjacencyList::setChild):
(JSC::DFG::AdjacencyList::reset):
(JSC::DFG::AdjacencyList::firstChild):
(JSC::DFG::AdjacencyList::setFirstChild):
(JSC::DFG::AdjacencyList::numChildren):
(JSC::DFG::AdjacencyList::setNumChildren):
(AdjacencyList):
* dfg/DFGAllocator.h:
(DFG):
(Allocator):
(JSC::DFG::Allocator::cellSize):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::payloadSize):
(JSC::DFG::Allocator::Region::payloadBegin):
(JSC::DFG::Allocator::Region::payloadEnd):
(JSC::DFG::Allocator::Region::isInThisRegion):
(JSC::DFG::::Allocator):
(JSC::DFG::::~Allocator):
(JSC::DFG::::allocate):
(JSC::DFG::::free):
(JSC::DFG::::freeAll):
(JSC::DFG::::reset):
(JSC::DFG::::indexOf):
(JSC::DFG::::allocatorOf):
(JSC::DFG::::bumpAllocate):
(JSC::DFG::::freeListAllocate):
(JSC::DFG::::allocateSlow):
(JSC::DFG::::freeRegionsStartingAt):
(JSC::DFG::::startBumpingIn):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::handleMinMax):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::eliminateIrrelevantPhantomChildren):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCommon.h:
(DFG):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGEdge.cpp:
(JSC::DFG::Edge::dump):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::useKind):
(JSC::DFG::Edge::shift):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::run):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::fixDoubleEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(FixupPhase):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::truncateConstantsIfNecessary):
(JSC::DFG::FixupPhase::attemptToMakeIntegerAdd):
* dfg/DFGGraph.cpp:
(DFG):
(JSC::DFG::Graph::refChildren):
(JSC::DFG::Graph::derefChildren):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
(JSC::DFG::Graph::performSubstitution):
(JSC::DFG::Graph::isPredictedNumerical):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
(DFG):
* dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::willHaveCodeGenOrOSR):
(JSC::DFG::Node::child1):
(JSC::DFG::Node::child2):
(JSC::DFG::Node::child3):
(JSC::DFG::Node::binaryUseKind):
(Node):
(JSC::DFG::Node::isBinaryUseKind):
* dfg/DFGNodeAllocator.h:
(DFG):
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::nodeFlagsAsString):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculationCheck):
(DFG):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::typeCheck):
(JSC::DFG::SpeculativeJIT::forwardTypeCheck):
(JSC::DFG::SpeculativeJIT::fillStorage):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::speculateInt32):
(JSC::DFG::SpeculativeJIT::speculateNumber):
(JSC::DFG::SpeculativeJIT::speculateRealNumber):
(JSC::DFG::SpeculativeJIT::speculateBoolean):
(JSC::DFG::SpeculativeJIT::speculateCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotCell):
(JSC::DFG::SpeculativeJIT::speculateOther):
(JSC::DFG::SpeculativeJIT::speculate):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::valueOfNumberConstant):
(JSC::DFG::SpeculativeJIT::needsTypeCheck):
(JSC::DFG::IntegerOperand::IntegerOperand):
(JSC::DFG::IntegerOperand::edge):
(IntegerOperand):
(JSC::DFG::IntegerOperand::node):
(JSC::DFG::IntegerOperand::gpr):
(JSC::DFG::IntegerOperand::use):
(JSC::DFG::JSValueOperand::JSValueOperand):
(JSValueOperand):
(JSC::DFG::JSValueOperand::edge):
(JSC::DFG::JSValueOperand::node):
(JSC::DFG::JSValueOperand::gpr):
(JSC::DFG::JSValueOperand::fill):
(JSC::DFG::JSValueOperand::use):
(JSC::DFG::StorageOperand::StorageOperand):
(JSC::DFG::StorageOperand::edge):
(StorageOperand):
(JSC::DFG::StorageOperand::node):
(JSC::DFG::StorageOperand::gpr):
(JSC::DFG::StorageOperand::use):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::edge):
(JSC::DFG::SpeculateIntegerOperand::node):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(JSC::DFG::SpeculateIntegerOperand::use):
(JSC::DFG::SpeculateStrictInt32Operand::SpeculateStrictInt32Operand):
(SpeculateStrictInt32Operand):
(JSC::DFG::SpeculateStrictInt32Operand::edge):
(JSC::DFG::SpeculateStrictInt32Operand::node):
(JSC::DFG::SpeculateStrictInt32Operand::gpr):
(JSC::DFG::SpeculateStrictInt32Operand::use):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::edge):
(JSC::DFG::SpeculateDoubleOperand::node):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(JSC::DFG::SpeculateDoubleOperand::use):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::edge):
(JSC::DFG::SpeculateCellOperand::node):
(JSC::DFG::SpeculateCellOperand::gpr):
(JSC::DFG::SpeculateCellOperand::use):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::edge):
(SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::node):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(JSC::DFG::SpeculateBooleanOperand::use):
(DFG):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* dfg/DFGUseKind.cpp: Added.
(WTF):
(WTF::printInternal):
* dfg/DFGUseKind.h: Added.
(DFG):
(JSC::DFG::typeFilterFor):
(JSC::DFG::isNumerical):
(WTF):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::reportValidationContext):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Safari] Crash with opacity + drop shadow filter + child element extending beyond filter outsets
https://bugs.webkit.org/show_bug.cgi?id=107467

Source/WebCore:

Reviewed by Dean Jackson.

The filter code plays games with the current GraphicsContext, replacing the current
context with one which will get filtered.

This doesn't play nicely with the RenderLayer code which lazily starts transparency
layers. If we don't start a transparency layer until painting a child of the filtered
layer, then the transparency layer is started using the wrong context.

Fix by eagerly starting transparency layers if we have both a filter and opacity.

Test: css3/filters/filter-with-opacity-and-children.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):

LayoutTests:

Reviewed by Dean Jackson.

Testcase with filtered element with opacity, and layer child.

* css3/filters/filter-with-opacity-and-children-expected.txt: Added.
* css3/filters/filter-with-opacity-and-children.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't make an overhang shadow layer when the WKView has a transparent background
https://bugs.webkit.org/show_bug.cgi?id=110429

Reviewed by Anders Carlsson.

When in coordinated scrolling mode, RenderLayerCompositor makes a layer to show
the shadow around the content when rubber-banding. However, if the view is
transparent, we don't want to make this layer, since it darkens the entire view.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateRootLayerConfiguration): Code was moved
into viewHasTransparentBackground(), so just call that here.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresContentShadowLayer): Don't make
a shadow layer when the view is transparent.
(WebCore::RenderLayerCompositor::viewHasTransparentBackground): Return
true if the view is transparent or has a non-opaque background color,
and optionally return that color.
* rendering/RenderLayerCompositor.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r143536.
http://trac.webkit.org/changeset/143536
https://bugs.webkit.org/show_bug.cgi?id=110523

Causing a bunch of tests to fail on Windows, requires
rebaselining (Requested by rfong on #webkit).

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

Source/WebCore:

* config.h:
* page/Settings.cpp:
(WebCore):
(WebCore::Settings::setShouldPaintNativeControls):
* page/Settings.h:
(Settings):
(WebCore::Settings::shouldPaintNativeControls):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore):
* rendering/RenderThemeWin.cpp:
(WebCore):

Source/WebKit/win:

* WebKitClassFactory.cpp:
(WebKitClassFactory::WebKitClassFactory):
* WebView.cpp:
(WebView::initWithFrame):
(WebView::notifyPreferencesChanged):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Suppressed failing tests after r143626.
These tests need to be rebaselined.

Unreviewed gardening of TestExpectations.

* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Build fix for VS2010 WebKit solution.

* JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make BackgroundHTMLParser rewind the preload scanner instead of clear it
https://bugs.webkit.org/show_bug.cgi?id=110517

Reviewed by Adam Barth.

No new tests becuase no new functionality.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/BackgroundHTMLParser.h:
(Checkpoint):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didFailSpeculation):
* html/parser/HTMLDocumentParser.h:
(ParsedChunk):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::createCheckpoint):
(WebCore):
(WebCore::TokenPreloadScanner::rewindTo):
* html/parser/HTMLPreloadScanner.h:
(WebCore):
(TokenPreloadScanner):
(WebCore::TokenPreloadScanner::Checkpoint::Checkpoint):
(Checkpoint):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Tab to spaces style fix.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Nodes should not have attributes property
https://bugs.webkit.org/show_bug.cgi?id=110510

Reviewed by Adam Barth.

Source/WebCore:

According to http://dom.spec.whatwg.org/ attributes and hasAttributes
should be defined on Element and not on Node.

Test: fast/dom/Text/text-should-not-have-attributes.html

* dom/Element.idl:
* dom/Node.idl:

LayoutTests:

* fast/dom/Node/initial-values-expected.txt:
* fast/dom/Node/script-tests/initial-values.js:
* fast/dom/Text/text-should-not-have-attributes-expected.txt: Added.
* fast/dom/Text/text-should-not-have-attributes.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/fast/encoding/parser-tests-*.html timeout with threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=109995

Reviewed by Adam Barth.

Source/WebCore:

In the case where during main document onload, we
load a new iframe, and then from within that iframe
we run script to remove the iframe and call testRunner.notifyDone()
the notifyDone() will not correctly dump because
the testRunner does not yet realize that the main resource
has completed loading.

In the main-thread parser, the testRunner does correctly know
that the main thread has completed, because removing the iframe
causes a didFailLoad callback to the embedder, because when
the iframe is being removed, the DocumentLoader for that iframe
is still on the stack and believe's its loading
(because it has a MainResourceLoader which is also on the stack
delivering us the bytes which contain this inline script).

In the threaded-parser case, the DocumentLoader and MainResourceLoader
are no longer on the stack, as we are parsing the iframe asynchronously
after all the bytes have been delivered, and the MainResourceLoader destroyed.
Thus when DocumentLoader::stopLoading() is called, loading() returns
false, and it returns early.  One might argue that we should remove that
early return entirely, but it seemed safer to extend the idea of
when we're loading to include the time when the parser is active.

This patch solves this by teaching the DocumentLoader that it is still
"loading" so long as the parser is still active.

Also added a call to DocumentLoader::checkLoadComplete from
Document::decrementActiveParserCount which seemed to cause
http/tests/multipart/policy-ignore-crash.php to pass.

This causes http/tests/security/feed-urls-from-remote.html to timeout
on chromium (but no other platforms that I'm aware of).  I believe this
is due to a bug in our DRT implementation in the policyDelegate case
(which AFAIK is not a codepath which Chromium actually uses in the wild).
The test already times out on TOT if you remove the setCustomPolicyDelegate calls!

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::isLoading):
(WebCore):
* loader/DocumentLoader.h:
(DocumentLoader):

LayoutTests:

Mark http/tests/security/feed-urls-from-remote.html as timeout on chromium.
I believe this is due to a bug in our DRT implementation in the policyDelegate case
(which AFAIK is not a codepath which Chromium actually uses in the wild).
The test already times out on TOT if you remove the setCustomPolicyDelegate calls.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Remove copying WebIDBDatabase::put() stub
https://bugs.webkit.org/show_bug.cgi?id=109967

Reviewed by Darin Fisher.

Now that the chromium call to this method has
been removed, we can remove the stub.

* public/WebIDBDatabase.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled Chromium DEPS to r183905.  Requested by
"Mark Pilgrim" <pilgrim@chromium.org> via sheriffbot.

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

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Object allocation profiling will refuse to create objects with more than JSFinalObject::maxInlineCapacity() inline slots, but JSFunction::allocationProfile() asserts that the number of inline slots is always what it asked for
https://bugs.webkit.org/show_bug.cgi?id=110519
<rdar://problem/13218566>

Reviewed by Geoffrey Garen.
        
* runtime/JSFunction.h:
(JSC::JSFunction::allocationProfile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools: [Chromium] Remove the word "cheher" from the list of misspelled words
https://bugs.webkit.org/show_bug.cgi?id=110447

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

Other platforms do not mark "cheher" as a misspelled word in layout tests.
This change is to bring Chromium platform in line with the rest of the
platforms.

* DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp:
(WebTestRunner::MockSpellCheck::hasInCache): Changed "cheher" to "wellcome".
(WebTestRunner::MockSpellCheck::fillSuggestionList): Removed "cheher" misspelling and "checker" suggestion.
(WebTestRunner::MockSpellCheck::initializeIfNeeded): Removed "cheher" misspelling.

LayoutTests: Fix editing/spelling/spelling-changed-text.html on Qt and GTK
https://bugs.webkit.org/show_bug.cgi?id=110447

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

After r143470 editing/spelling/spelling-changed-text.html fails on Qt and GTK,
because Qt and Gtk spelling tests do not mark "cheher" as a misspelling. This
patch changes the test to use the misspelling "wellcome" instead.

* editing/spelling/spelling-changed-text-expected.txt: Changed "cheher" to "wellcome".
* editing/spelling/spelling-changed-text.html: Changed "cheher" to "wellcome".
* platform/gtk/TestExpectations: Enabled editing/spelling/spelling-changed-text.html test.
* platform/qt/TestExpectations: Enabled editing/spelling/spelling-changed-text.html test.

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