Rebaseline 7 SVG tests after r142765.

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
* platform/chromium-linux/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
* platform/chromium-linux/svg/as-image/svg-image-change-content-size-expected.png:
* platform/chromium-linux/svg/wicd/test-scalable-background-image1-expected.png:
* platform/chromium-linux/svg/wicd/test-scalable-background-image2-expected.png:
* platform/chromium-mac-lion/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
* platform/chromium-mac-lion/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
* platform/chromium-mac-lion/svg/as-image/svg-image-change-content-size-expected.png:
* platform/chromium-mac-lion/svg/wicd/test-scalable-background-image1-expected.png:
* platform/chromium-mac-lion/svg/wicd/test-scalable-background-image2-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/svg-image-change-content-size-expected.png:
* platform/chromium-mac-snowleopard/svg/wicd/test-scalable-background-image1-expected.png:
* platform/chromium-mac-snowleopard/svg/wicd/test-scalable-background-image2-expected.png:
* platform/chromium-mac/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
* platform/chromium-mac/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
* platform/chromium-mac/svg/as-image/svg-image-change-content-size-expected.png:
* platform/chromium-mac/svg/as-image/svg-non-integer-scaled-image-expected.png:
* platform/chromium-mac/svg/wicd/test-scalable-background-image1-expected.png:
* platform/chromium-mac/svg/wicd/test-scalable-background-image2-expected.png:
* platform/chromium-win/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
* platform/chromium-win/svg/as-image/img-preserveAspectRatio-support-2-expected.png:
* platform/chromium-win/svg/as-image/svg-image-change-content-size-expected.png:
* platform/chromium-win/svg/as-image/svg-non-integer-scaled-image-expected.png:
* platform/chromium-win/svg/wicd/test-scalable-background-image1-expected.png:
* platform/chromium-win/svg/wicd/test-scalable-background-image2-expected.png:
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Implement SharedBuffer version of put()
https://bugs.webkit.org/show_bug.cgi?id=109092

Reviewed by Adam Barth.

Source/WebCore:

Switch IDBDatabaseBackendInterface::put over
to SharedBuffer, to avoid buffer copies of the value.

No new tests, this is a refactor.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::putRecord):
* Modules/indexeddb/IDBBackingStore.h:
(WebCore):
(IDBBackingStore):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(PutOperation):
(WebCore::IDBDatabaseBackendImpl::put):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(WebCore):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::put):

Source/WebKit/chromium:

Implement SharedBuffer/WebData version of
IDBDatabaseBackendInterface::put, and put
temporary scaffolding in until chrome is ready.

* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::put):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::put):
(WebKit):
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):
* tests/IDBDatabaseBackendTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
A storage area should know its storage type
https://bugs.webkit.org/show_bug.cgi?id=109964

Reviewed by Andreas Kling.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::StorageAreaProxy):
(WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
* WebProcess/Storage/StorageAreaProxy.h:
(StorageAreaProxy):
* WebProcess/Storage/StorageNamespaceProxy.cpp:
(WebKit::StorageNamespaceProxy::storageType):
(WebKit):
* WebProcess/Storage/StorageNamespaceProxy.h:
(StorageNamespaceProxy):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out parts of r142731.
http://trac.webkit.org/changeset/142731
https://bugs.webkit.org/show_bug.cgi?id=109672

This patch broke the GTK+ gyp build. Roll out the changes there,
since they were actually unnecessary.

* gyp/Configuration.gypi.in:
* gyp/Dependencies.gyp:
* gyp/JavaScriptCore.gyp:
* gyp/WTF.gyp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Flexbox should ignore firstLine pseudo element.
https://bugs.webkit.org/show_bug.cgi?id=104485

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2013-02-15
Reviewed by Tony Chang.

Source/WebCore:

Spec[1] said that "None of the properties defined in this module
apply to '::first-line' or '::first-letter' pseudo-elements." and
css2[2] define "The :first-line pseudo-element can only be attached
to a block container element."
[1]http://dev.w3.org/csswg/css3-flexbox/#display-flex
[2]http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo

tests:
css3/flexbox/flexbox-ignore-firstLine.html
css3/flexbox/flexitem-firstLine-valid.html
css3/flexbox/inline-flexbox-ignore-firstLine.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::firstLineBlock):

