transition-property property doesn't accept "all, <IDENT>".
https://bugs.webkit.org/show_bug.cgi?id=110074

Reviewed by Dean Jackson.

Source/WebCore:

http://dev.w3.org/csswg/css3-transitions/#transition-property-property
allows all, <IDENT> as a value for the transition-property property. In
fact thanks to http://trac.webkit.org/changeset/143019 we correctly
implemented that behavior for transition shorthand property while
fixing bugs on the previous implementation. We did introduce a
AnimationParseContext to track whether the parsing of the
transition-property was finished or not in relation to the keyword.
This patch extend that mechanism to the longhand by renaming the
boolean and the functions to use it in the context class and set it
correctly while parsing the longhand property.

Test: LayoutTests/transitions/transitions-parsing.html

* css/CSSParser.cpp:
(WebCore::AnimationParseContext::AnimationParseContext):
(WebCore::AnimationParseContext::commitAnimationPropertyKeyword):
(WebCore::AnimationParseContext::animationPropertyKeywordAllowed):
(AnimationParseContext):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseAnimationProperty): We can remove the
condition inShorthand() here, if 'none' is parsed then no more keyword
can appear, if 'all' is parsed then we can continue the parsing but
invalidate the property if another keyword is encountered. These
conditions are valid for the shorthand and the longhand.

LayoutTests:

Extend exising test to cover the bug.

* transitions/transitions-parsing-expected.txt:
* transitions/transitions-parsing.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Do one lookup per code cache insertion instead of two
https://bugs.webkit.org/show_bug.cgi?id=110674

Reviewed by Sam Weinig.

Deployed the idiomatic "add null value" trick to avoid a second hash
lookup when inserting an item.

* runtime/CodeCache.cpp:
(JSC::CodeCacheMap::pruneSlowCase): Factored this into a helper function
to improve clarity and get some code off the hot path.

(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode): Use the add() API
to avoid two hash lookups. Be sure to remove items if parsing fails,
otherwise we'll leave nulls in the table. (I'm guessing that caching parse
errors is not a win.)

* runtime/CodeCache.h:
(JSC::SourceCodeValue::SourceCodeValue):
(CodeCacheMap):
(JSC::CodeCacheMap::add): Combined find() and set() into add().

(JSC::CodeCacheMap::remove):
(JSC::CodeCacheMap::age):
(JSC::CodeCacheMap::prune): Refactored to support above changes.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor logic for relaying out children out of RenderBlock::styleDidChange
https://bugs.webkit.org/show_bug.cgi?id=110661

Reviewed by David Hyatt.

Instead of having styleDidChange need to know which children to mark as needing layout,
use a bool to keep track of border and padding width changes so at layout time, we know
we need to set relayoutChildren=true.

We steal a bit from m_lineHeight reducing the possible line height from around 500 million pixels
to 250 million pixels.

No new tests, this should be covered by fast/block/positioning/border-change-relayout-test.html and
fast/block/dynamic-padding-border.html.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock): Fix indent and initialize m_hasBorderOrPaddingLogicalWidthChanged.
(WebCore::RenderBlock::styleDidChange): Remove logic for setting children as needing layout.
(WebCore::RenderBlock::updateLogicalWidthAndColumnWidth): Return true if border or padding width changed.
* rendering/RenderBlock.h:
(RenderBlock): Steal a bit from m_lineHeight and give it to m_hasBorderOrPaddingLogicalWidthChanged.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Try to get the webkit builder to use msvs again
https://bugs.webkit.org/show_bug.cgi?id=110771

Reviewed by Eric Seidel.

The msvs gyp generator apparently doesn't write the sln file on every
run, so check the vcxproj file instead.

* Scripts/webkitdirs.pm:
(determineIsChromiumNinja):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix python unit tests after yoli's email address update in http://trac.webkit.org/changeset/143922
https://bugs.webkit.org/show_bug.cgi?id=110775

Unreviewed, basically a rebaseline.

