Unreviewed. Update Yi Shen, Antonio Gomes and Laszlo Gombos'
emails on their behalf.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ElementData: Move leafy things out of the base class.
<http://webkit.org/b/109888>

Reviewed by Antti Koivisto.

- Moved functions for mutating/adding/removing attributes into UniqueElementData.
  Attempts to modify shared element data will now fail at compile-time.

- Removed mutableAttributeVector() and have call sites access the vector directly.

- Move immutableAttributeArray() to ShareableElementData.

- Move some function bodies from Element.h to Element.cpp since all clients are in there.

* dom/Element.cpp:
(WebCore::Element::addAttributeInternal):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::makeShareableCopy):
(WebCore::UniqueElementData::addAttribute):
(WebCore::UniqueElementData::removeAttribute):
(WebCore::ElementData::reportMemoryUsage):
(WebCore::UniqueElementData::getAttributeItem):
(WebCore::UniqueElementData::attributeItem):
* dom/Element.h:
(ElementData):
(WebCore::ShareableElementData::immutableAttributeArray):
(ShareableElementData):
(UniqueElementData):
(WebCore::ElementData::length):
(WebCore::ElementData::attributeItem):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
NRWT: ML Debug Test bot is timing out after cleaning up ports
https://bugs.webkit.org/show_bug.cgi?id=109912

Reviewed by Simon Fraser.

Added more debug messgaes to diagnose the issue.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unbreak webkit-patch -- can't have both Committer and Contributor entry with same e-mail address.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Yarr: Use OwnPtr to make pattern/disjunction/character-class ownership clearer.
<http://webkit.org/b/109218>

Reviewed by Benjamin Poulain.

- Let classes that manage lifetime of other objects hold on to them with OwnPtr instead of raw pointers.
- Placed some strategic Vector::shrinkToFit(), ::reserveInitialCapacity() and ::swap().

668 kB progression on Membuster3.

* yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
(JSC::Yarr::ByteCompiler::emitDisjunction):
(ByteCompiler):
* yarr/YarrInterpreter.h:
(JSC::Yarr::BytecodePattern::BytecodePattern):
(BytecodePattern):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::opCompileParenthesesSubpattern):
(JSC::Yarr::YarrGenerator::opCompileParentheticalAssertion):
(JSC::Yarr::YarrGenerator::opCompileBody):
* yarr/YarrPattern.cpp:
(JSC::Yarr::CharacterClassConstructor::charClass):
(JSC::Yarr::YarrPatternConstructor::YarrPatternConstructor):
(JSC::Yarr::YarrPatternConstructor::reset):
(JSC::Yarr::YarrPatternConstructor::atomPatternCharacter):
(JSC::Yarr::YarrPatternConstructor::atomCharacterClassEnd):
(JSC::Yarr::YarrPatternConstructor::copyDisjunction):
(JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):
(JSC::Yarr::YarrPatternConstructor::checkForTerminalParentheses):
(JSC::Yarr::YarrPatternConstructor::optimizeBOL):
(JSC::Yarr::YarrPatternConstructor::containsCapturingTerms):
(JSC::Yarr::YarrPatternConstructor::optimizeDotStarWrappedExpressions):
* yarr/YarrPattern.h:
(JSC::Yarr::PatternDisjunction::addNewAlternative):
(PatternDisjunction):
(YarrPattern):
(JSC::Yarr::YarrPattern::reset):
(JSC::Yarr::YarrPattern::newlineCharacterClass):
(JSC::Yarr::YarrPattern::digitsCharacterClass):
(JSC::Yarr::YarrPattern::spacesCharacterClass):
(JSC::Yarr::YarrPattern::wordcharCharacterClass):
(JSC::Yarr::YarrPattern::nondigitsCharacterClass):
(JSC::Yarr::YarrPattern::nonspacesCharacterClass):
(JSC::Yarr::YarrPattern::nonwordcharCharacterClass):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit shouldn't accept "none, none" in transition shorthand property.
https://bugs.webkit.org/show_bug.cgi?id=108751