LayoutTests:

Spec[1] said that "None of the properties defined in this module
apply to '::first-line' or '::first-letter' pseudo-elements." and
css2[2] define "The :first-line pseudo-element can only be attached
to a block container element."
[1]http://dev.w3.org/csswg/css3-flexbox/#display-flex
[2]http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo

some case by Kenny Lu <kanghaol@oupeng.com>
* css3/flexbox/flex-item-firstLine-valid-expected.txt: Added.
* css3/flexbox/flex-item-firstLine-valid.html: Added.
* css3/flexbox/flexbox-ignore-firstLine-expected.txt: Added.
* css3/flexbox/flexbox-ignore-firstLine.html: Added.
* css3/flexbox/inline-flexbox-ignore-firstLine-expected.txt: Added.
* css3/flexbox/inline-flexbox-ignore-firstLine.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement RenderGrid::computeIntrinsicLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=109881

Reviewed by Tony Chang.

For now this is not observable due to the FIXMEs for unimplemented bits
of computePreferredLogicalWidths. But, soon, I'll be removing the computePreferredLogicalWidths
override entirely and instead use RenderBlock's, which will also address the
RenderGrid FIXMEs.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
const_cast the usages of m_grid. Alternately, we could stack allocate it, but there's disagreement on
whether that's the right choice. See https://bugs.webkit.org/show_bug.cgi?id=109880.

(WebCore::RenderGrid::computePreferredLogicalWidths):
* rendering/RenderGrid.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ShareableElementData should use zero-length array for storage.
<http://webkit.org/b/109959>

Reviewed by Anders Carlsson.

Use a zero-length Attribute array instead of always casting from void* to an array.
It was done this way originally because I didn't know we could sidestep the MSVC
build error with some #pragma hackery.

* dom/DocumentSharedObjectPool.cpp:
(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
* dom/Element.cpp:
(WebCore::sizeForShareableElementDataWithAttributeCount):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::ShareableElementData::~ShareableElementData):
(WebCore::UniqueElementData::UniqueElementData):
* dom/Element.h:
(ShareableElementData):
(WebCore::ElementData::attributeItem):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clamp span value in RenderTableCell::parse[Col|Row]SpanFromDOM
https://bugs.webkit.org/show_bug.cgi?id=109878

Source/WebCore: 

Reviewed by Abhishek Arya.

Test: fast/table/colspan-huge-number.html
        
Clamp colspan and rowspan values to their respective maximum
supported values.

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::parseColSpanFromDOM):
(WebCore::RenderTableCell::parseRowSpanFromDOM):

LayoutTests: 

Reviewed by Abhishek Arya.
        
Add test for handling of very large colspan value.

* fast/table/colspan-huge-number-expected.txt: Added.
* fast/table/colspan-huge-number.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add platform support for -webkit-background-blend-mode to CG context
https://bugs.webkit.org/show_bug.cgi?id=108549

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-02-15
Reviewed by Dean Jackson.

Source/WebCore:

Tests: css3/compositing/effect-background-blend-mode-stacking.html
       css3/compositing/effect-background-blend-mode.html

This patch adds support for blending on background images to the Core Graphics port of WebKit.