* Scripts/webkitpy/common/config/watchlist:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Changed DatabaseTracker::getMaxSizeForDatabase() to return the previous
database size instead of 0 when the quota limit has been reached.
https://bugs.webkit.org/show_bug.cgi?id=110557.

Reviewed by Geoffrey Garen.

Testing of concurrent multi-process consumption of database quota shows that
returning a value of 0 when the quota is exceeded still allows some databases
to run away with unbounded growth. However, if getMaxSizeForDatabase() returns
the existing database size, the underlying sqlite3 database will successfully
reject new growth.

The value returned by DatabaseTracker::getMaxSizeForDatabase() is used to set
the SQLite3 database size using a sql command "PRAGMA max_page_count = <size>".
The SQLite3 documentation on this pragma says, "The maximum page count cannot
be reduced below the current database size."

It is undefined what setting it to a reduced size will do. So, we're changing
getMaxSizeForDatabase() to return the existing size instead.

No new tests.

* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The DFG special case checks for isCreatedThisArgument are fragile
https://bugs.webkit.org/show_bug.cgi?id=110535

Reviewed by Oliver Hunt.
        
There may be many situations in which we want to force a variable to never be
unboxed. Capturing is one such case, and the created this argument is another.
Previously all code that dealt with this issue had to query both scenarios.
        
Now DFG::VariableAccessData knows these things. You just have to ask
VariableAccessData for whether a variable should be unboxed. Anyone wishing to
force a variable to never be unboxed just tells VariableAccessData.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(DFG):
* dfg/DFGCFGSimplificationPhase.cpp:
(CFGSimplificationPhase):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(Graph):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGUnificationPhase.cpp:
(JSC::DFG::UnificationPhase::run):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsCaptured):
(JSC::DFG::VariableAccessData::mergeShouldNeverUnbox):
(VariableAccessData):
(JSC::DFG::VariableAccessData::shouldNeverUnbox):
(JSC::DFG::VariableAccessData::shouldUnboxIfPossible):
(JSC::DFG::VariableAccessData::shouldUseDoubleFormat):
(JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG::Edge should have more bits for UseKind, and DFG::Allocator should be simpler
https://bugs.webkit.org/show_bug.cgi?id=110722

Reviewed by Oliver Hunt.
        
This rolls out the DFG::Allocator part of http://trac.webkit.org/changeset/143654,
and changes Edge to have more room for UseKinds and possibly other things.
        
This is performance-neutral on both 32-bit and 64-bit. It reduces the size of
DFG::Node on 64-bit (by virtue of getting rid of the 16-byte alignment of Node)
and increases it slightly on 32-bit (by 4 bytes total - 16-byte alignment led to
80 bytes, but the base size of Node plus the 12 bytes of new m_encodedWords in
Edge gets 84 bytes). But, it will mean that we don't have to increase Node by
another 16 bytes if we ever want to add more UseKinds or other things to Edge.

* dfg/DFGAllocator.h:
(DFG):
(Allocator):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::data):
(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/DFGEdge.h:
(JSC::DFG::Edge::Edge):
(Edge):
(JSC::DFG::Edge::node):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::setUseKind):
(JSC::DFG::Edge::operator==):
(JSC::DFG::Edge::operator!=):
(JSC::DFG::Edge::makeWord):
* dfg/DFGNodeAllocator.h:
(DFG):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory

        Reviewed by Anders Carlsson.

        * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
        have a "WebProcessService".



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
6% regression in intl1 page cycler on chromium-mac
https://bugs.webkit.org/show_bug.cgi?id=110784

Reviewed by Eric Seidel.