Reviewed by Dean Jackson.

Source/WebCore:

http://dev.w3.org/csswg/css3-transitions/#transition-shorthand-property
specifies that if there is more than one transition defined in the
shorthand and any of them has a value of 'none' then the declaration is
invalid. This patch fixes the problem by passing a parsing context to
track if a keyword has been set for the transition-property and if so
then use it to invalidate or not the declaration.

Test: transitions/transitions-parsing.html

* css/CSSParser.cpp:
(AnimationParseContext):
(WebCore::AnimationParseContext::AnimationParseContext):
(WebCore::AnimationParseContext::commitFirstAnimation): track whether
it's the first <single-transition/animation> or not defined in the
shorthand.
(WebCore::AnimationParseContext::hasCommittedFirstAnimation):
(WebCore::AnimationParseContext::commitAnimationPropertyKeywordInShorthand):
In the shorthand as soon as a keyword has been found then the parsing
is 'finished', if any other animation/transition declaration part of
the shorthand are with a keyword then it's invalid.
(WebCore::AnimationParseContext::animationPropertyKeywordInShorthandAllowed):
(WebCore::AnimationParseContext::hasSeenAnimationPropertyKeyword):
(WebCore::AnimationParseContext::sawAnimationPropertyKeyword):
(WebCore):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseAnimationProperty):
* css/CSSParser.h:
(WebCore):

LayoutTests:

Extend exisiting tests to cover the bug. Modify old tests with invalid declarations.

* fast/css/transform-inline-style-expected.txt:
* fast/css/transform-inline-style-remove-expected.txt:
* fast/css/transform-inline-style-remove.html:
* fast/css/transform-inline-style.html:
* transitions/transitions-parsing-expected.txt:
* transitions/transitions-parsing.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
TokenPreloadScanner should be able to scan CompactHTMLTokens
https://bugs.webkit.org/show_bug.cgi?id=109861

Reviewed by Eric Seidel.

This patch moves the main scanning logic for the TokenPreloadScanner to
a templated scanCommon routine that can scan either an HTMLToken or a
CompactHTMLToken. This patch will let the BackgroundHTMLParser preload
scan its CompactHTMLTokens.

* html/parser/CSSPreloadScanner.cpp:
(WebCore):
(WebCore::CSSPreloadScanner::scanCommon):
(WebCore::CSSPreloadScanner::scan):
* html/parser/CSSPreloadScanner.h:
(CSSPreloadScanner):
    - Tweak the CSSPreloadScanner API slightly to make it easier to
      call from templated code.
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::tagIdFor):
(WebCore):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(TokenPreloadScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::scan):
(WebCore::TokenPreloadScanner::scanCommon):
(WebCore::TokenPreloadScanner::updatePredictedBaseURL):
(WebCore::HTMLPreloadScanner::scan):
* html/parser/HTMLPreloadScanner.h:
(TokenPreloadScanner):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash occurs at WebCore::TextTrackList::length() when enabling closed captions in movie
https://bugs.webkit.org/show_bug.cgi?id=109886

Reviewed by Dean Jackson.

Source/WebCore: 

No new tests, media/media-captions.html does not crash with this change.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Early return when
    m_textTracks is NULL.

LayoutTests: 

* platform/mac/TestExpectations: Remove media/media-captions.html.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Get Win EWS startup script checked into tree so we can make changes to all the EWS bots more easily.

* EWSTools/start-queue-win.sh: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline 3 tests after r142765

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/fast/backgrounds/size/contain-and-cover-expected.png:
* platform/chromium-linux/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium-linux/fast/writing-mode/block-level-images-expected.png:
* platform/chromium-mac/fast/backgrounds/size/contain-and-cover-expected.png:
* platform/chromium-mac/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium-mac/fast/writing-mode/block-level-images-expected.png:
* platform/chromium-win-xp/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Added.
* platform/chromium-win/fast/backgrounds/size/contain-and-cover-expected.png:
* platform/chromium-win/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium-win/fast/writing-mode/block-level-images-expected.png:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG AbstractState should filter operands to NewArray more precisely
https://bugs.webkit.org/show_bug.cgi?id=109900