* platform/graphics/CrossfadeGeneratedImage.cpp: Added interface change for blending.
(WebCore::CrossfadeGeneratedImage::drawPattern):
* platform/graphics/CrossfadeGeneratedImage.h: Added interface change for blending.
(CrossfadeGeneratedImage):
* platform/graphics/GeneratedImage.h: Added interface change for blending.
(GeneratedImage):
* platform/graphics/GeneratorGeneratedImage.cpp: Added interface change for blending.
(WebCore::GeneratorGeneratedImage::drawPattern):
* platform/graphics/GeneratorGeneratedImage.h: Added interface change for blending.
(GeneratorGeneratedImage):
* platform/graphics/GraphicsContext.cpp: Added interface change for blending and passes blend mode to image object.
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::blendModeOperation):
(WebCore):
* platform/graphics/GraphicsContext.h: Added interface change for blending.
(GraphicsContext):
* platform/graphics/Image.cpp: Added interface change for blending and passed it to graphics layer.
(WebCore::Image::drawTiled):
* platform/graphics/Image.h: Added interface change for blending.
(Image):
* platform/graphics/cg/ImageCG.cpp: Added interface change for blending and passed it to OS.
(WebCore::Image::drawPattern):
* rendering/RenderBoxModelObject.cpp: Passed blend mode when drawing background images.
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* platform/graphics/cairo/ImageCairo.cpp: Added interface change for blending.
(WebCore::Image::drawPattern):
* platform/graphics/qt/ImageQt.cpp: Added interface change for blending.
(WebCore::Image::drawPattern):
* platform/graphics/skia/ImageSkia.cpp: Added interface change for blending.
(WebCore::Image::drawPattern):
* rendering/RenderBoxModelObject.cpp: Added interface change for blending.
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* svg/graphics/SVGImageForContainer.cpp: Added interface change for blending.
(WebCore::SVGImageForContainer::drawPattern):
* svg/graphics/SVGImageForContainer.h: Added interface change for blending.

Source/WebKit:

Fixed build issue.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win:

Fixed build issue.

* WebKit.vcproj/WebKitExports.def.in:

LayoutTests:

Added tests for background images.

* css3/compositing/effect-background-blend-mode-expected.png: Added.
* css3/compositing/effect-background-blend-mode-expected.txt: Added.
* css3/compositing/effect-background-blend-mode-stacking-expected.png: Added.
* css3/compositing/effect-background-blend-mode-stacking-expected.txt: Added.
* css3/compositing/effect-background-blend-mode-stacking.html: Added.
* css3/compositing/effect-background-blend-mode.html: Added.
* css3/compositing/resources/ducky.png: Added.
* platform/chromium/TestExpectations:
* platform/mac/css3/compositing: Added.
* platform/mac/css3/compositing/effect-background-blend-mode-expected.png: Added.
* platform/mac/css3/compositing/effect-background-blend-mode-stacking-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: fix chromium windows bustage
https://bugs.webkit.org/show_bug.cgi?id=109970

Unreviewed build fix for Chromium Windows.

* tests/IDBDatabaseBackendTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix after r143030. We need to keep updatedRange around until createMarkupInternal returns.

* editing/markup.cpp:
(WebCore::createMarkup):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add CString operators for comparison with const char*
https://bugs.webkit.org/show_bug.cgi?id=109947

Reviewed by Darin Adler.

Source/WTF:

Add operators to WTF::CString for equality/inequality comparison
with const char* strings. This avoids constructing a CString
from a const char* in such cases, which is can be expensive as
it would copy it and call strlen().

* wtf/text/CString.cpp:
(WTF::operator==): Use memcmp instead of strncmp to compare the
CString buffers as we know they are the same size and we don't
want to scan for terminating null byte.
(WTF):
* wtf/text/CString.h:
(WTF):
(WTF::operator!=):

Tools:

Add tests for WTF::CString's comparison operators.

* TestWebKitAPI/Tests/WTF/CString.cpp:
(TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a synchronous GetValues message to StorageManager
https://bugs.webkit.org/show_bug.cgi?id=109968

Reviewed by Sam Weinig.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
Handle synchronous messages.

(CoreIPC::Connection::processIncomingMessage):
Check for work queue message receivers before doing any other processing.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::getValues):
Add empty stub.

* UIProcess/Storage/StorageManager.h:
* UIProcess/Storage/StorageManager.messages.in:
Add GetValues message.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::loadValuesIfNeeded):
Send the GetValues message.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable the preload scanner on the background parser thread
https://bugs.webkit.org/show_bug.cgi?id=108027

Reviewed by Tony Gentilcore.

The patch causes us to pass all the fast/preloader tests with the
threaded parser enabled.

This patch wires up the BackgroundHTMLParser to the
TokenPreloadScanner.  Currently, we bail out of preload scanning if we
encounter a document.write becaues we don't know how to rewind the
preload scanner, but that's something we can tune in the future.