This patch attempts to heal the regression by reverting all the changes
to the preload scanner up to (and including)
http://trac.webkit.org/changeset/143020/.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):
* html/parser/CSSPreloadScanner.h:
(CSSPreloadScanner):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::isStartTag):
(WebCore):
(WebCore::isStartOrEndTag):
(WebCore::TokenPreloadScanner::identifierFor):
(WebCore::TokenPreloadScanner::inititatorFor):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::processPossibleTemplateTag):
(WebCore::TokenPreloadScanner::processPossibleStyleTag):
(WebCore::TokenPreloadScanner::processPossibleBaseTag):
(WebCore::TokenPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::scan):
* html/parser/HTMLPreloadScanner.h:
(TokenPreloadScanner):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for Debug.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::startBackgroundParser):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PDFPlugin: Tab between text annotations
https://bugs.webkit.org/show_bug.cgi?id=106539
<rdar://problem/12751789>

Reviewed by Darin Adler.

Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.

Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.

* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add focus(Next|Previous)Annotation.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
(WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
(WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
(PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
(WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline 3 svg/as-image/ tests

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-linux/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-linux/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-lion/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-mac-lion/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-mac-lion/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-mac/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-mac/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-win/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-win/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-win/svg/as-image/img-preserveAspectRatio-support-1-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Generate xxxAttrSetterCallback()
https://bugs.webkit.org/show_bug.cgi?id=110726

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros into DOM bindings.
This patch introduces an indirection function for xxxAttrSetter(), like this:

// For non-custom setters
void xxxAttrSetterCallback(...) {
  xxxAttrSetter(...);
}

// For custom setters.
void xxxAttrSetterCallback(...) {
  return xxxAttrSetterCustom(...);
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetterCallback):
(GenerateNormalAttrSetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterCallback):
(TestInterfaceV8Internal):
(WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterCallback):
(WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetterCallback):
(WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterCallback):
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::staticStringAttrAttrSetterCallback):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::enumAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::shortAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::longAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::longLongAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::stringAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::testObjAttrAttrSetter):
(WebCore::TestObjV8Internal::testObjAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::XMLObjAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::createAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::typedArrayAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::customAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::conditionalAttr1AttrSetterCallback):
(WebCore::TestObjV8Internal::conditionalAttr2AttrSetterCallback):
(WebCore::TestObjV8Internal::conditionalAttr3AttrSetterCallback):
(WebCore::TestObjV8Internal::anyAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterCallback):
(WebCore::TestObjV8Internal::enabledPerContextAttr1AttrSetterCallback):
(WebCore::TestObjV8Internal::enabledPerContextAttr2AttrSetterCallback):
(WebCore::TestObjV8Internal::floatArrayAttrSetterCallback):
(WebCore::TestObjV8Internal::doubleArrayAttrSetterCallback):
(WebCore::TestObjV8Internal::mutablePointAttrSetterCallback):
(WebCore::TestObjV8Internal::immutablePointAttrSetterCallback):
(WebCore::TestObjV8Internal::strawberryAttrSetterCallback):
(WebCore::TestObjV8Internal::strictFloatAttrSetterCallback):
(WebCore::TestObjV8Internal::idAttrSetterCallback):
(WebCore):
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterCallback):
(TestSerializedScriptValueInterfaceV8Internal):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterCallback):
(WebCore):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterCallback):
(TestTypedefsV8Internal):
(WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Generate a wrapper method for constructor callbacks
https://bugs.webkit.org/show_bug.cgi?id=110765

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros
into DOM bindings. This patch introduces an indirection
function for constructor(), like this:

// For non-custom constructors
void constructorCallback(...) {
  return constructor(...);
}

// For custom constructors
void constructorCallback(...) {
  return constructorCustom(...);
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateConstructor):
(GenerateEventConstructor):
(GenerateTypedArrayConstructor):
(GenerateNamedConstructor):
(GenerateConstructorHeader):
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::Float64ArrayV8Internal::constructor):
(Float64ArrayV8Internal):
(WebCore::V8Float64Array::constructorCallback):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::TestEventConstructorV8Internal::constructor):
(WebCore):
(WebCore::V8TestEventConstructor::constructorCallback):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::constructor):
(TestInterfaceV8Internal):
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::TestNodeV8Internal::constructor):
(TestNodeV8Internal):
(WebCore::V8TestNode::constructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::constructor):
(TestObjV8Internal):
(WebCore::V8TestObj::constructorCallback):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::TestOverloadedConstructorsV8Internal::constructor1):
(WebCore::TestOverloadedConstructorsV8Internal::constructor2):
(WebCore::TestOverloadedConstructorsV8Internal::constructor3):
(WebCore::TestOverloadedConstructorsV8Internal::constructor4):
(WebCore::TestOverloadedConstructorsV8Internal::constructor):
(WebCore):
(WebCore::V8TestOverloadedConstructors::constructorCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::constructor):
(TestSerializedScriptValueInterfaceV8Internal):
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore::TestTypedefsV8Internal::constructor):
(TestTypedefsV8Internal):
(WebCore::V8TestTypedefs::constructorCallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove two stale entries from TestExpectations

Unreviewed patch of test expectations.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Generate a wrapper function for method callbacks
https://bugs.webkit.org/show_bug.cgi?id=110769

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros
into DOM bindings. This patch introduces an indirection
function for xxxMethod(), like this:

// For non-custom methods
void xxxMethodCallback(...) {
  xxxMethod(...);
}

// For custom methods
void xxxMethodCallback(...) {
  return xxxMethodCustom(...);
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateOverloadedFunction):
(GenerateFunctionCallback):
(GenerateFunction):
(GenerateNonStandardFunction):
(GenerateImplementation):
(GenerateFunctionCallString):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::Float64ArrayV8Internal::fooMethodCallback):
(Float64ArrayV8Internal):
(WebCore::Float64ArrayV8Internal::setMethodCallback):
(WebCore):
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethodCallback):
(TestActiveDOMObjectV8Internal):
(WebCore::TestActiveDOMObjectV8Internal::postMessageMethodCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethodCallback):
(TestCustomNamedGetterV8Internal):
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::TestEventTargetV8Internal::itemMethodCallback):
(TestEventTargetV8Internal):
(WebCore::TestEventTargetV8Internal::addEventListenerMethodCallback):
(WebCore::TestEventTargetV8Internal::removeEventListenerMethodCallback):
(WebCore::TestEventTargetV8Internal::dispatchEventMethodCallback):
(WebCore):
(WebCore::ConfigureV8TestEventTargetTemplate):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalMethod1MethodCallback):
(TestInterfaceV8Internal):
(WebCore::TestInterfaceV8Internal::supplementalMethod2MethodCallback):
(WebCore::TestInterfaceV8Internal::supplementalMethod3MethodCallback):
(WebCore::TestInterfaceV8Internal::supplementalMethod4MethodCallback):
(WebCore):
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::TestMediaQueryListListenerV8Internal::methodMethodCallback):
(TestMediaQueryListListenerV8Internal):
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::voidMethodMethodCallback):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::voidMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::longMethodMethodCallback):
(WebCore::TestObjV8Internal::longMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::objMethodMethod):
(WebCore::TestObjV8Internal::objMethodMethodCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::methodWithSequenceArgMethodCallback):
(WebCore::TestObjV8Internal::methodReturningSequenceMethodCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethodCallback):
(WebCore::TestObjV8Internal::serializedValueMethodCallback):
(WebCore::TestObjV8Internal::optionsObjectMethodCallback):
(WebCore::TestObjV8Internal::methodWithExceptionMethodCallback):
(WebCore::TestObjV8Internal::customMethodMethodCallback):
(WebCore::TestObjV8Internal::customMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::addEventListenerMethodCallback):
(WebCore::TestObjV8Internal::removeEventListenerMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateVoidMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateObjMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateObjExceptionMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethodCallback):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethodCallback):
(WebCore::TestObjV8Internal::methodWithCallbackArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethodCallback):
(WebCore::TestObjV8Internal::conditionalMethod1MethodCallback):
(WebCore::TestObjV8Internal::conditionalMethod2MethodCallback):
(WebCore::TestObjV8Internal::conditionalMethod3MethodCallback):
(WebCore::TestObjV8Internal::overloadedMethodMethodCallback):
(WebCore::TestObjV8Internal::classMethodMethodCallback):
(WebCore::TestObjV8Internal::classMethodWithOptionalMethodCallback):
(WebCore::TestObjV8Internal::classMethod2MethodCallback):
(WebCore::TestObjV8Internal::overloadedMethod1MethodCallback):
(WebCore::TestObjV8Internal::classMethodWithClampMethodCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod1MethodCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod2MethodCallback):
(WebCore::TestObjV8Internal::enabledPerContextMethod1MethodCallback):
(WebCore::TestObjV8Internal::enabledPerContextMethod2MethodCallback):
(WebCore::TestObjV8Internal::stringArrayFunctionMethodCallback):
(WebCore::TestObjV8Internal::domStringListFunctionMethodCallback):
(WebCore::TestObjV8Internal::getSVGDocumentMethodCallback):
(WebCore::TestObjV8Internal::convert1MethodCallback):
(WebCore::TestObjV8Internal::convert2MethodCallback):
(WebCore::TestObjV8Internal::convert4MethodCallback):
(WebCore::TestObjV8Internal::convert5MethodCallback):
(WebCore::TestObjV8Internal::mutablePointFunctionMethodCallback):
(WebCore::TestObjV8Internal::immutablePointFunctionMethodCallback):
(WebCore::TestObjV8Internal::orangeMethodCallback):
(WebCore::TestObjV8Internal::strictFunctionMethodCallback):
(WebCore::TestObjV8Internal::variadicStringMethodMethodCallback):
(WebCore::TestObjV8Internal::variadicDoubleMethodMethodCallback):
(WebCore::TestObjV8Internal::variadicNodeMethodMethodCallback):
(WebCore):
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextPrototypeProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListMethodCallback):
(TestSerializedScriptValueInterfaceV8Internal):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListMethodCallback):
(WebCore):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore::TestTypedefsV8Internal::funcMethodCallback):
(TestTypedefsV8Internal):
(WebCore::TestTypedefsV8Internal::multiTransferListMethodCallback):
(WebCore::TestTypedefsV8Internal::setShadowMethodCallback):
(WebCore::TestTypedefsV8Internal::methodWithSequenceArgMethodCallback):
(WebCore::TestTypedefsV8Internal::nullableArrayArgMethodCallback):
(WebCore::TestTypedefsV8Internal::funcWithClampMethodCallback):
(WebCore::TestTypedefsV8Internal::immutablePointFunctionMethodCallback):
(WebCore::TestTypedefsV8Internal::stringArrayFunctionMethodCallback):
(WebCore::TestTypedefsV8Internal::stringArrayFunction2MethodCallback):
(WebCore::TestTypedefsV8Internal::methodWithExceptionMethodCallback):
(WebCore):
(WebCore::ConfigureV8TestTypedefsTemplate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. VS2010 solution build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
* JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExportGeneratorCommon.props:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r143936.
http://trac.webkit.org/changeset/143936
https://bugs.webkit.org/show_bug.cgi?id=110789

Causes webkit_unit_tests failures on android dbg (Requested by
vollick on #webkit).

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

Source/WebCore:

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.h:
(GIFImageDecoder):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::doLZW):
(GIFImageReader::read):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFFrameContext):
(GIFFrameContext::GIFFrameContext):
(GIFFrameContext::~GIFFrameContext):
(GIFImageReader::GIFImageReader):
(GIFImageReader::~GIFImageReader):
(GIFImageReader):
(GIFImageReader::globalColormap):
(GIFImageReader::globalColormapSize):

Source/WebKit/chromium:

* WebKit.gyp:
* WebKit.gypi:
* tests/GIFImageDecoderTest.cpp: Removed.
* tests/data/broken.gif: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for gtk2-based library.

Reviewed by Martin Robinson.

* platform/gtk/WidgetRenderingContext.cpp: move gtk2 check to after the config.h
include, which is the one that includes autotoolsconfig.h, where the gtk2 define
lives.

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