Reviewed by Mark Hahnenberg.
        
NewArray for primitive indexing types speculates that the inputs are the appropriate
primitives. Now, the CFA filters the abstract state accordingly, as well.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline 4 tests after r142765

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/css2.1/20110323/background-intrinsic-004-expected.png:
* platform/chromium-linux/css2.1/20110323/background-intrinsic-005-expected.png:
* platform/chromium-linux/svg/as-border-image/svg-as-border-image-expected.png:
* platform/chromium-linux/svg/as-image/same-image-two-instances-expected.png:
* platform/chromium-mac-lion/css2.1/20110323/background-intrinsic-004-expected.png:
* platform/chromium-mac-lion/css2.1/20110323/background-intrinsic-005-expected.png:
* platform/chromium-mac-lion/svg/as-border-image/svg-as-border-image-expected.png:
* platform/chromium-mac-snowleopard/css2.1/20110323/background-intrinsic-004-expected.png:
* platform/chromium-mac-snowleopard/css2.1/20110323/background-intrinsic-005-expected.png:
* platform/chromium-mac/css2.1/20110323/background-intrinsic-004-expected.png:
* platform/chromium-mac/css2.1/20110323/background-intrinsic-005-expected.png:
* platform/chromium-mac/svg/as-border-image/svg-as-border-image-expected.png:
* platform/chromium-mac/svg/as-image/same-image-two-instances-expected.png:
* platform/chromium-win/css2.1/20110323/background-intrinsic-004-expected.png:
* platform/chromium-win/css2.1/20110323/background-intrinsic-005-expected.png:
* platform/chromium-win/svg/as-border-image/svg-as-border-image-expected.png:
* platform/chromium-win/svg/as-image/same-image-two-instances-expected.png:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merged the global function cache into the source code cache
https://bugs.webkit.org/show_bug.cgi?id=108660

Reviewed by Sam Weinig.

Responding to review comments by Darin Adler.

../JavaScriptCore: 

* runtime/CodeCache.h:
(JSC::SourceCodeKey::SourceCodeKey): Don't initialize m_name and m_flags
in the hash table deleted value because they're meaningless.

../WTF: 

* wtf/HashTraits.h: Added a using directive to simplify client code.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Add code from other branch.

[CSS Shaders] Parse src property in @-webkit-filter at-rules
https://bugs.webkit.org/show_bug.cgi?id=109770

Reviewed by Dean Jackson.

This patch implements the parsing for the CSS src property in @-webkit-filter at-rules.

The Filter Effects spec [1] specifies its syntax:
    src: [ <uri> [format(<string>)]?]#

In practice, it can look like:
    src: url(shader.vs) format('x-shader/x-vertex'),
         url(shader.fs) format('x-shader/x-fragment');