The BackgroundHTMLParser delivers the preloads to the
HTMLDocumentParser together with the token stream. If the
HTMLDocumentParser isn't able to use the token stream immediately, it
kicks off the preloads.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::checkThatPreloadsAreSafeToSendToAnotherThread):
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/BackgroundHTMLParser.h:
(Configuration):
    - We need to add a struct for the create function because the
      number of arguments exceeds the limits of Functional.h.
(BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::create):
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::scanCommon):
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):
    - We need to use a new string here so that the string is safe to
      send to another thread.
* html/parser/CSSPreloadScanner.h:
(CSSPreloadScanner):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::startBackgroundParser):
    - Following the example of the XSSAuditor, we create the
      TokenPreloadScanner on the main thread and then send it to the
      background thread for operation.
* html/parser/HTMLDocumentParser.h:
(WebCore):
(ParsedChunk):
* html/parser/HTMLParserOptions.h:
(HTMLParserOptions):
    - We need to add a default constructor so that the
      HTMLDocumentParser can create an empty
      BackgroundHTMLParser::Configuration struct.
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::scan):
(WebCore::TokenPreloadScanner::scanCommon):
(WebCore::HTMLPreloadScanner::scan):
* html/parser/HTMLPreloadScanner.h:
(TokenPreloadScanner):
(WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread):
* html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::takeAndPreload):
(WebCore):
* html/parser/HTMLResourcePreloader.h:
(WebCore::PreloadRequest::PreloadRequest):
(WebCore):
(HTMLResourcePreloader):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make most ArgumentEncoder::encode member functions private
https://bugs.webkit.org/show_bug.cgi?id=109973

Reviewed by Sam Weinig.

Make the encode overloads private; the stream operator should be used instead.

* Platform/CoreIPC/ArgumentEncoder.h:
(ArgumentEncoder):
* Platform/CoreIPC/Arguments.h:
(CoreIPC::Arguments1::encode):
(CoreIPC::Arguments2::encode):
(CoreIPC::Arguments3::encode):
(CoreIPC::Arguments4::encode):
(CoreIPC::Arguments5::encode):
(CoreIPC::Arguments6::encode):
(CoreIPC::Arguments7::encode):
(CoreIPC::Arguments8::encode):
(CoreIPC::Arguments10::encode):
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::createSyncMessageEncoder):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC::MessageEncoder::MessageEncoder):
* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode):
* WebProcess/WebPage/EncoderAdapter.cpp:
(WebKit::EncoderAdapter::EncoderAdapter):
(WebKit::EncoderAdapter::encodeBytes):
(WebKit::EncoderAdapter::encodeBool):
(WebKit::EncoderAdapter::encodeUInt16):
(WebKit::EncoderAdapter::encodeUInt32):
(WebKit::EncoderAdapter::encodeUInt64):
(WebKit::EncoderAdapter::encodeInt32):
(WebKit::EncoderAdapter::encodeInt64):
(WebKit::EncoderAdapter::encodeFloat):
(WebKit::EncoderAdapter::encodeDouble):
(WebKit::EncoderAdapter::encodeString):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r143044.
http://trac.webkit.org/changeset/143044
https://bugs.webkit.org/show_bug.cgi?id=109974

broke windows build (Requested by kling on #webkit).

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

* dom/DocumentSharedObjectPool.cpp:
(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
* dom/Element.cpp:
(WebCore::sizeForShareableElementDataWithAttributeCount):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::ShareableElementData::~ShareableElementData):
(WebCore::UniqueElementData::UniqueElementData):
* dom/Element.h:
(WebCore::ShareableElementData::immutableAttributeArray):
(ShareableElementData):
(WebCore::ElementData::attributeItem):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Stub out SharedBuffer version of get()
https://bugs.webkit.org/show_bug.cgi?id=108993

Reviewed by Darin Fisher.

All asynchronous get()-like calls go through WebIDBCallbacks,
so this includes both get() and cursor callbacks.

* public/WebIDBCallbacks.h:
(WebKit::WebIDBCallbacks::onSuccess):
(WebKit::WebIDBCallbacks::onSuccessWithPrefetch):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG SpeculativeJIT64 should be more precise about when it's dealing with a cell (even though it probably doesn't matter)
https://bugs.webkit.org/show_bug.cgi?id=109625

Reviewed by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add myself (sadrul@chromium.org) as committer.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Modify Win EWS script.

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