This src property is similar to the src property in CSS font-face rules, but a little
different. The CSS Fonts spec [2] specifies:
    src: [ <uri> [format(<string>#)]? | <font-face-name> ]#
    The syntax for a <font-face-name> is a unique font face name enclosed by "local("
    and ")".

Unlike the filter src property, the font face src property accepts the local function
[e.g. src: local("SomeFont");]. Also, the font face src property accepts a list of strings
instead of just one string in its format function.

[1]: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-src
[2]: http://www.w3.org/TR/css3-fonts/#src-desc

Tests: css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html
       css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html

* css/CSSGrammar.y.in:
    Set (and unset) a flag called "m_inFilterRule", which tells us if we are in a
    @-webkit-filter at-rule or in a @font-face at-rule when we encounter a src property.
    We parse the two variants of the src property separately so that we can create different
    objects (WebKitCSSShaderValue vs. CSSFontFaceSrcValue) and because their syntax is a
    little different.
* css/CSSParser.cpp:
(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFilterRuleSrcUriAndFormat):
    Parses a URI and format pair found in the @-webkit-filter src property.
(WebCore::CSSParser::parseFilterRuleSrc):
    Parse the @-webkit-filter src property.
* css/CSSParser.h:
(CSSParser):
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::customCssText):
    WebKitCSSShaderValue now has an m_format member, which needs to be included in its
    cssText.
(WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
* css/WebKitCSSShaderValue.h:
(WebCore::WebKitCSSShaderValue::format):
(WebCore::WebKitCSSShaderValue::setFormat):
(WebKitCSSShaderValue):

LayoutTests: [CSS Shaders] Parse src property in @-webkit-filter at-rules
https://bugs.webkit.org/show_bug.cgi?id=109770

Reviewed by Dean Jackson.

Add positive and negative parsing tests for the @-webkit-filter src property.

* css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid-expected.txt: Added.
* css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html: Added.
* css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid-expected.txt: Added.
* css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html: Added.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-invalid.js: Added.
(testInvalidSrcProperty):
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-valid.js: Added.
(testSrcProperty):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline 4 svg/zoom/page tests after r142765

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
* platform/chromium-mac-lion/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DeleteButtonController::enable and disable should be called via a RAII object
https://bugs.webkit.org/show_bug.cgi?id=109550

Reviewed by Enrica Casucci.

Added DeleteButtonControllerDisableScope, a friend class of DeleteButtonController,
and made DeleteButtonController::enable/disable private.

* dom/ContainerNode.cpp:
* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::unapply):
(WebCore::EditCommandComposition::reapply):
(WebCore::CompositeEditCommand::apply):
* editing/DeleteButtonController.h:
(WebCore):
(DeleteButtonController):
(DeleteButtonControllerDisableScope):
(WebCore::DeleteButtonControllerDisableScope::DeleteButtonControllerDisableScope):
(WebCore::DeleteButtonControllerDisableScope::~DeleteButtonControllerDisableScope):
* editing/markup.cpp:
(WebCore::createMarkup):
(WebCore::createFragmentFromNodes):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove const from a bunch of StorageArea member functions
https://bugs.webkit.org/show_bug.cgi?id=109957

Reviewed by Beth Dakin.

Source/WebCore:

StorageArea is an abstract base class, and its subclasses might want to mutate the object
when certain member functions are called so remove const from all member functions.

* storage/StorageArea.h:
(WebCore):
(StorageArea):
(WebCore::StorageArea::~StorageArea):
(WebCore::StorageArea::incrementAccessCount):
(WebCore::StorageArea::decrementAccessCount):
(WebCore::StorageArea::closeDatabaseIfIdle):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::canAccessStorage):
(WebCore::StorageAreaImpl::length):
(WebCore::StorageAreaImpl::key):
(WebCore::StorageAreaImpl::getItem):
(WebCore::StorageAreaImpl::contains):
(WebCore::StorageAreaImpl::memoryBytesUsedByCache):
* storage/StorageAreaImpl.h:
(StorageAreaImpl):

Source/WebKit/chromium:

Update for WebCore changes.

* src/StorageAreaProxy.cpp:
(WebCore::StorageAreaProxy::length):
(WebCore::StorageAreaProxy::key):
(WebCore::StorageAreaProxy::getItem):
(WebCore::StorageAreaProxy::contains):
(WebCore::StorageAreaProxy::canAccessStorage):
(WebCore::StorageAreaProxy::memoryBytesUsedByCache):
* src/StorageAreaProxy.h:
(StorageAreaProxy):

Source/WebKit2:

Update for WebCore changes.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::length):
(WebKit::StorageAreaProxy::key):
(WebKit::StorageAreaProxy::getItem):
(WebKit::StorageAreaProxy::contains):
(WebKit::StorageAreaProxy::canAccessStorage):
(WebKit::StorageAreaProxy::memoryBytesUsedByCache):
* WebProcess/Storage/StorageAreaProxy.h:
(StorageAreaProxy):

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