2011-08-01  Bradley Nelson  <bradnelson@chromium.org>

        Shard webcore_remaining for msvs official builds

        https://bugs.webkit.org/show_bug.cgi?id=65475

        Reviewed by Darin Fisher.

        webcore_remaining has consistently exceeded Visual Studio 2008's
        capacity to link when link time code generation is turned on (full
        release builds).  This has been dealt with the past by carving off
        larger and larger pieces of webcore_remaining (ie webcore_html,
        webcore_renderer etc).
        A new option has been added to gyp to automate this sharding:
        'msvs_shard': SHARD_COUNT,
        Targets marked in this way will be built in several pieces
        (target_0, target_1...).
        Since the resulting project is less comprehensible in the IDE (and
        since the linking limitation only afflicts official builds), this
        option is only needed for those builds.
        This patch shards webcore_remaining into 10 parts for official builds.

        * WebCore.gyp/WebCore.gyp:

2011-08-01  Alice Boxhall  <aboxhall@chromium.org>

        WAI-ARIA textbox role should be AXTextArea for aria-multiline=true, AXTextField for aria-multiline=false
        https://bugs.webkit.org/show_bug.cgi?id=65451

        Reviewed by Chris Fleizach.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):

2011-08-01  srikumar bonda  <srikumar.b@gmail.com>

        Use threadsafeCopy() API when using Database Directory path variable 
        https://bugs.webkit.org/show_bug.cgi?id=65436

        Reviewed by David Levin.

        Use threadsafeCopy() API while using m_databaseDirectoryPath string variable
        when the databaseGuard lock hasn't been taken in DatabaseTracker class. 
        This is just a safety fix.

        No changes to functionality so no new tests.

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::trackerDatabasePath):
        (WebCore::DatabaseTracker::deleteOrigin):

2011-08-01  Michael Nordman  <michaeln@google.com>

        [Chromium] WebSQLDatabase version handling is broken in multi-process browsers.
        https://bugs.webkit.org/show_bug.cgi?id=65486

        The WebCore::AbstractDatabase class maintains a global in-memory map of
        the version numbers associated with open database files, but that map is
        not reliable in a multi-process system like Chrome. So instead of relying
        on the cached values in that map, we read the value from the database (and
        update the cached value) where possible. There are two edge cases where that's
        not possible because the scriptable interface requires synchronous access
        to the version: the .version attribute getter and the .openDatabase() method.
        In those cases, we have no choice but to use the potentially stale cached value.

        Reviewed by Darin Fisher.

        No new tests. Existing layout tests cover the version handling functionality.

        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::version):
        (WebCore::AbstractDatabase::performOpenAndVerify):
        (WebCore::AbstractDatabase::getVersionFromDatabase):
        (WebCore::AbstractDatabase::setVersionInDatabase):
        (WebCore::AbstractDatabase::setExpectedVersion):
        (WebCore::AbstractDatabase::getCachedVersion):
        (WebCore::AbstractDatabase::setCachedVersion):
        (WebCore::AbstractDatabase::getActualVersionForTransaction):
        * storage/AbstractDatabase.h:
        (WebCore::AbstractDatabase::expectedVersion):
        * storage/ChangeVersionWrapper.cpp:
        (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
        * storage/ChangeVersionWrapper.h:
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        * storage/DatabaseSync.cpp:
        (WebCore::DatabaseSync::openDatabaseSync):
        (WebCore::DatabaseSync::changeVersion):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::SQLTransaction):
        (WebCore::SQLTransaction::executeSQL):
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::postflightAndCommit):
        * storage/SQLTransaction.h:
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::SQLTransactionSync):
        (WebCore::SQLTransactionSync::executeSQL):
        (WebCore::SQLTransactionSync::begin):
        * storage/SQLTransactionSync.h:

2011-08-01  Tim Horton  <timothy_horton@apple.com>

        Severe shadow repaint issues with SVGText elements
        https://bugs.webkit.org/show_bug.cgi?id=63648
        <rdar://problem/7632269>

        Reviewed by Darin Adler.

        Make SVG elements which inherit from RenderSVGBlock take text-shadow
        overflow into account when determining whether or not they should draw

        Test: svg/custom/repaint-shadow.svg

        * rendering/RenderBox.h:
        (WebCore::RenderBox::visualOverflowRect):
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::visualOverflowRect):
        * rendering/svg/RenderSVGBlock.h:

2011-08-01  Zhenyao Mo  <zmo@google.com>

        Unreviewed, rolling out r92022.
        http://trac.webkit.org/changeset/92022
        https://bugs.webkit.org/show_bug.cgi?id=65203

        try to see if this is causing a bunch of browser tests failues
        on win bots - will recommit if not

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
        (WebCore::drawGlyphsWin):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::draw):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        (WebCore::windowsCanHandleTextDrawing):
        (WebCore::windowsCanHandleTextDrawingWithoutShadow):
        * platform/graphics/skia/SkiaFontWin.h:

2011-08-01  Scott Graham  <scottmg@chromium.org>

        REGRESSION (r39725?): Resources removed from document can not be freed
        until the document is deleted
        https://bugs.webkit.org/show_bug.cgi?id=61006

        Reviewed by Antti Koivisto.

        Upon completing a load start a Timer to iterate through
        CachedResourceLoader's m_documentResources map to check for any items
        that have only one reference (thus being the reference in the map
        itself). The map should really be weak, but because the
        CachedResourceHandle achieves bookkeeping work in addition to
        reference counting, this is a simpler and more localized way to free
        the used memory while maintaining the other behaviour (when
        CachedResource is used as proxy).

        With this patch the testcase at
        https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
        consume 400MB of ram on load. Test added for crash discovered in
        previous revision, but no tests for memory usage.

        Test: http/tests/inspector/network/disabled-cache-crash.html

        * WebCore.exp.in:
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::hasOneHandle):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::loadDone):
        (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
        * loader/cache/CachedResourceLoader.h:
        * testing/Internals.cpp:
        (WebCore::Internals::disableMemoryCache):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-08-01  Jochen Eisinger  <jochen@chromium.org>

        Never override the policy URL on form submissions.
        https://bugs.webkit.org/show_bug.cgi?id=61809

        Reviewed by Adam Barth.

        Tests: http/tests/security/cookies/third-party-cookie-blocking-main-frame.html
               http/tests/security/cookies/third-party-cookie-blocking-user-action.html
               http/tests/security/cookies/third-party-cookie-blocking.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::addExtraFieldsToSubresourceRequest):
        (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        (WebCore::FrameLoader::loadPostRequest):
        (WebCore::FrameLoader::loadDifferentDocumentItem):
        * loader/FrameLoader.h:


2011-08-01  Ryosuke Niwa  <rniwa@webkit.org>

        Update comment added in r92139 per Darin's suggestion.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):

2011-08-01  Ryosuke Niwa  <rniwa@webkit.org>

        Search field in designMode causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=65362

        Reviewed by Dimitri Glazkov.

        The crashed was caused by editing code inadvertently deleting search and cancel buttons in the design mode.
        Fixed the bug by avoid inheriting user-modify property from the shadow host.

        Test: editing/input/search-field-crash-in-designmode.html

        * css/CSSStyleSelector.cpp:
        (WebCore::isAtShadowBoundary): Moved.
        (WebCore::CSSStyleSelector::styleForElement): Overrides -webkit-user-modify by the initial value after m_style
        inherited the values from m_parentStyle but before applying matched rules.
        * dom/Node.cpp:
        (WebCore::Node::rendererIsEditable): Ignore page's editability inside a shadow DOM.

2011-08-01  Marco Peereboom  <marco@peereboom.us>

        [Soup] Set default max-conns to a more sane default value and fix comment 
        https://bugs.webkit.org/show_bug.cgi?id=65335

        Reviewed by Martin Robinson.

        Rigged the xxxterm web browser and validated that the default values were set properly.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ResourceHandle::defaultSession):

2011-07-28  Abhishek Arya  <inferno@chromium.org>

        Regression(82144): Crash in TrailingObjects::updateMidpointsForTrailingBoxes
        https://bugs.webkit.org/show_bug.cgi?id=65137

        Fix the looping condition to prevent trailingSpaceMidpoint from becoming negative.

        Reviewed by Dave Hyatt.

        Test: fast/block/update-midpoints-for-trailing-boxes-crash.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):

2011-08-01  Benjamin Poulain  <benjamin@webkit.org>

        [Qt] OpenGLShims does not build on ARM
        https://bugs.webkit.org/show_bug.cgi?id=65465

        Reviewed by Noam Rosenthal.

        Fix the build with OpenGL ES 2:
        -lookupOpenGLFunctionAddress() was defined but not used for OpenGL ES.
        -glBlitFramebuffer() and glRenderbufferStorageMultisample() are not part of the specification.
        When those are available as platform extension, the extension has been added.
        -GLchar is not defined on some platform. The patch adds the same typedef as the official definition
        to avoid conflicts.

        * platform/graphics/cairo/OpenGLShims.cpp:
        (lookupOpenGLFunctionAddress):
        (WebCore::initializeOpenGLShims):
        * platform/graphics/cairo/OpenGLShims.h:

2011-08-01  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Trivial fix for inspector/debugger/debugger-completions-on-call-frame.html after r92122.

        * inspector/front-end/ConsoleView.js:

2011-08-01  Hayato Ito  <hayato@chromium.org>

        Add support for getting an element in shadow root by its id into a window.internals object.
        https://bugs.webkit.org/show_bug.cgi?id=64587

        Reviewed by Hajime Morita.

        Test: fast/dom/shadow/get-element-by-id-in-shadow-root.html

        * WebCore.exp.in:
        * testing/Internals.cpp:
        (WebCore::Internals::getElementByIdInShadowRoot):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-15  Hayato Ito  <hayato@chromium.org>

        Add support for retrieving an element in TreeScope by id to window.internals object.
        https://bugs.webkit.org/show_bug.cgi?id=64587

        Reviewed by Hajime Morita.

        Test: fast/dom/shadow/get-element-by-id-in-shadow.html

        * WebCore.exp.in:
        * testing/Internals.cpp:
        (WebCore::Internals::getElementByIdInTreeScope):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-08-01  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: typing an expression in an iframe leads to multiple "Unsafe JavaScript attempt to access frame..." errors
        https://bugs.webkit.org/show_bug.cgi?id=65457

        Console completions are now done using evaluation which returns a JSON object with all property names rather than a remote
        object. Also Runtime.evaluate and Runtime.callFunctionOn commands were extended with an optional parameter that allows to
        get result as JSON value.

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/console-cd-completions.html

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::callFunctionOn):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        (.):
        ():
        * inspector/Inspector.json:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::asBool):
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._completions.evaluated.getCompletions):
        (WebInspector.ConsoleView.prototype._completions.evaluated):
        (WebInspector.ConsoleView.prototype._completions.receivedPropertySet):
        (WebInspector.ConsoleView.prototype._completions):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.RemoteObject.prototype.callFunctionJSON):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):

2011-08-01  Mihnea Ovidenie  <mihnea@adobe.com>

        BORDER attribute with the object tag, using percentage values not working.
        https://bugs.webkit.org/show_bug.cgi?id=65176

        Reviewed by Hajime Morita.

        When border presentational attribute for object element has % in it, it should be parsed using HTML parser rules.

        Test: fast/borders/border-width-percent.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseBorderWidthAttribute):
        * html/HTMLElement.h:
        * html/HTMLImageElement.cpp:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):

2011-08-01  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Receive URL and subprotocol in WebSocketChannel::connect()
        https://bugs.webkit.org/show_bug.cgi?id=65367

        Reviewed by Kent Tamura.

        To implement multiple subprotocols support (bug 65247), WebSocket::connect() will need to validate
        the value of subprotocols after constructing WebSocketChannel, because the result depends on which
        WebSocket protocol is used, which is obtained from WebSocketChannel::useHixie76Protocol(). This
        means the subprotocol value will not be available at the time of WebSocketChannel construction.

        This change moves URL and subprotocol arguments in WebSocketChannel constructor to
        WebSocketChannel::connect(), which allows WebSocket::connect() function to check the subprotocol
        value before the actual connection is established.

        Relocating URL argument is technically not necessary, but seemed legitimate in terms of functional
        correspondence between WebSocket and WebSocketChannel (constructor versus connect()).

        No change in behavior, thus no new tests.

        * websockets/ThreadableWebSocketChannel.cpp:
        Remove "url" and "protocol" arguments from constructor and add them in connect().
        (WebCore::ThreadableWebSocketChannel::create):
        * websockets/ThreadableWebSocketChannel.h:
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        * websockets/WebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::connect):
        InspectorInstrumentation::didCreateWebSocket() call was moved to connect() because it needs URL.
        This does not change behavior, because connect() is guaranteed to be called immediately after
        WebSocketChannel is constructed.
        * websockets/WebSocketChannel.h:
        (WebCore::WebSocketChannel::create):
        * websockets/WorkerThreadableWebSocketChannel.cpp: Same as ThreadableWebSocketChannel.
        (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::connect):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::connect):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
        (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
        * websockets/WorkerThreadableWebSocketChannel.h:
        (WebCore::WorkerThreadableWebSocketChannel::create):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::create):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):

2011-08-01  Luke Macpherson   <macpherson@chromium.org>

        Add iterator to CSSValueList
        https://bugs.webkit.org/show_bug.cgi?id=65297

        Reviewed by Darin Adler.

        No new tests / refactoring only.

        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isLength):
        Add shorthand to determine if this primitive value is a length.
        * css/CSSStyleSelector.cpp:
        Use CSSValueListIterator throughout.
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::applyPageSizeProperty):
        (WebCore::CSSStyleSelector::createTransformOperations):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::copy):
        Use itemWithoutBoundsCheck() instead of item().
        * css/CSSValueList.h:
        Add CSSValueListIterator and CSSValueListInspector class definitions.
        (WebCore::CSSValueList::item)
        Provide inline definition of item.
        (WebCore::CSSValueListIterator::CSSValueListIterator):
        (WebCore::CSSValueListIterator::hasMore):
        Return true if there are more values to consume, including the current value.
        (WebCore::CSSValueListIterator::value):
        Return the value at the current position.
        (WebCore::CSSValueListIterator::next):
        Move the iterator forward to the next item.
        (WebCore::CSSValueListIterator::index):
        Return the current position in the list.
        (WebCore::CSSValueListInspector::item):
        Return the item at a given index.
        (WebCore::CSSValueListInspector::first):
        Return the first item in the list.
        (WebCore::CSSValueListInspector::second):
        Return the second item in the list.
        (WebCore::CSSValueListInspector::length):
        Return the size of the underlying list.

2011-08-01  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: group scripts by folder in the scripts selector.
        https://bugs.webkit.org/show_bug.cgi?id=65321

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/scripts-sorting.html

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
        (WebInspector.ScriptsPanel.prototype.reset):
        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):

2011-07-28  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: [protocol] methods where all parameters are optional should not require empty params object.
        https://bugs.webkit.org/show_bug.cgi?id=65331

        Reviewed by Yury Semikhatsky.

        * inspector/CodeGeneratorInspector.pm:
        (generateBackendFunction):
        (generateArgumentGetters):

2011-08-01  Adam Barth  <abarth@webkit.org>

        application/json MIME type shouldn't cause warnings in <script> tags
        https://bugs.webkit.org/show_bug.cgi?id=65448

        Reviewed by Pavel Feldman.

        This patch stops the web inspector from logging a ton of spam warnings
        when a web page uses a JSONP service (which points script tags at
        application/json resources).

        * inspector/front-end/inspector.js:
        (WebInspector.reset):

2011-08-01  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Rename SocketStreamHandleClient member functions
        https://bugs.webkit.org/show_bug.cgi?id=65374

        Reviewed by Kent Tamura.

        Rename SocketStreamHandleClient member functions to avoid conflict of the names of
        FileReaderLoaderClient functions.

        No change in behavior, thus no new tests are added.

        * platform/network/SocketStreamHandleClient.h:
        (WebCore::SocketStreamHandleClient::didOpenSocketStream):
        (WebCore::SocketStreamHandleClient::didCloseSocketStream):
        (WebCore::SocketStreamHandleClient::didReceiveSocketStreamData):
        (WebCore::SocketStreamHandleClient::didFailSocketStream):
        * platform/network/brew/SocketStreamHandleBrew.cpp:
        (WebCore::SocketStreamHandlePrivate::socketConnected):
        (WebCore::SocketStreamHandlePrivate::socketReadyRead):
        (WebCore::SocketStreamHandlePrivate::socketClosed):
        (WebCore::SocketStreamHandlePrivate::socketError):
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::addCONNECTCredentials):
        (WebCore::SocketStreamHandle::readStreamCallback):
        (WebCore::SocketStreamHandle::writeStreamCallback):
        (WebCore::SocketStreamHandle::reportErrorToClient):
        (WebCore::SocketStreamHandle::platformClose):
        * platform/network/qt/SocketStreamHandleQt.cpp:
        (WebCore::SocketStreamHandlePrivate::socketConnected):
        (WebCore::SocketStreamHandlePrivate::socketReadyRead):
        (WebCore::SocketStreamHandlePrivate::socketClosedCallback):
        (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
        * platform/network/soup/SocketStreamHandleSoup.cpp:
        (WebCore::SocketStreamHandle::connected):
        (WebCore::SocketStreamHandle::readBytes):
        (WebCore::SocketStreamHandle::platformSend):
        (WebCore::SocketStreamHandle::platformClose):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didOpenSocketStream):
        (WebCore::WebSocketChannel::didCloseSocketStream):
        (WebCore::WebSocketChannel::didReceiveSocketStreamData):
        (WebCore::WebSocketChannel::didFailSocketStream):
        (WebCore::WebSocketChannel::resumeTimerFired):
        * websockets/WebSocketChannel.h:

2011-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r92094.
        http://trac.webkit.org/changeset/92094
        https://bugs.webkit.org/show_bug.cgi?id=65443

        Triggered many asserts (Requested by abarth on #webkit).

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent):

2011-07-31  Dominic Cooney  <dominicc@chromium.org>

        Event target set to null post event dispatch
        https://bugs.webkit.org/show_bug.cgi?id=63934

        Reviewed by Dimitri Glazkov.

        Test: fast/events/event-target-reset.html

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent): Reset target to outermost
        shadow host.

2011-07-31  Sam Weinig  <sam@webkit.org>

        REGRESSION: getBoundingClientRect() method of Range incorrectly returns null for collapsed Range
        https://bugs.webkit.org/show_bug.cgi?id=65324

        Reviewed by Ryosuke Niwa.

        Update to more closely match the spec.

        * dom/Range.cpp:
        (WebCore::Range::getClientRects):
        Return an empty ClientRectList instead of null when the range is empty.

        (WebCore::Range::getBoundingClientRect):
        Always return a ClientRect, even for an empty bounding rect.

2011-07-29  Ryosuke Niwa  <rniwa@webkit.org>

        [HTML5] Implement the selectionDirection property on input and textarea
        https://bugs.webkit.org/show_bug.cgi?id=60403

        Reviewed by Darin Adler.

        Implements selectionDirection property as specified in HTML5 section 4.10.20:
        http://www.whatwg.org/specs/web-apps/current-work/#textFieldSelection

        selectionDirection is a property on input and textarea elements, which, on getting returns either "none",
        "forward", or "backward" corresponding to the current selection direction, and on setting, modifies
        the direction of the current selection. When selection doesn't exist or direction is unknown, "none"
        is returned on getting. Setting the property value to neither of above values will result in setting "none".

        This patch also adds the optional third argument, direction, to setSelectionRange.

        Test: fast/forms/selection-direction.html
              fast/forms/selection-wrongtype.html

        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::selectionDirection): Added.
        (WebCore::JSHTMLInputElement::setSelectionDirection): Added.
        (WebCore::JSHTMLInputElement::setSelectionRange): Processes the third argument.
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter): Added.
        (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter): Added.
        (WebCore::V8HTMLInputElement::setSelectionRangeCallback): Processes the third argument.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::updateFocusAppearance): Calls hasCachedSelection.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateFocusAppearance): Ditto.
        (WebCore::HTMLInputElement::setValue): Calls cacheSelection with SelectionHasNoDirection.
        * html/HTMLTextAreaElement.idl: Added selectionDirection and the third argument to setSelectionRange.
        * html/HTMLInputElement.idl: Ditto.
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initializes
        m_cachedSelectionDirection.
        (WebCore::HTMLTextFormControlElement::setSelectionStart): Calls setSelectionRange.
        (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
        (WebCore::HTMLTextFormControlElement::setSelectionDirection): Added.
        (WebCore::HTMLTextFormControlElement::select): Calls setSelectionRange with SelectionHasNoDirection.
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Added the version that takes direction
        string as the third argument, which calls the version that takes two ints and TextFieldSelectionDirection.
        (WebCore::HTMLTextFormControlElement::selectionStart): Calls hasCachedSelection.
        (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
        (WebCore::directionString): Added.
        (WebCore::HTMLTextFormControlElement::selectionDirection): Added.
        (WebCore::HTMLTextFormControlElement::computeSelectionDirection): Added.
        (WebCore::HTMLTextFormControlElement::selection): Calls hasCachedSelection.
        (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls setSelectionRange.
        (WebCore::HTMLTextFormControlElement::selectionChanged): Calls cacheSelection.
        * html/HTMLTextFormControlElement.h:
        (WebCore::HTMLTextFormControlElement::cacheSelection): Takes TextFieldSelectionDirection.
        (WebCore::HTMLTextFormControlElement::hasCachedSelection): Extracted from hasCachedSelectionStart;
        cacheSelection is the only function that modifies m_cacheSelectionStart and m_cacheSelectionEnd
        and none of its callers ever set one of them be -1 so they are always both -1 or both non-negative.
        Thus, having two separate functions for m_cacheSelectionStart and m_cacheSelectionEnd was redundant.

2011-07-31  Daniel Bates  <dbates@webkit.org>

        [GTK] Remove unused variable coreChild in WebCore::getChildForTable()
        https://bugs.webkit.org/show_bug.cgi?id=65427

        This variable was unused when it was initially added in <http://trac.webkit.org/changeset/89660> (bug #62718)
        and it is unused today. We should remove it. This will also resolve a compiler warning.

        Reviewed by Xan Lopez.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getChildForTable):

2011-07-30  Daniel Bates  <dbates@webkit.org>

        Fix the WinCairo Debug build after <http://trac.webkit.org/changeset/91914>
        (https://bugs.webkit.org/show_bug.cgi?id=64744)

        * WebCore.vcproj/WebCore.vcproj: Remove ContextShadowCairo.cpp from the build since this
          file was deleted in <http://trac.webkit.org/changeset/91914>.

2011-07-30  Daniel Bates  <dbates@webkit.org>

        Fix the Chromium Linux Release Flexbot build after <http://trac.webkit.org/changeset/92004>
        (https://bugs.webkit.org/show_bug.cgi?id=65342)

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Update the definition of RenderFlexibleBox::layoutBlock()
        to be consistent with its declaration in RenderFlexibleBox.h; Add argument layoutPass of type BlockLayoutPass.

2011-07-30  Adam Barth  <abarth@webkit.org>

        Update run-bindings-tests results after
        http://trac.webkit.org/changeset/92068

        * bindings/scripts/test/JS/JSTestCallback.cpp:

2011-07-30  Patrick Gansterer  <paroga@webkit.org>

        Remove inclusion of MainThread.h from Threading.h
        https://bugs.webkit.org/show_bug.cgi?id=65081

        Reviewed by Darin Adler.

        Add missing include statements for MainThread.

        * bindings/js/DOMWrapperWorld.cpp:
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateCallbackImplementation):
        * bindings/v8/DOMDataStore.cpp:
        * bindings/v8/DOMWrapperWorld.cpp:
        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8DOMMap.cpp:
        * bindings/v8/V8DOMWrapper.h:
        * dom/EventTarget.cpp:
        * fileapi/LocalFileSystem.cpp:
        * loader/CrossOriginPreflightResultCache.cpp:
        * loader/ResourceLoadScheduler.cpp:
        * loader/WorkerThreadableLoader.cpp:
        * loader/appcache/ApplicationCacheGroup.cpp:
        * page/DOMWindow.cpp:
        * page/History.cpp:
        * page/SecurityOrigin.cpp:
        * page/mac/EventHandlerMac.mm:
        * platform/MIMETypeRegistry.cpp:
        * platform/ThreadGlobalData.cpp:
        * platform/ThreadTimers.cpp:
        * platform/TreeShared.h:
        * platform/audio/HRTFDatabaseLoader.cpp:
        * platform/graphics/Font.cpp:
        * platform/graphics/FontFallbackList.h:
        * platform/graphics/FontFastPath.cpp:
        * platform/graphics/Image.cpp:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
        * platform/graphics/cg/ImageBufferCG.cpp:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
        * platform/mac/LocalizedStringsMac.mm:
        * platform/mac/SharedBufferMac.mm:
        * platform/network/BlobResourceHandle.cpp:
        * platform/network/cf/DNSCFNet.cpp:
        * platform/network/cf/LoaderRunLoopCF.cpp:
        * platform/text/LocalizedNumberICU.cpp:
        * platform/text/TextEncodingRegistry.cpp:
        * platform/text/mac/LocalizedNumberMac.mm:
        * platform/win/LocalizedStringsWin.cpp:
        * storage/LocalStorageThread.cpp:
        * storage/StorageAreaImpl.cpp:
        * storage/StorageAreaSync.cpp:
        * storage/StorageNamespaceImpl.cpp:
        * storage/StorageSyncManager.cpp:
        * webaudio/AsyncAudioDecoder.cpp:
        * webaudio/AudioBufferSourceNode.cpp:
        * webaudio/AudioContext.h
        * webaudio/AudioContext.cpp:
        * webaudio/AudioNode.cpp:
        * webaudio/ConvolverNode.cpp:
        * webaudio/OfflineAudioDestinationNode.cpp:
        * webaudio/RealtimeAnalyser.cpp:
        * webaudio/WaveShaperNode.cpp:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        * workers/WorkerMessagingProxy.cpp:

2011-07-30  Enrica Casucci  <enrica@apple.com>

        REGRESSION: culledInlineAbsoluteRects needs to translate a 0,0 point to absolute
        coordinates so that the top left position is accurate.
        https://bugs.webkit.org/show_bug.cgi?id=65419
        <rdar://problem/9408862>

        This patch fixes a regression introduced in r83075.
        Make sure that culledInlineAbsoluteRects still does
        a translation of a 0,0 point to absolute coordinates so that the top left position is
        accurate.
        This code path could not be tested via JavaScript. The patch
        extends the Internals object to be able to test this case.

        Reviewed by Dan Bernstein.

        Test: fast/inline/skipped-whitespace-boundingBox.html

        * WebCore.exp.in: Added some exports.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::culledInlineAbsoluteRects):
        * testing/Internals.cpp:
        (WebCore::Internals::boundingBox):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-26  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: move location conversion functions to SourceFile.
        https://bugs.webkit.org/show_bug.cgi?id=65185

        Reviewed by Pavel Feldman.

        Test: inspector/debugger/source-file.html

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
        (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
        * inspector/front-end/SourceFile.js:
        (WebInspector.SourceFile.prototype.rawLocationToUILocation):
        (WebInspector.SourceFile.prototype.uiLocationToRawLocation):
        (WebInspector.SourceFile.prototype._scriptForRawLocation):
        (WebInspector.SourceFile.prototype.createSourceMappingIfNeeded):
        (WebInspector.FormattedSourceFile.prototype.createSourceMappingIfNeeded):
        (WebInspector.FormattedSourceFile.prototype._didRequestContent):

2011-07-29  Rob Buis  <rbuis@rim.com>

        URL references are completely broken in SVG
        https://bugs.webkit.org/show_bug.cgi?id=63283

        Reviewed by Nikolas Zimmermann.

        Change SVGURIElement::getTarget to be more strict about iri resolving and make it serve as a central
        place to resolve a iri to a SVGElement. The iri can be same-document or external, for now we only handle
        the former, the latter will be handled in bug 65344.
        Accept as same-document if the iri combined with the base uri equals the document url (ignoring
        the fragment identifier). For convenience a method is added to lookup the element, if found.

        Tests: svg/custom/external-paintserver-reference.svg
               svg/custom/linking-base-external-reference.xhtml
               svg/custom/uri-reference-handling.svg

        * css/CSSCursorImageValue.cpp:
        (WebCore::resourceReferencedByCursorElement):
        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontSelector.h:
        (WebCore::CSSFontSelector::document):
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * rendering/svg/RenderSVGTextPath.cpp:
        (WebCore::RenderSVGTextPath::layoutPath):
        * rendering/svg/SVGResources.cpp:
        (WebCore::targetReferenceFromResource):
        (WebCore::paintingResourceFromSVGPaint):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::requestImageResource):
        (WebCore::SVGFEImageElement::build):
        * svg/SVGGlyphRefElement.cpp:
        (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::pathElement):
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::matchesTargetURI):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::collectPatternAttributes):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText):
        (WebCore::SVGTRefElement::svgAttributeChanged):
        (WebCore::SVGTRefElement::buildPendingResource):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::insertedIntoDocument):
        * svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::fragmentIdentifierFromIRIString):
        (WebCore::SVGURIReference::targetElementFromIRIString):
        * svg/SVGURIReference.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildPendingResource):
        (WebCore::SVGUseElement::hasCycleUseReferencing):
        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::targetElement):

2011-07-29  James Simonsen  <simonjam@chromium.org>

        Remove zipcar.com site specific hack added in r87361
        https://bugs.webkit.org/show_bug.cgi?id=65405

        Reviewed by Adam Barth.

        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::insertedIntoDocument):

2011-07-29  James Robinson  <jamesr@chromium.org>

        [chromium] Reorder functions in LayerRendererChromium.cpp to make bug 58840 easier to review
        https://bugs.webkit.org/show_bug.cgi?id=65354

        Reviewed by Kenneth Russell.

        This moves a few function definitions in LayerRendererChromium around to make the patch on bug 58840 easier to
        review.  In that patch, updatePropertiesAndRenderSurfaces() becomes a templated free function instead of a
        member function, so it has to be near the top of the .cpp.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::calculateVisibleRect):
        (WebCore::isScaleOrTranslation):
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::updateLayers):

2011-07-29  Jeff Miller  <jeffm@apple.com>

        Work-in-progress on Adopt AVCF media back end on Windows
        https://bugs.webkit.org/show_bug.cgi?id=65400
        <rdar://problem/9083559>
        
        Prepare WebCore.vcproj to support AVCF media back end on Windows.

        Reviewed by Darin Adler.

        No changes to functionality so no new tests.

        * WebCore.vcproj/WebCore.vcproj: Added MediaPlayerPrivateAVFoundation and MediaPlayerPrivateAVFoundationCF sources.
        * WebCore.vcproj/WebCoreMediaQT.vsprops: Added additional include directories and dleay load DLLs for AVCF.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added, just a stub for now.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added, just a stub for now.

2011-07-29  Jeff Miller  <jeffm@apple.com>

        Work-in-progress on Adopt AVCF media back end on Windows
        https://bugs.webkit.org/show_bug.cgi?id=65400
        <rdar://problem/9083559>
        
        Make MediaPlayerPrivateAVFoundation::setDelayCallbacks() const and make the ivars
        it references mutable so other const member functions can call it.

        Reviewed by Darin Adler.

        No changes to functionality so no new tests.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

2011-07-29  Zhenyao Mo  <zmo@google.com>

        Unreviewed, rolling out r92011.
        http://trac.webkit.org/changeset/92011
        https://bugs.webkit.org/show_bug.cgi?id=65044

        break chromium win build

        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        (WebCore::WheelEvent::initWheelEvent):
        * dom/WheelEvent.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::handleTouchEvent):
        (WebCore::EventHandler::resetGestureRecognizer):
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        * platform/PlatformGestureEvent.h:
        * platform/PlatformGestureRecognizer.h:
        * platform/ScrollAnimatorWin.cpp:
        * platform/chromium/FramelessScrollView.h:
        * platform/chromium/GestureRecognizerChromium.cpp:
        (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
        (WebCore::InnerGestureRecognizer::reset):
        (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
        (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
        (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
        (WebCore::touchDown):
        (WebCore::noGesture):
        (WebCore::click):
        (WebCore::isClickOrScroll):
        (WebCore::inScroll):
        * platform/chromium/GestureRecognizerChromium.h:
        (WebCore::GestureRecognizerChromium::reset):
        (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
        * platform/chromium/PopupMenuChromium.cpp:
        * platform/chromium/PopupMenuChromium.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleGestureEvent):

2011-07-29  Adrienne Walker  <enne@google.com>

        [chromium] Only force slow scrolling for iframes under --force-compositing-mode
        https://bugs.webkit.org/show_bug.cgi?id=65394

        Reviewed by James Robinson.

        The previous code introduced by r91591 made composited frames as well
        as non-composited subframes go down the slow scrolling path.  Adjust
        the check to use ownerElement to test for subframe and use
        hasCompositedContent() which is a more correct test for compositing
        than isEnclosedInCompositingLayer.

        * page/FrameView.cpp:
        (WebCore::FrameView::useSlowRepaints):

2011-07-29  Emil A Eklund  <eae@chromium.org>

        -webkit-marquee with anonymous node causes segmentation fault in Node::document
        https://bugs.webkit.org/show_bug.cgi?id=64693

        Reviewed by Simon Fraser.

        Test: fast/css/webkit-marquee-anonymous-node-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollTo):
        Add null check as renderer()->node() is null for anonymous nodes.

2011-07-29  Mike Reed  <reed@google.com>

        [skia] never draw with GDI, so that all text can be gpu-accelerated
        https://bugs.webkit.org/show_bug.cgi?id=65203

        Reviewed by Kenneth Russell.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
        (WebCore::drawGlyphsWin):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::draw):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/skia/SkiaFontWin.cpp:
        * platform/graphics/skia/SkiaFontWin.h:

2011-07-29  Sam Weinig  <sam@webkit.org>

        Move Region code from WebKit2 to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=65392

        Reviewed by David Hyatt.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Update project files.

        * WebCore.exp.in:
        Update exports.

        * platform/graphics/Region.cpp: Copied from Source/WebKit2/Platform/Region.cpp.
        * platform/graphics/Region.h: Copied from Source/WebKit2/Platform/Region.h.
        Add files.

2011-07-29  Robert Kroeger  <rjkroege@chromium.org>

        [chromium] Layering violations in gesture recognizer
        https://bugs.webkit.org/show_bug.cgi?id=65044

        Reviewed by Adam Barth.

        Divided the gesture recognizer up to correct a layering
        violation by moving gesture implementation from it to
        EventHandler::handleGestureEvent so that the gesture recognizer
        could simply be an engine for generating gesture events from
        touch events.

        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        (WebCore::WheelEvent::initWheelEvent):
        * dom/WheelEvent.h:
        Added symbolic contstant for tick multiplier.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        Removed construction of gesture recognizer.
        (WebCore::EventHandler::handleGestureEvent):
        Extended for new gesture events added in this patch.
        (WebCore::EventHandler::handleTouchEvent):
        Removed call into gesture recognizer.
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        Removed code to reset gesture recognizer.
        * platform/PlatformGestureEvent.h:
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        (WebCore::PlatformGestureEvent::deltaX):
        (WebCore::PlatformGestureEvent::deltaY):
        (WebCore::PlatformGestureEvent::shiftKey):
        (WebCore::PlatformGestureEvent::ctrlKey):
        (WebCore::PlatformGestureEvent::altKey):
        (WebCore::PlatformGestureEvent::metaKey):
        Added additional gesture types and parameters.
        * platform/PlatformGestureRecognizer.h:
        * platform/ScrollAnimatorWin.cpp:
        (WebCore::ScrollAnimatorWin::handleGestureEvent):
        Added missing method needed to fix the build on windows.
        * platform/chromium/FramelessScrollView.h:
        Added support for displatching gesture and touch events.
        * platform/chromium/GestureRecognizerChromium.cpp:
        (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
        (WebCore::InnerGestureRecognizer::reset):
        (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
        (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
        Removed all depedencies on EventHandler. Instead, create gesture
        events from touch event stream.
        (WebCore::InnerGestureRecognizer::constructScrollGesture):
        (WebCore::touchDown):
        (WebCore::noGesture):
        (WebCore::click):
        (WebCore::isClickOrScroll):
        (WebCore::inScroll):
        (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
        (WebCore::GestureRecognizerChromium::reset):
        * platform/chromium/GestureRecognizerChromium.h:
        * platform/chromium/PopupMenuChromium.cpp:
        Added support to handle touch events and gesture events.
        (WebCore::PopupContainer::handleTouchEvent):
        (WebCore::PopupContainer::handleGestureEvent):
        (WebCore::PopupListBox::handleTouchEvent):
        (WebCore::PopupListBox::handleGestureEvent):
        * platform/chromium/PopupMenuChromium.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleGestureEvent):
        Ignores the newly added gesture event types.

2011-07-29  Eric Carlson  <eric.carlson@apple.com>

        Load delegate not consulted before loading some poster images
        https://bugs.webkit.org/show_bug.cgi?id=65270

        Reviewed by Joseph Pecoraro.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::setDisplayMode): Don't ask a load delegate if it is OK to 
            load an empty poster url.

2011-07-29  Jeff Miller  <jeffm@apple.com>

        Re-sort one more file in the WebCore project with Visual Studio.

        * WebCore.vcproj/WebCore.vcproj:

2011-07-29  Jeff Miller  <jeffm@apple.com>

        Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.

        * WebCore.vcproj/WebCore.vcproj:

2011-07-29  Dan Bernstein  <mitz@apple.com>

        Added the regional indicator symbols to the set of codepoints that force use of the complex text code path.

        Fixes <rdar://problem/9864578> Regional indicator symbols do not combine into national flags
        https://bugs.webkit.org/show_bug.cgi?id=65380

        Reviewed by Anders Carlsson.

        Test: fast/text/regional-indicator-symobls.html

        * platform/graphics/Font.cpp:
        (WebCore::Font::codePath): Added handling of surrogate pairs, which returns Complex for characters in
        the range U+1F1E6..U+1F1FF.

2011-07-28  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=65342

        Add support for positioned floats being placed into a RenderBlock's FloatingObject list and for
        correct propagation of those floating objects into descendants.

        Reviewed by Sam Weinig.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        The positioned float layout algorithm is 2-pass. You lay out without the positioned objects, and then
        once they have been placed, you lay out again and use that placement to determine the float positions.
        layoutBlock now has an extra parameter to indicate which layout pass you are in.
        
        (WebCore::RenderBlock::addOverflowFromFloats):
        Don't add overflow from positioned floats ever, since the positioning overflow function takes care of that
        already.

        (WebCore::RenderBlock::layoutBlockChild):
        Include positioned floats in the lowestFloatLogicalBottom we look at so that overhang is computed properly.

        (WebCore::RenderBlock::simplifiedLayout):
        If layoutPositionedObjects indicates that a positioned float moved, then we can't do simplified layout. Bail
        instead and do a full layout.

        (WebCore::RenderBlock::positionedFloatsNeedRelayout):
        Helper for layoutBlock in order to bypass the 2-pass model if we can detect that none of the positioned objects
        will actually need to lay out again. This allows incremental layout to not always fault back to 2-pass as normal
        flow content streams in.

        (WebCore::RenderBlock::layoutPositionedObjects):
        Modified to return a boolean indicating whether a positioned float got a layout. If so, we will lay out again
        once our positioned objects are placed.

        (WebCore::RenderBlock::insertFloatingObject):
        insertFloatingObject can now handle positioned objects being inserted.

        (WebCore::RenderBlock::positionNewFloats):
        positionNewFloats doesn't attempt to position this new type of float. It only handles left/right floats.

        (WebCore::RenderBlock::addPositionedFloats):
        Helper to add in the floating objects for positioned floats. This is used instead of positionNewFloats and
        just walks the positioned objects instead.

        (WebCore::RenderBlock::clearFloats):
        clearFloats now handles adding in positioned floats if the layout pass says they should be included.

        (WebCore::RenderBlock::marginLogicalLeftForChild):
        (WebCore::RenderBlock::marginLogicalRightForChild):
        New helpers used by addPositionedFloats.
    
        (WebCore::RenderBlock::FloatingObjects::clear):
        (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
        (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
        Make sure the object count tracking handles positioned floats as well as left/right floats.
    
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalLeftForChild):
        New helper used by addPositionedFloats.

        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        Change the constructor to take the RenderStyle enum. This makes the construction simpler.

        (WebCore::RenderBlock::hasPositionedFloats):
        A bit tracks whether or not a block has positioned floats in its positioned objects list.

        (WebCore::RenderBlock::hasOverhangingFloats):
        Modified to include positioned floats.

        (WebCore::RenderBlock::lowestFloatLogicalBottom):
        This function excludes positioned floats by default, so that places that - for example - expand to
        encompass their lowestFloatLogicalBottom won't accidentally expand to encompass positioned objects.

        (WebCore::RenderBlock::lowestFloatLogicalBottomIncludingPositionedFloats):
        A new function that includes positioned floats for callers that care.

        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
        (WebCore::RenderBlock::FloatingObjects::hasPositionedObjects):
        The object count tracking for positioned floats within a block's FloatingObjects list.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
        Make sure isFloating is set even if isPositioned is also set for the positioned float case.

        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        Modified to do the extra layout pass if needed.

2011-07-29  Scott Byer  <scottbyer@chromium.org>

        Scroll animation refinements.
        https://bugs.webkit.org/show_bug.cgi?id=65154

        Reviewed by Adam Barth.

        Fix scroll animation bugs when scrolling to the ends of a document. Smooth over slow event repeat rates
        better. Fix tests to allow for unit testing of scrolling up and not just down.

        Additional unit tests added to ScrollAnimatorNoneTest:
        ScrollQuadraticSmoothed, ScrollLotsQuadraticSmoothed, ScrollDownToBumper, ScrollUpToBumper

        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::Parameters::Parameters):
        (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
        (WebCore::ScrollAnimatorNone::scroll):
        * platform/ScrollAnimatorNone.h:

2011-07-29  Samuel White  <samuel_white@apple.com>

        Add the ability to search the AccessibilityObject cache
        https://bugs.webkit.org/show_bug.cgi?id=64994
        
        To support searching the AccessibilityObject cache, we first need to
        implement a minimal set of functions that will allow AccessibilityObjects
        to be identified when searching using common search criteria. The additional
        functions below complement the existing identification functionality already
        available and together provide a basic working set to build search on top of.
        Additionally, the blockquoteLevel function has been moved into the AccessibilityObject
        class to make it available to all platforms.

        Reviewed by Chris Fleizach.

        New tests will be included in the following patch that will also implement
        basic search functionality.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isBlockquote):
        (WebCore::AccessibilityObject::isLandmark):
        (WebCore::AccessibilityObject::hasMisspelling):
        (WebCore::AccessibilityObject::blockquoteLevel):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isUnvisited):
        (WebCore::AccessibilityObject::hasBoldFont):
        (WebCore::AccessibilityObject::hasItalicFont):
        (WebCore::AccessibilityObject::hasPlainText):
        (WebCore::AccessibilityObject::hasSameFont):
        (WebCore::AccessibilityObject::hasSameFontColor):
        (WebCore::AccessibilityObject::hasSameStyle):
        (WebCore::AccessibilityObject::hasStaticText):
        (WebCore::AccessibilityObject::hasUnderline):
        (WebCore::AccessibilityObject::tableLevel):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isUnvisited):
        (WebCore::AccessibilityRenderObject::hasBoldFont):
        (WebCore::AccessibilityRenderObject::hasItalicFont):
        (WebCore::AccessibilityRenderObject::hasPlainText):
        (WebCore::AccessibilityRenderObject::hasSameFont):
        (WebCore::AccessibilityRenderObject::hasSameFontColor):
        (WebCore::AccessibilityRenderObject::hasSameStyle):
        (WebCore::AccessibilityRenderObject::hasUnderline):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::tableLevel):
        * accessibility/AccessibilityTable.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (AXAttributeStringSetBlockquoteLevel):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2011-07-29  Zeng Huiqing  <huiqing.zeng@intel.com>

        Avoid calling animation timer updates while the page is loading
        https://bugs.webkit.org/show_bug.cgi?id=64851

        Reviewed by Simon Fraser.

        There is no need to update the animation timer for a RenderObject that has not yet been inserted into the render tree, or that doesn't have animations. Our tests show that this improves page loading by up to 3x on pages with a large number of transitionable objects.

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationController::updateAnimations):

2011-07-29  Anders Carlsson  <andersca@apple.com>

        Pass the HTTP referrer header for URLs loaded by plug-ins
        https://bugs.webkit.org/show_bug.cgi?id=65379
        <rdar://problem/9822116>

        Reviewed by Sam Weinig.

        Export a symbol needed by WebKit2.

        * WebCore.exp.in:

2011-07-28  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Fix speech input icon rect on RTL directions.
        https://bugs.webkit.org/show_bug.cgi?id=65333

        Reviewed by Tony Gentilcore.

        No new tests. This is used by platforms, not WebCore, and
        the base functionality is not changed but only the failing cases.

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

2011-07-29  Kent Tamura  <tkent@chromium.org>

        Make the ExceptionCode argument of Element::setShadowPseudoId() ASSERT_NO_EXCEPTION by default
        https://bugs.webkit.org/show_bug.cgi?id=65363

        Reviewed by Hajime Morita.

        No new tests. Cleanup-only.

        * dom/Element.h: Make the ExceptionCode argument ASSERT_NO_EXCEPTION by default.
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::createShadowSubtree): Remove the ExceptionCode argument and ASSERT(!ec).
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::updatePlaceholderText): ditto.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::createShadowSubtree): ditto.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree): ditto.
        (WebCore::TextFieldInputType::updatePlaceholderText): ditto.
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::buildBubbleTree): ditto.

2011-07-28  Luke Macpherson   <macpherson@chromium.org>

        Remove remaining uses of CSSPrimitiveValue::computeLengthIntForLength()
        https://bugs.webkit.org/show_bug.cgi?id=64919

        Reviewed by Darin Adler.

        No new tests / cleanup only.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        Remove implementation of computeLengthIntForLength()
        * css/CSSPrimitiveValue.h:
        Remove definition of computeLengthIntForLength()
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        Remove use of computeLengthIntForLength()
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove use of computeLengthIntForLength()
        * platform/Length.h:
        (WebCore::Length::setQuirk):
        Adds the ability to set the m_quirk member variable after construction.

2011-07-28  Anders Carlsson  <andersca@apple.com>

        Unreviewed, rolling out r88601. (Requested by Sam Weinig).
        http://trac.webkit.org/changeset/88601
        https://bugs.webkit.org/show_bug.cgi?id=62230

        Caused a regression, see https://bugs.webkit.org/show_bug.cgi?id=64378

        * dom/StyledElement.cpp:
        * dom/StyledElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        (WebCore::HTMLBodyElement::insertedIntoDocument):
        (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
        * html/HTMLBodyElement.h:

2011-07-28  Justin Schuh  <jschuh@chromium.org>

        Simplify createCanonicalUUIDString implementation.
        https://bugs.webkit.org/show_bug.cgi?id=65157

        All ports support OS_RANDOMNESS, so better to have one implementation.

        Reviewed by Adam Barth.

        Change covered by existing tests.

        * platform/UUID.cpp:
        (WebCore::createCanonicalUUIDString):

2011-07-28  Devdatta Deshpande  <pwjd73@motorola.com>

        Fixed gif animation dependency on system time
        https://bugs.webkit.org/show_bug.cgi?id=64996

        Reviewed by James Robinson.

        Test: Load WebCore/manual-tests/animated-gif-looping.html
        Change system time to a time in past

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::startAnimation): Bitmap animation is now based
        on monotonicallyIncreasingTime instead of currentTime

2011-07-28  Luke Zarko  <lukezarko@gmail.com>

        V8 should correctly serialize Boolean, Number and String objects.

        https://bugs.webkit.org/show_bug.cgi?id=65286

        Reviewed by David Levin.
        
        New APIs were exposed to allow V8 to correctly serialize Boolean, Number and String objects, as well as detect certain native errors as required by the HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data). SerializedScriptValue should make use of these APIs.

        - Checks for and serializes Boolean, Number and String objects.
        - Checks for native errors and aborts should a script attempt to serialize them.
        - Small name change to clear up the code: m_objectReferenceStack => m_openCompositeReferenceStack

        Tests: fast/dom/Window/window-postmessage-clone.html
               fast/loader/stateobjects/pushstate-object-types.html

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::V8ObjectMap::Writer::writeBooleanObject):
        (WebCore::V8ObjectMap::Writer::writeStringObject):
        (WebCore::V8ObjectMap::Writer::writeNumberObject):
        (WebCore::V8ObjectMap::Serializer::writeStringObject):
        (WebCore::V8ObjectMap::Serializer::writeNumberObject):
        (WebCore::V8ObjectMap::Serializer::writeBooleanObject):
        (WebCore::V8ObjectMap::Serializer::doSerialize):
        (WebCore::V8ObjectMap::Reader::read):
        (WebCore::V8ObjectMap::Reader::readStringObject):
        (WebCore::V8ObjectMap::Reader::readNumberObject):
        (WebCore::V8ObjectMap::Deserializer::deserialize):
        (WebCore::V8ObjectMap::Deserializer::openComposite):
        (WebCore::V8ObjectMap::Deserializer::closeComposite):

2011-07-28  Adam Barth  <abarth@webkit.org>

        Old code about empty security origins could use a bath
        https://bugs.webkit.org/show_bug.cgi?id=64735

        Reviewed by Dimitri Glazkov.

        This patch cleans up some old code related to empty security origins.
        It also removes some dodgy code that seems wrong.

        Test: http/tests/security/inactive-document-with-empty-security-origin.html

        * bindings/generic/BindingSecurityBase.cpp:
        (WebCore::BindingSecurityBase::canAccess):
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::isEmpty):
        (WebCore::SecurityOrigin::isSecureTransitionTo):
        (WebCore::SecurityOrigin::toString):

2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [REGRESSION] Inspected tab crashes if navigated with inspector open and there are watch expressions added.
        https://bugs.webkit.org/show_bug.cgi?id=65322

        Reviewed by Pavel Feldman.

        * inspector/InspectorController.cpp:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/WorkerInspectorController.cpp:

2011-07-28  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Add basic RenderRegion support
        https://bugs.webkit.org/show_bug.cgi?id=64689

        Reviewed by David Hyatt.

        This patch introduces the RenderRegion object.
        A RenderObject that takes its content from a "named" flow will become a RenderRegion, an element that is used to display the content from a RenderFlowThread.
        A RenderRegion that is marked to take its content from a non existing flow, will have its content disconnected from the normal flow.

        Tests: fast/regions/region-element-display-restriction.html
               fast/regions/region-element-dynamic-attach-flow.html
               fast/regions/region-element-dynamic-detach-flow.html
               fast/regions/render-region-renderer.html

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Node.cpp:
        (WebCore::Node::diff):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderRegion):
        * rendering/RenderRegion.cpp: Added.
        (WebCore::RenderRegion::RenderRegion):
        (WebCore::RenderRegion::~RenderRegion):
        (WebCore::RenderRegion::layout):
        (WebCore::RenderRegion::paint):
        * rendering/RenderRegion.h: Added.
        (WebCore::RenderRegion::isRenderRegion):
        (WebCore::RenderRegion::renderName):
        (WebCore::toRenderRegion):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):

2011-07-28  Marco Peereboom  <marco@peereboom.us>

        [Soup] Cannot override default max-conns and max-conns-per-host Soup Session settings
        https://bugs.webkit.org/show_bug.cgi?id=64355
        Default max-conns and max-conns-per-host are set at "first contact" with
        a site instead of at creation time.  This results in values being
        overwritten if they are set prior to said "first contact"; which is the
        most likely (or only) scenario.

        Reviewed by Martin Robinson.

        No new tests.  Rigged libsoup and xxxterm web browser to diagnose the
        issue and validate the patch.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ensureSessionIsInitialized): No longer ininitalize connection limits.
        (WebCore::ResourceHandle::defaultSession): Initialize connection limits here instead.

2011-07-28  Brady Eidson  <beidson@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=65323
        r91931 causes NOTREACHED to be hit via StorageTracker

        Change the meaning of the "has been initialized" flag to "needs initialization", and only set it to true
        if the ::initializeTracker() method has been called.

        Reviewed by Sam Weinig.

        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::initializeTracker): Set m_needsInitialization to true since the calling WebKit port expects full
          initialization instead of a dummy tracker.
        (WebCore::StorageTracker::internalInitialize):
        (WebCore::StorageTracker::tracker): Only initialize the tracker if it was created in the above initializeTracker().
        (WebCore::StorageTracker::StorageTracker):
        * storage/StorageTracker.h:

2011-07-28  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/65289> Remove GeolocationPositionCache

        Reviewed by Adam Barth.

        * CMakeLists.txt: Remove references to GeolocationPositionCache.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.order: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * page/Geolocation.cpp: Switch from using m_positionCache to
        m_cachedPosition.
        (WebCore::Geolocation::makeCachedPositionCallbacks):
        (WebCore::Geolocation::haveSuitableCachedPosition):
        (WebCore::Geolocation::positionChangedInternal):
        * page/Geolocation.h: Remove PositionCacheWrapper and replace
        with RefPtr<Geoposition>.
        * page/GeolocationPositionCache.cpp: Removed.
        * page/GeolocationPositionCache.h: Removed.

2011-07-28  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds

        Reviewed by Darin Adler.

        * WebCore.exp.in: Exported wkGetVerticalGlyphsForCharacters.
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::GlyphPage::fill): Use wkGetVerticalGlyphsForCharacters. If it returns false, proceed
        with the existing, slower method of getting vertical glyphs.
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-07-28  Brady Eidson  <beidson@apple.com>

        <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
        WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView

        Move the heavy lifting done in StorageTracker::initializeTracker() until when the global tracker is actually
        accessed, therefore deferring it until a web page actually uses LocalStorage or the app uses the API.

        Reviewed by Maciej Stachowiak.

        No new tests. (Not possible to test this API implementation detail)

        * WebCore.exp.in:

        * storage/StorageAreaImpl.cpp:
        (WebCore::StorageAreaImpl::StorageAreaImpl): Access the global StorageTracker to indicate that a web page
          is actually using the storage APIs.

        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::initializeTracker): Moved the potentially hefty work from here...
        (WebCore::StorageTracker::internalInitialize): ...to here.
        (WebCore::StorageTracker::tracker): If the global tracker hasn't had internalInitialize() called, do so.
        (WebCore::StorageTracker::StorageTracker):
        * storage/StorageTracker.h:

2011-07-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Copy and paste is broken in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=65252

        Reviewed by Martin Robinson.

        Use gtk_clipboard_get_for_display() instead of
        gtk_widget_get_clipboard(), using the the default display when
        there's no page client widget, which is the case of WebKit2.

        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::displayFromFrame): Return the display of the current
        frame widget or the default display if there's no widget.
        (WebCore::PasteboardHelper::getClipboard):
        (WebCore::PasteboardHelper::getPrimarySelectionClipboard):

2011-07-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add resource initiator column to network panel.
        https://bugs.webkit.org/show_bug.cgi?id=65105

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/network/network-initiator.html

        * English.lproj/localizedStrings.js:
        * dom/Document.cpp:
        (WebCore::Document::scheduleStyleRecalc):
        * inspector/Inspector.json:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
        (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
        (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        (WebCore::InspectorResourceAgent::willRecalculateStyle):
        (WebCore::InspectorResourceAgent::didRecalculateStyle):
        (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
        (WebCore::InspectorResourceAgent::buildInitiatorObject):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
        (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        (WebInspector.NetworkDispatcher.prototype._createResource):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._createTable):
        (WebInspector.NetworkLogView.prototype._createSortingFunctions):
        (WebInspector.NetworkLogView.prototype.switchToDetailedView):
        (WebInspector.NetworkLogView.prototype.switchToBriefView):
        (WebInspector.NetworkLogView.prototype._toggleGridMode):
        (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
        (WebInspector.NetworkDataGridNode.prototype.createCells):
        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
        (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
        (WebInspector.NetworkDataGridNode.InitiatorComparator):
        * inspector/front-end/networkLogView.css:
        (.initiator-column a):

2011-07-28  Rob Buis  <rbuis@rim.com>

        Use styling test from ietestcenter fails
        https://bugs.webkit.org/show_bug.cgi?id=62147 

        Reviewed by Nikolas Zimmermann.

        Make sure CSS selectors are applied to the DOM tree referenced by <use>, not the internal shadow tree. In order to quickly
        find the corresponding DOM tree element store this info in SVGElementRareData. 

        Test: svg/W3C-SVG-1.1-SE/struct-use-11-f.svg

        * rendering/svg/SVGShadowTreeElements.cpp:
        (WebCore::SVGShadowTreeContainerElement::styleForRenderer):
        * rendering/svg/SVGShadowTreeElements.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::correspondingElement):
        (WebCore::SVGElement::setCorrespondingElement):
        (WebCore::SVGElement::styleForRenderer):
        * svg/SVGElement.h:
        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
        * svg/SVGElementRareData.h:
        (WebCore::SVGElementRareData::SVGElementRareData):
        (WebCore::SVGElementRareData::correspondingElement):
        (WebCore::SVGElementRareData::setCorrespondingElement):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::removedFromDocument):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
        * svg/SVGUseElement.h:

2011-07-28  Denis Oliver Kropp  <dok@directfb.org>

        This fixes build without video enabled.
        https://bugs.webkit.org/show_bug.cgi?id=65084

        Reviewed by Philippe Normand.

        Test with --disable-video.

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::determineDispatchBehavior):

2011-07-28  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Pass the value of useHixie76Protocol flag to WebSocket object
        https://bugs.webkit.org/show_bug.cgi?id=65250

        Reviewed by Alexey Proskuryakov.

        Add useHixie76Protocol() method to WebSocketChannel and its family. To implement hybi-specific
        attributes in WebSocket object, WebSocket class needs to be able to get the value of
        useHixie76Protocol flag of WebSocketChannel.

        If the WebSocket object is created in a worker thread, the flag value must be obtained from
        WebSocketChannel which resides in the loader thread (through WorkerThreadableWebSocketChannel).
        Since the value does not change after creation of WebSocketChannel, it can be cached in
        the worker thread.

        There is no change in behavior, thus no new tests.

        * websockets/ThreadableWebSocketChannel.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        (WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
        (WebCore::ThreadableWebSocketChannelClientWrapper::setUseHixie76Protocol):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::useHixie76Protocol):
        * websockets/WebSocketChannel.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::useHixie76Protocol):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::useHixie76Protocol):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
        * websockets/WorkerThreadableWebSocketChannel.h:

2011-07-28  Rob Buis  <rbuis@rim.com>

        REGRESSION (r91125): Google Drawings is broken
        https://bugs.webkit.org/show_bug.cgi?id=65257

        Reviewed by Darin Adler.

        Only consider zero-length path rendering code path when a stroke is defined.

        Test: svg/custom/zero-path-square-cap-rendering2.svg

        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):

2011-07-22  Martin Robinson  <mrobinson@igalia.com>

        [Cairo] Switch from ContextShadow to ShadowBlur
        https://bugs.webkit.org/show_bug.cgi?id=64744

        Use ShadowBlur in the Cairo backend instead of ContextShadow. This allows us
        to share shadowing code with Qt and Mac ports and to correct some broken
        shadow rendering.

        Reviewed by Dirk Schulze.

        * CMakeLists.txt: Remove ContextShadow from the build.
        * CMakeListsEfl.txt: Ditto.
        * GNUmakefile.list.am: Add ShadowBlur source files and remove ContextShadow
        source files.
        * platform/graphics/GraphicsContext.cpp:Add #ifdefs to support ShadowBlur for Cairo.
        * platform/graphics/GraphicsContext.h: Remove Cairo ContextShadow code.
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::drawInsetShadowWithTiling): Since the ShadowBlur is a property
        of the GraphicsContext, we cannot clear the GraphicsContext shadow until we have
        finished using properties like m_offset. If we clear the GrahpicsContext shadow
        before using these properties, they will be zero when we try to use them.
        (WebCore::ShadowBlur::drawRectShadowWithTiling):Ditto.
        (WebCore::ShadowBlur::drawLayerPieces): Ditto.
        (WebCore::ShadowBlur::beginShadowLayer):Cairo is the first port to keep ShadowBlur
        as a persistent property of GraphicsContext and use drawRectShadow and drawInsetShadow.
        Thus, we must manually clear the cached tiling values so that ShadowBlur does not
        try to reuse the scratch buffer for rectangular shadows after using beginShadowLayer
        and endShadowLayer.
        (WebCore::ShadowBlur::mustUseShadowBlur): Moved this method from the Qt port to
        this cross-platform location.
        * platform/graphics/ShadowBlur.h: Added new method declaration.
        * platform/graphics/cairo/ContextShadowCairo.cpp: Removed.
        * platform/graphics/cairo/FontCairo.cpp: Switched to using ShadowBlur.
        (WebCore::drawGlyphsShadow):Ditto.
        * platform/graphics/cairo/GraphicsContextCairo.cpp: Switch to using ShadowBlur.
        (WebCore::drawPathShadow): ShadowBlur has slightly different semantics than
        ContextShadow. When filling the shadow layer, we do not need to use the fill
        alpha. We also need to restore the Cairo path to the target context after
        endShadowLayer as it destroys the current path.
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Switch to using ShadowBlur.
        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::PlatformContextCairo::drawSurfaceToContext):Ditto.
        (WebCore::PlatformContextCairo::prepareForStroking): Add a mode ignoring alpha.
        * platform/graphics/cairo/PlatformContextCairo.h: Ditto.
        (WebCore::PlatformContextCairo::shadowBlur):Added.
        * platform/graphics/gtk/FontGtk.cpp: Update to use ShadowBlur.
        * platform/graphics/qt/GraphicsContextQt.cpp: Switch to using the new version of mustUseShadowBlur.

2011-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Add dummy NotificationPresenterClientEfl
        https://bugs.webkit.org/show_bug.cgi?id=64064

        Add two files to CMakeLists.txt for HTML5 Notification.

        Reviewed by Antonio Gomes.

        * CMakeLists.txt:

2011-07-27  Ryosuke Niwa  <rniwa@webkit.org>

        Calling window.find immediately after mutating the document crashes WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=65296

        Reviewed by Darin Adler.

        Don't forget to layout first.

        Test: editing/text-iterator/find-after-mutation.html

        * editing/TextIterator.cpp:
        (WebCore::findPlainText):

2011-07-27  Ben Wells  <benwells@chromium.org>

        Remove skia special case for outline rendering code
        https://bugs.webkit.org/show_bug.cgi?id=65295

        Reviewed by James Robinson.

        The fix for bug 58999 (outlines with alpha channels showed artifacts in the corners) was
        excluded from skia builds until bug 61369 (skia drawConvexPoly didn't pay attention to
        shouldAntialias) was fixed. That bug is fixed so now the #if's can be removed.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):

2011-07-27  Adam Barth  <abarth@webkit.org>

        Crypto.idl doesn't need legacy optional arguments
        https://bugs.webkit.org/show_bug.cgi?id=65298

        Reviewed by Darin Adler.

        This API is relatively new and useless to call without its only argument.

        * page/Crypto.idl:

2011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>

        Remove operator new from JSCell
        https://bugs.webkit.org/show_bug.cgi?id=64999

        Reviewed by Oliver Hunt.

        No new tests.

        Removed the implementation of operator new in JSCell, so any further uses
        will not successfully link.  Also removed any remaining uses of operator new.

        * bridge/c/CRuntimeObject.h:
        (JSC::Bindings::CRuntimeObject::create):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::newRuntimeObject):
        (JSC::Bindings::CRuntimeMethod::create):
        (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
        (JSC::Bindings::CInstance::getMethod):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::newRuntimeObject):
        (JavaRuntimeMethod::create):
        (JavaRuntimeMethod::JavaRuntimeMethod):
        (JavaInstance::getMethod):
        * bridge/jni/jsc/JavaRuntimeObject.h:
        (JSC::Bindings::JavaRuntimeObject::create):
        * bridge/objc/ObjCRuntimeObject.h:
        (JSC::Bindings::ObjCRuntimeObject::create):
        * bridge/objc/objc_class.mm:
        (JSC::Bindings::ObjcClass::fallbackObject):
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::newRuntimeObject):
        (ObjCRuntimeMethod::create):
        (ObjCRuntimeMethod::ObjCRuntimeMethod):
        (ObjcInstance::getMethod):
        * bridge/objc/objc_runtime.h:
        (JSC::Bindings::ObjcFallbackObjectImp::create):

2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Network panel sidebar should have width saved in preferences when resource is selected.
        https://bugs.webkit.org/show_bug.cgi?id=65256

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._toggleViewingResourceMode):
        (WebInspector.NetworkPanel.prototype.restoreSidebarWidth):
        (WebInspector.NetworkPanel.prototype._showResource):
        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.show):
        (WebInspector.Panel.prototype.preferredSidebarWidth):
        (WebInspector.Panel.prototype.get restoreSidebarWidth):

2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [REGRESSION] [Chromium] Opening link in new tab does not work properly.
        https://bugs.webkit.org/show_bug.cgi?id=65279

        Reviewed by Pavel Feldman.

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::open):

2011-07-27  Adam Klein  <adamk@chromium.org>

        [V8] Remove unused m_isWeak member of V8AbstractEventListener
        https://bugs.webkit.org/show_bug.cgi?id=65273

        Reviewed by Adam Barth.

        m_isWeak is set to true in the constructor and never changed,
        so the one if statement that tests it always executes; the
        code has been updated to make this clear.

        No behavior change, thus no tests.

        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
        (WebCore::V8AbstractEventListener::setListenerObject):
        * bindings/v8/V8AbstractEventListener.h:

2011-07-27  Fady Samuel  <fsamuel@chromium.org>

        Popups on Chromium now check the minimum row height set through the Chromium WebKit API when
        computing the height of a row in a popup listbox.
        https://bugs.webkit.org/show_bug.cgi?id=64897

        Reviewed by Darin Fisher.

        No new tests.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::getRowHeight):
        * platform/chromium/PopupMenuChromium.h:
        (WebCore::PopupMenuChromium::minimumRowHeight):
        (WebCore::PopupMenuChromium::setMinimumRowHeight):

2011-07-27  MORITA Hajime  <morrita@google.com>

        Inconsistent state of TreeScope reference.
        https://bugs.webkit.org/show_bug.cgi?id=65235
        
        The tree scope pointers on shadow tree nodes didn't cleared.
        even when the tree scope (shadow root) is destroyed.
        This change clear these poitners before detaching the shadow root.

        Reviewed by Dimitri Glazkov.

        Test: fast/dom/shadow/tree-scope-crash.html

        * dom/Element.cpp:
        (WebCore::Element::removeShadowRoot):

2011-07-27  Rachel Blum  <groby@chromium.org>

        Implement sizes attribute for link tag from HTML5
        https://bugs.webkit.org/show_bug.cgi?id=37674

        Reviewed by Dimitri Glazkov.

        Test: fast/dom/icon-size-property.html

        * WebCore.gypi:
        * WebCore.pro:
        * bindings/js/JSHTMLLinkElementCustom.cpp:
        (WebCore::JSHTMLLinkElement::sizes):
        (WebCore::JSHTMLLinkElement::setSizes):
        * bindings/v8/custom/V8HTMLLinkElementCustom.cpp: Added.
        (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
        (WebCore::V8HTMLLinkElement::sizesAccessorSetter):
        * html/HTMLAttributeNames.in:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::parseMappedAttribute):
        (WebCore::HTMLLinkElement::sizes):
        (WebCore::HTMLLinkElement::setSizes):
        * html/HTMLLinkElement.h:
        * html/HTMLLinkElement.idl:

2011-07-27  Pratik Solanki  <psolanki@apple.com>

        Incorrect arguments passed to LOG statement
        https://bugs.webkit.org/show_bug.cgi?id=65293

        Reviewed by Oliver Hunt.

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):

2011-07-27  Levi Weintraub  <leviw@chromium.org>

        Switch transform operations to FloatSize
        https://bugs.webkit.org/show_bug.cgi?id=64301

        Reviewed by Simon Fraser.

        Changing TransformOperation and its progeny to operate on FloatSizes instead of IntSizes.

        * platform/graphics/transforms/IdentityTransformOperation.h:
        (WebCore::IdentityTransformOperation::apply):
        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
        (WebCore::Matrix3DTransformOperation::blend):
        * platform/graphics/transforms/Matrix3DTransformOperation.h:
        (WebCore::Matrix3DTransformOperation::apply):
        * platform/graphics/transforms/MatrixTransformOperation.cpp:
        (WebCore::MatrixTransformOperation::blend):
        * platform/graphics/transforms/MatrixTransformOperation.h:
        (WebCore::MatrixTransformOperation::apply):
        * platform/graphics/transforms/PerspectiveTransformOperation.h:
        (WebCore::PerspectiveTransformOperation::apply):
        * platform/graphics/transforms/RotateTransformOperation.h:
        (WebCore::RotateTransformOperation::apply):
        * platform/graphics/transforms/ScaleTransformOperation.h:
        (WebCore::ScaleTransformOperation::apply):
        * platform/graphics/transforms/SkewTransformOperation.h:
        (WebCore::SkewTransformOperation::apply):
        * platform/graphics/transforms/TransformOperation.h:
        * platform/graphics/transforms/TransformOperations.h:
        (WebCore::TransformOperations::apply):
        * platform/graphics/transforms/TranslateTransformOperation.h:
        (WebCore::TranslateTransformOperation::x):
        (WebCore::TranslateTransformOperation::y):
        (WebCore::TranslateTransformOperation::z):
        (WebCore::TranslateTransformOperation::apply):

2011-07-27  Levi Weintraub  <leviw@chromium.org>

        unicode-bidi:-webkit-plaintext does not work on <textarea>
        https://bugs.webkit.org/show_bug.cgi?id=65074

        Reviewed by Ryosuke Niwa.

        Fixing unicode-bidi style propagation into text control shadow trees.

        Test: fast/text/international/unicode-bidi-plaintext-in-textarea.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::adjustInnerTextStyle):

2011-07-27  Eric Carlson  <eric.carlson@apple.com>

        Load delegate not consulted before loading some poster images
        https://bugs.webkit.org/show_bug.cgi?id=65270

        Reviewed by Darin Adler.

        Test: media/video-poster-blocked-by-willsendrequest.html

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::setDisplayMode): Don't ask media engine to set poster if
            willLoadMediaElementURL returns false.

2011-07-27  Stephen White  <senorblanco@chromium.org>

        Fix for printing with accelerated <canvas>
        https://bugs.webkit.org/show_bug.cgi?id=62406

        Reviewed by James Robinson.

        The platform-independent side of this should be covered by existing
        tests.  Printing itself in Chrome has few tests, sadly.  :(

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):

2011-07-25  Mihai Parparita  <mihaip@chromium.org>

        [Chromium] Add better WebKit API for chrome.tabs.insertCSS extension API
        https://bugs.webkit.org/show_bug.cgi?id=65158

        Reviewed by David Hyatt.

        Add per-Document instance user stylesheets (as opposed to the page 
        group user styles and the global page stylesheet).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * css/CSSStyleSelector.h:
        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::createStyleSelector):
        (WebCore::Document::addUserSheet):
        * dom/Document.h:

2011-07-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Disable cache option should only clear memory cache, not disable it.
        https://bugs.webkit.org/show_bug.cgi?id=65184

        Reviewed by Pavel Feldman.

        * inspector/InspectorClient.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::enable):
        (WebCore::InspectorResourceAgent::disable):
        (WebCore::InspectorResourceAgent::setCacheDisabled):
        (WebCore::InspectorResourceAgent::mainFrameNavigated):

2011-07-27  Rob Buis  <rbuis@rim.com>

        Implement getIntersectionList(), getEnclosureList(), checkIntersection() and checkEnclosure() in SVGSVGElement
        https://bugs.webkit.org/show_bug.cgi?id=11274

        Reviewed by Nikolas Zimmermann.

        Implement checkIntersection/checkEnclosure and use it to implement getIntersectionList and getEnclosureList as well.
        The referenceElement is used to provide a DOM subtree to find matches in. Also we do not allow elements that specify
        pointer-events=none in the list.

        Tests: svg/W3C-SVG-1.1-SE/struct-dom-11-f.svg
               svg/custom/intersection-list-clipping.svg
               svg/custom/intersection-list-nested-svg.svg

        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::getElementCTM):
        (WebCore::intersectsAllowingEmpty):
        (WebCore::isGraphicsElement):
        (WebCore::RenderSVGModelObject::checkIntersection):
        (WebCore::RenderSVGModelObject::checkEnclosure):
        * rendering/svg/RenderSVGModelObject.h:
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::checkIntersection):
        (WebCore::SVGSVGElement::checkEnclosure):

2011-07-27  Becsi Andras  <abecsi@webkit.org>

        [Qt][V8] Fix the build.

        Unreviewed build fix.

        No new tests needed.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add missing CString.h include.

2011-07-27  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Unreviewed build fix for mac.

        QtKit is now our default media player, the define is WTF_USE_QTKIT and it's not part
        of the options passed to build-webkit, therefore DerivedSources should now generate the
        includes when it's mac.

        * DerivedSources.pro:
        * WebCore.pro:

2011-07-27  Yury Semikhatsky  <yurys@chromium.org>

        Inspector should support cd(window) in the command line
        https://bugs.webkit.org/show_bug.cgi?id=19872

        Added dropdown list with all iframes to allow selecting current evaluation context for console expressions.

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/console-cd.html

        * WebCore.gypi:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        (WebCore::InspectorRuntimeAgent::evaluate):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/WorkerInspectorController.cpp:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addContext):
        (WebInspector.ConsoleView.prototype.removeContext):
        (WebInspector.ConsoleView.prototype._contextUpdated):
        (WebInspector.ConsoleView.prototype.get _currentEvaluationContextId):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/ContextManager.js: Added.
        (WebInspector.ContextManager):
        (WebInspector.ContextManager.prototype._frameAdded):
        (WebInspector.ContextManager.prototype._frameNavigated):
        (WebInspector.ContextManager.prototype._frameDetached):
        (WebInspector.FrameEvaluationContext):
        (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
        (WebInspector.FrameEvaluationContext.prototype.get id):
        (WebInspector.FrameEvaluationContext.prototype.get url):
        (WebInspector.FrameEvaluationContext.prototype.get displayName):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2011-07-27  Shinya Kawanaka  <shinyak@google.com>

        Uses isHTMLSpace to normalize white spaces.
        https://bugs.webkit.org/show_bug.cgi?id=57746

        Reviewed by Kent Tamura.

        Test: fast/forms/option-strip-unicode-spaces.html

        * dom/OptionElement.cpp:
        (WebCore::OptionElement::normalizeText):
          Uses isHTMLSpace to trim and replace white spaces.

2011-05-15  Holger Hans Peter Freyther  <holger@moiji-mobile.com>

        [chromium] Remove include of skia/ext/platform_canvas.h
        https://bugs.webkit.org/show_bug.cgi?id=60852

        Reviewed by Hajime Morita.

        In https://bugs.webkit.org/show_bug.cgi?id=57563 the usage of the
        skia::PlatformCanvas was eliminated in favor of directly using
        SkCanvas directly. The include of platform_canvas.h was not removed
        leaving the dependency on Chromium in the header files. Remove
        that dependency now.

        * platform/graphics/skia/PlatformContextSkia.h: Remove platform_canvas.h

2011-07-27  Mikhail Naganov  <mnaganov@chromium.org>

        Web Inspector: [Chromium] REGRESSION: Uncaught TypeError: Cannot read property 'isTracingToWindowObjects' of undefined
        https://bugs.webkit.org/show_bug.cgi?id=65213

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):

2011-07-27  Shinya Kawanaka  <shinyak@google.com>

        Knob of a disabled or readonly range control should not be draggable.
        https://bugs.webkit.org/show_bug.cgi?id=54820

        Reviewed by Kent Tamura.

        Made disabled or readonly range control undraggable.

        Test: fast/forms/range-drag.html

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent):
          Added check that the element is readonly or disabled.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler): ditto.

2011-07-27  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: CloseEvent attribute is not available on WebWorkers in JSC
        https://bugs.webkit.org/show_bug.cgi?id=65232

        Reviewed by Kent Tamura.

        Add [NoStaticTables] attribute to CloseEvent interface definition. This attribute
        makes the code generator obtain the attributes table used for building ClassInfo
        through JSGlobalData, instead of directly using a statically-allocated table.

        Generally speaking, NoStaticTables needs to be specified in interfaces which
        may be accessed from workers.

        Tests: http/tests/websocket/tests/hybi/workers/shared-worker-simple.html (updated)
               http/tests/websocket/tests/hybi/workers/worker-simple.html (updated)

        * websockets/CloseEvent.idl: Fixed the formatting, too.

2011-07-26  James Robinson  <jamesr@chromium.org>

        [chromium] REGRESSION(90963): Content layers are not redrawn after losing the compositor context
        https://bugs.webkit.org/show_bug.cgi?id=65224

        Reviewed by Kenneth Russell.

        There's no automated way to test lost compositor contexts (yet), but to test manually open up the poster circle
        page and kill the GPU process.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::cleanupResources):
        * platform/graphics/chromium/ContentLayerChromium.h:

2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91805.
        http://trac.webkit.org/changeset/91805
        https://bugs.webkit.org/show_bug.cgi?id=65226

        Breaks @ symbols and changes other font rendering on Windows
        (Requested by enne on #webkit).

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
        (WebCore::drawGlyphsWin):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::draw):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        (WebCore::windowsCanHandleTextDrawing):
        (WebCore::windowsCanHandleTextDrawingWithoutShadow):
        * platform/graphics/skia/SkiaFontWin.h:

2011-07-26  Adrienne Walker  <enne@google.com>

        Unreviewed, rolling out r91812.
        http://trac.webkit.org/changeset/91812
        https://bugs.webkit.org/show_bug.cgi?id=65210

        Breaks OSX GPU tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):

2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91809.
        http://trac.webkit.org/changeset/91809
        https://bugs.webkit.org/show_bug.cgi?id=65225

        Does not build on Chromium Windows (Requested by abarth on
        #webkit).

        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        (WebCore::WheelEvent::initWheelEvent):
        * dom/WheelEvent.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::handleTouchEvent):
        (WebCore::EventHandler::resetGestureRecognizer):
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        * platform/PlatformGestureEvent.h:
        * platform/PlatformGestureRecognizer.h:
        * platform/chromium/FramelessScrollView.h:
        * platform/chromium/GestureRecognizerChromium.cpp:
        (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
        (WebCore::InnerGestureRecognizer::reset):
        (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
        (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
        (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
        (WebCore::touchDown):
        (WebCore::noGesture):
        (WebCore::click):
        (WebCore::isClickOrScroll):
        (WebCore::inScroll):
        * platform/chromium/GestureRecognizerChromium.h:
        (WebCore::GestureRecognizerChromium::reset):
        (WebCore::GestureRecognizerChromium::processTouchEventForGesture):
        * platform/chromium/PopupMenuChromium.cpp:
        * platform/chromium/PopupMenuChromium.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleGestureEvent):

2011-07-26  Dmitry Lomov  <dslomov@google.com>

        [V8][Chromium] Run workers in a separate v8::Isolate 
        https://bugs.webkit.org/show_bug.cgi?id=65004
        This patch allocates a new v8::Isolate for every worker and enters it on worker thread.

        Reviewed by David Levin.

        Covered by existing chromium tests.

        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::~DOMDataStore):
        * bindings/v8/StaticDOMDataStore.cpp:
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        (WebCore::StaticDOMDataStore::~StaticDOMDataStore):
        * bindings/v8/StaticDOMDataStore.h:
        * bindings/v8/V8Binding.h:
        (WebCore::V8BindingPerIsolateData::registerDOMDataStore):
        (WebCore::V8BindingPerIsolateData::unregisterDOMDataStore):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
        (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
        (WebCore::WorkerContextExecutionProxy::initV8):
        * bindings/v8/WorkerContextExecutionProxy.h:
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::WorkerScriptController):
        (WebCore::WorkerScriptController::~WorkerScriptController):
        * bindings/v8/WorkerScriptController.h:

2011-07-26  James Robinson  <jamesr@chromium.org>

        [chromium] Avoid clearing the framebuffer when compositing in release builds
        https://bugs.webkit.org/show_bug.cgi?id=65210

        Reviewed by Kenneth Russell.

        We clear the default framebuffer to blue when compositing so it's
        easier to spot regions we miss. This is useful for debugging, but eats
        bandwidth unnecessarily in release builds.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):

2011-07-26  Jeffrey Pfau  <jpfau@apple.com>

        New XML tokenizer
        https://bugs.webkit.org/show_bug.cgi?id=64566

        Reviewed by Adam Barth.

        Add tokenizer for XML and tests in NewXMLDocumentParser for printing results of tokenization.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * xml/parser/NewXMLDocumentParser.cpp:
        (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
        (WebCore::NewXMLDocumentParser::append):
        * xml/parser/NewXMLDocumentParser.h:
        * xml/parser/XMLToken.h:
        * xml/parser/XMLTokenizer.cpp: Added.
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::::shouldSkipNullCharacters):
        (WebCore::XMLTokenizer::nextToken):
        (WebCore::XMLTokenizer::bufferCharacter):
        (WebCore::XMLTokenizer::parseError):
        * xml/parser/XMLTokenizer.h: Added.
        (WebCore::XMLTokenizer::create):
        (WebCore::XMLTokenizer::gotError):
        (WebCore::XMLTokenizer::shouldSkipNullCharacters):

2011-07-26  Robert Kroeger  <rjkroege@chromium.org>

        [chromium] Layering violations in gesture recognizer
        https://bugs.webkit.org/show_bug.cgi?id=65044

        Reviewed by Adam Barth.

        Divided the gesture recognizer up to correct a layering
        violation by moving gesture implementation from it to
        EventHandler::handleGestureEvent so that the gesture recognizer
        could simply be an engine for generating gesture events from
        touch events.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        Removed construction of gesture recognizer.
        (WebCore::EventHandler::handleGestureEvent):
        Extended for new gesture events added in this patch.
        (WebCore::EventHandler::handleTouchEvent):
        Removed call into gesture recognizer.
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        Removed code to reset gesture recognizer.
        * platform/PlatformGestureEvent.h:
        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
        (WebCore::PlatformGestureEvent::deltaX):
        (WebCore::PlatformGestureEvent::deltaY):
        (WebCore::PlatformGestureEvent::shiftKey):
        (WebCore::PlatformGestureEvent::ctrlKey):
        (WebCore::PlatformGestureEvent::altKey):
        (WebCore::PlatformGestureEvent::metaKey):
        Added additional gesture types and parameters.
        * platform/PlatformGestureRecognizer.h:
        * platform/chromium/FramelessScrollView.h:
        Added support for displatching gesture and touch events.
        * platform/chromium/GestureRecognizerChromium.cpp:
        (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
        (WebCore::InnerGestureRecognizer::reset):
        (WebCore::InnerGestureRecognizer::constructClickGestureEvent):
        (WebCore::InnerGestureRecognizer::processTouchEventForGestures):
        Removed all depedencies on EventHandler. Instead, create gesture
        events from touch event stream.
        (WebCore::InnerGestureRecognizer::constructScrollGesture):
        (WebCore::touchDown):
        (WebCore::noGesture):
        (WebCore::click):
        (WebCore::isClickOrScroll):
        (WebCore::inScroll):
        (WebCore::GestureRecognizerChromium::processTouchEventForGestures):
        (WebCore::GestureRecognizerChromium::reset):
        * platform/chromium/GestureRecognizerChromium.h:
        * platform/chromium/PopupMenuChromium.cpp:
        Added support to handle touch events and gesture events.
        (WebCore::PopupContainer::handleTouchEvent):
        (WebCore::PopupContainer::handleGestureEvent):
        (WebCore::PopupListBox::handleTouchEvent):
        (WebCore::PopupListBox::handleGestureEvent):
        * platform/chromium/PopupMenuChromium.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::handleGestureEvent):
        Ignores the newly added gesture event types.

2011-07-26  Joseph Pecoraro  <joepeck@webkit.org>

        Restore Composited Layers Faster from PageCache
        https://bugs.webkit.org/show_bug.cgi?id=65216

        Reviewed by Simon Fraser.

        Restore the layer tree hierarchy a little sooner, when
        restoring from the page cache. This more closely matches
        original restore behavior.

        Existing test showed no change.

        * page/FrameView.cpp:
        (WebCore::FrameView::restoreBackingStores):

2011-07-26  Mike Reed  <reed@google.com>

        [skia] never draw with GDI, so that all text can be gpu-accelerated
        https://bugs.webkit.org/show_bug.cgi?id=65203

        Reviewed by Kenneth Russell.

        No new tests. existing tests apply to the new drawing path

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        (WebCore::windowsCanHandleTextDrawing):
        (WebCore::windowsCanHandleTextDrawingWithoutShadow):

2011-07-26  Kenneth Russell  <kbr@google.com>

        Float32Array(ArrayBuffer, index, length) constructor working incorrectly.
        https://bugs.webkit.org/show_bug.cgi?id=57042

        Reviewed by James Robinson.

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::constructArrayBufferViewWithArrayBufferArgument):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):

2011-07-26  Chris Rogers  <crogers@google.com>

        V8 custom bindings for AudioNode must do proper object checking and throw exception in case of error
        https://bugs.webkit.org/show_bug.cgi?id=65222

        Reviewed by James Robinson.

        No new tests - this fixes upcoming audionode.html layout test

        * bindings/v8/custom/V8AudioNodeCustom.cpp:
        (WebCore::V8AudioNode::connectCallback):

2011-07-26  Chris Rogers  <crogers@google.com>

        AudioContext is not correctly accounting for hardware resources
        https://bugs.webkit.org/show_bug.cgi?id=65217

        Reviewed by Kenneth Russell.

        No new tests since audio API is not yet implemented.

        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        (WebCore::AudioContext::AudioContext):
        (WebCore::AudioContext::lazyInitialize):

2011-07-26  Luke Macpherson   <macpherson@chromium.org>

        Handle CSS Properties that can be either auto or a primitive value in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=65164

        Reviewed by Dimitri Glazkov.

        No new tests / refactoring only.

        * css/CSSPrimitiveValueMappings.h:
        Add casts to/from various numeric types.
        (WebCore::CSSPrimitiveValue::operator short):
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator unsigned short):
        (WebCore::CSSPrimitiveValue::operator int):
        (WebCore::CSSPrimitiveValue::operator float):
        * css/CSSStyleApplyProperty.cpp:
        Add class to handle properties that set an "auto" boolean on RenderStyle.
        (WebCore::ApplyPropertyAuto::ApplyPropertyAuto):
        (WebCore::ApplyPropertyAuto::applyInheritValue):
        (WebCore::ApplyPropertyAuto::applyInitialValue):
        (WebCore::ApplyPropertyAuto::applyValue):
        (WebCore::ApplyPropertyAuto::hasAuto):
        (WebCore::ApplyPropertyAuto::setAuto):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        Remove existing implementations.
        (WebCore::CSSStyleSelector::applyProperty):

2011-07-26  Pratik Solanki  <psolanki@apple.com>

        Add protection space authentication callback code to CFNetwork loader on Mac
        https://bugs.webkit.org/show_bug.cgi?id=65190
        <rdar://problem/9842424>

        Reviewed by Oliver Hunt.

        Port over protection space authentication callback code from ResourceHandleMac.mm to
        ResourceHandleCFNet.cpp.

        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::canRespondToProtectionSpace):
        (WebCore::ResourceHandle::createCFURLConnection):
        (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
        (WebCore::WebCoreSynchronousLoaderClient::canAuthenticateAgainstProtectionSpace):
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Add logging.

2011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        Add support for download='filename' attribute in anchors.
        https://bugs.webkit.org/show_bug.cgi?id=64580

        Reviewed by Adam Barth.

        The download attribute allows the author of the hyperlink to cause the
        browser to download the linked URL.  The author can also supply a
        suggested file name in the attribute value.  This feature is a recent
        addition to HTML to better support offline applications that use blob
        URLs.  Traditionally, web sites use the HTTP Content-Disposition header
        to trigger downloads, but that option isn't available when working
        offline.

        There is some question about whether we should initiate a download when
        we receive a DOM-created click event.  This patch does initiate the
        download, but we might revise that decision in the future as part of a
        larger change in how WebKit treats the interaction between default
        event handlers and DOM-created events.

        Tests: fast/dom/HTMLAnchorElement/anchor-download.html
               fast/dom/HTMLAnchorElement/anchor-nodownload.html
               fast/dom/HTMLAnchorElement/anchor-download-unset.html
               fast/dom/HTMLAnchorElement/anchor-nodownload-set.html

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::handleClick):
        * html/HTMLAnchorElement.h:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAttributeNames.in:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::startDownload):
        * loader/FrameLoaderClient.h:

2011-07-26  Mark Hahnenberg  <mhahnenberg@apple.com>

        Refactor automatically generated JS DOM bindings to replace operator new with static create methods
        https://bugs.webkit.org/show_bug.cgi?id=64732

        Reviewed by Oliver Hunt.

        No new tests.

        Replacing the public constructors in the automatically generated JS DOM bindings in CodeGeneratorJS.pm
        with static create methods.  This is part of a larger refactoring effort to use static create methods
        in the headers of the generated files (so as to be inline-able) in favor of public constructors throughout JSC.

        * bindings/js/JSAudioConstructor.h:
        (WebCore::JSAudioConstructor::create):
        * bindings/js/JSDOMBinding.h:
        (WebCore::createWrapper):
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::getDOMConstructor):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::history):
        (WebCore::JSDOMWindow::location):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::location):
        * bindings/js/JSImageConstructor.h:
        (WebCore::JSImageConstructor::create):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSOptionConstructor.h:
        (WebCore::JSOptionConstructor::create):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        * bindings/scripts/CodeGeneratorJS.pm:
        (AddIncludesForTypeInImpl):
        (AddIncludesForTypeInHeader):
        (AddIncludesForType):
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateCallbackImplementation):
        (GenerateConstructorDeclaration):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::create):
        (WebCore::JSTestInterface::createPrototype):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterface::create):
        (WebCore::JSTestInterfacePrototype::create):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListenerConstructor::create):
        (WebCore::JSTestMediaQueryListListener::createPrototype):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (WebCore::JSTestMediaQueryListListener::create):
        (WebCore::JSTestMediaQueryListListenerPrototype::create):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::create):
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObj::create):
        (WebCore::JSTestObjPrototype::create):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (WebCore::JSTestSerializedScriptValueInterface::create):
        (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
        * bridge/jni/jsc/JavaArrayJSC.cpp:
        (JavaArray::convertJObjectToArray):
        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::newRuntimeObject):
        * bridge/objc/objc_utility.mm:
        (JSC::Bindings::convertObjcValueToValue):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::create):
        * bridge/runtime_object.h:
        (JSC::Bindings::RuntimeObject::create):

2011-07-26  Xiaomei Ji  <xji@chromium.org>

        --webkit-visual-word does not work in multi-line
        https://bugs.webkit.org/show_bug.cgi?id=61344

        Reviewed by Ryosuke Niwa.

        Replace Position(node, offset, PositionIsOffsetInAnchor) with 
        createPositionAvoidingIgnoredNode(node, offset) which takes care of creating position 
        before/after <br/> etc. editingIgnoresContent node. 

        When iterate InlineBox, replace prevLeafChild and nextLeafChild (which only returns 
        InlineBox within the same line) with leftInlineBox and rightInlineBox (which returns 
        InlineBox across multiple lines).

        * editing/htmlediting.cpp:
        (WebCore::createPositionAvoidingIgnoredNode):
        * editing/htmlediting.h:
        * editing/visible_units.cpp:
        (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): Replace Position() with
        createPositionAvoidingIgnoredNode().
        (WebCore::leftmostPositionInRTLBoxInLTRBlock): Ditto.
        (WebCore::rightmostPositionInLTRBoxInRTLBlock): Ditto.
        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): Ditto.
        (WebCore::blockWithPreviousLineBox): Added.
        (WebCore::previousRootInlineBox): Added.
        (WebCore::blockWithNextLineBox): Added.
        (WebCore::nextRootInlineBox): Added.
        (WebCore::leftInlineBox): Added.
        (WebCore::rightInlineBox): Added.
        (WebCore::leftWordBoundary): Replace prevLeafChild/nextLeafChild with leftInlineBox()
        and rightInlineBox().
        (WebCore::rightWordBoundary): Ditto.
        (WebCore::leftWordPositionAcrossBoundary): Ditto.
        (WebCore::rightWordPositionAcrossBoundary): Ditto.

2011-07-26  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=60778

        Use after free because of line box culling optimization regression.

        In the case of a child with no line box being removed (typically
        a <br> in quirks mode), if there is no previous sibling with a line
        box, then we have a potential problem with the culling optimization.

        The culled inline may still have other leaf line box children, but
        they may follow the removed <br>. In this case we can't rely on
        them, since we need a line box that comes before the <br>.

        The fix is to simply recur up to the parent if we are a culled inline
        and could not find a previous line box.

        Reviewed by Dan Bernstein.

        Added editing/execCommand/crash-line-break-after-outdent.html

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

2011-07-26  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/9842889> Add a generic pictograph font family
        https://bugs.webkit.org/show_bug.cgi?id=65197

        Reviewed by Anders Carlsson.

        Test: fast/css/font-family-pictograph.html

        * WebCore.exp.in: Export Settings::setPictographFontFamily().
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::identifierForFamily): Added -webkit-pictograph.
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
        (WebCore::fontDataForGenericFamily): Ditto.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Ditto.
        * css/CSSValueKeywords.in:
        * inspector/front-end/CSSKeywordCompletions.js: Ditto.
        * inspector/front-end/SourceCSSTokenizer.js: Ditto.
        (WebInspector.SourceCSSTokenizer):
        * inspector/front-end/SourceCSSTokenizer.re2js: Ditto.
        * page/Settings.cpp:
        (WebCore::Settings::pictographFontFamily): Added this getter.
        (WebCore::Settings::setPictographFontFamily): Added this setter.
        * page/Settings.h:
        * platform/graphics/FontDescription.h: Added PictographFamily to the GenericFamilyType enum.

2011-07-26  Viet-Trung Luu  <viettrungluu@chromium.org>

        Improve (i.e., speed up) .gyp(i) files for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=65032

        Reviewed by Adam Barth.

        This re-applies r91595 with the source exclusion fixed.

        Test by building (in all supported configurations).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Disable video support on linux if the dependencies are not found.

        If we can't find the necessary dependencies to build the GStreamer media player
        we disable the video support. This is related to http://trac.webkit.org/changeset/91752.

        Reviewed by Holger Freyther.

        No new tests, it's a build fix.

        * features.pri:

2011-07-26  Evan Martin  <evan@chromium.org>

        regression: generating CSSValueKeywords should not print by default
        https://bugs.webkit.org/show_bug.cgi?id=65195

        Reviewed by Tony Chang.

        Some refactoring made some callers no longer pass the final 'beQuiet'
        parameter to applyPreprocessor.  This flag was only used to print the
        input filename anyway, so remove the flag and just make the caller
        print the filename if it wants this.

        * bindings/scripts/IDLParser.pm:
        (Parse): print before calling applyPreprocessor, if necessary.
        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor): remove the beQuiet flag; just always be quiet.

2011-07-26  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Do not crash on the isSlider() assert.
        https://bugs.webkit.org/show_bug.cgi?id=65191

        Reviewed by Antonio Gomes.

        RenderThemeEfl's paintSliderThumb() just forwarded the call to
        paintSliderTrack(), which, on its turn, called code that assumed that
        object->isSlider() was true. That does not seem to be the case for
        slidethumbs, so any page with an <input type="range"> tag would crash
        WebKit.

        We now do what RenderThemeQt does, and assume everything was properly
        done in the call to paintSliderTrack().

        No new tests, as this has been uncovered by an existing test.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintSliderThumb):

2011-07-26  Brian Salomon  <bsalomon@google.com>

        [SKIA] Make the skia GL context current when drawing text to gpu backed platform context.
        https://bugs.webkit.org/show_bug.cgi?id=65182

        Reviewed by Stephen White.

        No new tests. Not sure how to test wrong-ctx bugs in layout tests.

        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::paintSkiaText):

2011-07-26  Emil A Eklund  <eae@chromium.org>

        RenderText::absoluteRectsForRange() and absoluteQuadsForRange() have nearly duplicate code
        https://bugs.webkit.org/show_bug.cgi?id=62478

        Reviewed by Simon Fraser.

        Test: fast/dom/Range/getClientRects.html

        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::isZero):
        Add izZero method, unlike isEmpty this checks if both the width and the
        height are zero.

        * rendering/RenderText.cpp:
        (WebCore::absoluteQuadForTextBox):
        (WebCore::RenderText::absoluteRectsForRange):
        (WebCore::RenderText::absoluteQuadsForRange):
        Break duplicate code out of absoluteRectsForRange and
        absoluteQuadsForRange into shared static function.
        
        Fix what I presume to be a bug in the absoluteQuadsForRange where the
        logicalHeight was always used to set the size in absoluteQuadForTextBox
        as oppsued to the absoluteRectsForRange implementation that uses the
        logicalWidth or the logicalHeight depending on whether it's horizontal or
        vertical.

2011-07-26  Alexandru Chiculita  <achicu@adobe.com>

        [CSSRegions] Collect flowed elements in different render element
        https://bugs.webkit.org/show_bug.cgi?id=64516

        All the RenderObjects that have a specified "flow" name are moved out of the
        normal flow. A RenderFlowThread will collect all such RenderObjects. There is
        a RenderFlowThread for each flow name. The new RenderFlowThread is an anonymous
        RenderBlock that is positioned absolute and will not render directly. In a
        different bug/patch we will add RenderRegion that will take care of rendering the
        RenderFlowThread on screen.

        Reviewed by Simon Fraser.

        Tests: fast/regions/webkit-flow-renderer-layer.html
               fast/regions/webkit-flow-renderer-nested.html
               fast/regions/webkit-flow-renderer.html

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Node.cpp:
        (WebCore::Node::diff):
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::setStyle):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        (WebCore::NodeRenderingContext::parentRenderer):
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        (WebCore::NodeRendererFactory::createRendererIfNeeded):
        * dom/NodeRenderingContext.h:
        (WebCore::NodeRenderingContext::hasFlowThreadParent):
        (WebCore::NodeRenderingContext::parentFlowRenderer):
        * rendering/RenderFlowThread.cpp: Added.
        (WebCore::RenderFlowThread::RenderFlowThread):
        (WebCore::RenderFlowThread::createFlowThreadStyle):
        (WebCore::RenderFlowThread::nextRendererForNode):
        (WebCore::RenderFlowThread::previousRendererForNode):
        (WebCore::RenderFlowThread::addChild):
        (WebCore::RenderFlowThread::removeChild):
        * rendering/RenderFlowThread.h: Added.
        (WebCore::toRenderFlowThread):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::collectLayers):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderFlowThread):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        (WebCore::writeLayers):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::renderFlowThreadWithName):
        * rendering/RenderView.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):

2011-07-26  Patrick Dubroy  <dubroy@chromium.org>

        Filename text in file upload controls is not aligned with button text on
        chromium-linux, chromium-win, and gtk.

        https://bugs.webkit.org/show_bug.cgi?id=64692

        The fix is to not include the margin, border, and padding in the calculation,
        because those are already accounted for by RenderBlock::baselinePosition().

        Reviewed by Dimitri Glazkov.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):

2011-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91746.
        http://trac.webkit.org/changeset/91746
        https://bugs.webkit.org/show_bug.cgi?id=65180

        It broke SL build (Requested by Ossy on #webkit).

        * dom/OptionElement.cpp:
        (WebCore::OptionElement::normalizeText):

2011-07-26  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Better represent custom getters in the properties pane
        https://bugs.webkit.org/show_bug.cgi?id=16734

        Reviewed by Yury Semikhatsky.

        Test: inspector/runtime/runtime-getProperties.html

        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):

2011-07-26  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Change default backend to use GStreamer on Linux and QuickTime on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=63472

        Enable the GStreamer backend and the QuickTime backend as default media players
        for the Qt port on Mac and Linux. QtMultimedia is now a fallback option that you
        can enable by passing DEFINES+=USE_QT_MULTIMEDIA=1 to enforce its usage.

        No new tests. The media layout tests are disabled on the Qt port but hopefully with this
        switch we can enable them again.

        * WebCore.pri:
        * WebCore.pro:
        * features.pri:

2011-07-26  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Implement setPropertyValue using evaluate and callFunctionOn
        https://bugs.webkit.org/show_bug.cgi?id=65112

        Reviewed by Yury Semikhatsky.

        Test: inspector/runtime/runtime-setPropertyValue.html

        * inspector/InjectedScript.cpp:
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorRuntimeAgent.cpp:
        * inspector/InspectorRuntimeAgent.h:
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback.setPropertyValue):
        (WebInspector.RemoteObject.prototype.setPropertyValue.evaluatedCallback):
        (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
        (WebInspector.RemoteObject.prototype.setPropertyValue):

2011-07-26  Pavel Feldman  <pfeldman@google.com>

        Re-applying r91665 and r91668 with JSC issues fixed.

        Web Inspector: use dedicated type for object id in the protocol.
        Web Inspector: refactor remote object structure to contain value for primitive values.

        https://bugs.webkit.org/show_bug.cgi?id=65103
        https://bugs.webkit.org/show_bug.cgi?id=65110

        Reviewed by Yury Semikhatsky.

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::callFunctionOn):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        * inspector/Inspector.json:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._format):
        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
        (WebInspector.ConsoleMessage.prototype._format):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.prototype.get subtype):
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.LocalJSONObject.prototype.get description):
        (WebInspector.LocalJSONObject.prototype.get type):
        (WebInspector.LocalJSONObject.prototype.get subtype):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
        (WebInspector.SourceFrame.prototype._showPopup):
        * inspector/front-end/inspector.js:
        (WebInspector.log.logMessage):
        (WebInspector.log):
        (WebInspector.inspect):

2011-07-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Prepare animVal support - phase 2
        https://bugs.webkit.org/show_bug.cgi?id=65167

        Reviewed by Dirk Schulze.

        Next patch preparing animVal support. Modify the SVGAnimatedProperty* classes & macros to assure that calling someElement->someProperty()
        will return the animVal, when the property is being animated. Not yet hooked into SVGAnimateElement, this is just a preparation.

        Doesn't affect any tests, yet.

        * svg/SVGPathElement.cpp: Adapt to SVGAnimatedProperty::lookupWrapper changes (new template parameters have been added).
        (WebCore::SVGPathElement::svgAttributeChanged):
        * svg/SVGPathSegWithContext.h: Ditto.
        (WebCore::SVGPathSegWithContext::animatedProperty):
        * svg/SVGPolyElement.cpp: Ditto.
        (WebCore::SVGPolyElement::parseMappedAttribute):
        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Implement currentAnimatedValue, an abstract way to retrieve the underlying animated value for any animated type.
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue): Forward call to SVGAnimatedStaticPropertyTearOff<int>, our base.
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (WebCore::SVGAnimatedListPropertyTearOff::isAnimating): Returns whether this property is being animated or not.
        (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
        * svg/properties/SVGAnimatedProperty.h:
        (WebCore::SVGAnimatedProperty::updateAnimVal): Will be used from SVGAnim*Element to update the current animVal, exposed to JS.
        (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper): Share more code with lookupWrapper.
        (WebCore::SVGAnimatedProperty::lookupWrapper): Cleanup code, avoid doing any work for non-SVGElement derived objects, like SVGViewSpec.
        * svg/properties/SVGAnimatedPropertyMacros.h: Make all lowerProperty() calls (eg. myRectElement->x()) return the animVal, if the property is being animated.
        * svg/properties/SVGAnimatedPropertyTearOff.h: Main logic for the new animVal stuff.
        (WebCore::SVGAnimatedPropertyTearOff::isAnimating):
        (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
        (WebCore::SVGAnimatedPropertyTearOff::updateAnimVal):
        (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (WebCore::SVGAnimatedStaticPropertyTearOff::isAnimating):
        (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
        * svg/properties/SVGPropertyTearOff.h:
        (WebCore::SVGPropertyTearOff::updateAnimVal):

2011-07-26  Shinya Kawanaka  <shinyak@google.com>

        Uses isHTMLSpace to normalize white spaces.
        https://bugs.webkit.org/show_bug.cgi?id=57746

        Reviewed by Kent Tamura.

        Test: fast/forms/option-strip-unicode-spaces.html

        * dom/OptionElement.cpp:
        (WebCore::OptionElement::normalizeText):
          Uses isHTMLSpace to trim and replace white spaces.

2011-07-25  Ryuan Choi  <ryuan.choi@samsung.com>

        [CMAKE] Split JSC related files from WebCore/CMakeLists.txt
        https://bugs.webkit.org/show_bug.cgi?id=61350

        Reviewed by Daniel Bates.

        No new tests, just moving jsc related files from CMakeLists.txt to UseJSC.cmake.

        * CMakeLists.txt:
        * UseJSC.cmake:

2011-07-25  Dan Bernstein  <mitz@apple.com>

        Fix the build by committing a rename in this file that I neglected to include in the previous commit.

        * css/CSSFontFaceSource.h:

2011-07-25  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
        https://bugs.webkit.org/show_bug.cgi?id=65123

        Reviewed by Anders Carlsson and Darin Adler.

        Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
        code from under it, and instead defer that work using a zero-delay timer.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
        (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
        (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
        a zero-delay timer to do it.
        (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
        * css/CSSFontFaceSource.h:

2011-07-25  Al Patrick  <apatrick@chromium.org>

        Removed support for the GL_latch_CHROMIUM extension which Chromium no longer supports.
        Replaced calls to SetLatch with calls to Flush since Flush now has barrier semantics in Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=65043

        Reviewed by James Robinson.

        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::addChildContext):
        (WebCore::LayerRendererChromium::removeChildContext):
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-07-25  Sam Weinig  <sam@webkit.org>

        Refactor ScrollableArea pinned predicates to be more generally useful
        <rdar://problem/9740379>

        Reviewed by Dan Bernstein.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::isPinnedInBothDirections):
        (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
        (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
        * platform/ScrollableArea.h:

2011-07-25  Nico Weber  <thakis@chromium.org>

        [chromium] components/mac: Make webcore not depend on CoreAnimation
        https://bugs.webkit.org/show_bug.cgi?id=65143

        Reviewed by James Robinson.

        * platform/chromium/ScrollAnimatorChromiumMac.mm:

2011-07-25  Ian Henderson  <ianh@apple.com>

        WebFrame should have a method to determine its visual emptiness
        https://bugs.webkit.org/show_bug.cgi?id=64223

        Reviewed by Dan Bernstein.

        * page/FrameView.h:
        (WebCore::FrameView::isVisuallyNonEmpty): Add an accessor to FrameView
        so we can tell whether it's visually non-empty.

2011-07-25  Scott Graham  <scottmg@chromium.org>

        REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
        https://bugs.webkit.org/show_bug.cgi?id=61006

        Reviewed by Nate Chapin.

        Rollback previous patch. Occasional crashes seen caused by
        CachedResource being deleted twice.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::loadDone):
        * loader/cache/CachedResourceLoader.h:

2011-07-25  Chris Rogers  <crogers@google.com>

        Deprecate AudioBufferSourceNode .looping attribute and implement .loop
        https://bugs.webkit.org/show_bug.cgi?id=65133

        Reviewed by Kenneth Russell.

        No new tests since audio API is not yet implemented.

        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::renderFromBuffer):
        (WebCore::AudioBufferSourceNode::totalPitchRate):
        (WebCore::AudioBufferSourceNode::looping):
        (WebCore::AudioBufferSourceNode::setLooping):
        * webaudio/AudioBufferSourceNode.h:
        (WebCore::AudioBufferSourceNode::loop):
        (WebCore::AudioBufferSourceNode::setLoop):
        * webaudio/AudioBufferSourceNode.idl:

2011-07-25  James Robinson  <jamesr@chromium.org>

        [chromium] HUD texture must be unreserved after drawing
        https://bugs.webkit.org/show_bug.cgi?id=65122

        Unreserve the HUD texture after drawing.  To test, start chrome in debug with --show-fps-counter.  Since this is
        a debugging option, no tests.

        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::draw):

2011-07-25  David Grogan  <dgrogan@chromium.org>

        Fix leveldb crash when compacting during destruction
        https://bugs.webkit.org/show_bug.cgi?id=64494

        Reviewed by Nate Chapin.

        Only tested manually so far by following the repro instructions at
        crbug.com/88944

        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::~LevelDBDatabase):
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):

2011-07-25  David Reveman  <reveman@chromium.org>

        [Chromium] Use correct vertex shader when rendering video layer.
        https://bugs.webkit.org/show_bug.cgi?id=65131

        Reviewed by James Robinson.

        Add new VertexShaderQuad program that is used by LayerTilerChromium.
        Change VertexShaderPosTexTransform so it works with CCVideoLayerImpl.

        * platform/graphics/chromium/LayerTilerChromium.h:
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
        (WebCore::VertexShaderPosTexTransform::init):
        (WebCore::VertexShaderPosTexTransform::getShaderString):
        (WebCore::VertexShaderQuad::VertexShaderQuad):
        (WebCore::VertexShaderQuad::init):
        (WebCore::VertexShaderQuad::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        (WebCore::VertexShaderQuad::matrixLocation):
        (WebCore::VertexShaderQuad::texTransformLocation):

2011-07-25  Patrick Gansterer  <paroga@webkit.org>

        Fix AtomicString vs. String usage in accessibility code
        https://bugs.webkit.org/show_bug.cgi?id=65086

        Reviewed by Darin Adler.

        Use AtomicString instead of String where appropriate
        to avoid implicit type conversations.
        Also fix a invalid reference to a temporary String.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::setAccessibleName):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::elementsFromAttribute):
        (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
        (WebCore::AccessibilityRenderObject::setAccessibleName):
        * accessibility/AccessibilityRenderObject.h:

2011-07-25  Dan Bernstein  <mitz@apple.com>

        Reverted r91699 due to
        <http://webkit.org/b/65134> REGRESSION: r91699 broke some font tests (image+text)

        Many tests relied on font loading occurring synchronously in the cached and local cases.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
        (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontFaceSource.h:

2011-06-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow
        https://bugs.webkit.org/show_bug.cgi?id=62252

        Properly handle the situation where the GtkWidget wants WebCore to draw its
        own main frame scrollbars.

        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::shouldCreateMainFrameScrollbar): Abstract this logic into a helper function.
        (WebCore::ScrollView::createScrollbar): Use the new helper.
        (WebCore::ScrollView::visibleContentRect): Use the new helper.

2011-07-25  David Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=65125
        
        (1) Add the new CSS3 positioned value for floats.
        (2) Rename FLEFT, FRIGHT and FNONE to our more modern convention: NoFloat, LeftFloat, RightFloat.
        (3) Replace uses of == FNONE and != FNONE with isFloating and !isFloating.

        Reviewed by Dan Bernstein.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EFloat):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * css/CSSValueKeywords.in:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::isFloating):
        (WebCore::InheritedFlags::initialFloating):
        * rendering/style/RenderStyleConstants.h:

2011-07-25  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/9835028> Font loading during layout can cause layout code to be re-entered via resource load delegate
        https://bugs.webkit.org/show_bug.cgi?id=65123

        Reviewed by Anders Carlsson.

        Since CSSFontFaceSource::getFontData() can get called during layout, avoid calling out to loader
        code from under it, and instead defer that work using a zero-delay timer.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
        (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
        (WebCore::CSSFontFaceSource::getFontData): Rather than starting the font load here, schedule
        a zero-delay timer to do it.
        (WebCore::CSSFontFaceSource::startLoadingTimerFired): Added. Starts loading the font if needed.
        * css/CSSFontFaceSource.h:

2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>

        [Qt] Adopt GraphicsContext3DOpenGL.cpp and ANGLE (part 2)
        https://bugs.webkit.org/show_bug.cgi?id=64878

        Reviewed by Noam Rosenthal.

        Existing WebGL layout tests should test this.

        Adopt GraphicsContext3DOpenGL.cpp and ANGLE compiler for Qt.

        * WebCore.pro: Build ANGLE compiler and GraphicsContext3DOpenGL.cpp.
        * platform/graphics/ANGLEWebKitBridge.h:
        * platform/graphics/GraphicsContext3D.h: Expose exising ANGLEWebKitBridge compiler member for Qt.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize ANGLE resources.

2011-07-25  Daniel Bates  <dbates@rim.com>

        REGRESSION (r85964): Improper relayout of some nested positioned elements
        https://bugs.webkit.org/show_bug.cgi?id=64286

        Reviewed by David Hyatt.

        Fixes an issue when traversing up the containing block hierarchy after skipping
        relatively positioned inlines.

        When processing a positioned element we skip any intermediate inlines to get to
        to enclosing block B, but don't use the containing block for B (call this P_B) to
        properly continue traversing up the containing block hierarchy. So, B may be
        considered again instead of looking at P_B. Hence, we don't set the correct dirty
        bits for P_B and may not schedule a relayout with respect to the correct layout node.

        Test: fast/block/positioning/relayout-nested-positioned-elements-crash.html

        * rendering/RenderObject.h:
        (WebCore::RenderObject::markContainingBlocksForLayout):

2011-07-25  Arno Renevier  <arno@renevier.net>

        removes last ENABLE(DRAG_SUPPORT) gtk check
        https://bugs.webkit.org/show_bug.cgi?id=64518

        Reviewed by Martin Robinson.

        * platform/gtk/ClipboardGtk.h:

2011-07-25  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Exclusions] Use HANDLE_INHERIT_AND_INITIAL when parsing -webkit-wrap-shape
        https://bugs.webkit.org/show_bug.cgi?id=65096

        Also the 'inherit' keyword is now treated correctly. It will
        copy the value from the parent style.

        Reviewed by Tony Chang.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-07-25  Andrew Wason  <rectalogic@rectalogic.com>

        glActiveTexture(0) is invalid
        https://bugs.webkit.org/show_bug.cgi?id=65115

        Reviewed by Kenneth Russell.

        Existing WebGL layout tests.

        Fix invalid glActiveTexture(0) call.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::prepareTexture):

2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91665.
        http://trac.webkit.org/changeset/91665
        https://bugs.webkit.org/show_bug.cgi?id=65118

        Breaks inspector tests on JSC (Requested by pfeldman on
        #webkit).

        * inspector/InjectedScriptSource.js:
        (.):
        ():
        * inspector/Inspector.json:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._format):
        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
        (WebInspector.ConsoleMessage.prototype._format):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.LocalJSONObject.prototype.get type):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
        (WebInspector.SourceFrame.prototype._showPopup):
        * inspector/front-end/inspector.js:
        (WebInspector.log.logMessage):
        (WebInspector.log):
        (WebInspector.inspect):

2011-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91668.
        http://trac.webkit.org/changeset/91668
        https://bugs.webkit.org/show_bug.cgi?id=65117

        Breaks inspector tests on JSC (Requested by pfeldman on
        #webkit).

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::callFunctionOn):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::callFunctionOn):

2011-07-25  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: use dedicated type for object id in the protocol.
        https://bugs.webkit.org/show_bug.cgi?id=65110

        Reviewed by Yury Semikhatsky.

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::callFunctionOn):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::callFunctionOn):

2011-07-25  Yury Semikhatsky  <yurys@chromium.org>

        [Chromium] Web Inspector: live edit error should be revealed in Console
        https://bugs.webkit.org/show_bug.cgi?id=65109

        Reviewed by Pavel Feldman.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
        (WebInspector.SourceFrame.prototype.commitEditing):

2011-07-25  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: refactor remote object structure to contain value for primitive values.
        https://bugs.webkit.org/show_bug.cgi?id=65103

        Reviewed by Yury Semikhatsky.

        * inspector/InjectedScriptSource.js:
        * inspector/Inspector.json:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._format):
        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
        (WebInspector.ConsoleMessage.prototype._format):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject):
        (WebInspector.RemoteObject.fromPrimitiveValue):
        (WebInspector.RemoteObject.fromPayload):
        (WebInspector.RemoteObject.prototype.get subtype):
        (WebInspector.RemoteObject.prototype.callFunction):
        (WebInspector.LocalJSONObject.prototype.get type):
        (WebInspector.LocalJSONObject.prototype.get subtype):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
        (WebInspector.SourceFrame.prototype._showPopup):
        * inspector/front-end/inspector.js:
        (WebInspector.log.logMessage):
        (WebInspector.log):
        (WebInspector.inspect):

2011-07-25  Mikhail Naganov  <mnaganov@chromium.org>

        Web Inspector: [Chromium] Fix mixing of retaining path in heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=65028

        Reviewed by Pavel Feldman.

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotPathFinderState): Added
        (WebInspector.HeapSnapshotRetainingPathsList): Extracted State-specific code

2011-07-25  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: worker inspector should show Scripts panel by default
        https://bugs.webkit.org/show_bug.cgi?id=65099

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.js:
        (WebInspector._defaultPanelName):
        (WebInspector.showPanel):

2011-07-24  Luke Macpherson   <macpherson@chromium.org>

        Small cleanup of m_fontDirty tracking in CSSStyleSelector
        https://bugs.webkit.org/show_bug.cgi?id=65090

        Reviewed by Darin Adler.

        1) Use existing setFontDescription helper where appropriate.
        2) Move always used m_fontDirty check into updateFont()

        No new tests / cleanup only.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::styleForKeyframe):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::styleForPage):
        (WebCore::CSSStyleSelector::updateFontIfDirty):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSStyleSelector.h:

2011-07-24  Kent Tamura  <tkent@chromium.org>

        Validation message bubble position is incorrect if the containing block has paddings.
        https://bugs.webkit.org/show_bug.cgi?id=65091

        Reviewed by Hajime Morita.

        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
        We don't need to subtract paddings because the origin of
        position:aboslute is inside borders and outside of the padding.

2011-07-24  Rob Buis  <rbuis@rim.com>

        Crash in SVGUseElement::updateContainerOffsets on <use> with no parent
        https://bugs.webkit.org/show_bug.cgi?id=63646

        Reviewed by Darin Adler.

        Prevent using invalid targetElementInstance->shadowTreeElement after shadow render tree recreation. This situation can
        only occur when there was a valid shadowTreeElement before setting xlink:href to empty/invalid.

        Test: svg/custom/use-shadow-root-parent-removal.svg

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::svgAttributeChanged):

2011-07-24  Patrick Gansterer  <paroga@webkit.org>

        Fix AtomicString vs. String usage in JSC binding
        https://bugs.webkit.org/show_bug.cgi?id=65085

        Reviewed by Darin Adler.

        Use ustringToAtomicString instead of ustringToString where appropriate.

        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        * bindings/js/JSHTMLCollectionCustom.cpp:

2011-07-24  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyOutlineOffset in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=64773

        Reviewed by Dimitri Glazkov.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-07-24  Rob Buis  <rbuis@rim.com>

        SVG <use> element is not repositioned when moved to x=0 y=0 through script 
        https://bugs.webkit.org/show_bug.cgi?id=53767

        Reviewed by Nikolas Zimmermann.

        Only bail out on zero offset if it is not explicitly set.

        Test: svg/custom/use-move-to-offset.svg

        * rendering/svg/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
        * rendering/svg/SVGShadowTreeElements.cpp:
        (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
        (WebCore::SVGShadowTreeContainerElement::setContainerOffset):
        * rendering/svg/SVGShadowTreeElements.h:
        (WebCore::SVGShadowTreeContainerElement::containerOffsetChanged):
        (WebCore::SVGShadowTreeContainerElement::setContainerOffsetChanged):

2011-07-24  Jeffrey Pfau  <jpfau@apple.com>

        Refactor HTML tokenizer code in preparation for a new XML tokenizer
        https://bugs.webkit.org/show_bug.cgi?id=65000

        Reviewed by Adam Barth.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLNames::tokenizerStateForContextElement):
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLNames::isEndTagBufferingState):
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::::shouldSkipNullCharacters):
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::updateStateFor):
        * html/parser/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::emitAndResumeIn):
        (WebCore::HTMLTokenizer::emitAndReconsumeIn):
        (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::TextDocumentParser):
        * html/parser/TextViewSourceParser.cpp:
        (WebCore::TextViewSourceParser::TextViewSourceParser):
        * xml/parser/MarkupTokenBase.h:
        (WebCore::MarkupTokenBase::type):
        * xml/parser/MarkupTokenizerBase.h: Added.
        (WebCore::MarkupTokenizerBase::~MarkupTokenizerBase):
        (WebCore::MarkupTokenizerBase::lineNumber):
        (WebCore::MarkupTokenizerBase::columnNumber):
        (WebCore::MarkupTokenizerBase::state):
        (WebCore::MarkupTokenizerBase::setState):
        (WebCore::MarkupTokenizerBase::forceNullCharacterReplacement):
        (WebCore::MarkupTokenizerBase::setForceNullCharacterReplacement):
        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
        (WebCore::MarkupTokenizerBase::MarkupTokenizerBase):
        (WebCore::MarkupTokenizerBase::bufferCharacter):
        (WebCore::MarkupTokenizerBase::emitAndResumeIn):
        (WebCore::MarkupTokenizerBase::emitAndReconsumeIn):
        (WebCore::MarkupTokenizerBase::emitEndOfFile):
        (WebCore::MarkupTokenizerBase::reset):
        (WebCore::MarkupTokenizerBase::haveBufferedCharacterToken):
        * xml/parser/MarkupTokenizerInlineMethods.h: Added.
        (WebCore::isTokenizerWhitespace):
        (WebCore::advanceStringAndASSERTIgnoringCase):
        (WebCore::advanceStringAndASSERT):

2011-07-23  Patrick Gansterer  <paroga@webkit.org>

        Remove WTF namespace from isMainThread() calls
        https://bugs.webkit.org/show_bug.cgi?id=65068

        Reviewed by Sam Weinig.

        Because of the using WTF::isMainThread in the header there is no
        reason to include the namespace name when calling this function.

        * bindings/js/JSMainThreadExecState.h:
        * bindings/v8/DOMDataStore.cpp:
        * bindings/v8/V8Binding.cpp:
        * bindings/v8/V8DOMMap.cpp:
        * bindings/v8/V8DOMWrapper.h:
        * page/DOMWindow.cpp:
        * page/History.cpp:

2011-07-23  Alok Priyadarshi  <alokp@chromium.org>

        Switching off acceleration for small canvas broke gpu tests
        https://bugs.webkit.org/show_bug.cgi?id=65053

        Reviewed by Stephen White.

        No new tests. These are supposed to fix existing canvas tests on gpu.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::shouldAccelerateCanvas):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
        (WebCore::Settings::setMinimumAccelerated2dCanvasSize):
        * page/Settings.h:
        (WebCore::Settings::minimumAccelerated2dCanvasSize):

2011-07-23  Rob Buis  <rbuis@rim.com>

        Freed SVGTRefElement used in SVGStyledElement::buildPendingResourcesIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=64758

        Reviewed by Nikolas Zimmermann.

        Fix the crash by storing referenced content inside a shadow tree. This way removing child nodes of
        the <tref> does not remove the referenced content.

        * dom/Text.cpp:
        (WebCore::Text::recalcStyle):
        * dom/Text.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGShadowText::create):
        (WebCore::SVGShadowText::SVGShadowText):
        (WebCore::SVGShadowText::createRenderer):
        (WebCore::SVGShadowText::recalcStyle):
        (WebCore::SVGTRefElement::updateReferencedText):
        (WebCore::SVGTRefElement::childShouldCreateRenderer):

2011-07-23  Shinya Kawanaka  <shinyak@google.com>

        Display number field without using a thousand separator.
        https://bugs.webkit.org/show_bug.cgi?id=65064

        Reviewed by Kent Tamura.

        Separated formatters for parsing and displaying.
        Removed a test for thousand separator.

        * manual-tests/input-number-localization.html:
        Removed a test for thousand separator.
        Made the test description more specific.
        * platform/text/LocalizedNumberICU.cpp:
        (WebCore::createFormatterForCurrentLocaleToDisplay):
        Added to introduce a formatter for display.
        (WebCore::numberFormatterForParsing):
        Changed the name to be clear.
        (WebCore::numberFormatterForDisplay): Added.
        (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
        (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.
        * platform/text/mac/LocalizedNumberMac.mm:
        (WebCore::createFormatterForCurrentLocaleForDisplay):
        Added to introduce a formatter for display.
        (WebCore::numberFormatterForParsing):
        Changed the name to be clear.
        (WebCore::numberFormatterForDisplay): Added.
        (WebCore::parseLocalizedNumber): Used numberFormatterForParsing.
        (WebCore::formatLocalizedNumber): Used numberFormatterForDisplay.

2011-07-22  James Robinson  <jamesr@chromium.org>

        [chromium] Seperate texture management for contents textures vs render surface textures
        https://bugs.webkit.org/show_bug.cgi?id=64771

        Reviewed by Kenneth Russell.

        Splits the chromium texture management across two TextureManagers, one for contents textures and one for render
        surfaces.  The lifetimes and relative evicition costs for these types of textures are significantly different.
        Content textures need to be managed from paint time through draw time and evicting them is generally expensive,
        since replacing the texture requires doing a software repaint into a buffer, creating a new texture, and
        uploading the contents into the texture.  Render surface textures are only used while drawing and never contain
        useful contents between frames.  The only reason to preserve a render surface texture between frames is to avoid
        having to create the texture on the next frame, they never contain useful contents across frames.

        The contents texture limits remain the same.  Render surfaces are allocated the difference between the high
        memory bound and the contents texture memory use during a frame and the difference between the low memory bound
        and the contents texture memory use between frames.

        Covered by existing compositing tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::releaseTextures):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::updateLayers):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::contentsTextureManager):
        (WebCore::LayerRendererChromium::renderSurfaceTextureManager):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::createTile):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::TextureManager):
        (WebCore::TextureManager::setMemoryLimitBytes):
        (WebCore::TextureManager::requestTexture):
        * platform/graphics/chromium/TextureManager.h:
        (WebCore::TextureManager::create):
        (WebCore::TextureManager::currentMemoryUseBytes):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::draw):

2011-07-22  Simon Fraser  <simon.fraser@apple.com>

        Avoiding painting backgrounds if they are fully obscures by an object's foreground
        https://bugs.webkit.org/show_bug.cgi?id=65030

        Reviewed by Dan Bernstein.

        Some pages use animated loading GIFs as the background of <img>,
        but WebKit keeps animating these after the <img> has loaded.
        
        Thwart this by avoiding the painting of such backgrounds, if we can
        determine that they are completely obscured by the border and content
        of the element.

        * platform/graphics/BitmapImage.h:
        (WebCore::BitmapImage::currentFrameHasAlpha): Utility method, since currentFrame()
        is protected.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations): Call paintBackground().
        (WebCore::RenderBox::paintBackground): New wrapper for the paintFillLayers() which
        paints the background layers, plus some code we call in a couple of places. This
        checks the new backgroundIsObscured() method before doing any painting.
        * rendering/RenderBox.h:
        (WebCore::RenderBox::backgroundIsObscured): New virtual method that determines
        whether any of the background is visible.
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::BorderEdge::obscuresBackground): Returns true if this edge will
        entirely hide the background under it.
        (WebCore::RenderBoxModelObject::borderObscuresBackground): Determine whether
        the border hides the background.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::backgroundIsObscured): Override the RenderBox method
        and return true if the image is a loaded, opaque bitmap image, and the background
        won't show in the border or padding areas.
        * rendering/RenderImage.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations): Use paintBackground().

2011-07-22  Kenneth Russell  <kbr@google.com>

        HTMLImageElement::crossOrigin is hard to use because of caching
        https://bugs.webkit.org/show_bug.cgi?id=64813

        Reviewed by Adam Barth.

        Reload the resource if the allowCredentials flag doesn't match that in the request.

        Test: http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed.html

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        * loader/cache/CachedResourceLoader.h:

2011-07-22  Simon Fraser  <simon.fraser@apple.com>

        Need to update the acceleratesDrawing status on a layer when switching to/from tiled layers
        https://bugs.webkit.org/show_bug.cgi?id=65057

        Reviewed by Joseph Pecoraro.

        When switching to or from tiled layers, we need to update the new layer's
        acceleratesDrawing status.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

2011-07-22  Mark Pilgrim  <pilgrim@chromium.org>

        Add [Optional=CallWithDefaultValues] flag and use it in initXXXEvent declarations
        https://bugs.webkit.org/show_bug.cgi?id=64973

        Reviewed by Adam Barth.

        We are doing away with the interface-level LegacyDefaultOptionalArguments
        flag. To handle some cases of the old behavior, we need to define a new
        (argument-level) flag so that functions can define optional arguments
        but not have to declare every single combination of arguments in C++.
        The old code generator handled this by calling a single C++ function
        with all arguments, but with default values for the "optional" arguments.
        Thus, this patch invents a new argument-level flag called
        [Optional=CallWithDefaultValue] that emulates the old behavior.

        This patch also fixes all the initXXXEvent declarations to remove the
        LegacyDefaultOptionalArguments flag and use the new
        [Optional=CallWithDefaultValue] flag only on the specific arguments that
        require it for backward compatibility.

        No new tests, all existing tests pass.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateFunctionCallback):
        * dom/BeforeLoadEvent.idl:
        * dom/BeforeProcessEvent.idl:
        * dom/CompositionEvent.idl:
        * dom/CustomEvent.idl:
        * dom/DeviceMotionEvent.idl:
        * dom/DeviceOrientationEvent.idl:
        * dom/ErrorEvent.idl:
        * dom/Event.idl:
        * dom/HashChangeEvent.idl:
        * dom/KeyboardEvent.idl:
        * dom/MessageEvent.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/OverflowEvent.idl:
        * dom/PageTransitionEvent.idl:
        * dom/PopStateEvent.idl:
        * dom/ProgressEvent.idl:
        * dom/StreamEvent.idl:
        * dom/TextEvent.idl:
        * dom/TouchEvent.idl:
        * dom/UIEvent.idl:
        * dom/WebKitAnimationEvent.idl:
        * dom/WebKitTransitionEvent.idl:
        * dom/WheelEvent.idl:
        * html/canvas/WebGLContextEvent.idl:
        * storage/StorageEvent.idl:
        * websockets/CloseEvent.idl:

2011-07-22  Jessie Berlin  <jberlin@apple.com>

        [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work
        https://bugs.webkit.org/show_bug.cgi?id=64997

        Reviewed by Ada Chan.

        * WebCore.exp.in:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-07-22  Sergey Glazunov  <serg.glazunov@gmail.com>

        Perform the JavaScript navigation check on a complete URL
        https://bugs.webkit.org/show_bug.cgi?id=65038

        Reviewed by Adam Barth.

        Test: http/tests/security/xss-DENIED-document-baseURI-javascript.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setLocation):
        (WebCore::DOMWindow::createWindow):
        (WebCore::DOMWindow::open):

2011-07-22  Ryosuke Niwa  <rniwa@webkit.org>

        Revert r91595 for it broke Chromium Windows build.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2011-07-22  Mihnea Ovidenie  <mihnea@adobe.com>

        BORDER attribute with the IMG tag, using percentage values not working.
        https://bugs.webkit.org/show_bug.cgi?id=20226

        Reviewed by Simon Fraser.

        When border presentational attribute of image element has % in it, it should be parsed using
        HTML parser rules. In this case, the algorithm is the one used described in:
        http://www.whatwg.org/specs/web-apps/current-work/#rules-for-parsing-non-negative-integers

        * html/HTMLImageElement.cpp:
        (WebCore::parseBorderWidthAttribute):
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::parseHTMLNonNegativeInteger):
        * html/parser/HTMLParserIdioms.h:

2011-07-22  Scott Graham  <scottmg@chromium.org>

        DocumentLoader keeps a reference to all URL strings ever loaded in m_resourcesClientKnowsAbout leading to lots of memory waste
        https://bugs.webkit.org/show_bug.cgi?id=61894

        Reviewed by James Robinson.

        DocumentLoader::m_resourcesClientKnowsAbout is a set of all the URLs
        that have passed through FrameLoader::dispatchWillSendRequest() and is
        used by FrameLoader::loadedResourceFromMemoryCached to decide whether
        to inform the FrameLoader's m_client about this load.  Unfortunately,
        this set holds a reference to the URL string for every resource
        loaded, so on pages that use data URLs to "load" large amounts of data
        this leaks lots of memory. The cache improves performance going through
        FrameLoader::loadResourceFromMemoryCache, so rather than removing it,
        simply exclude 'data:' urls from the cache to save the majority of
        memory that is held for too long.

        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::didTellClientAboutLoad):

2011-07-22  Alok Priyadarshi  <alokp@chromium.org>

        Use software rendering for small canvas
        https://bugs.webkit.org/show_bug.cgi?id=64958

        Reviewed by Stephen White.

        No new tests. Does not affect rendering output, just canvas backing.
        If there is a regression, they should be caught by existing canvas tests.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::shouldAccelerateCanvas):
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::reset):
        (WebCore::CanvasRenderingContext2D::platformLayer):
        (WebCore::CanvasRenderingContext2D::clearAcceleration):
        (WebCore::CanvasRenderingContext2D::resetAcceleration):
        * html/canvas/CanvasRenderingContext2D.h:

2011-07-21  Adrienne Walker  <enne@google.com>

        Fix repainting of composited fixed position elements in iframes
        https://bugs.webkit.org/show_bug.cgi?id=64010

        Reviewed by Simon Fraser.

        In cases where an iframe's contents have their own graphics layer, the
        invalidation during scrolling was being sent to the wrong render
        layer. Fixed by checking if such a layer exists and routing scrolling
        invalidations there first.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsSlowPath):

2011-07-22  Viet-Trung Luu  <viettrungluu@chromium.org>

        Improve (i.e., speed up) .gyp(i) files for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=65032

        Reviewed by Adam Barth.

        Begin splitting off webcore_(privateheader_)files into separate lists
        (dom/html/svg in this patch), to avoid the very slow pattern of
        excluding all files and then filtering to include selected files.

        Test by building (in all supported configurations).

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2011-07-22  Tony Chang  <tony@chromium.org>

        add placeholder RenderFlexibleBox.cpp files
        https://bugs.webkit.org/show_bug.cgi?id=64982

        Reviewed by Ojan Vafai.

        No new tests, just adding new files and making sure it compiles.
        Also adding the isFlexibleBox identifier to RenderObject.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderFlexibleBox.cpp: Added.
        (WebCore::RenderFlexibleBox::RenderFlexibleBox): Inherit from RenderBlock like the old flexbox.
        (WebCore::RenderFlexibleBox::~RenderFlexibleBox):
        (WebCore::RenderFlexibleBox::renderName):
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.h: Added.
        (WebCore::RenderFlexibleBox::isFlexibleBox):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isFlexibleBox):

2011-07-22  James Robinson  <jamesr@chromium.org>

        [chromium] Force slow scrolling path for non-composited frames in a composited page
        https://bugs.webkit.org/show_bug.cgi?id=64991

        Reviewed by Darin Fisher.

        The chromium compositor does not properly handle fast path scrolls for non-composited iframe in a composited
        page.

        * page/FrameView.cpp:
        (WebCore::FrameView::useSlowRepaints):

2011-07-22  Andrew Scherkus  <scherkus@chromium.org>

        Remove surfaceType() and texture() methods from Chromium video frame classes.
        https://bugs.webkit.org/show_bug.cgi?id=64818

        Reviewed by Kenneth Russell.

        No tests as code was never being executed.

        * platform/graphics/chromium/VideoFrameChromium.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/VideoLayerChromium.h:

2011-07-22  Nate Chapin  <japhet@chromium.org>

        Don't treat child frame loads as back-forward navigations
        after the load event fires. This can lead to loading
        the wrong url in the child frame.
        https://bugs.webkit.org/show_bug.cgi?id=64895

        Reviewed by Mihai Parparita.

        Test: fast/loader/child-frame-add-after-back-forward.html

        * dom/Document.h: Drive-by FIXME.
        * loader/DocumentLoader.h: Drive-by FIXME.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame):

2011-07-22  Kent Tamura  <tkent@google.com>

        REGRESSION(r88757): The thumb of a vertical range slider is offset to the right on non-Mac.
        https://bugs.webkit.org/show_bug.cgi?id=65011

        Reviewed by Dimitri Glazkov.

        We need to update the apeearance of thumbs before the layout of RenderSlider.

        * html/shadow/SliderThumbElement.cpp:
        (WebCore::RenderSliderThumb::updateAppearance):
        Added. This function adjsuts the apparance of a thumb for the appearance of an <input>.
        (WebCore::RenderSliderThumb::isSliderThumb):
        Added.  Returns true.
        (WebCore::RenderSliderThumb::layout):
        Remove the appearance adjustment code. It is unnecessary because it is
        done in RenderSlider::layout().
        (WebCore::trackLimiterElementOf): Added.
        * html/shadow/SliderThumbElement.h: Move RenderSliderThumb from SliderThumbElement.cpp.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isSliderThumb): Added. Returns false.
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout):
        If the renderers for the thumb element and the limiter element is
        RenderSliderThumb, updates its appearance.

2011-07-22  Kent Tamura  <tkent@chromium.org>

        Validation message bubble is incorrectly positioned in a relative body.
        https://bugs.webkit.org/show_bug.cgi?id=65018

        Reviewed by Dimitri Glazkov.

        We use position:aboslute for validation message bubbles, and the
        origin of the absolute position can be not only the page, but also
        an ancestor block with non-static position.

        Test: fast/forms/validation-message-in-relative-body.html

        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
        Subtract the containing block position from the host position.
        (WebCore::ValidationMessage::buildBubbleTree):
        Change the order of appendChild() and adjustBubblePosition() in
        order to use RenderObject::containingBlock() in
        adjustbubbleposition().

2011-07-22  David Grogan  <dgrogan@chromium.org>

        Fix crash in IDBRequest::abort
        https://bugs.webkit.org/show_bug.cgi?id=64740

        Reviewed by Nate Chapin.

        Tested manually with the testcase in the bug.

        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::~IDBRequest):
        (WebCore::IDBRequest::abort):

2011-07-22  Patrick Gansterer  <paroga@webkit.org>

        Replace preprocessor statements in IDL files with Conditional attribute
        https://bugs.webkit.org/show_bug.cgi?id=64961

        Reviewed by Darin Adler.

        Replaced ENABLE_DATALIST, ENABLE_DIRECTORY_UPLOAD, ENABLE_INPUT_SPEECH, ENABLE_MEDIA_STATISTICS
        and ENABLE_ORIENTATION_EVENTS with the corresponding Conditional attribute.

        * html/HTMLBodyElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLVideoElement.idl:

2011-07-22  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Extensions API] add webInspector.resources.onContentEdited
        https://bugs.webkit.org/show_bug.cgi?id=65024

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype.notifyResourceContentEdited):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.addRevision):

2011-07-22  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: fix exception when paused in internal script.
        https://bugs.webkit.org/show_bug.cgi?id=64995

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/pause-in-internal-script.html

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.PresenationCallFrame.prototype.sourceLine):

2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: sometimes ReceiveResponse event is attached to wrong parent.
        https://bugs.webkit.org/show_bug.cgi?id=65016

        Reviewed by Yury Semikhatsky.

        Test: inspector/timeline/timeline-receive-response-event.html

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didTimeStamp):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::appendRecord):
        * inspector/InspectorTimelineAgent.h:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):

2011-07-22  Kentaro Hara  <haraken@google.com>

        REGRESSION(r89535): Form reset does not repaint a file upload control.
        https://bugs.webkit.org/show_bug.cgi?id=65008

        Reviewed by Kent Tamura.

        This patch fixes the code so that the file upload control is repainted
        in updateFromElement() if no files are selected.

        Tests: fast/forms/file-input-reset.html

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::updateFromElement): Calls repaint() if no files are selected.

2011-07-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: the max depth of the Timeline events' stack trace should be customizable.
        https://bugs.webkit.org/show_bug.cgi?id=65023

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::startTimelineProfiler):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
        (WebCore::InspectorTimelineAgent::restore):
        (WebCore::InspectorTimelineAgent::start):
        (WebCore::InspectorTimelineAgent::didInstallTimer):
        (WebCore::InspectorTimelineAgent::didRemoveTimer):
        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        (WebCore::InspectorTimelineAgent::didTimeStamp):
        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
        * inspector/InspectorTimelineAgent.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):
        * inspector/TimelineRecordFactory.h:
        * inspector/front-end/TimelineManager.js:
        (WebInspector.TimelineManager.prototype.start):

2011-07-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91024.
        http://trac.webkit.org/changeset/91024
        https://bugs.webkit.org/show_bug.cgi?id=65017

        number of problems happened with invisible elements which grab
        pointer events. (Requested by loislo on #webkit).

        * inspector/front-end/inspector.css:
        (.panel):
        (.panel.visible):

2011-07-22  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        [Mac] Need to make sure autocorrection panel is dismissed in Document::setFocusNode().
        https://bugs.webkit.org/show_bug.cgi?id=64824
        <rdar://problem/9624232>

        * editing/Editor.cpp:
        (WebCore::Editor::textFieldDidEndEditing): Dismiss autocorrection panel when current node losing focus.

2011-07-21  Kent Tamura  <tkent@chromium.org>

        A trivial fix for r91550.
        https://bugs.webkit.org/show_bug.cgi?id=65001

        Need to update placeholder visibility when the owner elemnent style is changed.

        * html/HTMLTextFormControlElement.h: Make updatePlaceholderVisibility() public.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::styleDidChange):
        Call updatePlaceholderVisibility().

2011-07-21  Pratik Solanki  <psolanki@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=65002
        Get authentication to work with USE(CFNETWORK) on Mac

        Reviewed by David Kilzer.

        Instead of creating a new CFURLAuthChallengeRef, we save and reuse the same object as the
        one given to us by CFNetwork.

        * platform/network/mac/AuthenticationMac.mm:
        (-[WebCoreAuthenticationClientAsChallengeSender setCFChallenge:]): Accessor methods for the
        new CFURLAuthChallengeRef ivar.
        (-[WebCoreAuthenticationClientAsChallengeSender cfChallenge]):
        (WebCore::core): Create AuthenticationChallenge using the saved CFURLAuthChallengeRef.
        (WebCore::mac): Use the CFURLAuthChallengeRef object in AuthenticationChallenge instead of
        creating a new one.

2011-07-21  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r90971): Placeholder and search cancel button are visible even in elements with visibility:hidden.
        https://bugs.webkit.org/show_bug.cgi?id=65001

        Reviewed by Dimitri Glazkov.

        Tests: fast/forms/placeholder-in-invisible-elements.html
               fast/forms/search-cancel-in-invisible-elements.html

        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
        Don't show the placeholder if the 'visibility' property of the owner element is 'hidden.'
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): ditto.

2011-07-21  Shinya Kawanaka  <shinyak@google.com>

        The input[type="number"] with step="any" should not suffer from step mismatch.
        https://bugs.webkit.org/show_bug.cgi?id=64858

        Reviewed by Kent Tamura.

        Added check step="any" not to suffer from step mismatch.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::applyStep): Added check step="any".
        (WebCore::HTMLInputElement::alignValueForStep): Added.

2011-07-21  MORITA Hajime  <morrita@google.com>

        [Refactoring] ShadowContentSelector should be ShadowInclusionSelector
        https://bugs.webkit.org/show_bug.cgi?id=64850

        Reviewed by Dimitri Glazkov.

        Renamed:
        - ShadowContentSelector -> ShadowInclusionSelector
        - ShadowContentSelector::findInclusionFor -> ShadowInclusionSelector::findFor
        - ShadowContentSelector::selectInclusion -> ShadowInclusionSelector::select
        - ShadowContentSelector::unselectInclusion -> ShadowInclusionSelector::unselect
        - ShadowContentSelector::didSelectInclusion -> ShadowInclusionSelector::didSelect
        - ShadowContentSelector::willSelectInclusionOver -> ShadowInclusionSelector::willSelectOver
        - ShadowContentSelector::hasChildren -> ShadowInclusionSelector::hasCandidates
        
        No new tests. Just a textual change.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/NodeRenderingContext.cpp:
        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowContentElement::attach):
        (WebCore::ShadowContentElement::detach):
        * dom/ShadowInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowContentSelector.cpp.
        (WebCore::ShadowInclusion::append):
        (WebCore::ShadowInclusion::unlink):
        (WebCore::ShadowInclusionList::ShadowInclusionList):
        (WebCore::ShadowInclusionList::~ShadowInclusionList):
        (WebCore::ShadowInclusionList::find):
        (WebCore::ShadowInclusionList::clear):
        (WebCore::ShadowInclusionList::append):
        (WebCore::ShadowInclusionSelector::ShadowInclusionSelector):
        (WebCore::ShadowInclusionSelector::~ShadowInclusionSelector):
        (WebCore::ShadowInclusionSelector::select):
        (WebCore::ShadowInclusionSelector::unselect):
        (WebCore::ShadowInclusionSelector::findFor):
        (WebCore::ShadowInclusionSelector::didSelect):
        (WebCore::ShadowInclusionSelector::willSelectOver):
        * dom/ShadowInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowContentSelector.h.
        (WebCore::ShadowInclusion::includer):
        (WebCore::ShadowInclusion::content):
        (WebCore::ShadowInclusion::next):
        (WebCore::ShadowInclusion::previous):
        (WebCore::ShadowInclusion::ShadowInclusion):
        (WebCore::ShadowInclusion::create):
        (WebCore::ShadowInclusionList::first):
        (WebCore::ShadowInclusionList::last):
        (WebCore::ShadowInclusionList::isEmpty):
        (WebCore::ShadowInclusionSet::add):
        (WebCore::ShadowInclusionSet::remove):
        (WebCore::ShadowInclusionSet::isEmpty):
        (WebCore::ShadowInclusionSet::Translator::hash):
        (WebCore::ShadowInclusionSet::Translator::equal):
        (WebCore::ShadowInclusionSet::Hash::hash):
        (WebCore::ShadowInclusionSet::Hash::equal):
        (WebCore::ShadowInclusionSet::find):
        (WebCore::ShadowInclusionSelector::hasCandidates):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::includerFor):
        (WebCore::ShadowRoot::attach):
        (WebCore::ShadowRoot::inclusions):
        (WebCore::ShadowRoot::ensureInclusions):
        * dom/ShadowRoot.h:

2011-07-21  Robin Qiu  <robin.qiu.dev@gmail.com>

        https://bugs.webkit.org/show_bug.cgi?id=60737

        ThumbPosition() in ScrollbarTheme should be ceiled before returned.
        Otherwise, some topest/leftest content can not be shown by dragging
        scrollbar thumb.


        Reviewed by Antonio Gomes.

        Test: scrollbars/scrollbar-drag-thumb-with-large-content.html

        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::thumbPosition):
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarThemeQt::thumbPosition):

2011-07-21  Simon Fraser  <simon.fraser@apple.com>

        GraphicsLayers in subframes can get sync'd multiple times
        https://bugs.webkit.org/show_bug.cgi?id=52489

        Reviewed by James Robinson.
        
        Avoid doing a 'syncCompositingState' pass on the GraphicsLayers
        for subframes, when those GraphicsLayers are rooted in the
        parent document.

        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateForThisFrame): Add a parameter
        that contains the rootmost frame on which sync was called. This is used
        to indicate to the compositor whether it's the root of the sync.
        (WebCore::FrameView::syncCompositingStateIncludingSubframes): Pass the current
        Frame in.
        (WebCore::FrameView::paintContents): The sync is for this frame, so pass m_frame.
        * page/FrameView.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges): New parameter
        to specify whether this compositor is in the rootmost Frame being flushed.
        We can avoid doing work if we know that flushing some ancestor frame would
        have also traversed our GraphicsLayers.
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::isFlushingLayers): Make this private, since
        callers are probably most intersted in enclosingCompositorFlushingLayers().

2011-07-21  Rafael Brandao  <rafael.lobo@openbossa.org>

        Local files cannot load icons.
        https://bugs.webkit.org/show_bug.cgi?id=62459
        
        Previous policy only allowed favicons for pages whose protocol was part of HTTP family.
        Changed that to allow to any url that's not empty and whose protocol is not "about".
        Also added this check where it attempts to start loading the favicon, so it can avoid
        wasting time downloading a resource that won't be stored and won't be used.

        Reviewed by Adam Barth.

        Test: manual-tests/resources/favicon-loads-for-local-files.html

        * loader/icon/IconController.cpp:
        (WebCore::IconController::startLoader): Added check to avoid to request a favicon
        when there's no way to store it.
        
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::documentCanHaveIcon): Renamed function "pageCanHaveIcon"
        to reflect better which url we're handling.
        
        (WebCore::IconDatabase::synchronousIconForPageURL): Ditto.
        (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
        (WebCore::IconDatabase::retainIconForPageURL): Ditto.
        (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
        (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
        (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
        (WebCore::IconDatabase::importIconURLForPageURL): Ditto.
        (WebCore::IconDatabase::performURLImport): Ditto.
        * loader/icon/IconDatabase.h:
        * loader/icon/IconDatabaseBase.h:
        (WebCore::IconDatabaseBase::documentCanHaveIcon): Added it as virtual to replace its
        default behavior of not allowing favicons when we have IconDatabase enabled.
        
        * manual-tests/resources/favicon-loads-for-local-files.html: Added.
        * manual-tests/resources/favicon.png: Added.

2011-07-21  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>

        Fix for bug 64046 - Wrong image height in absolutely positioned div in
        relatively positioned parent with bottom padding.
        https://bugs.webkit.org/show_bug.cgi?id=64046

        Reviewed by David Hyatt.

        Test: fast/css/absolute-child-with-percent-height-inside-relative-parent.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::availableLogicalHeightUsing):

2011-07-21  Gavin Peters  <gavinp@chromium.org>

        Extend the protector of a CSS style sheet.  Because checkLoaded() can recursively delete
        parent style elements, the protector should be extended to include the parent call.

        https://bugs.webkit.org/show_bug.cgi?id=64736

        Reviewed by Simon Fraser.

        Test: fast/css/css-imports-2.html

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):

2011-07-21  Kenneth Russell  <kbr@google.com>

        Update webglcontextlost / webglcontextrestored delivery to match spec changes
        https://bugs.webkit.org/show_bug.cgi?id=58621

        Reviewed by James Robinson.

        Updated conditions under which webglcontextrestored event is
        delivered to be spec compliant.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::loseContext):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:

2011-07-21  Dave Hyatt  <hyatt@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=64975
        Elements that have columns (e.g., column-width or column-count non-auto) and elements that have
        column-spans establish block formatting contexts, and therefore they should not be allowing
        child margins to collapse with their own margins.

        Reviewed by Beth Dakin.

        Covered by existing tests.

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

2011-07-21  Matthew Delaney  <mdelaney@apple.com>

        Add fast path for ImageBuffer::draw, Take 2.
        https://bugs.webkit.org/show_bug.cgi?id=64535

        Reviewed by Simon Fraser.

        No new tests. This patch doesn't change behavior; current tests are sufficient.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.

        * platform/graphics/ImageBuffer.h:
        1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
        2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
        * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.

        * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.

        * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
        so that it can be used by more than just BitmapImage without having to copy code.
        (WebCore::Image::imageWithColorSpace): Made into an Image class function.

        Updated copyImage() to use BackingStoreCopy:
        * platform/graphics/qt/ImageBufferQt.cpp
        * platform/graphics/filters/FETile.cpp
        * platform/graphics/cairo/ImageBufferCairo.cpp
        * platform/graphics/skia/ImageBufferSkia.cpp
        * platform/graphics/wx/ImageBufferWx.cpp
        * platform/graphics/wince/ImageBufferWinCE.cpp
        * svg/SVGFEImageElement.cpp
        * svg/graphics/SVGImage.cpp
        * html/HTMLCanvasElement.cpp
        * html/canvas/WebGLRenderingContext.cpp
        * rendering/svg/RenderSVGResourcePattern.cpp

2011-07-21  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/64972> Clean up generated HTMLEntityTable.cpp output

        Reviewed by Eric Seidel.

        * html/parser/create-html-entity-table:
        - Fix duplicate "EntityName" suffix on local variables (changes
          fooSemicolonEntityNameEntityName to fooSemicolonEntityName)
          for all 2138 symbols.
        - Add newlines to make source file human-readable (as originally
          intended).
        - Add static (const) keywords to local variables that are never
          referenced externally.

2011-07-21  Mark Pilgrim  <pilgrim@chromium.org>

        Remove LegacyDefaultOptionalArguments flag from FileAPI
        https://bugs.webkit.org/show_bug.cgi?id=64539

        Reviewed by Adam Barth.

        No new tests, all existing tests pass.

        * fileapi/Blob.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.idl:
        * fileapi/DirectoryReader.idl:
        * fileapi/EntriesCallback.idl:
        * fileapi/Entry.idl:
        * fileapi/EntryArray.idl:
        * fileapi/EntryArraySync.idl:
        * fileapi/EntryCallback.idl:
        * fileapi/EntrySync.idl:
        * fileapi/ErrorCallback.idl:
        * fileapi/FileCallback.idl:
        * fileapi/FileEntry.idl:
        * fileapi/FileList.idl:
        * fileapi/FileReader.idl:
        * fileapi/FileReaderSync.idl:
        * fileapi/FileSystemCallback.idl:
        * fileapi/FileWriter.idl:
        * fileapi/FileWriterCallback.idl:
        * fileapi/FileWriterSync.idl:
        * fileapi/MetadataCallback.idl:
        * fileapi/WebKitBlobBuilder.idl:

2011-07-21  Tony Chang  <tony@chromium.org>

        sort WebCore.xcodeproj
        https://bugs.webkit.org/show_bug.cgi?id=64901

        Unreviewed, just using sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2011-07-21  Enrica Casucci  <enrica@apple.com>

        Cannot click to position the caret to the right of an image with display:block style.
        https://bugs.webkit.org/show_bug.cgi?id=64962
        <rdar://problem/9446343>

        Reviewed by David Hyatt.

        Test: editing/selection/click-on-block-image.html

        The current implementation of positionForPoint always returns the visible
        position to the left of the image, if the image has a block style.
        This patch changes the behavior for block styled images to match the behavior
        for inline images.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::positionForPoint): Modified to avoid relying entirely
        on InlineBox to calculate the position.

2011-07-21  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: one liner typo fix in Inspector.json.

        * inspector/Inspector.json:

2011-07-21  Sam Weinig  <sam@webkit.org>

        CSS top margin collapses when paginating
        https://bugs.webkit.org/show_bug.cgi?id=64906

        Reviewed by David Hyatt.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::estimateLogicalTopPosition):
        Update to only go down paginated path when we actually have a page height (so
        not in the case that we are just gathering breaks) and to call the version of
        of nextPageLogicalTop that actually returns the next page, even if we are at
        the boundary point.

        (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
        (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
        Split into two functions which differ in how they deal with the boundary condition.

        (WebCore::RenderBlock::applyBeforeBreak):
        (WebCore::RenderBlock::applyAfterBreak):
        Switch to call nextPageLogicalTopIncludingBoundaryPoint.

        * rendering/RenderBlock.h:
        Add new functions declarations and comment them.

2011-07-21  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: RuntimeAgent.evaluateOn should not require "return X;" syntax.
        https://bugs.webkit.org/show_bug.cgi?id=64691

        Reviewed by Yury Semikhatsky.

        I'm introducing callFunctionOn that receives function declaration in order
        to make call site syntax clear.

        Test: inspector/runtime/runtime-callFunctionOn.html

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::callFunctionOn):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::callFunctionOn):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions):
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved.protoList):
        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.callFunction):

2011-07-21  Andrew Wason  <rectalogic@rectalogic.com>

        [Qt] Adopt existing GraphicsContext3D members (part 1)
        https://bugs.webkit.org/show_bug.cgi?id=64877

        Reviewed by Noam Rosenthal.

        Existing WebGL layout tests should test this.

        Remove GraphicsContext3DInternal members and use the existing
        corresponding members from GraphicsContext3D instead.
        Move most of the GraphicsContext3DInternal constructor, destructor
        and the reshape() method into GraphicsContext3D.
        The GraphicsContext3D members will be needed when we adopt
        GraphicsContext3DOpenGL.cpp.

        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
        (WebCore::GraphicsContext3DInternal::boundingRect):
        (WebCore::GraphicsContext3DInternal::paint):
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        (WebCore::GraphicsContext3D::~GraphicsContext3D):
        (WebCore::GraphicsContext3D::platformTexture):
        (WebCore::GraphicsContext3D::reshape):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::getContextAttributes):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::synthesizeGLError):
        (WebCore::GraphicsContext3D::markLayerComposited):
        (WebCore::GraphicsContext3D::markContextChanged):
        (WebCore::GraphicsContext3D::layerComposited):
        (WebCore::GraphicsContext3D::getExtensions):

2011-07-21  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: [protocol] extend setBreakpointByUrl request to accept incomplete URL (predicates)
        https://bugs.webkit.org/show_bug.cgi?id=60762

        Reviewed by Yury Semikhatsky.

        Test: inspector/debugger/debugger-set-breakpoint-regex.html

        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::buildObjectForBreakpointCookie):
        (WebCore::matches):
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:

2011-07-21  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r88757): input[type=range] renders incorrectly in RTL context.
        https://bugs.webkit.org/show_bug.cgi?id=64904

        Reviewed by Ryosuke Niwa.

        Tests: fast/forms/input-appearance-range-rtl.html

        * html/shadow/SliderThumbElement.cpp:
        (WebCore::RenderSliderThumb::layout):
        The thumb should be positioned based on 'right' CSS property instead of 'left.'
        (WebCore::SliderThumbElement::setPositionFromPoint):
        The fraction should be flipped in RTL.

2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Remove networkDataRemoved field from resource.
        https://bugs.webkit.org/show_bug.cgi?id=64749

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._frameNavigated):

2011-07-21  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Merging MediaStreamContainer and MediaStreamList
        https://bugs.webkit.org/show_bug.cgi?id=64794

        Reviewed by Tony Gentilcore.

        * GNUmakefile.list.am:
        * dom/MediaStreamContainer.h: Removed.
        * dom/MediaStreamList.cpp:
        (WebCore::MediaStreamList::create):
        (WebCore::MediaStreamList::MediaStreamList):
        (WebCore::MediaStreamList::length):
        (WebCore::MediaStreamList::item):
        (WebCore::MediaStreamList::add):
        (WebCore::MediaStreamList::remove):
        (WebCore::MediaStreamList::contains):
        (WebCore::MediaStreamList::get):
        * dom/MediaStreamList.h:

2011-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: always open dedicated worker inspector in a new window not a new tab
        https://bugs.webkit.org/show_bug.cgi?id=64872

        Reviewed by Pavel Feldman.

        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.prototype.openWorkerInspector):

2011-07-21  MORITA Hajime  <morrita@google.com>

        [Refactoring] Shadow inclusion cache should be managed by ShadowContentSelector
        https://bugs.webkit.org/show_bug.cgi?id=64849

        Reviewed by Dimitri Glazkov.

        This change is a reorg around Shadow inclusion mechanism.
        - Moved definition of ShadowInclusion, ShadowInclusionSet and ShadowInclusionList
          from ShadowContentElement.h to ShadowContentSelector.h, which is included
          from smaller number of places.
        - Moved ShadowInclusionSet from ShadowRoot to ShadowContentSelector
        - Made ShadowContentSelector's lifetime managed by ShadowRoot
          because ShadowInclusionSet is held by the selector.
        - Thus, there is no longer "active" selector (ShadowContentSelector::s_currentInstance)
          Because the selector is associated for each ShadowRoot object.
        
        No new tests. No behavior change.

        * dom/NodeRenderingContext.cpp:
        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowContentElement::ShadowContentElement):
        (WebCore::ShadowContentElement::attach):
        (WebCore::ShadowContentElement::detach):
        * dom/ShadowContentElement.h:
        (WebCore::ShadowContentElement::inclusions):
        * dom/ShadowContentSelector.cpp:
        (WebCore::ShadowInclusion::append):
        (WebCore::ShadowInclusion::unlink):
        (WebCore::ShadowInclusionList::ShadowInclusionList):
        (WebCore::ShadowInclusionList::~ShadowInclusionList):
        (WebCore::ShadowInclusionList::find):
        (WebCore::ShadowInclusionList::clear):
        (WebCore::ShadowInclusionList::append):
        (WebCore::ShadowContentSelector::ShadowContentSelector):
        (WebCore::ShadowContentSelector::~ShadowContentSelector):
        (WebCore::ShadowContentSelector::selectInclusion):
        (WebCore::ShadowContentSelector::unselectInclusion):
        (WebCore::ShadowContentSelector::findInclusionFor):
        (WebCore::ShadowContentSelector::didSelectInclusion):
        (WebCore::ShadowContentSelector::willSelectInclusionOver):
        * dom/ShadowContentSelector.h:
        (WebCore::ShadowInclusion::includer):
        (WebCore::ShadowInclusion::content):
        (WebCore::ShadowInclusion::next):
        (WebCore::ShadowInclusion::previous):
        (WebCore::ShadowInclusion::ShadowInclusion):
        (WebCore::ShadowInclusion::create):
        (WebCore::ShadowInclusionList::first):
        (WebCore::ShadowInclusionList::last):
        (WebCore::ShadowInclusionList::isEmpty):
        (WebCore::ShadowInclusionSet::add):
        (WebCore::ShadowInclusionSet::remove):
        (WebCore::ShadowInclusionSet::isEmpty):
        (WebCore::ShadowInclusionSet::Translator::hash):
        (WebCore::ShadowInclusionSet::Translator::equal):
        (WebCore::ShadowInclusionSet::Hash::hash):
        (WebCore::ShadowInclusionSet::Hash::equal):
        (WebCore::ShadowInclusionSet::find):
        (WebCore::ShadowContentSelector::hasChildren):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::~ShadowRoot):
        (WebCore::ShadowRoot::includerFor):
        (WebCore::ShadowRoot::attach):
        (WebCore::ShadowRoot::inclusions):
        (WebCore::ShadowRoot::ensureInclusions):
        * dom/ShadowRoot.h:

2011-07-21  Rohan McGovern  <rohan@mcgovern.id.au>

        Reviewed by Noam Rosenthal.

        [Qt] Qt5 Build Fix: remove useless use of qRound(int)
        https://bugs.webkit.org/show_bug.cgi?id=64907

        Rounding an integer doesn't make sense.
        Since 2dcd3939a8bd5ff743e4c87f87b2d81b1a101467 in qtbase, this is not
        permitted to compile.

        No new tests needed.

        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Eliminate qRound(int).
        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenDepthPerComponent): Ditto.

2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>

        Fix a Valgrind failure caused by r91435.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::ScrollableArea):

2011-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91332.
        http://trac.webkit.org/changeset/91332
        https://bugs.webkit.org/show_bug.cgi?id=64925

        Crashes css3/images/optimize-contrast-canvas.html on safari-
        mac,chromium-mac (Requested by mikelawther on #webkit).

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::makePresentationCopy):
        (WebCore::HTMLCanvasElement::copiedImage):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::videoFrameToImage):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/Image.h:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::copyImage):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::copyImage):
        (WebCore::cgImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        (WebCore::ImageBuffer::clip):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::imageWithColorSpace):
        (WebCore::BitmapImage::draw):
        (WebCore::Image::drawPattern):
        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::apply):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::copyImage):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::build):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):

2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>

        Chromium build fix after r91440.

        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint):

2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix after r91435.

        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::platformSetScrollbarOverlayStyle):

2011-07-20  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Darin Adler.

        Errors encountered within SVG documents should be reported to the console
        https://bugs.webkit.org/show_bug.cgi?id=62599
        <rdar://problem/9727074>

        Add SVGLength::construct, which can be used to construct an SVGLength
        as normal, but returns an SVGParsingError via a reference argument.
        The function also takes another argument, which is whether or not
        the SVGLength value is allowed to be negative. If not, an error is
        thrown. It defaults to allowing negatives if not specified.

        * GNUmakefile.list.am:
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::construct):
        (WebCore::SVGLength::rawValue):
        * svg/SVGLength.h:
        * svg/SVGElement.h:
        * svg/SVGParsingError.h: Added.
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2011-07-20  Levi Weintraub  <leviw@chromium.org>

        Switch getTransformFromContainer and its uses to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64908

        Reviewed by Simon Fraser.

        Switching getTransformFromContainer and its uses to use the new Layout
        Types from strictly integer ones.

        No new tests, no new functionality.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::mapLocalToContainer):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::createLocalTransformState):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTransformFromContainer):
        * rendering/RenderObject.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):
        (WebCore::RenderView::mapAbsoluteToLocalPoint):

2011-07-20  Tim Horton  <timothy_horton@apple.com>

        Scrollbar color heuristic needs to be hooked up in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=64220
        <rdar://problem/9589140>

        Reviewed by Darin Adler.

        Store the scroller style on ScrollableArea, and recompute it whenever
        the document or body element background color changes or the base background
        color of the scrollview changes. Also, make sure to repaint the scrollbars
        whenever the style changes.

        No new tests, since this code is only enabled on future versions of Mac OS X.

        * WebCore.exp.in:
        * page/Frame.cpp:
        (WebCore::Frame::getDocumentBackgroundColor):
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::recalculateScrollbarOverlayStyle):
        (WebCore::FrameView::setBaseBackgroundColor):
        (WebCore::FrameView::documentBackgroundColor): Renamed.
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setScrollbarOverlayStyle):
        * platform/ScrollView.h:
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::setScrollbarOverlayStyle):
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollbarOverlayStyle):
        * platform/ScrollbarTheme.h:
        (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::toNSScrollerKnobStyle):
        (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::toScrollbarPainterKnobStyle):
        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
        (WebCore::ScrollbarThemeMac::paint):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):

2011-07-20  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyWebkitTransformOriginZ and Origin in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=64785
        Note that this changes a cast from
          computed length double -> 28 bit int -> float
        to
          computed length double -> float
        I couldn't see any reason in the code that this was strictly necessary,
        however it may have been so that X,Y,Z all have the same behavior, even though Z itself is not stored in a Length.

        Reviewed by Simon Fraser.

        No new tests / refactoring.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-07-20  Tony Chang  <tony@chromium.org>

        Remove stray reference to StyleFlexibleBoxData.h that was accidentally
        added in r91402.

        * WebCore.xcodeproj/project.pbxproj:

2011-07-20  Levi Weintraub  <leviw@chromium.org>

        Bring Int/Float graphics classes closer to parity
        https://bugs.webkit.org/show_bug.cgi?id=64833

        Reviewed by James Robinson.

        In preparation of switching to Floating point data structures, bringing the
        functionality and method names of the Int/Float graphics classes close together.

        Also fixing some compiler errors when using Floats for layout units along the way.

        No new tests, no functionality change.

        * page/FrameView.cpp:
        (WebCore::FrameView::convertFromRenderer):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (WebCore::ScrollView::convertChildToSelf):
        (WebCore::ScrollView::convertSelfToChild):
        * platform/graphics/FloatPoint.h:
        (WebCore::operator-): Adding a single-parameter version.
        * platform/graphics/FloatSize.cpp:
        (WebCore::FloatSize::isZero): Adding isZero that uses epsilon for floats.
        * platform/graphics/FloatSize.h:
        * platform/graphics/IntPoint.h:
        (WebCore::IntPoint::moveBy): Renaming IntPoint version to moveBy to mirror FloatPoint.
        * platform/graphics/RoundedRect.cpp:
        (WebCore::RoundedRect::Radii::expand): Switching to specific templatized max.
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::requestedRegionOfInputImageData):
        * rendering/RenderBlock.cpp: Moving outstanding Int* functions to Layout units.
        (WebCore::RenderBlock::paintContinuationOutlines):
        (WebCore::RenderBlock::logicalRectToPhysicalRect):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionForPoint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::subtractCaptionRect):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColLogicalWidth):
        (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
        (WebCore::RenderTableCell::paintCollapsedBorder):
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        * rendering/RenderTableCell.h:
        * rendering/RenderView.h:
        (WebCore::RenderView::pushLayoutState):
        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
        (WebCore::LayoutStateMaintainer::push):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
        (WebCore::setAscentAndDescent):
        * rendering/RootInlineBox.h:

2011-07-20  Scott Graham  <scottmg@chromium.org>

        mouseover reporting incorrect mouse button, when the button isn't
        down. https://bugs.webkit.org/show_bug.cgi?id=64882

        Reviewed by Eric Seidel.

        Don't increment the button returned in 'which' unless the button is
        actually down.

        Test: fast/events/mouseover-button.html

        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::which):

2011-07-20  Kenneth Russell  <kbr@google.com>

        Add restoreContext() to WEBKIT_lose_context
        https://bugs.webkit.org/show_bug.cgi?id=58626

        Reviewed by James Robinson.

        Added the restoreContext() entry point to the WEBKIT_lose_context
        extension. Refactored and simplified the logic associated with context
        loss and restoration.

        A subsequent patch will make the delivery of the webglcontextrestored
        event spec compliant.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
        (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
        (WebCore::WebGLRenderingContextLostCallback::onContextLost):
        (WebCore::WebGLRenderingContext::isContextLost):
        (WebCore::WebGLRenderingContext::forceLostContext):
        (WebCore::WebGLRenderingContext::forceRestoreContext):
        (WebCore::WebGLRenderingContext::loseContext):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
        * html/canvas/WebKitLoseContext.cpp:
        (WebCore::WebKitLoseContext::loseContext):
        (WebCore::WebKitLoseContext::restoreContext):
        * html/canvas/WebKitLoseContext.h:
        * html/canvas/WebKitLoseContext.idl:

2011-07-20  Tony Chang  <tony@chromium.org>

        Pass -webkit-flex() values on to RenderStyle
        https://bugs.webkit.org/show_bug.cgi?id=64038

        Reviewed by Eric Seidel.

        No new tests, this just copies data to RenderStyle, which we can
        then access when doing layout.  Tests will come with the layout
        changes.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::applyValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

2011-07-20  Daniel Bates  <dbates@rim.com>

        Attempt to fix the GTK build after changeset 91396 <http://trac.webkit.org/changeset/91396>
        (https://bugs.webkit.org/show_bug.cgi?id=64764).

        * xml/parser/MarkupTokenBase.h: #include <stdio.h> in debug build for printf(3), which is used in
        MarkupTokenBase::printString() and MarkupTokenBase::printAttrs().

2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add support for disabling cache in web inspector.
        https://bugs.webkit.org/show_bug.cgi?id=64097

        Reviewed by Pavel Feldman.

        Tests: http/tests/inspector/network/network-disable-cache-memory.html
               http/tests/inspector/network/network-disable-cache-xhrs.html

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::setCacheDisabled):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::enable):
        (WebCore::InspectorResourceAgent::disable):
        (WebCore::InspectorResourceAgent::setCacheDisabled):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.inflightResourceForURL):
        (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):

2011-07-20  Peter Kasting  <pkasting@google.com>

        Remove "const" from obviously-non-const accessors
        https://bugs.webkit.org/show_bug.cgi?id=62302

        Reviewed by Darin Adler.

        No functional change, so no new tests.

        * WebCore.exp.in: Adjust function names to reflect non-constness.
        * dom/Element.cpp:
        (WebCore::Element::cloneElementWithoutAttributesAndChildren): Not const, calls non-const function Document::createElement().
        (WebCore::Element::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::boundsInWindowSpace): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::getClientRects): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::getBoundingClientRect): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::innerText): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Element::outerText): Not const, calls newly non-const function Element::innerText().
        * dom/Element.h:
        * dom/Node.cpp:
        (WebCore::Node::isContentEditable): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::Node::shouldUseInputMethod): Not const, calls newly non-const function Node::isContentEditable().
        * dom/Node.h:
        * dom/OptionElement.h: Virtual function OptionElement::selected() not const because HTMLOptionElement implementation is non-const.
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::text): Not const, calls newly non-const function Element::innerText().
        * html/HTMLAnchorElement.h:
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::renderWidgetForJSBindings): Not const, calls non-const function RenderApplet::createWidgetIfNecessary().
        * html/HTMLAppletElement.h:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::imageElement): Not const, calls newly non-const function HTMLMapElement::imageElement().
        * html/HTMLAreaElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::scrollLeft): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::HTMLBodyElement::scrollTop): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::HTMLBodyElement::scrollHeight): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::HTMLBodyElement::scrollWidth): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        * html/HTMLBodyElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Not const, calls non-const function Document::createElement().
        * html/HTMLEmbedElement.h:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::HTMLFrameElementBase::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        * html/HTMLFrameElementBase.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::width): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::HTMLImageElement::height): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
        * html/HTMLInputElement.h:
        * html/HTMLKeygenElement.cpp:
        (WebCore::KeygenSelectElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::imageElement): Not const, calls non-const function Document::images().
        * html/HTMLMapElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        * html/HTMLObjectElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::selected): Not const, calls non-const function HTMLSelectElement::recalcListItemsIfNeeded().
        * html/HTMLOptionElement.h:
        * html/HTMLPlugInElement.cpp: Virtual function HTMLPlugInElement::renderWidgetForJSBindings() not const because various subclass implementations are non-const.
        (WebCore::HTMLPlugInElement::getInstance): Not const, calls newly non-const function HTMLPlugInElement::pluginWidget().
        (WebCore::HTMLPlugInElement::pluginWidget): Not const, calls newly non-const function HTMLPlugInElement::renderWidgetForJSBindings().
        * html/HTMLPlugInElement.h:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
        * html/HTMLScriptElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::shouldUseInputMethod): Virtual function not const because Node implementation is non-const.
        * html/HTMLTextAreaElement.h:
        * html/shadow/SliderThumbElement.h:
        (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
        * rendering/svg/SVGShadowTreeElements.cpp:
        (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
        * rendering/svg/SVGShadowTreeElements.h:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
        * svg/SVGAnimateMotionElement.h:
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::hasValidAttributeType): Not const, calls newly non-const function SVGSMILElement::targetElement().
        * svg/SVGAnimateTransformElement.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): Not const, calls newly non-const function SVGSMILElement::targetElement().
        * svg/SVGAnimationElement.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::accessDocumentSVGExtensions): Not const, calls non-const function Document::accessSVGExtensions().
        (WebCore::SVGElement::boundingBox): Not const, calls newly non-const function SVGStyledLocatableElement::getBBox().
        * svg/SVGElement.h:
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::getBBox): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
        (WebCore::SVGLocatable::computeCTM): Argument not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets() on argument.
        (WebCore::SVGLocatable::getTransformToElement): Not const, calls newly non-const function SVGLocatable::getCTM().
        * svg/SVGLocatable.h: Virtual functions SVGLocatable::getBBox(), SVGLocatable::getCTM(), and SVGLocatable::getScreenCTM() not const because various subclass implementations are non-const.
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Virtual function not const because Element implementation is non-const.
        * svg/SVGScriptElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded): Not const, calls non-const function Document::accessSVGExtensions().
        * svg/SVGStyledElement.h:
        * svg/SVGStyledLocatableElement.cpp:
        (WebCore::SVGStyledLocatableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
        (WebCore::SVGStyledLocatableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
        (WebCore::SVGStyledLocatableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
        * svg/SVGStyledLocatableElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
        (WebCore::SVGStyledTransformableElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
        (WebCore::SVGStyledTransformableElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
        (WebCore::SVGStyledTransformableElement::toClipPath): Virtual function not const because SVGUseElement implementation is non-const.
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::getNumberOfChars): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::getComputedTextLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::getSubStringLength): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::getStartPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::getEndPositionOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::getExtentOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::getRotationOfChar): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::getCharNumAtPosition): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::SVGTextContentElement::selectSubString): Not const, calls newly non-const static function SVGTextContentElement::getNumberOfChars().
        * svg/SVGTextContentElement.h:
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::getBBox): Not const, calls newly non-const static function SVGLocatable::getBBox().
        (WebCore::SVGTextElement::getCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
        (WebCore::SVGTextElement::getScreenCTM): Not const, calls newly non-const static function SVGLocatable::computeCTM().
        * svg/SVGTextElement.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::instanceRoot): Not const, calls non-const function Document::updateLayoutIgnorePendingStylesheets().
        (WebCore::isDirectReference):
        (WebCore::SVGUseElement::toClipPath): Not const, calls non-const function Document::accessSVGExtensions().
        * svg/SVGUseElement.h:
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::eventBaseFor): Not const, calls newly non-const function SVGSMILElement::targetElement().
        (WebCore::SVGSMILElement::targetElement): Not const, calls non-const function Document::accessSVGExtensions().
        * svg/animation/SVGSMILElement.h: Virtual function SVGSMILElement::hasValidAttributeType() not const because various subclass implementations are non-const.

2011-07-20  Andy Estes  <aestes@apple.com>

        Fix the Mac build after r91392.

        * WebCore.xcodeproj/project.pbxproj: StyleFlexibleBoxData.h should be a
        private forwarding header of WebCore.

2011-07-20  Jeffrey Pfau  <jpfau@apple.com>

        New Token class for XML
        https://bugs.webkit.org/show_bug.cgi?id=64764

        Reviewed by Adam Barth.

        Refactor HTMLToken into MarkupTokenBase and add new XMLToken

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addSource):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertDoctype):
        (WebCore::HTMLConstructionSite::insertComment):
        (WebCore::HTMLConstructionSite::insertCommentOnDocument):
        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
        (WebCore::HTMLConstructionSite::insertForeignElement):
        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
        * html/parser/HTMLMetaCharsetParser.cpp:
        (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLPreloadScanner::processToken):
        * html/parser/HTMLSourceTracker.cpp:
        (WebCore::HTMLSourceTracker::start):
        (WebCore::HTMLSourceTracker::sourceForToken):
        * html/parser/HTMLToken.h:
        (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
        (WebCore::HTMLToken::appendToName):
        (WebCore::HTMLToken::name):
        (WebCore::HTMLToken::forceQuirks):
        (WebCore::HTMLToken::setForceQuirks):
        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
        (WebCore::AtomicHTMLToken::type):
        (WebCore::AtomicHTMLToken::selfClosing):
        (WebCore::AtomicHTMLToken::characters):
        (WebCore::AtomicHTMLToken::comment):
        (WebCore::AtomicHTMLToken::publicIdentifier):
        (WebCore::AtomicHTMLToken::systemIdentifier):
        (WebCore::AtomicHTMLToken::forceQuirks):
        (WebCore::AtomicHTMLToken::usesName):
        (WebCore::AtomicHTMLToken::usesAttributes):
        * html/parser/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::saveEndTagNameIfNeeded):
        (WebCore::HTMLTokenizer::flushBufferedEndTag):
        (WebCore::HTMLTokenizer::nextToken):
        (WebCore::HTMLTokenizer::haveBufferedCharacterToken):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
        (WebCore::HTMLTreeBuilder::processToken):
        (WebCore::HTMLTreeBuilder::processDoctypeToken):
        (WebCore::HTMLTreeBuilder::processFakeStartTag):
        (WebCore::HTMLTreeBuilder::processFakeEndTag):
        (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
        (WebCore::HTMLTreeBuilder::processStartTag):
        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInRow):
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
        (WebCore::HTMLTreeBuilder::processEndTag):
        (WebCore::HTMLTreeBuilder::processComment):
        (WebCore::HTMLTreeBuilder::processCharacter):
        (WebCore::HTMLTreeBuilder::processEndOfFile):
        (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
        (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
        (WebCore::HTMLTreeBuilder::defaultForInHead):
        (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
        (WebCore::HTMLTreeBuilder::defaultForAfterHead):
        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        * html/parser/HTMLViewSourceParser.cpp:
        (WebCore::HTMLViewSourceParser::updateTokenizerState):
        * html/parser/TextDocumentParser.cpp:
        (WebCore::TextDocumentParser::insertFakePreElement):
        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::filterTokenInitial):
        (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
        (WebCore::XSSAuditor::filterScriptToken):
        (WebCore::XSSAuditor::filterObjectToken):
        (WebCore::XSSAuditor::filterParamToken):
        (WebCore::XSSAuditor::filterEmbedToken):
        (WebCore::XSSAuditor::filterAppletToken):
        (WebCore::XSSAuditor::filterIframeToken):
        (WebCore::XSSAuditor::filterMetaToken):
        (WebCore::XSSAuditor::filterBaseToken):
        (WebCore::XSSAuditor::filterFormToken):
        * xml/parser/MarkupTokenBase.h: Added.
        (WebCore::DoctypeDataBase::DoctypeDataBase):
        (WebCore::MarkupTokenBase::MarkupTokenBase):
        (WebCore::MarkupTokenBase::~MarkupTokenBase):
        (WebCore::MarkupTokenBase::clear):
        (WebCore::MarkupTokenBase::isUninitialized):
        (WebCore::MarkupTokenBase::startIndex):
        (WebCore::MarkupTokenBase::endIndex):
        (WebCore::MarkupTokenBase::setBaseOffset):
        (WebCore::MarkupTokenBase::end):
        (WebCore::MarkupTokenBase::makeEndOfFile):
        (WebCore::MarkupTokenBase::beginStartTag):
        (WebCore::MarkupTokenBase::beginEndTag):
        (WebCore::MarkupTokenBase::ensureIsCharacterToken):
        (WebCore::MarkupTokenBase::beginComment):
        (WebCore::MarkupTokenBase::beginDOCTYPE):
        (WebCore::MarkupTokenBase::appendToCharacter):
        (WebCore::MarkupTokenBase::appendToComment):
        (WebCore::MarkupTokenBase::addNewAttribute):
        (WebCore::MarkupTokenBase::beginAttributeName):
        (WebCore::MarkupTokenBase::endAttributeName):
        (WebCore::MarkupTokenBase::beginAttributeValue):
        (WebCore::MarkupTokenBase::endAttributeValue):
        (WebCore::MarkupTokenBase::appendToAttributeName):
        (WebCore::MarkupTokenBase::appendToAttributeValue):
        (WebCore::MarkupTokenBase::type):
        (WebCore::MarkupTokenBase::selfClosing):
        (WebCore::MarkupTokenBase::setSelfClosing):
        (WebCore::MarkupTokenBase::attributes):
        (WebCore::MarkupTokenBase::eraseCharacters):
        (WebCore::MarkupTokenBase::eraseValueOfAttribute):
        (WebCore::MarkupTokenBase::characters):
        (WebCore::MarkupTokenBase::comment):
        (WebCore::MarkupTokenBase::publicIdentifier):
        (WebCore::MarkupTokenBase::systemIdentifier):
        (WebCore::MarkupTokenBase::setPublicIdentifierToEmptyString):
        (WebCore::MarkupTokenBase::setSystemIdentifierToEmptyString):
        (WebCore::MarkupTokenBase::appendToPublicIdentifier):
        (WebCore::MarkupTokenBase::appendToSystemIdentifier):
        (WebCore::MarkupTokenBase::printString):
        (WebCore::MarkupTokenBase::printAttrs):
        (WebCore::MarkupTokenBase::appendToName):
        (WebCore::MarkupTokenBase::name):
        * xml/parser/XMLToken.h: Added.
        (WebCore::XMLToken::XMLToken):
        (WebCore::XMLToken::clear):
        (WebCore::XMLToken::appendToName):
        (WebCore::XMLToken::name):
        (WebCore::XMLToken::beginDOCTYPE):
        (WebCore::XMLToken::beginXMLDeclaration):
        (WebCore::XMLToken::appendToXMLVersion):
        (WebCore::XMLToken::beginXMLEncoding):
        (WebCore::XMLToken::appendToXMLEncoding):
        (WebCore::XMLToken::setXMLStandalone):
        (WebCore::XMLToken::beginProcessingInstruction):
        (WebCore::XMLToken::appendToProcessingInstructionTarget):
        (WebCore::XMLToken::appendToProcessingInstructionData):
        (WebCore::XMLToken::beginCDATA):
        (WebCore::XMLToken::appendToCDATA):
        (WebCore::XMLToken::beginEntity):
        (WebCore::XMLToken::print):
        (WebCore::XMLToken::XMLDeclarationData::XMLDeclarationData):

2011-07-20  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>

        WebKit crashes on selection when documentElement is removed.
        https://bugs.webkit.org/show_bug.cgi?id=63908

        This patch adds NULL pointer validation for documentElement
        in WebCore::startOfDocument

        Reviewed by Eric Seidel.

        Test: editing/selection/selection-empty-documentElement.html

        * editing/visible_units.cpp:
        (WebCore::startOfDocument):

2011-07-20  Mike Reed  <reed@google.com>

        [skia] use nocheck version of pixel packer when caller already has premultiplied data
        https://bugs.webkit.org/show_bug.cgi?id=64881

        Reviewed by Kenneth Russell.

        No new tests. existing canvas and svg test exercise this

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::putImageData):

2011-07-20  Tony Chang  <tony@chromium.org>

        add new flexbox data to StyleRareNonInheritedData
        https://bugs.webkit.org/show_bug.cgi?id=64765

        Reviewed by David Hyatt.

        Add placeholders for the positive and negative flex values for the
        width and the height.  When we get to the other properties (flex-pack,
        flex-align, etc), we'll add more to the StyleFlexibleBoxData class

        No new tests, these values aren't hooked up to anything yet.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::flexboxWidthPositiveFlex):
        (WebCore::InheritedFlags::flexboxWidthNegativeFlex):
        (WebCore::InheritedFlags::flexboxHeightPositiveFlex):
        (WebCore::InheritedFlags::flexboxHeightNegativeFlex):
        (WebCore::InheritedFlags::setFlexboxWidthPositiveFlex):
        (WebCore::InheritedFlags::setFlexboxWidthNegativeFlex):
        (WebCore::InheritedFlags::setFlexboxHeightPositiveFlex):
        (WebCore::InheritedFlags::setFlexboxHeightNegativeFlex):
        (WebCore::InheritedFlags::initialFlexboxWidthPositiveFlex):
        (WebCore::InheritedFlags::initialFlexboxWidthNegativeFlex):
        (WebCore::InheritedFlags::initialFlexboxHeightPositiveFlex):
        (WebCore::InheritedFlags::initialFlexboxHeightNegativeFlex):
        * rendering/style/StyleAllInOne.cpp:
        * rendering/style/StyleFlexibleBoxData.cpp: Added.
        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
        (WebCore::StyleFlexibleBoxData::operator==):
        * rendering/style/StyleFlexibleBoxData.h: Added.
        (WebCore::StyleFlexibleBoxData::create):
        (WebCore::StyleFlexibleBoxData::copy):
        (WebCore::StyleFlexibleBoxData::operator!=):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-20  Cary Clark  <caryclark@google.com>

        update FontSkia to match platform context convention
        https://bugs.webkit.org/show_bug.cgi?id=64795

        Reviewed by James Robinson.

        No new tests. This platform variant is not
        built at this time.

        * platform/graphics/skia/FontSkia.cpp:
        (WebCore::Font::drawGlyphs):
        Call makeGrContextCurrent instead of the obsolete prepareForSoftwareDraw.

2011-07-20  Brian Weinstein  <bweinstein@apple.com>

        Build fix after r91384. Add an ASSERT_UNSED for the timer.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):

2011-07-20  Tony Chang  <tony@chromium.org>

        Stale pointer due to floats not removed (flexible box display)
        https://bugs.webkit.org/show_bug.cgi?id=64603

        Reviewed by David Hyatt.

        Flexbox items should avoid floats.

        Test: fast/flexbox/horizontal-box-float-crash.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::avoidsFloats):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::isDeprecatedFlexItem):

2011-07-20  Scott Graham  <scottmg@chromium.org>

        Reviewed by Antti Koivisto.

        REGRESSION (r39725?): Resources removed from document can not be freed
        until the document is deleted
        https://bugs.webkit.org/show_bug.cgi?id=61006

        Upon completing a load start a Timer to iterate through
        CachedResourceLoader's m_documentResources map to check for any items
        that have only one reference (thus being the reference in the map
        itself). The map should really be weak, but because the
        CachedResourceHandle achieves bookkeeping work in addition to
        reference counting, this is a simpler and more localized way to free
        the used memory while maintaining the other behaviour (when
        CachedResource is used as proxy).

        No new layout tests, but with this patch the testcase at
        https://bugs.webkit.org/attachment.cgi?id=93850 should no longer
        consume 400MB of ram on load.

        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::getHandleCount):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::loadDone):
        (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
        * loader/cache/CachedResourceLoader.h:

2011-07-20  James Robinson  <jamesr@chromium.org>

        Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
        https://bugs.webkit.org/show_bug.cgi?id=64841

        Reviewed by Mark Rowe.

        http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
        monotonic clock instead of WTF::currentTime().  This broke many plugin tests on WebKit2 for reasons that are
        unclear.  This reverts everything except for WebCore::ThreadTimers back to the previous behavior.

        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerSharedTimer::setFireInterval):

2011-07-20  James Simonsen  <simonjam@chromium.org>

        Refuse to run scripts inside the SVG shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=64776

        This is a rollback of r90970. The hack that was removed there was also protecting us from
        two further bugs that have been discovered. So, the hack is going back in.

        Reviewed by Tony Gentilcore.

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::prepareScript):

2011-07-20  David Levin  <levin@chromium.org>

        gtk shouldn't have global variables for timers.
        https://bugs.webkit.org/show_bug.cgi?id=64871

        Reviewed by Martin Robinson.

        No new functionality exposed so no new tests.

        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::scheduleScratchBufferPurge): Changed global variable to DEFINE_STATIC_LOCAL.
        * platform/gtk/WidgetRenderingContext.cpp:
        (WebCore::scheduleScratchBufferPurge): Ditto.

2011-07-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        [GTK] REGRESSION(r86436): does not add newlines when return is pressed with some modifiers held
        https://bugs.webkit.org/show_bug.cgi?id=64867

        Reviewed by Martin Robinson.

        * platform/gtk/KeyBindingTranslator.cpp:
        (WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent):
        special-case enter keys so that their commands are returned
        whatever the modifiers state.

2011-07-20  Mike Reed  <reed@google.com>

        [skia] disable lcd text when drawing on a transparent layer or canvas
        https://bugs.webkit.org/show_bug.cgi?id=64873

        Reviewed by Stephen White.

        No new tests. canvas sites illustrate the bug. DRT disables LCD
        so existing layouttests are not affected by this change.

        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::isCanvasMultiLayered):
        (WebCore::disableTextLCD):
        (WebCore::setupPaintForFont):
        (WebCore::paintSkiaText):

2011-07-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: add keyboard shortcuts to load/save operations in Timeline panel.
        https://bugs.webkit.org/show_bug.cgi?id=64864

        Export/import were renamed to save/load.
        Ctrl|Meta-S/Ctrl|Meta-O shortcuts were added for Save and Load operations.
        Ctrl|Meta-E shortcut toggles Record button;
        Ctrl|Meta-Shift-F shortcut toggles short records filter button;
        All the shortcuts were added to the shortcuts help screen.
        There was a problem with saving empty data.

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._registerShortcuts):
        (WebInspector.TimelinePanel.prototype._createFileSelector):
        (WebInspector.TimelinePanel.prototype._contextMenu):
        (WebInspector.TimelinePanel.prototype._saveToFile):
        (WebInspector.TimelinePanel.prototype._loadFromFile):
        (WebInspector.TimelineModel.prototype._loadNextChunk):
        (WebInspector.TimelineModel.prototype._loadFromFile):
        (WebInspector.TimelineModel.prototype._loadFromFile.onError):
        (WebInspector.TimelineModel.prototype._saveToFile):

2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>

        Speculative build fix after r91355.

        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):

2011-07-20  Tommy Widenflycht  <tommyw@google.com>

        MediaStream API: Update the tracklists to the latest spec
        https://bugs.webkit.org/show_bug.cgi?id=64791

        Reviewed by Tony Gentilcore.

        The test harness will be forthcoming very soon now, introducing tests for this.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * dom/DOMAllInOne.cpp:
        * dom/EventTarget.cpp:
        * dom/EventTarget.h:
        * dom/ExclusiveTrackList.cpp: Removed.
        * dom/LocalMediaStream.cpp:
        (WebCore::LocalMediaStream::create):
        (WebCore::LocalMediaStream::LocalMediaStream):
        (WebCore::LocalMediaStream::streamEnded):
        (WebCore::LocalMediaStream::stop):
        * dom/LocalMediaStream.h:
        (WebCore::LocalMediaStream::isLocalMediaStream):
        * dom/LocalMediaStream.idl:
        * dom/MediaStream.cpp:
        (WebCore::MediaStream::create):
        (WebCore::MediaStream::MediaStream):
        * dom/MediaStream.h:
        (WebCore::MediaStream::tracks):
        * dom/MediaStream.idl:
        * dom/MediaStreamTrack.cpp: Copied from Source/WebCore/dom/ExclusiveTrackList.h.
        (WebCore::MediaStreamTrack::create):
        (WebCore::MediaStreamTrack::MediaStreamTrack):
        (WebCore::MediaStreamTrack::~MediaStreamTrack):
        (WebCore::MediaStreamTrack::kind):
        (WebCore::MediaStreamTrack::label):
        (WebCore::MediaStreamTrack::enabled):
        (WebCore::MediaStreamTrack::setEnabled):
        * dom/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MultipleTrackList.h.
        * dom/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/ExclusiveTrackList.idl.
        * dom/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/ExclusiveTrackList.h.
        (WebCore::MediaStreamTrackList::create):
        (WebCore::MediaStreamTrackList::MediaStreamTrackList):
        (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
        (WebCore::MediaStreamTrackList::length):
        (WebCore::MediaStreamTrackList::item):
        * dom/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/TrackList.idl.
        (WebCore::MediaStreamTrackList::associateStream):
        * dom/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MultipleTrackList.idl.
        * dom/MultipleTrackList.cpp: Removed.
        * dom/TrackList.cpp: Removed.
        * dom/TrackList.h: Removed.
        * page/MediaStreamClient.h:
        * page/MediaStreamController.cpp:
        (WebCore::MediaStreamController::setMediaStreamTrackEnabled):
        (WebCore::MediaStreamController::streamGenerated):
        * page/MediaStreamController.h:
        * page/MediaStreamFrameController.cpp:
        (WebCore::MediaStreamFrameController::setMediaStreamTrackEnabled):
        (WebCore::MediaStreamFrameController::streamGenerated):
        * page/MediaStreamFrameController.h:

2011-07-20  Andrew Wason  <rectalogic@rectalogic.com>

        [Qt] Make OpenGL symbol resolver transparent
        https://bugs.webkit.org/show_bug.cgi?id=57154

        Reviewed by Noam Rosenthal.

        Adopting new resolver should be transparent,
        existing tests should apply.

        Adopt OpenGLShims symbol resolver from cairo for Qt.
        Update TextureMapperGL and Qt GraphicsContext3D to use the resolver.

        * WebCore.pro:
        * platform/graphics/cairo/OpenGLShims.cpp:
        (WebCore::getProcAddress):
        * platform/graphics/cairo/OpenGLShims.h:
        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::beginPainting):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
        (WebCore::GraphicsContext3DInternal::reshape):
        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
        (WebCore::GraphicsContext3DInternal::paint):
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::shaderSource):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):

2011-07-20  Steve Block  <steveblock@google.com>

        [V8] JavaMethodJobject::signature() incorrectly encodes arguments of type JavaTypeString
        https://bugs.webkit.org/show_bug.cgi?id=62389

        Reviewed by Tony Gentilcore.

        Covered by existing tests.

        * bridge/jni/JavaMethodJobject.cpp:
        (JavaMethodJobject::signature):

2011-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: sidebar width sometimes is not restored
        https://bugs.webkit.org/show_bug.cgi?id=64869

        Make sure sidebar width is restored even if window initial size has not been set yet.

        Reviewed by Pavel Feldman.

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.show):
        (WebInspector.Panel.prototype.updateSidebarWidth):

2011-07-20  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: remove dead code (WebInspector.drawLoadingPieChart)
        https://bugs.webkit.org/show_bug.cgi?id=64868

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/inspector.js:

2011-07-20  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: move Network log view to an iframe
        https://bugs.webkit.org/show_bug.cgi?id=62006

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onWindowMessage):
        * inspector/front-end/IFrameView.js: Added.
        (WebInspector.IFrameView):
        (WebInspector.IFrameView.prototype._innerShow):
        (WebInspector.IFrameView.prototype._innerHide):
        (WebInspector.IFrameView.prototype.attach):
        (WebInspector.IFrameView.prototype._attachIFrameAndInitialize):
        (WebInspector.IFrameView.prototype.addStylesheets):
        (WebInspector.IFrameView.prototype._setDocumentType):
        (WebInspector.IFrameView.prototype._propagateBodyStyle):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView):
        (WebInspector.NetworkLogView.prototype.initializeView):
        (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
        (WebInspector.NetworkLogView.prototype._createTable):
        (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
        (WebInspector.NetworkLogView.prototype.show):
        (WebInspector.NetworkLogView.prototype._reset):
        (WebInspector.NetworkLogView.prototype.switchToDetailedView):
        (WebInspector.NetworkLogView.prototype.switchToBriefView):
        (WebInspector.NetworkLogView.prototype.get _setLargerResources):
        (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
        (WebInspector.NetworkLogView.prototype.performSearch):
        (WebInspector.NetworkLogView.prototype.searchCanceled):
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._onSearchCountUpdated):
        (WebInspector.NetworkDataGridNode.prototype.select):
        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype._positionElement):
        * inspector/front-end/View.js:
        (WebInspector.View.prototype._innerShow):
        (WebInspector.View.prototype.show):
        (WebInspector.View.prototype._innerHide):
        (WebInspector.View.prototype.hide):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/dataGrid.css: Added.
        * inspector/front-end/inspectorCommon.css: Added.
        * inspector/front-end/networkLogView.css: Copied from Source/WebCore/inspector/front-end/networkPanel.css.

2011-07-20  Steve Block  <steveblock@google.com>

        JobjectWrapper should inherit from RefCounted rather than implementing its own ref counting
        https://bugs.webkit.org/show_bug.cgi?id=55786

        Also adds static create() method and cleans up use of data members.

        Reviewed by Tony Gentilcore.

        No new tests, refactoring only.

        * bridge/jni/JobjectWrapper.cpp:
        (JobjectWrapper::JobjectWrapper):
        * bridge/jni/JobjectWrapper.h:
        (JSC::Bindings::JobjectWrapper::create):
        * bridge/jni/jsc/JavaArrayJSC.cpp:
        (JavaArray::JavaArray):
        * bridge/jni/jsc/JavaArrayJSC.h:
        (JSC::Bindings::JavaArray::javaArray):
        * bridge/jni/jsc/JavaFieldJSC.cpp:
        (JavaField::JavaField):
        (JavaField::dispatchValueFromInstance):
        (JavaField::dispatchSetValueToInstance):
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::JavaInstance):
        (JavaInstance::getClass):
        (JavaInstance::stringValue):
        (JavaInstance::numberValue):
        (JavaInstance::booleanValue):
        (JavaInstance::invokeMethod):
        * bridge/jni/jsc/JavaInstanceJSC.h:
        (JSC::Bindings::JavaInstance::javaInstance):
        * bridge/jni/v8/JavaFieldJobjectV8.cpp:
        (JavaFieldJobject::JavaFieldJobject):
        * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
        (JavaInstanceJobject::JavaInstanceJobject):
        * bridge/jni/v8/JavaInstanceJobjectV8.h:
        (JSC::Bindings::JavaInstanceJobject::javaInstance):

2011-07-20  Kentaro Hara  <haraken@google.com>

        The value of a number input form continues to increase/decrease even if we disable the input form.
        https://bugs.webkit.org/show_bug.cgi?id=64786

        Reviewed by Kent Tamura.

        The value of the number input form continues to increase/decrease in the following scenario:
        (1) Click the spin button of the input form.
        (2) Hook the 'mouseup' event and disable the input form.
        (3) Enable the input form after some delay (e.g. 50ms).

        What is happening above is as follows:
        (1) When the 'mousedown' event happens, the repeating timer of the spin button starts.
        (2) If the input form is not disabled, the repeating timer stops at the 'mouseup' event.
        However, if the input form is disabled, the 'mouseup' event is ignored, failing to stop
        the repeating timer.
        (3) The value continues to increase/decrease, since the repeating timer is still working.

        This patch stops the repeating timer when the input form gets disabled or readonly.

        Test: fast/forms/spin-button-gets-disabled-or-readonly.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Calls disabledAttributeChanged() when 'disabled' attribute gets changed. Calls readonlyAttributeChanged() when 'readonly' attribute gets changed.
        * html/InputType.cpp:
        (WebCore::InputType::disabledAttributeChanged): Stops the repeating timer and releases mouse capturing.
        (WebCore::InputType::readonlyAttributeChanged): Ditto.
        * html/InputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::disabledAttributeChanged): Ditto.
        (WebCore::TextFieldInputType::readonlyAttributeChanged): Ditto.
        * html/TextFieldInputType.h:
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::SpinButtonElement::detach): Replased the code with releaseCapture().
        (WebCore::SpinButtonElement::defaultEventHandler): Ditto.
        (WebCore::SpinButtonElement::releaseCapture): Stops the repeating timer and releases mouse capturing.
        * html/shadow/TextControlInnerElements.h:

2011-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91285.
        http://trac.webkit.org/changeset/91285
        https://bugs.webkit.org/show_bug.cgi?id=64854

        "Assertion hit in svg/custom/crash-textPath-attributes.html"
        (Requested by mihnea on #webkit).

        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):

2011-07-20  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: don't send Console.enable messages in case of workers
        https://bugs.webkit.org/show_bug.cgi?id=64853

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.js:

2011-07-20  Boris Smus  <smus@chromium.org>

        Add a resourceLink audit formatter to make it possible for devtools
        extensions to link to specific lines in HTML/JS/CSS resources from the
        audit results panel.

        https://bugs.webkit.org/show_bug.cgi?id=64315

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/AuditFormatters.js: resourceLink implementation
        * inspector/front-end/ExtensionAPI.js: registering resourceLink FormattedValue


2011-07-20  Kent Tamura  <tkent@chromium.org>

        input type=number doesn't render correctly in rtl.
        https://bugs.webkit.org/show_bug.cgi?id=59703

        Reviewed by Ryosuke Niwa.

        Test: fast/forms/input-appearance-number-rtl.html

        * css/html.css:
        (input[type="search"]::-webkit-textfield-decoration-container):
        Set "direction: ltr;" only for type=search because we'd like to
        respect text direction except type=search.
        (input[x-webkit-speech][di=rtl]::-webkit-input-speech-button):
        Remove a workaround.
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        Support for RTL in the spin button location adjustment.

2011-07-19  Steve Lacey  <sjl@chromium.org>

        [chromium] Media player controls do not fade out.
        https://bugs.webkit.org/show_bug.cgi?id=64837

        Media controls were not fading out when the mouse leaves the video
        due to underlying changes in webkit media controls.
        Fix was to copy missing code from MediaControlRootElement to
        MediaControlRootElementChromium.

        Reviewed by Dimitri Glazkov.

        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
        (WebCore::MediaControlRootElementChromium::playbackProgressed):
        (WebCore::MediaControlRootElementChromium::containsRelatedTarget):
        (WebCore::MediaControlRootElementChromium::defaultEventHandler):
        * html/shadow/MediaControlRootElementChromium.h:

2011-07-19  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyCounterIncrement and CounterReset in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=64846

        Reviewed by Dimitri Glazkov.

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyCounter
        Added class to handle counter properties.
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Initialize counter property handlers.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove old handlers.

2011-07-19  Kent Tamura  <tkent@chromium.org>

        REGRESSION(r89004): Video pauses and never resumes playing if scrubbed during playback.
        https://bugs.webkit.org/show_bug.cgi?id=64314

        Reviewed by Sam Weinig.

        No new tests because it's hard to make a non-flaky test for this behavior.

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent):
        Don't call SliderThumbElement::dragFrom() for events on the thumb.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler):
        Do not call setDefaultHandled() for mouse events in order to
        propagate them to ancestor elements.

2011-07-19  Matthew Delaney  <mdelaney@apple.com>

        Add fast path for ImageBuffer::draw
        https://bugs.webkit.org/show_bug.cgi?id=64535

        Reviewed by Simon Fraser.

        No new tests. This patch doesn't change behavior; current tests are sufficient.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage): Moved the main method version next to wrapper versions.

        * platform/graphics/ImageBuffer.h:
        1) Added BackingStoreCopy enum for choosing to copy backing store or not in copyImage().
        2) Added copyNativeImage() behind USE(CG) - same as copyImage() but gives NativeImagePtr.
        * platform/graphics/cg/ImageBufferCG.cpp: Added new methods described above.

        * platform/graphics/GraphicsContext.h: Adding drawNativeImage() for fast draw path.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawNativeImage): Added. Draws a nativeImagePtr into context.

        * platform/graphics/Image.h: Added imageWithColorSpace behind CG platform ifdef
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw): Refactored out actual image drawing code into GraphicsContext,
        so that it can be used by more than just BitmapImage without having to copy code.
        (WebCore::Image::imageWithColorSpace): Made into an Image class function.

        Updated copyImage() to for BackingStoreCopy:
        * platform/graphics/qt/ImageBufferQt.cpp
        * platform/graphics/filters/FETile.cpp
        * platform/graphics/cairo/ImageBufferCairo.cpp
        * platform/graphics/skia/ImageBufferSkia.cpp
        * platform/graphics/wx/ImageBufferWx.cpp
        * platform/graphics/wince/ImageBufferWinCE.cpp
        * svg/SVGFEImageElement.cpp
        * svg/graphics/SVGImage.cpp
        * html/HTMLCanvasElement.cpp
        * html/canvas/WebGLRenderingContext.cpp
        * rendering/svg/RenderSVGResourcePattern.cpp

2011-07-19  Leo Yang  <leoyang.webkit@gmail.com>

        SVG: Missing implementation of <altGlyphDef>, <altGlyphItem> and <glyphRef>
        https://bugs.webkit.org/show_bug.cgi?id=60850

        Reviewed by Nikolas Zimmermann.

        SVG spec: http://www.w3.org/TR/SVG/text.html#AlternateGlyphDefinitions.
        This patch is to implement SVG <altGlyphDef>, <altGlyphItem> and <glyphRef>
        elements for alternative glyph features.

        NOTE: x, y, dx, dy, format and glyphRef attributes on <glyphRef> are not
        honored yet, so neither are the reaction of dynamic change of them. They
        will be honored in separated patches.

        Test: svg/W3C-SVG-1.1/text-altglyph-01-b.svg
        With this patch this test works as expected.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        * bindings/objc/DOMSVG.h:
        * page/DOMWindow.idl:
        * svg/SVGAllInOne.cpp:
        * svg/SVGAltGlyphDefElement.cpp: Added.
        (WebCore::SVGAltGlyphDefElement::SVGAltGlyphDefElement):
        (WebCore::SVGAltGlyphDefElement::create):
        (WebCore::SVGAltGlyphDefElement::hasValidGlyphElements):
        * svg/SVGAltGlyphDefElement.h: Added.
        * svg/SVGAltGlyphDefElement.idl: Added.
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::hasValidGlyphElements):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAltGlyphItemElement.cpp: Added.
        (WebCore::SVGAltGlyphItemElement::SVGAltGlyphItemElement):
        (WebCore::SVGAltGlyphItemElement::create):
        (WebCore::SVGAltGlyphItemElement::hasValidGlyphElements):
        * svg/SVGAltGlyphItemElement.h: Added.
        * svg/SVGAltGlyphItemElement.idl: Added.
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::applySVGGlyphSelection):
        * svg/SVGGlyphRefElement.cpp: Added.
        (WebCore::SVGGlyphRefElement::SVGGlyphRefElement):
        (WebCore::SVGGlyphRefElement::create):
        (WebCore::SVGGlyphRefElement::hasValidGlyphElement):
        (WebCore::SVGGlyphRefElement::parseMappedAttribute):
        (WebCore::SVGGlyphRefElement::glyphRef):
        (WebCore::SVGGlyphRefElement::setGlyphRef):
        (WebCore::SVGGlyphRefElement::setX):
        (WebCore::SVGGlyphRefElement::setY):
        (WebCore::SVGGlyphRefElement::setDx):
        (WebCore::SVGGlyphRefElement::setDy):
        * svg/SVGGlyphRefElement.h: Added.
        * svg/SVGGlyphRefElement.idl: Added.
        * svg/svgtags.in:

2011-07-19  Adam Roben  <aroben@apple.com>

        Remove some unused code in FormDataStreamCFNet

        Rubber-stamped by Steve Falkenburg.

        * platform/network/cf/FormDataStreamCFNet.cpp:

2011-07-19  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r91136-r91146): 40 tests failing on Windows 7 Release (Tests)
        https://bugs.webkit.org/show_bug.cgi?id=64808

        Reviewed by Adam Roben.

        Initializing m_uncommittedChanges to a non-zero value
        caused the first call to noteLayerPropertyChanged() to
        not call m_client->notifySyncRequired(). This resulted in
        animations never getting committed on Windows, which broke
        a lot of tests.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::GraphicsLayerCA):

2011-07-19  James Robinson  <jamesr@chromium.org>

        [chromium] LayerRendererChromium shouldn't be a friend of RenderSurfaceChromium
        https://bugs.webkit.org/show_bug.cgi?id=64834

        Reviewed by Kenneth Russell.

        Uses setters and getters to access RenderSurfaceChromium's private member variables instead of directly
        accessing them via a friend declaration. This cleans up a minor code smell and will be helpful for future
        refactoring.

        Refactor only, no change in behavior.  Tested by compositing/ tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayers):
        (WebCore::LayerRendererChromium::paintLayerContents):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::updateCompositorResources):
        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::setScissorToRect):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::clearLayerList):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::layerList):
        (WebCore::RenderSurfaceChromium::contentRect):
        (WebCore::RenderSurfaceChromium::setContentRect):
        (WebCore::RenderSurfaceChromium::drawOpacity):
        (WebCore::RenderSurfaceChromium::setDrawOpacity):
        (WebCore::RenderSurfaceChromium::drawTransform):
        (WebCore::RenderSurfaceChromium::setDrawTransform):
        (WebCore::RenderSurfaceChromium::maskLayer):
        (WebCore::RenderSurfaceChromium::setMaskLayer):
        (WebCore::RenderSurfaceChromium::originTransform):
        (WebCore::RenderSurfaceChromium::setOriginTransform):
        (WebCore::RenderSurfaceChromium::replicaDrawTransform):
        (WebCore::RenderSurfaceChromium::setReplicaDrawTransform):
        (WebCore::RenderSurfaceChromium::scissorRect):
        (WebCore::RenderSurfaceChromium::setScissorRect):
        (WebCore::RenderSurfaceChromium::skipsDraw):
        (WebCore::RenderSurfaceChromium::setSkipsDraw):
        (WebCore::RenderSurfaceChromium::contentsTexture):

2011-07-19  Jessie Berlin  <jberlin@apple.com>

        GTK + QT build fix.

        Rubber-stamped by Daniel Bates and Alexey Proskuryakov.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didSendData):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFail):
        (WebCore::ResourceLoader::wasBlocked):
        (WebCore::ResourceLoader::cannotShowURL):
        (WebCore::ResourceLoader::shouldUseCredentialStorage):
        (WebCore::ResourceLoader::willCacheResponse):

2011-07-19  Chris Rogers  <crogers@google.com>

        Fix web audio compile on mac port
        https://bugs.webkit.org/show_bug.cgi?id=64836

        Unreviewed build fix.

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        (WebCore::JSAudioContext::createBuffer):

2011-07-19  Jessie Berlin  <jberlin@apple.com>

        Work towards determining the cause of frequent crashes due to null frame below
        ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
        https://bugs.webkit.org/show_bug.cgi?id=62764

        Reviewed by Alexey Proskuryakov.

        Make these unexpected cases crash in the WebKit nightlies so we can gather more
        information and potentially find a repro case.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didSendData):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFail):
        (WebCore::ResourceLoader::wasBlocked):
        (WebCore::ResourceLoader::cannotShowURL):
        (WebCore::ResourceLoader::shouldUseCredentialStorage):
        (WebCore::ResourceLoader::willCacheResponse):

2011-07-19  Dan Bernstein  <mitz@apple.com>

        Nothing printed when specifying a very large maximum layout width
        https://bugs.webkit.org/show_bug.cgi?id=64831

        Reviewed by Beth Dakin.

        I am not adding a test because the DumpRenderTree printing test machinery is based on PrintContext,
        which does not exercise the code path on which this bug lies.

        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutForPagination): Fixed an integer overflow.

2011-07-19  Nate Chapin  <japhet@chromium.org>

        [V8] Wait until no v8 context is on the stack before
        cancelling pending indexed db transactions.
        https://bugs.webkit.org/show_bug.cgi?id=64552

        Reviewed by Adam Barth.

        Test: storage/indexeddb/transaction-abort-with-js-recursion.html

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::didLeaveScriptContext):

2011-07-19  MORITA Hajime  <morrita@google.com>

        Crash in CompositeEditCommand::replaceTextInNodePreservingMarkers.
        https://bugs.webkit.org/show_bug.cgi?id=64738

        Reviewed by Ryosuke Niwa.

        Test: editing/undo/replace-text-in-node-preserving-markers-crash.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::copyMarkers):
        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):

2011-07-19  Mike West  <mkwst@chromium.org>

        Sending a `Ping-From` header for cross-origin pings from non-HTTPS documents.
        https://bugs.webkit.org/show_bug.cgi?id=64789

        Also a drive-by cleanup of whitespace.

        Reviewed by Nate Chapin.

        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        (WebCore::PingLoader::sendPing):

2011-07-15  Luke Zarko  <lukezarko@gmail.com>

       Bring V8's SerializedScriptValue implementation up to date.

        https://bugs.webkit.org/show_bug.cgi?id=63481

        Reviewed by David Levin.
        
        The HTML5 Structured Clone algorithm (http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data) has been updated since the V8 version of SerializedScriptValue was first implemented. This patch aims to bring this implementation up to date. It:
        
        - Introduces the new HTML5 DOM error codes for TIMEOUT_ERR, INVALID_NODE_TYPE_ERR, DATA_CLONE_ERR
        - Handles cyclic structures and equality of reference preservation for cloned values
        - Allows DataViews to be constructed on the native side using the existing wrapper techniques
        - Amends tests and introduces new ones to check for correctness (the bulk of the patch)
        - Tolerates the old version of the serialized object format
        
        The patch permits the cloning of JavaScript typed arrays. This functionality is in active use already and was supported (somewhat inefficiently) by the existing code through an artifact of implementation.

        Tests: fast/dom/Window/window-postmessage-clone-deep-array.html
               fast/dom/Window/window-postmessage-clone-really-deep-array.html
               fast/dom/Window/window-postmessage-clone.html
               fast/canvas/webgl/array-message-passing.html

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::V8ObjectMap::Writer::writeVersion):
        (WebCore::V8ObjectMap::Writer::writeArrayBuffer):
        (WebCore::V8ObjectMap::Writer::writeArrayBufferView):
        (WebCore::V8ObjectMap::Writer::writeObjectReference):
        (WebCore::V8ObjectMap::Writer::writeReferenceCount):
        (WebCore::V8ObjectMap::Writer::writeGenerateFreshObject):
        (WebCore::V8ObjectMap::Writer::writeGenerateFreshArray):
        (WebCore::V8ObjectMap::Writer::doWriteArrayBuffer):
        (WebCore::V8ObjectMap::Serializer::Serializer):
        (WebCore::V8ObjectMap::Serializer::serialize):
        (WebCore::V8ObjectMap::Serializer::StateBase::execDepth):
        (WebCore::V8ObjectMap::Serializer::AbstractObjectState::AbstractObjectState):
        (WebCore::V8ObjectMap::Serializer::AbstractObjectState::advance):
        (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
        (WebCore::V8ObjectMap::Serializer::execDepth):
        (WebCore::V8ObjectMap::Serializer::push):
        (WebCore::V8ObjectMap::Serializer::pop):
        (WebCore::V8ObjectMap::Serializer::handleError):
        (WebCore::V8ObjectMap::Serializer::writeAndGreyArrayBufferView):
        (WebCore::V8ObjectMap::Serializer::writeArrayBuffer):
        (WebCore::V8ObjectMap::Serializer::greyObject):
        (WebCore::V8ObjectMap::Serializer::doSerialize):
        (WebCore::V8ObjectMap::Reader::Reader):
        (WebCore::V8ObjectMap::Reader::read):
        (WebCore::V8ObjectMap::Reader::readVersion):
        (WebCore::V8ObjectMap::Reader::setVersion):
        (WebCore::V8ObjectMap::Reader::undoReadTag):
        (WebCore::V8ObjectMap::Reader::readArrayBufferViewSubTag):
        (WebCore::V8ObjectMap::Reader::doReadArrayBuffer):
        (WebCore::V8ObjectMap::Reader::readArrayBuffer):
        (WebCore::V8ObjectMap::Reader::readArrayBufferView):
        (WebCore::V8ObjectMap::Deserializer::Deserializer):
        (WebCore::V8ObjectMap::Deserializer::deserialize):
        (WebCore::V8ObjectMap::Deserializer::newArray):
        (WebCore::V8ObjectMap::Deserializer::consumeTopOfStack):
        (WebCore::V8ObjectMap::Deserializer::completeArray):
        (WebCore::V8ObjectMap::Deserializer::newObject):
        (WebCore::V8ObjectMap::Deserializer::completeObject):
        (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
        (WebCore::V8ObjectMap::Deserializer::pushObjectReference):
        (WebCore::V8ObjectMap::Deserializer::tryGetObjectFromObjectReference):
        (WebCore::V8ObjectMap::Deserializer::objectReferenceCount):
        (WebCore::V8ObjectMap::Deserializer::openComposite):
        (WebCore::V8ObjectMap::Deserializer::closeComposite):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/V8Binding.cpp:
        (WebCore::isHostObject):
        * bindings/v8/V8Binding.h:
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::constructorCallback):
        * dom/DOMCoreException.idl:
        * dom/ExceptionCode.cpp:
        * dom/ExceptionCode.h:
        * html/canvas/ArrayBuffer.cpp:
        (WebCore::ArrayBuffer::create):
        * html/canvas/ArrayBuffer.h:
        * html/canvas/DataView.cpp:
        (WebCore::DataView::create):
        * html/canvas/DataView.h:

2011-07-19  Simon Fraser  <simon.fraser@apple.com>

        Possible recursion in GraphicsLayerCA::updateGeometry()
        https://bugs.webkit.org/show_bug.cgi?id=64815

        Reviewed by Sam Weinig.
        
        It was possible to recurse via updateGeometry/swapFromOrToTiledLayer/
        updateContentsScale because updateGeometry() and updateContentsScale()
        used different sizes; updateGeometry() used the scaled size, while
        updateContentsScale() used the unscaled size.
        
        Always use the unscaled size; the scaled size will be at most a couple
        of pixels bigger, and our threshold is not close to the max texture
        size limit, so using the slightly smaller size is OK.

        Test: compositing/scaling/tiled-layer-recursion.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateGeometry):
        (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
        (WebCore::GraphicsLayerCA::updateContentsScale):
        (WebCore::GraphicsLayerCA::requiresTiledLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:

2011-07-19  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Parse -webkit-region-overflow property
        https://bugs.webkit.org/show_bug.cgi?id=64444

        Reviewed by David Hyatt.

        Test: fast/regions/webkit-region-overflow-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator RegionOverflow):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::regionOverflow):
        (WebCore::InheritedFlags::setRegionOverflow):
        (WebCore::InheritedFlags::initialRegionOverflow):
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-19  Mihnea Ovidenie  <mihnea@adobe.com>

        hover then un-hover makes state change
        https://bugs.webkit.org/show_bug.cgi?id=56401

        When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
        block with inline children. If it is, then we should change the insertion point to the first child of the
        anonymous block, otherwise the 'before' pseudo-element ends up in a different block.

        Reviewed by David Hyatt.

        Test: fast/dynamic/hover-before-position-after-style-change.html

        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent):

2011-07-19  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyWebkitPerspectiveOrigin in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=64784

        Reviewed by Simon Fraser.

        No new tests / refactoring.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-07-19  Chris Rogers  <crogers@google.com>

        Implement WaveShaperNode for Web Audio API
        https://bugs.webkit.org/show_bug.cgi?id=64644

        Reviewed by Kenneth Russell.
        
        No new tests since audio API is not yet implemented.

        * DerivedSources.make:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWaveShaperNodeCustom.cpp: Added.
        (WebCore::JSWaveShaperNode::setCurve):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createWaveShaper):
        * webaudio/AudioContext.h:
        * webaudio/AudioContext.idl:
        * webaudio/AudioNode.h:
        * webaudio/WaveShaperDSPKernel.cpp: Added.
        (WebCore::WaveShaperDSPKernel::process):
        * webaudio/WaveShaperDSPKernel.h: Added.
        (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
        (WebCore::WaveShaperDSPKernel::reset):
        (WebCore::WaveShaperDSPKernel::waveShaperProcessor):
        * webaudio/WaveShaperNode.cpp: Added.
        (WebCore::WaveShaperNode::WaveShaperNode):
        (WebCore::WaveShaperNode::setCurve):
        (WebCore::WaveShaperNode::curve):
        * webaudio/WaveShaperNode.h: Added.
        (WebCore::WaveShaperNode::create):
        (WebCore::WaveShaperNode::waveShaperProcessor):
        * webaudio/WaveShaperNode.idl: Added.
        * webaudio/WaveShaperProcessor.cpp: Added.
        (WebCore::WaveShaperProcessor::WaveShaperProcessor):
        (WebCore::WaveShaperProcessor::~WaveShaperProcessor):
        (WebCore::WaveShaperProcessor::createKernel):
        (WebCore::WaveShaperProcessor::setCurve):
        (WebCore::WaveShaperProcessor::process):
        * webaudio/WaveShaperProcessor.h: Added.
        (WebCore::WaveShaperProcessor::curve):

2011-07-19  Robert Hogan  <robert@webkit.org>

        REGRESSION: Incorrect layout at recline-online.com
        https://bugs.webkit.org/show_bug.cgi?id=64030

        Reviewed by David Hyatt.

        http://trac.webkit.org/changeset/68362 dropped the check for cases
        where the render box is floating or inline. When the box is left or right
        aligned it is considered to be floating and needs to its margins set appropriately.

        Test: fast/table/align-right-within-left-aligned-div.html
              created by Dominic Cooney <dominicc@chromium.org>

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeInlineDirectionMargins):

2011-07-19  Abhishek Arya  <inferno@chromium.org>

        Crash when removing unrenderered nodes in replacement fragment.
        https://bugs.webkit.org/show_bug.cgi?id=64801

        Reviewed by Ryosuke Niwa.

        Test: editing/pasteboard/replacement-fragment-remove-unrendered-node-crash.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::removeUnrenderedNodes):

2011-07-19  Rob Buis  <rbuis@rim.com>

        https://bugs.webkit.org/show_bug.cgi?id=64673
        REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/styling-pres-02-f.html

        Reviewed by Nikolas Zimmermann.

        Prevent calling back to the owning SVGTRefElement upon handling DOMSubtreeModified events.

        Test: svg/W3C-SVG-1.1-SE/styling-pres-02-f.svg

        * svg/SVGTRefElement.cpp:
        (WebCore::SubtreeModificationEventListener::handleEvent):

2011-07-19  Tony Chang  <tony@chromium.org>

        use more specific types in CSSFlexValue
        https://bugs.webkit.org/show_bug.cgi?id=64763

        Reviewed by Ojan Vafai.

        No new tests because no change in functionality.

        * css/CSSFlexValue.h:
        (WebCore::CSSFlexValue::create):
        (WebCore::CSSFlexValue::isFlexValue): Make it possible to tell if
            we're a flex value or not.  Will be needed when we're copying
            values to RenderStyle.
        (WebCore::CSSFlexValue::positiveFlex): Use floats for positive and
            negative flex because in the render code, we use floats.
        (WebCore::CSSFlexValue::negativeFlex): Add accessors for these since
            we'll need it when reading the flex values.
        (WebCore::CSSFlexValue::preferredSize):
        (WebCore::CSSFlexValue::CSSFlexValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValidPrimitive): Make the type more
            specific.
        (WebCore::CSSParser::parseFlex):
        * css/CSSParser.h:
        * css/CSSValue.h:
        (WebCore::CSSValue::isFlexValue):

2011-07-19  Chris Fleizach  <cfleizach@apple.com>

        If the control associated with a <label> is hidden, the label is also hidden (incorrectly)
        https://bugs.webkit.org/show_bug.cgi?id=64752

        Reviewed by Darin Adler.

        Test: platform/mac/accessibility/label-element-with-hidden-control.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::exposesTitleUIElement):

2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Backend should provide network resource identifiers that are unique across navigation.
        https://bugs.webkit.org/show_bug.cgi?id=64746

        Reviewed by Pavel Feldman.

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/ConsoleMessage.h:
        * inspector/IdentifiersFactory.cpp:
        (WebCore::IdentifiersFactory::createIdentifier):
        (WebCore::IdentifiersFactory::resourceId):
        (WebCore::IdentifiersFactory::addProcessIdPrefixTo):
        * inspector/IdentifiersFactory.h:
        * inspector/Inspector.json:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::didReceiveResponse):
        (WebCore::InspectorConsoleAgent::didFailLoading):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::markResourceAsCached):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didReceiveData):
        (WebCore::InspectorResourceAgent::didFinishLoading):
        (WebCore::InspectorResourceAgent::didFailLoading):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        (WebCore::InspectorResourceAgent::setInitialScriptContent):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
        (WebCore::InspectorResourceAgent::didCreateWebSocket):
        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorResourceAgent::didCloseWebSocket):
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
        (WebCore::NetworkResourcesData::resourceCreated):
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::setResourceType):
        (WebCore::NetworkResourcesData::resourceType):
        (WebCore::NetworkResourcesData::setResourceContent):
        (WebCore::NetworkResourcesData::maybeAddResourceData):
        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
        (WebCore::NetworkResourcesData::addCachedResource):
        (WebCore::NetworkResourcesData::addResourceSharedBuffer):
        (WebCore::NetworkResourcesData::data):
        (WebCore::NetworkResourcesData::clear):
        (WebCore::NetworkResourcesData::ensureNoDataForResourceId):
        (WebCore::NetworkResourcesData::ensureFreeSpace):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::resourceId):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
        (WebCore::TimelineRecordFactory::createResourceFinishData):
        (WebCore::TimelineRecordFactory::createReceiveResourceData):
        * inspector/TimelineRecordFactory.h:

2011-07-19  Jessie Berlin  <jberlin@apple.com>

        Fix assertion failure seen in plugins/return-npobject.html on Windows XP Debug bots.

        Rubber-stamped by Adam Roben.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveData):
        It is possible for a subclass to cancel the load from within didReceiveData, which would
        set m_documentLoader to 0.
        Remove the assertion I added that the DocumentLoader's frame is non-null.

2011-07-19  Steve Block  <steveblock@google.com>

        REGRESSION (r82194): jvalueToJavaValue() does not correctly set length of String property
        https://bugs.webkit.org/show_bug.cgi?id=64730

        Reviewed by Alexey Proskuryakov.

        Covered by existing tests.

        * bridge/jni/v8/JNIUtilityPrivate.cpp:
        (JSC::Bindings::jvalueToJavaValue):

2011-07-19  Vitaly Repeshko  <vitalyr@chromium.org>

        [V8] Don't put CSSRuleLists in object groups.
        https://bugs.webkit.org/show_bug.cgi?id=64798

        Reviewed by Pavel Feldman.

        Retention of CSSRuleLists should be implemented using hidden
        references from holder objects. By putting lists in groups we
        artificially extend their lifetimes much more than necessary.

        * bindings/v8/V8GCController.cpp:
        (WebCore::GrouperVisitor::visitDOMWrapper):

2011-07-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Add ewk_network.cpp|h files.
        https://bugs.webkit.org/show_bug.cgi?id=63315

        Enable setOnLine(bool) on EFL port as well as Android and Chromium.

        Reviewed by Antonio Gomes.

        * platform/network/NetworkStateNotifier.cpp:
        * platform/network/NetworkStateNotifier.h:

2011-07-19  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: implement import/export for timeline data.
        https://bugs.webkit.org/show_bug.cgi?id=64601

        Reviewed by Yury Semikhatsky.

        Test: inspector/timeline/timeline-load.html

        * English.lproj/localizedStrings.js:
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::FrontendMenuProvider::contextMenuItemSelected):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._createFileSelector):
        (WebInspector.TimelinePanel.prototype._contextMenu):
        (WebInspector.TimelinePanel.prototype._exportToFile):
        (WebInspector.TimelinePanel.prototype._importFromFile):
        (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._clearPanel):
        (WebInspector.TimelineModel):
        (WebInspector.TimelineModel.prototype._addRecord):
        (WebInspector.TimelineModel.prototype._importNextChunk):
        (WebInspector.TimelineModel.prototype._importFromFile):
        (WebInspector.TimelineModel.prototype._importFromFile.onError):
        (WebInspector.TimelineModel.prototype._exportToFile):
        (WebInspector.TimelineModel.prototype._reset):
        * inspector/front-end/utilities.js:
        ():

2011-07-19  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Rename agentIdentifierPrefix to processId, move out from page agent and make static.
        https://bugs.webkit.org/show_bug.cgi?id=64729

        Reviewed by Pavel Feldman.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/IdentifiersFactory.cpp: Added.
        (WebCore::IdentifiersFactory::createIdentifier):
        * inspector/IdentifiersFactory.h: Added.
        (WebCore::IdentifiersFactory::setProcessId):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setProcessId):
        * inspector/InspectorController.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::frameId):
        (WebCore::InspectorPageAgent::loaderId):
        * inspector/InspectorPageAgent.h:

2011-07-19  Jeremy Moskovich  <jeremy@chromium.org>

        Fix microphone icon placement in speech input control for dir=rtl.
        https://bugs.webkit.org/show_bug.cgi?id=64668

        Reviewed by Dimitri Glazkov.

        Modify default stylesheet to propagate dir=rtl from the outer input
        control to the shadow DOM container.  This makes the microphone
        icon appear on the left for dir=rtl, which is the desired behavior.

        Test: fast/speech/speech-bidi-rendering.html

        * css/html.css:
        (input[x-webkit-speech][dir=rtl]::-webkit-textfield-decoration-container):

2011-07-19  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Account for the invalid pointer case in WebCore::screenRect()
        https://bugs.webkit.org/show_bug.cgi?id=64543

        Reviewed by Antonio Gomes.

        Fix a regression introduced in r88245: it assumes the pointer passed
        to screenRect() is always valid.
        fast/frames/crash-removed-iframe.html proves this is not always true,
        so we need to do some sanity check on the pointer before using it.
        No new tests as this has been caught by the current test suite.

        * platform/efl/PlatformScreenEfl.cpp:
        (WebCore::screenRect):

2011-07-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>

        Reviewed by Antonio Gomes.

        ScrollBar should initialize current position in constructor.
        https://bugs.webkit.org/show_bug.cgi?id=39284

        When ScrollBar is created, m_currentPos should be initialized to
        m_scrollableArea's current scrollPosition. Because scrollbars may
        be created after the content of m_scrollableArea has been scrolled.

        Test: scrollbars/scrollbar-initial-position.html

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::Scrollbar):

2011-07-19  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Implement hybi framing
        https://bugs.webkit.org/show_bug.cgi?id=64522

        Reviewed by Kent Tamura.

        Implement WebSocket framing protocol which is mainly described in
        <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4> and
        <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-6>.

        Hybi protocol introduces a new frame format which is drastically different from
        the old one. Notable differences are:
        - Binary data support.
        - Fragmentation support: a single message can be fragmented to multiple frames.
        - Ping-pong support.
        - Masking: frame content of a client must be masked to prevent cross-protocol attacks.

        This patch covers the following features:
        - Send a pong frame when a ping frame is received.
        - Receive fragmented frames.
        - Receive masked frames. (Servers do not have to mask frames, but they may if they wish.)

        The following features are NOT implemented yet:
        - Send or receive binary messages.
        - Send a ping message.
        - Send fragmented frames. (It is unclear whether this is necessary.)
        - Rewrite the frame content by WebSocket protocol extensions (like frame compression).

        New tests: http/tests/websocket/tests/hybi/broken-utf8.html
                   http/tests/websocket/tests/hybi/fragmented-control-frame.html
                   http/tests/websocket/tests/hybi/fragmented-frames.html
                   http/tests/websocket/tests/hybi/interleaved-fragments.html
                   http/tests/websocket/tests/hybi/long-control-frame.html
                   http/tests/websocket/tests/hybi/masked-frames.html
                   http/tests/websocket/tests/hybi/pong.html
                   http/tests/websocket/tests/hybi/reserved-bits.html
                   http/tests/websocket/tests/hybi/reserved-opcodes.html
                   http/tests/websocket/tests/hybi/too-long-payload.html

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        (WebCore::WebSocketChannel::send):
        The original content of send() was moved to a private method sendFrameHixie76().
        (WebCore::WebSocketChannel::fail):
        Stop handling incoming data after the WebSocket connection is failed.
        It was unclear to me whether we should do the same thing for hixie-76 connection;
        for now, I kept the original behavior.
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::resumeTimerFired):
        (WebCore::WebSocketChannel::startClosingHandshake):
        (WebCore::WebSocketChannel::closingTimerFired):
        (WebCore::WebSocketChannel::parseFrame):
        (WebCore::WebSocketChannel::processFrame):
        (WebCore::WebSocketChannel::processFrameHixie76):
        (WebCore::WebSocketChannel::sendFrame):
        (WebCore::WebSocketChannel::sendFrameHixie76):
        * websockets/WebSocketChannel.h:
        (WebCore::WebSocketChannel::isNonControlOpCode):
        (WebCore::WebSocketChannel::isControlOpCode):
        (WebCore::WebSocketChannel::isReservedOpCode):

2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
        https://bugs.webkit.org/show_bug.cgi?id=64059

        REGRESSION (r88913): <object> has wrong computed height
        https://bugs.webkit.org/show_bug.cgi?id=62769

        Reviewed by Rob Buis.

        Fix misinterpretation of CSS 2.1 - "10.5 Content height: the 'height' property".
        It says "If the height of the containing block is not specified explicitelz (i.e. it depends on the
        content height), and this element is not absolutely positioned, the value computes to 'auto'".

        Checking whether the containing block height depends on the content height is not equal to checking
        whether the height property is set on the containing block, there are other ways to implicitly specify
        the height by setting top & bottom. Fix that by checking whether the containing block has a height
        property or top & bottom set.

        While I was at it, make computeReplacedLogicalWidth/Height a bit more explicit to make it easier to compare
        the code with the spec quoatations - this doesn't change the functionality only the readability.
        
        Test: fast/css/replaced-element-implicit-size.html

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Cleanup comment, make code more explicit.
        (WebCore::RenderReplaced::logicalHeightIsAuto): Add helper method used by computeReplacedLogicalHeight.
        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Fix height=auto detection.
        * rendering/RenderReplaced.h:

2011-07-18  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=64767

        Add a runtime check for font cascading optimization.

        It's a constant value in Mac port so hopefully gcc will constant-propagate the value
        and eliminate the function altogether.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::canSetCascadeListForCustomFont): Added.
        (WebCore::FontPlatformData::ctFont):

2011-07-18  MORITA Hajime  <morrita@google.com>

        [ShadowContentElement] forwarded node should be able to access its hosting content element.
        https://bugs.webkit.org/show_bug.cgi?id=64251
        
        Reviewed by Dimitri Glazkov.

        - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
          ShadowInclusionSet instance is owned by ShadowRoot.
        - Updated the set on inclusion list changes.
        - Used the set to retrieve the content element of NodeRenderingContext.
        
        There are also related refactoring and cleanup:
        - Renamed NodeRenderingContext::m_contentElement to m_includer
        - ShadowContentSelector::m_activeElement is no longer used, thus removed.
        
        Test: fast/dom/shadow/content-element-includer.html

        * WebCore.exp.in:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        * dom/NodeRenderingContext.h:
        (WebCore::NodeRenderingContext::includer):
        * dom/ShadowContentElement.cpp:
        (WebCore::removeFromSet):
        (WebCore::addToSet):
        (WebCore::ShadowContentElement::attach):
        (WebCore::ShadowContentElement::detach):
        * dom/ShadowContentElement.h:
        (WebCore::ShadowInclusionSet::add):
        (WebCore::ShadowInclusionSet::remove):
        (WebCore::ShadowInclusionSet::isEmpty):
        (WebCore::ShadowInclusionSet::Translator::hash):
        (WebCore::ShadowInclusionSet::Translator::equal):
        (WebCore::ShadowInclusionSet::Hash::hash):
        (WebCore::ShadowInclusionSet::Hash::equal):
        (WebCore::ShadowInclusionSet::find):
        * dom/ShadowContentSelector.cpp:
        (WebCore::ShadowContentSelector::ShadowContentSelector):
        (WebCore::ShadowContentSelector::selectInclusion):
        * dom/ShadowContentSelector.h:
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::~ShadowRoot):
        (WebCore::ShadowRoot::includerFor):
        (WebCore::ShadowRoot::inclusions):
        (WebCore::ShadowRoot::ensureInclusions):
        * dom/ShadowRoot.h:
        (WebCore::toShadowRoot):
        * testing/Internals.cpp:
        (WebCore::Internals::includerFor):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-18  Dean Jackson  <dino@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=64742
        Expose WebPreferences for media playback requiring user gestures and inline playback

        Reviewed by Simon Fraser.

        Media playback already tested if it should require user gestures, but
        no setting was ever exposed to clients. Also, some ports only allow media
        playback to be fullscreen, so exposing a new setting for them.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting
        for user gestures.
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Two new settings.
        (WebCore::Settings::setMediaPlaybackRequiresUserGesture):
        (WebCore::Settings::mediaPlaybackRequiresUserGesture):
        (WebCore::Settings::setMediaPlaybackAllowsInline):
        (WebCore::Settings::mediaPlaybackAllowsInline):

2011-07-18  Ryosuke Niwa  <rniwa@webkit.org>

        Leopard build fix after r91229.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::ctFont):

2011-07-18  Dan Bernstein  <mitz@apple.com>

        REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=64767

        Reviewed by Sam Weinig.

        * platform/graphics/Font.h:
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::ctFont): Undo the cascade list optimization on Leopard for custom
        fonts, because adding a cascade list apparently breaks the font.

2011-07-18  Matthew Delaney  <mdelaney@apple.com>

        Remove drawsUsingCopy now that all ports handle the copying
        https://bugs.webkit.org/show_bug.cgi?id=64768
        
        Introduced in https://bugs.webkit.org/show_bug.cgi?id=43507, ImageBuffer::drawsUsingCopy
        was used to know whether or not an ImageBuffer should be explicitly copied before being
        painted into a context (as was used in HTMLCanvasElement::paint). All platforms now
        handle the logic of copying or not in their ImageBuffer::draw() implementations, so
        drawsUsingCopy() is no longer needed. This patch removes it.

        Reviewed by Dan Bernstein.

        No new tests; does not affect behavior.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::isAccelerated):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        * platform/graphics/cg/ImageBufferCG.cpp:
        * platform/graphics/qt/ImageBufferQt.cpp:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        * platform/graphics/wx/ImageBufferWx.cpp:

2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is dispatched on NetworkPanel.
        https://bugs.webkit.org/show_bug.cgi?id=64748

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._frameNavigated):

2011-07-18  Brian Weinstein  <bweinstein@apple.com>

        Prep work for: Crash under WebPage::platformDragEnded when dragging on Mac
        https://bugs.webkit.org/show_bug.cgi?id=64766
        <rdar://problem/9548174>
        
        Reviewed by Darin Adler.

        Add a DragClient function that is called when a drag is ended, and call it from DragController::dragEnded.
        This isn't used yet, but will be used by WebKit2 on Mac.
        
        This patch also cleans up style in DragClient.h.

        No change in behavior, no tests needed.

        * page/DragClient.h:
        (WebCore::DragClient::dragEnded): Stub virtual implementation for now, this will be used by
            WebKit2 on Mac.
        * page/DragController.cpp:
        (WebCore::DragController::dragEnded): Call DragClient::dragEnded.

2011-07-18  Jon Honeycutt  <jhoneycutt@apple.com>

        Focus and selection events are not fired when a <select>'s selection
        changes
        https://bugs.webkit.org/show_bug.cgi?id=64504
        <rdar://problem/9319881>

        Reviewed by Alice Liu.

        Test: platform/win/accessibility/option-element-selection-and-focus-events.html

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        Add new notification type to the section of unhandled notifications.

        * accessibility/AXObjectCache.h:
        Declare a new notification, AXMenuListItemSelected.

        * accessibility/AccessibilityMenuList.cpp:
        (WebCore::AccessibilityMenuList::didUpdateActiveOption):
        Tell our child popup that the active option changed, and post a
        notification that our value changed.

        * accessibility/AccessibilityMenuList.h:
        Declare didUpdateActiveOption().

        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
        Get the child <option> element that is selected, and fire focus and
        selection events for it.

        * accessibility/AccessibilityMenuListPopup.h:
        Declare didUpdateActiveOption().

        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::setSelectedIndex):
        Pass the newly-selected index.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList):
        Update the initialization list for the renamed m_lastActiveIndex.
        (WebCore::RenderMenuList::setTextFromOption):
        A new selection has been made in the popup; call
        didUpdateActiveOption().
        (WebCore::RenderMenuList::didSetSelectedIndex):
        Call didUpdateActiveOption(), passing the index of the newly-selected
        <option>.
        (WebCore::RenderMenuList::didUpdateActiveOption):
        If accessibility is disabled, or if the active option has not changed,
        return early. Check whether the option index is in the range of list
        items, and assert that the item at that index is an <option> element.
        Tell the AccessibilityMenuList for this element that we updated the
        active option.

        * rendering/RenderMenuList.h:
        Updated the declaration of didSetSelectedIndex() to take the selected
        index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
        m_lastActiveIndex.

2011-07-18  Dan Bernstein  <mitz@apple.com>

        Specify a cascade list consisting of the last resort font for Core Text
        https://bugs.webkit.org/show_bug.cgi?id=64747

        Reviewed by Sam Weinig.

        No new tests, because this does not affect behavior.

        This prevents Core Text from taking its default, longer fallback list when the primary font does
        not include a character. This is OK to do because WebKit never uses the results of Core Text
        fallback anyway.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::cascadeToLastResortFontDescriptor): Added. Returns a CTFontDescriptor with a cascade
        list consisting of the last resort font.
        (WebCore::FontPlatformData::ctFont): Changed to include the cascadeToLastResortFontDescriptor
        in the returned font.

2011-07-18  James Robinson  <jamesr@chromium.org>

        Timer scheduling should be based off the monotonic clock
        https://bugs.webkit.org/show_bug.cgi?id=64544

        Reviewed by Darin Adler.

        Changes the Timer scheduling logic from using absolute values in terms of currentTime() to using relative
        intervals in terms of monotonicallyIncreasingTime().  This provides better standards compliance, compatibility,
        and predictability when the system clock is adjusted.

        No automated tests since there is no way to modify the system clock from DRT.

        * platform/SharedTimer.h:
        (WebCore::MainThreadSharedTimer::setFireInterval):
        * platform/ThreadTimers.cpp:
        (WebCore::ThreadTimers::updateSharedTimer):
        (WebCore::ThreadTimers::sharedTimerFiredInternal):
        * platform/Timer.cpp:
        (WebCore::TimerBase::start):
        (WebCore::TimerBase::nextFireInterval):
        * platform/android/SharedTimerAndroid.cpp:
        (WebCore::setSharedTimerFireInterval):
        * platform/brew/SharedTimerBrew.cpp:
        (WebCore::setSharedTimerFireInterval):
        * platform/chromium/PlatformBridge.h:
        * platform/chromium/SharedTimerChromium.cpp:
        (WebCore::setSharedTimerFireInterval):
        * platform/efl/SharedTimerEfl.cpp:
        (WebCore::addNewTimer):
        (WebCore::setSharedTimerFireInterval):
        * platform/gtk/SharedTimerGtk.cpp:
        (WebCore::setSharedTimerFireInterval):
        * platform/haiku/SharedTimerHaiku.cpp:
        (WebCore::SharedTimerHaiku::start):
        (WebCore::setSharedTimerFireInterval):
        * platform/mac/SharedTimerMac.mm:
        (WebCore::setSharedTimerFireInterval):
        * platform/qt/SharedTimerQt.cpp:
        (WebCore::SharedTimerQt::start):
        (WebCore::setSharedTimerFireInterval):
        * platform/win/SharedTimerWin.cpp:
        (WebCore::setSharedTimerFireInterval):
        * platform/wince/SharedTimerWinCE.cpp:
        (WebCore::setSharedTimerFireInterval):
        * platform/wx/SharedTimerWx.cpp:
        (WebCore::setSharedTimerFireInterval):
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerSharedTimer::setFireInterval):

2011-07-18  Pratik Solanki  <psolanki@apple.com>

        Unreviewed. Fix Windows build. Move static function defaultSessionCookieStorage() to before
        its use in defaultCookieStorage().

        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::defaultSessionCookieStorage):

2011-07-18  Pratik Solanki  <psolanki@apple.com>

        Part of https://bugs.webkit.org/show_bug.cgi?id=63674
        Get webkit to compile with USE(CFNETWORK) enabled on Mac

        Reviewed by David Kilzer.

        Get coookie storage code to work with USE(CFNETWORK) enabled on Mac.

        No new tests because no change in functionality.

        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::defaultCookieStorage):
        (WebCore::defaultSessionCookieStorage):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
        * platform/network/mac/CookieStorageMac.mm:

2011-07-18  Pratik Solanki  <psolanki@apple.com>

        Part of https://bugs.webkit.org/show_bug.cgi?id=63674
        Get webkit to compile with USE(CFNETWORK) enabled on Mac

        Reviewed by David Kilzer.

        * WebCore.exp.in:

2011-07-18  Gavin Barraclough  <barraclough@apple.com>

        Speculative fix for Leopard assertions caused by 91095.

        Rubber stamped by Sam Weinig.

        * bridge/NP_jsobject.cpp:
        (_NPN_Invoke):
            - ensure we pass the window shell, not the global object.

2011-07-18  Mark Hahnenberg  <mhahnenberg@apple.com>

        Refactor JSC to replace JSCell::operator new with static create method
        https://bugs.webkit.org/show_bug.cgi?id=64466

        Reviewed by Oliver Hunt (oliver@apple.com) and Darin Adler (darin@apple.com).

        First step in a longer refactoring process to remove the use of
        operator new overloading in order to allocate GC objects and to replace
        this method with static create methods for each individual type of heap-allocated
        JS object.  This particular patch only deals with replacing uses of
        operator new within JSC proper.  Future patches will remove it from the
        parts that interface with the DOM.  Due to the DOM's continued dependence
        on it, operator new has not actually been removed from JSCell.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsDateOrNull):
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::nonCachingStaticFunctionGetter):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::nonCachingStaticBackFunctionGetter):
        (WebCore::nonCachingStaticForwardFunctionGetter):
        (WebCore::nonCachingStaticGoFunctionGetter):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::nonCachingStaticReplaceFunctionGetter):
        (WebCore::nonCachingStaticReloadFunctionGetter):
        (WebCore::nonCachingStaticAssignFunctionGetter):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::readTerminal):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertQVariantToValue):

2011-07-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause crashes on WK2.
        https://bugs.webkit.org/show_bug.cgi?id=62587

        Reviewed by Noam Rosenthal.

        Fix unsync between m_parent and m_children list in child and parent texture mapper nodes 
        in syncCompositingStateSelf.

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncCompositingStateSelf):

2011-07-18  Rob Buis  <rbuis@rim.com>

        Stroking of zero-length paths in SVG should change according to erratum
        https://bugs.webkit.org/show_bug.cgi?id=18356

        Reviewed by Nikolas Zimmermann.

        Do not rely on toolkits to correctly render zero-length path with stroke-linecap=round, render
        it ourselves just like for stroke-linecap=square.

        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
        (WebCore::RenderSVGPath::setupSquareCapPath):

2011-07-18  Mihnea Ovidenie  <mihnea@adobe.com>

        [REGRESSION] Value 'none' breaks multiple background-image display
        https://bugs.webkit.org/show_bug.cgi?id=59274

        Reviewed by Simon Fraser.

        When taking fast path for simple color background, we should draw
        the background only if it is the last in the list of backgrounds.
        Otherwise, it will obscure the previously drawn backgrounds.

        Test: fast/backgrounds/background-fast-path-simple-color.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2011-07-18  Yi Shen  <yi.4.shen@nokia.com>

        [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
        https://bugs.webkit.org/show_bug.cgi?id=62808

        The assertion in ResourceHandle::setDefersLoading assumes asynchronous
        content delivery -- To resume a page, first, its main resource loader
        calls setDefersLoading to resume loading the main content; then all the
        sub-resource loaders calls setDefersLoading to resume sub-contents.
        However, since QNetworkReplyHandler delivers content synchronously,
        some new sub-resource loaders get created as soon as the main resource
        loader resumed, and all these new sub-resource loaders set their
        defersLoading flag to false. Then, the assertion fails for these new
        sub-resource loaders when calling setDefersLoading on them. As a fix,
        this path makes QNetworkReplyHandler deliver content asynchronously
        when its load type is set to SynchronousLoad.

        Reviewed by Benjamin Poulain.

        Test: loader/load-defer-resume-crash.html

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
        * platform/network/qt/QNetworkReplyHandler.h:
        (WebCore::QNetworkReplyHandler::setLoadingDeferred):

2011-07-18  Young Han Lee  <joybro@company100.net>

        AnimationBase asserts if a test tries to pause during the delay phase
        https://bugs.webkit.org/show_bug.cgi?id=59475

        Reviewed by Simon Fraser.

        There is no more assertion failure after r90765, but the testcase still fails due to
        the miscalculation of the pauseTime. This patch pauses the animation at its startTime
        if a test tries to pause it during the delay phase.

        Test: transitions/transition-in-delay-phase.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):

2011-07-18  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Web Inspector: provide unique identifiers for loaders
        https://bugs.webkit.org/show_bug.cgi?id=64599

        Reviewed by Pavel Feldman.

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::frameDestroyed):
        (WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::loaderId):
        (WebCore::InspectorPageAgent::loaderDetachedFromFrame):
        * inspector/InspectorPageAgent.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::detachFromFrame):

2011-07-18  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: "Reveal in Elements Panel" is broken.
        https://bugs.webkit.org/show_bug.cgi?id=64688

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline):
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):

2011-07-18  Julien Chaffraix  <jchaffraix@webkit.org>

        Remove RenderObject::addLayers second argument
        https://bugs.webkit.org/show_bug.cgi?id=64649

        Reviewed by Benjamin Poulain.

        No change in behavior.

        The code was always passing |this| as the second argument. Thus just
        removed the argument for clarity.

        * rendering/RenderObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addLayers): Removed the argument, replaced
        by |this|.

        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::appendChildNode):
        (WebCore::RenderObjectChildList::insertChildNode):
        Removed the second argument at those 2 call sites.

2011-07-18  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: do not pause on caught exceptions while typing in the console.
        https://bugs.webkit.org/show_bug.cgi?id=64379

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::setScriptDebugServer):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update):

2011-07-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r91132 and r91135.
        http://trac.webkit.org/changeset/91132
        http://trac.webkit.org/changeset/91135
        https://bugs.webkit.org/show_bug.cgi?id=64681

        Broke GTK and Chromium debug bots (Requested by rniwa on
        #webkit).

        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityMenuList.cpp:
        * accessibility/AccessibilityMenuList.h:
        * accessibility/AccessibilityMenuListPopup.cpp:
        * accessibility/AccessibilityMenuListPopup.h:
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * dom/SelectElement.cpp:
        (WebCore::SelectElement::setSelectedIndex):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList):
        (WebCore::RenderMenuList::setTextFromOption):
        (WebCore::RenderMenuList::didSetSelectedIndex):
        * rendering/RenderMenuList.h:

2011-07-17  Luke Macpherson   <macpherson@chromium.org>

        Implement CSSPropertyCursor in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=64432

        Reviewed by Dimitri Glazkov.

        No new tests / refectoring only.

        * css/CSSStyleApplyProperty.cpp:
        Add handler for CSSPropertyCursor.
        * css/CSSStyleSelector.cpp:
        Remove current handler of CSSPropertyCursor.
        * css/CSSStyleSelector.h:
        Make styleImage and cachedOrPendingFromValue public.

2011-07-16  Simon Fraser  <simon.fraser@apple.com>

        Add code to attempt to align compositing layers to pixel boundaries when page scale changes
        https://bugs.webkit.org/show_bug.cgi?id=64658

        Reviewed by Dan Bernstein.
        
        Implemented a new behavior on GraphicsLayerCA which attempts to keep layers pixel
        aligned as page scale changes.
        
        This requires denoting which layer has the page scale on it (it is assumed to be
        already aligned), via setAppliesPageScale(). We also now pass a scale and offset
        down through the GraphicsLayer commits, which are used to map layer bounds to display
        coordinates for rounding.

        * platform/graphics/GraphicsLayer.h: New flags and getters/setters for pixel alignment,
        and the layer that is the applier of the scale.
        (WebCore::GraphicsLayer::setMaintainsPixelAlignment):
        (WebCore::GraphicsLayer::maintainsPixelAlignment):
        (WebCore::GraphicsLayer::setAppliesPageScale):
        (WebCore::GraphicsLayer::appliesPageScale):

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer): Initialize the new flags.
        (WebCore::GraphicsLayer::backingScaleFactor): Utility method that calls the client if there is one.
        (WebCore::GraphicsLayer::pageScaleFactor): Ditto.

        * platform/graphics/GraphicsLayerClient.h:
        (WebCore::GraphicsLayerClient::backingScaleFactor): Provide default implementation.
        (WebCore::GraphicsLayerClient::pageScaleFactor): Ditto.

        * platform/graphics/ca/GraphicsLayerCA.h: Pass scale and base-relative offset around
        to methods that need to update geometry during commit.
        Some new methods related to pixel alignment.
        
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::computePositionRelativeToBase): For single-layer commits,
        we have to compute the base-relative offset, and whether we're under the layer
        applying the scale by walking up the tree.
        
        (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly): Call
        computePositionRelativeToBase() to get scaling parameters for the target layer.
        
        (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass flags related to scaling.
        positionRelativeToBase is an offset relative to the ancestor layer known to be pixel
        aligned. affectedByPageScale is true for layers which are descendants of the layer
        which applies the scale.
        
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Pass scale and offset.
        (WebCore::GraphicsLayerCA::updateGeometry): Call computePixelAlignment() to get
        pixel-aligned geometry. This only needs to be applied to layers which render content,
        so re-organize the code to use the unchanged layer geometry for the structural layer,
        but to apply the adjusted geometry to the m_layer.
        
        (WebCore::GraphicsLayerCA::updateStructuralLayer): Pass scale and offset.
        (WebCore::GraphicsLayerCA::ensureStructuralLayer): Ditto.
        (WebCore::GraphicsLayerCA::updateLayerDrawsContent): Ditto.
        (WebCore::GraphicsLayerCA::updateContentsScale): Ditto.
        (WebCore::GraphicsLayerCA::requiresTiledLayer): Ditto.
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ditto.
        (WebCore::GraphicsLayerCA::setKeepPixelAligned): When set, dirties flags
        for properties that need to be recomputed.
        (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
        (WebCore::isIntegral):
        (WebCore::GraphicsLayerCA::computePixelAlignment): Map our bounds to screen
        scale, round out to an integral rect, then map it back, adding a fudge factor
        so that CA backing stores don't end up being smaller than we expect because
        of integer truncation.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer): Turn on pixel alignment if
        the compositor says so.
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Set the RenderView's
        layer as the one applying the scale, for the main frame.

        * rendering/RenderLayerCompositor.h: New method.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::keepLayersPixelAligned): Master switch for
        pixel alignment. Default to on.
        (WebCore::RenderLayerCompositor::ensureRootLayer): Give the two root-ish layers
        a client so they can ask for page scale if necessary.

2011-07-16  Enrica Casucci  <enrica@apple.com>

        REGRESSION: Pressing return in a particular document sends the cursor to the end of the document.
        https://bugs.webkit.org/show_bug.cgi?id=64140
        <rdar://problem/9737491>

        Inserting a paragraph separator at a break element, inside an inline, generates redundant markup
        and moves the selection at the end of the inserted block.
        The fix consists in detecting that the insertion point is a break element and simply inserting another
        break element. This solves the problem of the wrong final selection and also produces less redundant
        markup.

        Reviewed by Simon Fraser.

        Test: editing/inserting/insert-paragraph-separator-at-break.html

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Modified logic for insertion at a break
        element.

2011-07-16  Pratik Solanki  <psolanki@apple.com>

        SubresourceLoader::didReceiveDataArray can crash when calling m_client->didReceiveData()
        https://bugs.webkit.org/show_bug.cgi?id=64656
        <rdar://problem/9754425>

        Reviewed by Alexey Proskuryakov.

        * loader/cf/SubresourceLoaderCF.cpp:
        (WebCore::SubresourceLoader::didReceiveDataArray): Check for m_client before calling
        m_client->didReceiveData().

2011-07-16  Dinu Jacob  <dinu.jacob@nokia.com>

        [Qt] Compilation fails on disabling TextureMapper
        https://bugs.webkit.org/show_bug.cgi?id=64408

        Fix compilation error due to API name change in GraphicsLayer

        Reviewed by Noam Rosenthal.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQt::setContentsToBackgroundColor):
        * platform/graphics/qt/GraphicsLayerQt.h:

2011-07-15  Pratik Solanki  <psolanki@apple.com>

        Part of https://bugs.webkit.org/show_bug.cgi?id=63674
        Get webkit to compile with USE(CFNETWORK) enabled on Mac

        Reviewed by David Kilzer.

        New WebKitSystemInterface functions for CFNetwork-based loader.

        * WebCore.exp.in:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-07-16  Jessie Berlin  <jberlin@apple.com>

        Work towards determining the cause of frequent crashes due to null frame below
        ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
        https://bugs.webkit.org/show_bug.cgi?id=62764

        Reviewed by Darin Adler.

        No loads should be going on for a DocumentLoader that has been detached from its frame, but
        that appears to be what is happening in this bug.

        Add assertions with the hope that someone will run into this while debugging and thereby find
        a reproducible case.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didSendData):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFail):
        (WebCore::ResourceLoader::wasBlocked):
        (WebCore::ResourceLoader::cannotShowURL):
        (WebCore::ResourceLoader::shouldUseCredentialStorage):
        (WebCore::ResourceLoader::willCacheResponse):

2011-07-16  Sergey Glazunov  <serg.glazunov@gmail.com>

        DOMWindow::open performs a security check on a wrong window
        https://bugs.webkit.org/show_bug.cgi?id=64651

        Reviewed by Adam Barth.

        Test: http/tests/security/xss-DENIED-window-open-parent.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::open):

2011-07-16  Sam Weinig  <sam@webkit.org>

        Attribute selectors don't handle glob namespaces (e.g. *|E)
        https://bugs.webkit.org/show_bug.cgi?id=64567

        Reviewed by Anders Carlsson.

        Change checking of attribute selectors to match CSS 3 Selectors in
        the presence of namespaces. This entails changing the algorithm to
        check each attribute on an element as a match for the attribute selector
        and taking into account a prefix of *.

        * css/CSSStyleSelector.cpp:
        (WebCore::attributeQualifiedNameMatches):
        Checks if the a particular attributes qualified name matches
        the attribute selector, taking into account a prefix of *.

        (WebCore::attributeValueMatches):
        Checks if a particular attribute on an element, matches
        the attribute selector.

        (WebCore::anyAttributeMatches):
        Top level attribute check. Checks if any of an elements attributes
        match the attribute selector.
        
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        Factor out attribute checking code into the above functions.

2011-07-16  Jon Honeycutt  <jhoneycutt@apple.com>

        WinCE build fix. Unreviewed.

        * dom/SelectElement.cpp:

2011-07-16  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>

        Reviewed by Nikolas Zimmermann.

        SVG animation API crashes on SVGAnimateTransform
        https://bugs.webkit.org/show_bug.cgi?id=64104

        This patch ensures the update in AnimatedTransform list in
        SVGAnimateTransformElement.cpp is in sync with its wrapper list.

        Test: svg/animations/svgtransform-animation-discrete.html

        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::animatedTransformListFor):
        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):

2011-07-15  Simon Fraser  <simon.fraser@apple.com>

        Fix the build.

        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::updateEnabledState):

2011-07-15  Simon Fraser  <simon.fraser@apple.com>

        Another Windows build fix; make this method non-pure virtual.

        * platform/graphics/GraphicsLayerClient.h:
        (WebCore::GraphicsLayerClient::didCommitChangesForLayer):

2011-07-15  Simon Fraser  <simon.fraser@apple.com>

        Fix build error in 32-bit builds.

        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::zeroLengthSubpathRect):

2011-07-15  Simon Fraser  <simon.fraser@apple.com>

        Fix Windows build.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        (WebCore::MediaPlayerPrivate::backingScaleFactor):
        (WebCore::MediaPlayerPrivate::pageScaleFactor):

2011-07-15  Simon Fraser  <simon.fraser@apple.com>

        Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
        https://bugs.webkit.org/show_bug.cgi?id=64643

        Reviewed by Darin Adler.

        RenderLayerBacking would set the contentsScale on GraphicsLayers
        on creation, and update it when the pageScaleFactor changed. However,
        RenderLayerBacking doesn't really know what contentsScale is best
        for a layer, so instead, have GraphicsLayers call back through the
        GraphicsLayerClient to get the two relevant scale factors, and do
        their own computation of contentsScale.

        No testable behavior changes.

        * page/Frame.cpp:
        (WebCore::Frame::pageScaleFactorChanged): No need to pass the scale.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::notePageScaleFactorChangedIncludingDescendants):
        Recurse through the GraphicsLayer tree, calling pageScaleFactorChanged() on 
        each layer.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::pageScaleFactorChanged):
        Remove contentsScale/setContentsScale
        
        * platform/graphics/GraphicsLayerClient.h:
        Add methods to fetch the backingScaleFactor() and pageScaleFactor().
        
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::GraphicsLayerCA): m_uncommittedChanges
        defaults to ContentsScaleChanged so we update contentsScale on
        the first flush.
        
        (WebCore::GraphicsLayerCA::setContentsToBackgroundColor):
        This was the wrong time to call updateContentsRect() and setupContentsLayer();
        those should be done at commit time, so moved to updateLayerBackgroundColor().
        (WebCore::GraphicsLayerCA::recursiveCommitChanges): Note whether we
        have any changes, and call didCommitChangesForLayer() on the client.
        (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Code moved to here.
        (WebCore::clampedContentsScaleForScale): No longer has any hysteresis
        on the scale, and now just clamps.
        (WebCore::GraphicsLayerCA::updateContentsScale): Fetch the scales
        from the client, and multiply them, then clamp.
        (WebCore::GraphicsLayerCA::requiresTiledLayer): This now takes
        contentsScale into account when deciding to use tiled layer,
        so that zooming in will cause layers to start tiling.
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Don't call
        setContentsScale(), but rather updateContentsScale().
        (WebCore::GraphicsLayerCA::pageScaleFactorChanged): Set the bits
        for properties that depend on the scale.
        (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
        Note that contentsScale needs to be updated. At some point we might also
        need to dirty other properties.
        * platform/graphics/ca/GraphicsLayerCA.h: Moved the m_allowTiledLayer
        bool for better packing. No need for a m_contentsScale member now.
        * rendering/RenderLayer.cpp: Removed pageScaleFactorChanged().
        * rendering/RenderLayer.h: Ditto.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): No need
        to push the contents scale.
        (WebCore::RenderLayerBacking::updateForegroundLayer): Ditto.
        (WebCore::RenderLayerBacking::updateMaskLayer): Ditto.
        (WebCore::RenderLayerBacking::pageScaleFactor): GraphicsLayerClient method.
        (WebCore::RenderLayerBacking::backingScaleFactor): GraphicsLayerClient method.
        (WebCore::RenderLayerBacking::didCommitChangesForLayer): Send through
        to the compositor.
        * rendering/RenderLayerBacking.h: GraphicsLayerClient methods.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::didFlushChangesForLayer): We'll use
        this later.
        (WebCore::RenderLayerCompositor::backingScaleFactor): GraphicsLayerClient method.
        (WebCore::RenderLayerCompositor::pageScaleFactor): Ditto.
        (WebCore::RenderLayerCompositor::didCommitChangesForLayer): Ditto.
        (WebCore::RenderLayerCompositor::ensureRootLayer): No need to push the contents scale.
        (WebCore::RenderLayerCompositor::pageScaleFactorChanged): Just call notePageScaleFactorChangedIncludingDescendants()
        on the root GraphicsLayer.
        * rendering/RenderLayerCompositor.h: Added GraphicsLayerClient methods.

2011-07-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Build fix. Unreviewed.

        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
        Cast size_t to int for comparison.

2011-07-15  Andy Estes  <aestes@apple.com>

        Rename applicationIsSolarWalk() to applicationIsSolarWalkMac().
        https://bugs.webkit.org/show_bug.cgi?id=64641

        Reviewed by Brian Weinstein.

        * WebCore.exp.in: Update to new symbol.
        * platform/RuntimeApplicationChecks.cpp:
        (WebCore::applicationIsSolarWalkMac): Renamed from applicationIsSolarWalk.
        * platform/RuntimeApplicationChecks.h: Ditto.

2011-07-15  Mark Rowe  <mrowe@apple.com>

        Fix the build.

        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContextStateSaver::context): Remove a bogus type qualifier.

2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>

        Focus and selection events are not fired when a <select>'s selection
        changes
        https://bugs.webkit.org/show_bug.cgi?id=64504
        <rdar://problem/9319881>

        Reviewed by Alice Liu.

        Test: platform/win/accessibility/option-element-selection-and-focus-events.html

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        Add new notification type to the section of unhandled notifications.

        * accessibility/AXObjectCache.h:
        Declare a new notification, AXMenuListItemSelected.

        * accessibility/AccessibilityMenuList.cpp:
        (WebCore::AccessibilityMenuList::didUpdateActiveOption):
        Tell our child popup that the active option changed, and post a
        notification that our value changed.

        * accessibility/AccessibilityMenuList.h:
        Declare didUpdateActiveOption().

        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
        Get the child <option> element that is selected, and fire focus and
        selection events for it.

        * accessibility/AccessibilityMenuListPopup.h:
        Declare didUpdateActiveOption().

        * accessibility/win/AXObjectCacheWin.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::setSelectedIndex):
        Pass the newly-selected index.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList):
        Update the initialization list for the renamed m_lastActiveIndex.
        (WebCore::RenderMenuList::setTextFromOption):
        A new selection has been made in the popup; call
        didUpdateActiveOption().
        (WebCore::RenderMenuList::didSetSelectedIndex):
        Call didUpdateActiveOption(), passing the index of the newly-selected
        <option>.
        (WebCore::RenderMenuList::didUpdateActiveOption):
        If accessibility is disabled, or if the active option has not changed,
        return early. Check whether the option index is in the range of list
        items, and assert that the item at that index is an <option> element.
        Tell the AccessibilityMenuList for this element that we updated the
        active option.

        * rendering/RenderMenuList.h:
        Updated the declaration of didSetSelectedIndex() to take the selected
        index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
        m_lastActiveIndex.

2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>

        ALT + DOWN arrow key does not open select

        https://bugs.webkit.org/show_bug.cgi?id=14407
        <rdar://problem/5319507>

        Reviewed by Alexey Proskuryakov.

        No test, because eventSender sends events to the WebView, rather than
        the popup menu, so the popup isn't closed.

        * WebCore.vcproj/WebCore.vcproj:
        Add SelectElementWin.cpp to project.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::platformHandleKeydownEvent):
        Moved ARROW_KEYS_POP_MENU code here. Updated to return whether the
        function has handled the key, or whether the caller needs to process it
        further.
        (WebCore::SelectElement::menuListDefaultEventHandler):
        Allow the platform the first chance at handling the keyboard event.

        * dom/SelectElement.h:
        Declare platformHandleKeydownEvent().
        * dom/SelectElementWin.cpp: Added.
        (WebCore::SelectElement::platformHandleKeyboardEvent):
        Allow (Shift) F4 and (Ctrl/Shift) Alt/AltGr + Up/Down
        arrow to show the popup. After the popup is dismissed, call
        setSelectedIndex(), and report that we handled the event.

        * platform/win/PopupMenuWin.cpp:
        Declare HIGH_BIT_MASK_SHORT.
        (WebCore::PopupMenuWin::show):
        Forward WM_SYSKEYDOWN to the popup's HWND.
        (WebCore::PopupMenuWin::wndProc):
        Allow the same shortcuts that show the menu to hide it, matching
        Firefox.

2011-07-12  Jon Honeycutt  <jhoneycutt@apple.com>

        Ensure that a single select element's child option elements are
        reported correctly to accessibility clients if the children are
        changed.

        https://bugs.webkit.org/show_bug.cgi?id=64500
        <rdar://problem/9773066>

        Reviewed by Beth Dakin.

        Test: platform/win/accessibility/single-select-children-changed.html

        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::addChildren):
        Remove a comment about WML, which we no longer support.
        (WebCore::AccessibilityMenuListPopup::childrenChanged):
        Don't just remove children that were detached - this will miss childen
        that were dynamically added. Clear the children and re-add them.

2011-07-15  Rob Buis  <rbuis@rim.com>

        Stroking of zero-length paths in SVG should change according to erratum
        https://bugs.webkit.org/show_bug.cgi?id=18356

        Reviewed by Nikolas Zimmermann.

        Ensure rendering of zero-length paths with stroke-linecap=square works by
        creating the square rectangle manually.

        Tests: svg/W3C-SVG-1.1-SE/painting-control-04-f.svg
               svg/custom/zero-path-square-cap-rendering.svg

        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContextStateSaver::context):
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::strokeContains):
        (WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
        (WebCore::RenderSVGPath::zeroLengthSubpathRect):
        (WebCore::RenderSVGPath::setupSquareCapPath):
        (WebCore::RenderSVGPath::setupNonScalingStrokePath):
        (WebCore::RenderSVGPath::fillAndStrokePath):
        (WebCore::RenderSVGPath::updateCachedBoundaries):
        * rendering/svg/RenderSVGPath.h:

2011-06-27  Adrienne Walker  <enne@google.com>

        Reviewed by Simon Fraser.

        Overlap map for compositing needs to consider clipping
        https://bugs.webkit.org/show_bug.cgi?id=63493

        Test: compositing/layer-creation/overlap-clipping.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMap):
        * rendering/RenderLayerCompositor.h:

2011-07-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90592.
        http://trac.webkit.org/changeset/90592
        https://bugs.webkit.org/show_bug.cgi?id=64627

        Causes crashes with the web audio async decoding API
        (Requested by jamesr on #webkit).

        * html/canvas/ArrayBuffer.cpp:
        (WebCore::ArrayBuffer::~ArrayBuffer):
        (WebCore::ArrayBuffer::tryAllocate):
        * manual-tests/array-buffer-memory.html: Removed.

2011-07-15  Kenneth Russell  <kbr@google.com>

        Don't restore WebGL context if it was guilty of a graphics reset
        https://bugs.webkit.org/show_bug.cgi?id=64497

        Reviewed by Stephen White.

        Use getGraphicsResetStatusARB already defined in Extensions3D to
        determine why the context was lost, and respond to guilty context
        notifications by forbidding restoration of the context.

        It isn't currently possible to write an automated test for this.
        We might consider extending the WEBKIT_lose_context extension to
        allow a reason to be provided why the context was lost. It was
        tested manually in Chromium on Windows and Linux with some test
        cases that provoke actual graphics card resets.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
        (WebCore::WebGLRenderingContext::forceLostContext):
        (WebCore::WebGLRenderingContext::maybeRestoreContext):
        * html/canvas/WebGLRenderingContext.h:

2011-07-15  Chris Marrin  <cmarrin@apple.com>

        Move TransformState to platform/graphics and give it the option to transform just a FloatQuad
        https://bugs.webkit.org/show_bug.cgi?id=64542

        Reviewed by Simon Fraser.

        This is to make it possible to use TransformState in some GraphicsLayer work. HitTestingTransformState
        was split out and left in rendering since it's not needed in the platform code. Also added a FIXME
        because HitTestingTransformState should eventually be replaced by TransformState.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/transforms/TransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
        (WebCore::TransformState::move):
        (WebCore::TransformState::flattenWithTransform):
        * platform/graphics/transforms/TransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
        (WebCore::TransformState::TransformState):
        (WebCore::TransformState::setQuad):
        * rendering/HitTestingTransformState.cpp: Copied from Source/WebCore/rendering/TransformState.cpp.
        * rendering/HitTestingTransformState.h: Copied from Source/WebCore/rendering/TransformState.h.
        * rendering/RenderLayer.cpp:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::localToContainerQuad):
        * rendering/RenderingAllInOne.cpp:
        * rendering/TransformState.cpp: Removed.
        * rendering/TransformState.h: Removed.

2011-07-15  Pratik Solanki  <psolanki@apple.com>

        Part of https://bugs.webkit.org/show_bug.cgi?id=63674
        Get webkit to compile with USE(CFNETWORK) enabled on Mac

        Reviewed by David Kilzer.

        Minor changes needed to keep the compiler happy.

        No new tests because no change in functionality.

        * platform/network/cf/FormDataStreamCFNet.cpp:
        * platform/network/cf/ResourceErrorCF.cpp:
        (WebCore::ResourceError::platformCopy):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::WebCoreSynchronousLoaderClient::willSendRequest):
        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::toTimeT):

2011-07-15  Dan Bernstein  <mitz@apple.com>

        REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
        https://bugs.webkit.org/show_bug.cgi?id=64615

        Reviewed by Anders Carlsson.

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::enteredFullscreen): Hide the mouse cursor immediately when
        entering full screen.
        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide the mouse cursor when
        hiding the HUD.
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::setCursorHiddenUntilMouseMoves): Added empty implementation.
        * page/Chrome.cpp:
        (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Added. Calls through to the client.
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/HostWindow.h:

2011-07-14  Gavin Barraclough  <barraclough@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=64250
        Global strict mode function leaking global object as "this".

        Reviewed by Oliver Hunt.

        * bindings/js/JSMainThreadExecState.h:
        (WebCore::JSMainThreadExecState::call):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
            - Change call to pass DOM Window shell, instead of the global varaible object.

2011-07-15  Brian Salomon  <bsalomon@google.com>

        [SKIA] Must make skia's GL context current before drawing in GraphicsContext::clearRect
        https://bugs.webkit.org/show_bug.cgi?id=64612

        Reviewed by Stephen White.

        Tested by compositing/shadows/shadow-drawing.html

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clearRect):

2011-07-15  Ian Henderson  <ianh@apple.com>

        Avoid rounded rect corner-drawing overhead if no corners are visible
        https://bugs.webkit.org/show_bug.cgi?id=64584

        Reviewed by Simon Fraser.

        No new tests, rendering is visually identical.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxDecorations): Pass PaintInfo into
        paintBorder.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations): Ditto.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::unroundClippedCorners):
        (WebCore::RenderBoxModelObject::paintBorder):
        Any invisible corner may be replaced with a corner of radius zero, as
        long as the stroke style is solid.  Change the GraphicsContext
        parameter into a PaintInfo parameter so we can get the rect to be
        drawn.
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations): Pass PaintInfo into
        paintBorder.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations): Ditto.
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBoxDecorations): Ditto.

2011-07-15  Jeff Miller  <jeffm@apple.com>

        Add UserAgentStyleSheetsData.cpp to WebCore.vcproj
        https://bugs.webkit.org/show_bug.cgi?id=64609
        
        Add UserAgentStyleSheetsData.cpp to WebCore.vcproj for convenient access, but don't compile it.
        This matches what we do with other generated DerivedSources.

        Reviewed by Brian Weinstein.
        
        No new tests, just adding a file.

        * WebCore.vcproj/WebCore.vcproj: Add UserAgentStyleSheetsData.cpp.

2011-07-15  Pratik Solanki  <psolanki@apple.com>

        Part of https://bugs.webkit.org/show_bug.cgi?id=63674
        Get webkit to compile with USE(CFNETWORK) enabled on Mac

        Reviewed by David Kilzer.

        No new tests because no change in functionality and option is not enabled on Mac.

        * platform/network/cf/AuthenticationCF.h: Just use AuthenticationMac.h instead of having
        Mac-specific declarations here.
        * platform/network/cf/CredentialStorageCFNet.cpp:
        * platform/network/mac/AuthenticationMac.h:

2011-07-15  Pratik Solanki  <psolanki@apple.com>

        Part of https://bugs.webkit.org/show_bug.cgi?id=63674
        Get webkit to compile with USE(CFNETWORK) enabled on Mac

        Reviewed by David Kilzer.

        Get LoaderRunLoop to work on Mac when USE(CFNETWORK) is enabled. Although we could use the
        main run loop, it's better to have a separate thread handling the loads so that it can work
        in parallel to the main thread. This is similar to what NSURLConnection does for us
        internally when we use the NS APIs.

        No new tests because no change in functionality and option is not enabled on Mac.

        * platform/network/cf/LoaderRunLoopCF.cpp:
        (WebCore::runLoaderThread): Create an autorelease pool for objc code that might be called in
        the run loop.
        (WebCore::loaderRunLoop):
        * platform/network/cf/LoaderRunLoopCF.h:

2011-07-15  Xiaomei Ji  <xji@chromium.org>

        --webkit-visual-word crash on mixed editability
        https://bugs.webkit.org/show_bug.cgi?id=61978

        --webkit-visual-word crashes (VisiblePosition.getInlineBoxAndOffset could return null box)
        https://bugs.webkit.org/show_bug.cgi?id=62814

        Reviewed by Ryosuke Niwa.

        Replace previousWordPosition/nextWordPosition with previousBoundary/nextBoundary which do
        not honor editable bounary. Honor editable boundary as the last stage of leftWordPosition
        and rightWordPosition.

        Check previousBoundary/nextBoundary against NULL.  Have a static function to encapsulate the
        usage of getInlineBoxAndOffset and check the visible position is not NULL before passing to 
        getInlineBoxAndOffset. Check the box returned from getInlineBoxAndOffset is not NULL before
        accessing.

        Test: editing/selection/move-by-word-visually-null-box.html

        * editing/visible_units.cpp:
        (WebCore::positionIsInBox):
        (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
        (WebCore::lastWordBreakInBox):
        (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
        (WebCore::positionIsInsideBox):
        (WebCore::leftWordPositionAcrossBoundary):
        (WebCore::rightWordPositionAcrossBoundary):
        (WebCore::leftWordPosition):
        (WebCore::rightWordPosition):

2011-07-15  Pratik Solanki  <psolanki@apple.com>

        Remove unncessary creation of connectionProperties dictionary
        https://bugs.webkit.org/show_bug.cgi?id=63958

        Reviewed by Alexey Proskuryakov.

        No new tests because no change in functionality.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::loadResourceSynchronously):

2011-07-15  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Focusing on another node while editing CSS property does not update styles
        https://bugs.webkit.org/show_bug.cgi?id=64283

        Reviewed by Yury Semikhatsky.

        Test: inspector/styles/styles-change-node-while-editing.html

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setText.callback):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
        (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype._attributesUpdated):
        (WebInspector.ElementsPanel.prototype.updateStyles):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane):
        (WebInspector.MetricsSidebarPane.prototype.update):
        (WebInspector.MetricsSidebarPane.prototype._innerUpdate.callback):
        (WebInspector.MetricsSidebarPane.prototype._innerUpdate.inlineStyleCallback):
        (WebInspector.MetricsSidebarPane.prototype._innerUpdate):
        (WebInspector.MetricsSidebarPane.prototype._styleSheetChanged):
        (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
        (WebInspector.MetricsSidebarPane.prototype.startEditing):
        (WebInspector.MetricsSidebarPane.prototype.editingEnded):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._innerUpdate.stylesCallback):
        (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype._innerUpdate):
        (WebInspector.StylesSidebarPane.prototype._styleSheetChanged):
        (WebInspector.StylesSidebarPane.prototype._attributesUpdated):
        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
        (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
        (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.event):
        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
        (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):

2011-07-15  Mike Reed  <reed@google.com>

        [skia] remove legacy draw-text-as-paths code, as skia now draws all text as text
        https://bugs.webkit.org/show_bug.cgi?id=64368

        Reviewed by James Robinson.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
        * platform/graphics/chromium/UniscribeHelper.cpp:
        (WebCore::UniscribeHelper::draw):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::skiaDrawText):
        (WebCore::setupPaintForFont):
        (WebCore::paintSkiaText):
        * platform/graphics/skia/SkiaFontWin.h:

2011-07-15  Piroska András  <Piroska.Andras@stud.u-szeged.hu>

        Pixel difference in FEMorphology effect
        https://bugs.webkit.org/show_bug.cgi?id=63930

        Reviewed by Zoltan Herczeg.

        Using short-circuit evaluation in the setFilterEffectAttribute function
        was wrong. We should call both setRadius functions and evaluate the
        changes separately.

        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):

2011-07-15  Jeff Miller  <jeffm@apple.com>

        Fullscreen content doesn't use fullscreen controller on Windows
        https://bugs.webkit.org/show_bug.cgi?id=64540
        <rdar://problem/9510455>

        Reviewed by Darin Adler.

        RenderThemeWin needs to override extraFullScreenStyleSheet() to return
        the fullscreenQuickTime stylesheet.

        Test added to fullscreen/video-controls-override.html.

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::extraFullScreenStyleSheet): Added.
        * rendering/RenderThemeWin.h: Override extraFullScreenStyleSheet().

2011-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix build failure introduced in r91061.

        * page/Console.cpp:
        (WebCore::Console::markTimeline): Remove argument name from unused parameter.

2011-07-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Upstream QtWebKit/N9 changes related to visibleContentRect
        https://bugs.webkit.org/show_bug.cgi?id=64589

        Reviewed by Simon Hausmann.

        Rename setActualVisibleContentRect to setFixedVisibleContentRect
        as that makes it more obvious that it is an override. It is also
        consistent with the setFixedLayout which is often used in
        conjunction with it.

        Make visibleContentRect return the fixed value if set, and remove
        all calls to actualVisibleContentRect.

        Also updated the documentation.

        This is similar to what we have on our QtWebKit/N9 branch and is
        pretty well tested.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::visibleContentRect):
        If a fixed visibleContentRect is set, return that.
        Remove the code returning the contents size when in
        paintsEntireContents mode as that is wrong and already
        ifdeffed out for EFL.
        (WebCore::ScrollView::setScrollPosition):
        Do not try to be smart and update the fixed visibleContentsRect
        automatically, as the embedder might ignore the scroll request
        for various reasons.
        * platform/ScrollView.h:
        (WebCore::ScrollView::setFixedVisibleContentRect):
        (WebCore::ScrollView::fixedVisibleContentRect):

2011-07-15  Mike West  <mkwst@chromium.org>

        Web Inspector: Rename console.markTimeline() to console.timeStamp() for Firebug compatibility.
        https://bugs.webkit.org/show_bug.cgi?id=63317

        Reviewed by Pavel Feldman.

        Test: inspector/timeline/timeline-time-stamp.html

        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::consoleTimeStamp):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didTimeStamp):
        * inspector/InspectorTimelineAgent.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createTimeStampData):
        * inspector/TimelineRecordFactory.h:
        * inspector/front-end/TimelineAgent.js:
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.update.markPercentagesForRecord):
        (WebInspector.TimelineOverviewPane.prototype.update):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.get _recordStyles):
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._createEventDivider):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
        (WebInspector.TimelinePanel.prototype._clearPanel):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
        * page/Console.cpp:
        (WebCore::Console::markTimeline):
        (WebCore::Console::timeStamp):
        * page/Console.h:
        * page/Console.idl:

2011-07-15  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>

        LocalStorage: Changed the value type of ItemTable from TEXT to BLOB
        to avoid string truncation.
        This patch will also convert the exsisting ItemTable and perform
        the DATA MIGRATION job.
        https://bugs.webkit.org/show_bug.cgi?id=58762

        Reviewed by Jeremy Orlow.

        Tests: manual-tests/localstorage-value-truncation.html

        * manual-tests/localstorage-value-truncation.html: Added.
        Demostrate the testcase shown in bug 58762.
        * platform/sql/SQLiteStatement.cpp:
        (WebCore::SQLiteStatement::isColumnDeclearedAsBlob):
        Test if the pre-defined type of column is BLOB.
        * platform/sql/SQLiteStatement.h:
        * storage/StorageAreaSync.cpp:
        Change the localStorage value type from Text to BLOB to avoid the
        value string truncation at \x00.
        (WebCore::StorageAreaSync::openDatabase):
        Change the database structure, use BLOB to replace the TEXT type of
        value segment in ItemTable.
        (WebCore::StorageAreaSync::migrateItemTableIfNeeded):
        Migrate the ItemTable if the pre-defined type of value is TEXT.
        (WebCore::StorageAreaSync::performImport):
        Use getColumnBlobAsString() to import the BLOB value.
        (WebCore::StorageAreaSync::sync):
        Use bindBlob() to bind value string to the SQLiteStatement for the
        database execution.
        * storage/StorageAreaSync.h:

2011-07-15  Kentaro Hara  <haraken@google.com>

        Clear the content of a search input form when 'Escape' is pressed.
        https://bugs.webkit.org/show_bug.cgi?id=51897

        This change added handleKeydownEvent() to a search input form,
        which clears the form and triggers a 'search' event when 'Escape' is pressed.

        Reviewed by Kent Tamura.

        Test: fast/forms/input-search-press-escape-key.html

        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::handleKeydownEvent):
        * html/SearchInputType.h:

2011-07-15  Alexandru Chiculita  <achicu@adobe.com>

        Move useRepaintBounds from RenderBlock::layoutRunsAndFloats to LineLayoutState
        https://bugs.webkit.org/show_bug.cgi?id=64360

        Reviewed by Hajime Morita.

        No new tests needed because the patch is just a refactor.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineLayoutState::LineLayoutState):
        (WebCore::LineLayoutState::usesRepaintBounds):
        (WebCore::LineLayoutState::setRepaintRange):
        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::determineStartPosition):

2011-07-14  MORITA Hajime  <morrita@google.com>

        ExceptionCodePlaceholder should have its own ExceptionCodePlaceholder.cpp file
        https://bugs.webkit.org/show_bug.cgi?id=64503

        Reviewed by Darin Adler.

        No new tests. Just a file reorg.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/ExceptionCodePlaceholder.cpp: Added.
        (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
        (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
        * dom/ExceptionCodePlaceholder.h: Removed NoExceptionAssertionChecker::m_function, which is loonger used.

2011-07-14  Mark Pilgrim  <pilgrim@chromium.org>

        Remove LegacyDefaultOptionalArguments flag from WebGL
        https://bugs.webkit.org/show_bug.cgi?id=64549

        Reviewed by Kenneth Russell.

        * html/canvas/WebGLRenderingContext.idl:

2011-07-14  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Introduce pywebsocket-0.6b2
        https://bugs.webkit.org/show_bug.cgi?id=64534

        Reviewed by Kent Tamura.

        pywebsocket now accepts "Sec-WebSocket-Version: 8" as required in hybi-10 specification.

        No new functionality is added, thus no new tests. Existing WebSocket tests should keep passing.

        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::clientHandshakeMessage):
        (WebCore::WebSocketHandshake::clientHandshakeRequest):

2011-07-14  SravanKumar S  <sravan.ken@gmail.com>

        Replaced isChecked() with shouldAppearChecked() in HTMLInputElement.cpp along with all the corresponding function calls.
        https://bugs.webkit.org/show_bug.cgi?id=54476

        Reviewed by Darin Adler.

        No new tests, since existing fast/dom/HTMLInputElement/checked-pseudo-selector.html verifies the patch.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isChecked):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithControl):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * dom/CheckedRadioButtons.cpp:
        (WebCore::CheckedRadioButtons::removeButton):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::shouldAppearChecked):
        * html/HTMLInputElement.h: Removed virtual declaration from shouldAppearChecked().
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isChecked):

2011-07-14  Kenichi Ishibashi  <bashi@chromium.org>

        <input form="x"> should not associate the input with any forms when there is no  form with id="x"
        https://bugs.webkit.org/show_bug.cgi?id=64509

        Don't set form owner when a form associated element has the form attribute but there is no such form element.

        Reviewed by Kent Tamura.

        Test: fast/forms/form-attribute-nonexistence-form-id.html

        * dom/Document.cpp:
        (WebCore::Document::resetFormElementsOwner): Removed the argument which is no longer needed.
        * dom/Document.h: Ditto.
        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::insertedIntoTree): Resets m_form whenever the element has the form attribute.
        (WebCore::FormAssociatedElement::resetFormOwner): Don't set m_form when there is no form element which has the given id.
        (WebCore::FormAssociatedElement::formAttributeChanged): Removed the argument of resetFormOwner().
        * html/FormAssociatedElement.h: Ditto.
        * html/HTMLFormElement.cpp: Ditto.
        (WebCore::HTMLFormElement::insertedIntoDocument):
        (WebCore::HTMLFormElement::removedFromDocument):

2011-07-14  Kent Tamura  <tkent@chromium.org>

        REGRESSION (r90809): Setting a checkbox's checked property, doesn't render as checked until app window loses focus
        https://bugs.webkit.org/show_bug.cgi?id=64537

        Reviewed by Darin Adler.

        We stopped to call updateCheckedRadioButtons() for checkboxes
        since r90809, but we need to call RenderTheme::stateChanged(),
        which was in updateCheckedRadioButtons(), for checkboxes.

        Tests: fast/forms/checkbox-appearance-change-by-checked-expected.html
               fast/forms/checkbox-appearance-change-by-checked.html

        * html/HTMLInputElement.cpp: Move the RenderTheme::stateChanged() call
        from updateCheckedRadioButtons() to setChecked().
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
        (WebCore::HTMLInputElement::setChecked):

2011-07-14  Adam Barth  <abarth@webkit.org>

        The beforeload event allows tracking URI changes in a frame
        https://bugs.webkit.org/show_bug.cgi?id=64482

        Reviewed by Nate Chapin.

        Tests: http/tests/security/beforeload-iframe-client-redirect.html
               http/tests/security/beforeload-iframe-server-redirect.html

        Only dispatch the beforeload event for a frame if we haven't yet
        committed our first real load.  The URL that we send to our parent will
        be the same URL the parent seens in the src attribute.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadWithDocumentLoader):

2011-07-14  Dan Bernstein  <mitz@apple.com>

        LLVM Compiler build fix.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyComputeLength::applyValue):

2011-07-14  Darin Adler  <darin@apple.com>

        [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
        https://bugs.webkit.org/show_bug.cgi?id=64570

        Reviewed by Alexey Proskuryakov.

        Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
        and that it's also reasonable to use it for not-allowed.

        * platform/mac/CursorMac.mm:
        (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
        Cursor::NoDrop.

2011-07-14  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
        https://bugs.webkit.org/show_bug.cgi?id=62957

        No new tests / refactoring only.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        Add computeLength function that returns unsigned short.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
        Added class to handle computeLength based properties.
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Initialize ApplyPropertyComputeLength for appropriate properties.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::useSVGZoomRules):
        Make this a public member function instead of a private static function.
        (WebCore::CSSStyleSelector::applyProperty):
        Removed code now implemented in CSSStyleApplyProperty.
        (WebCore::CSSStyleSelector::setFontSize):
        Use new useSVGZoomRules function.
        * css/CSSStyleSelector.h:
        Add interface for useSVGZoomRules.

2011-07-14  Antti Koivisto  <antti@apple.com>

        REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
        https://bugs.webkit.org/show_bug.cgi?id=64557

        Reviewed by Kenneth Rohde Christiansen.

        Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
        clients may not expect it and it doesn't make much sense in any case.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):

2011-07-14  Jeffrey Pfau  <jpfau@apple.com>

        Character reference parser for new XML parser
        https://bugs.webkit.org/show_bug.cgi?id=64398

        Reviewed by Adam Barth.

        Refactored out the HTML entity parser and added a common template for parsing character references.

        * WebCore.xcodeproj/project.pbxproj:
        * html/parser/HTMLEntityParser.cpp:
        (WebCore::consumeHTMLEntity):
        * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
        (WebCore::isHexDigit):
        (WebCore::unconsumeCharacters):
        (WebCore::consumeCharacterReference):
        * xml/parser/XMLCharacterReferenceParser.cpp: Added.
        (WebCore::consumeXMLCharacterReference):
        * xml/parser/XMLCharacterReferenceParser.h: Added.

2011-07-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: panel switching is too slow.
        https://bugs.webkit.org/show_bug.cgi?id=60959

        * inspector/front-end/inspector.css:
        (.panel):
        (.panel.visible):

2011-07-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: remove more unused CSS from inspector.css
        https://bugs.webkit.org/show_bug.cgi?id=64529

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.css:

2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>

        Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=64476

        Reviewed by Kent Tamura.

        Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
        RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
        HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
        RenderTextSingleLine to SearchInputType.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
        (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
        * html/HTMLInputElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
        (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
        * html/HTMLTextFormControlElement.h:
        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
        (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
        (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
        (WebCore::SearchInputType::searchEventTimerFired): Ditto.
        * html/SearchInputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
        * rendering/RenderTextControlMultiLine.cpp:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
        m_searchEventTimer.
        * rendering/RenderTextControlSingleLine.h:

2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Move XML errors handling out from XMLDocumentParser (refactoring).
        https://bugs.webkit.org/show_bug.cgi?id=64305

        XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.

        Reviewed by Adam Barth.

        No tests needed as there is no new functionality added.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * xml/XMLErrors.cpp: Added.
        (WebCore::XMLErrors::XMLErrors):
        (WebCore::XMLErrors::handleError):
        (WebCore::XMLErrors::appendErrorMessage):
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLErrors::insertErrorMessageBlock):
        * xml/XMLErrors.h: Added.
        * xml/parser/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::pushCurrentNode):
        (WebCore::XMLDocumentParser::handleError):
        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
        * xml/parser/XMLDocumentParser.h:
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::error):
        (WebCore::warningHandler):
        (WebCore::fatalErrorHandler):
        (WebCore::normalErrorHandler):
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseDtd):

2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=64356

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkDispatcher):
        (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._frameNavigated):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        * loader/FrameLoader.h:

2011-07-14  Tim Horton  <timothy_horton@apple.com>

        Clear SVGElementInstance's children immediately upon detachment
        https://bugs.webkit.org/show_bug.cgi?id=63739
        <rdar://problem/9705708>

        Reviewed by Nikolas Zimmermann.

        In addition to clearing the instance's children in the destructor,
        clear them when the instance is detached from its <use>. This way,
        we won't attempt to use them after we're detached but before the
        destructor has been called.

        Test: svg/custom/use-crash-using-children-before-destroy.svg

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::~SVGElementInstance):
        (WebCore::SVGElementInstance::clearChildren):
        * svg/SVGElementInstance.h:
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::detachInstance):

2011-07-14  Nate Chapin  <japhet@chromium.org>

        Don't skip custom cursors if an Image* is null,
        since this can lead to a non-custom Cursor flickering 
        back in when the custom cursor hasn't finished loading yet.
        https://bugs.webkit.org/show_bug.cgi?id=64321

        Reviewed by Darin Fisher.

        Manual test, since we're testing visual flickering.

        * manual-tests/canvas-cursor.html: Added.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):
        * platform/Cursor.cpp:
        (WebCore::determineHotSpot):

2011-07-14  Young Han Lee  <joybro@company100.net>

        Reviewed by Dirk Schulze.

        REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
        https://bugs.webkit.org/show_bug.cgi?id=63911

        Some functions assumed calculateKeyTimesIndex() does not return the last index of
        the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
        accepts 1 as the percent argument.

        To avoid the assumption, and for more efficiency, this patch allows the functions
        using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
        These functions have always returned the last element of the corresponding vector
        in that situation.

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):

2011-07-14  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: remove more dead code
        https://bugs.webkit.org/show_bug.cgi?id=64524

        Reviewed by Yury Semikhatsky.

        * WebCore.gypi:
        * inspector/front-end/SummaryBar.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        * inspector/front-end/inspector.html:

2011-07-14  Peter Varga  <pvarga@webkit.org>

        [Qt][V8] Build fix after r90830.

        Reviewed by Csaba Osztrogonác.

        The histogramEnumeration() function isn't available from the Qt port's
        PlatformBridge.h because this function is Chromium specific.
        Since the http://trac.webkit.org/changeset/90830 change we need to
        guard the usage of the histogramEnumeration() function.

        No new tests needed.

        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
        (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
        (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):

2011-07-14  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
        https://bugs.webkit.org/show_bug.cgi?id=64519

        Reviewed by Pavel Feldman.

        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager):
        (WebInspector.WorkerManager.isWorkerFrontend):
        (WebInspector.WorkerManager.isSharedWorkerFrontend):
        (WebInspector.WorkerManager.prototype._openInspectorWindow):
        (WebInspector.DedicatedWorkerMessageForwarder):

2011-07-14  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r90976, r90981, and r90985.
        http://trac.webkit.org/changeset/90976
        http://trac.webkit.org/changeset/90981
        http://trac.webkit.org/changeset/90985
        https://bugs.webkit.org/show_bug.cgi?id=64251

        build break

        * WebCore.exp.in:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        * dom/NodeRenderingContext.h:
        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowContentElement::attach):
        (WebCore::ShadowContentElement::detach):
        * dom/ShadowContentElement.h:
        * dom/ShadowContentSelector.cpp:
        (WebCore::ShadowContentSelector::ShadowContentSelector):
        (WebCore::ShadowContentSelector::selectInclusion):
        (WebCore::ShadowContentSelector::willAttachContentFor):
        (WebCore::ShadowContentSelector::didAttachContent):
        (WebCore::ShadowContentSelector::activeElement):
        * dom/ShadowContentSelector.h:
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::~ShadowRoot):
        (WebCore::ShadowRoot::activeContentElement):
        * dom/ShadowRoot.h:
        * testing/Internals.cpp:
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-13  Ryosuke Niwa  <rniwa@webkit.org>

        Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=64475

        Reviewed by Kent Tamura.

        Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
        to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.

        This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
        objects classes.

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::forwardEvent):
        * html/HTMLTextFormControlElement.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::forwardEvent):
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderTextControlSingleLine.h:

2011-07-13  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: if you rename an element into the INPUT element the browser will crash.
        https://bugs.webkit.org/show_bug.cgi?id=64292

        Reviewed by Joseph Pecoraro.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setNodeName):
        Unnecessary function call copyNonAttributeProperties was removed.

2011-07-13  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Implement hybi handshake
        https://bugs.webkit.org/show_bug.cgi?id=64344

        Reviewed by Kent Tamura.

        Implement WebSocket handshake which is described at
        <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.

        Notable differences from hixie-76 protocol are:
        - Challenge-response scheme has been changed dramatically.
        - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
        - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
        - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".

        New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
                   http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
                   http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html

        Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
        yet, because pywebsocket does not accept requests from half-baked client implementation
        (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
        in WebCore.

        * websockets/WebSocketHandshake.cpp:
        Functions and members only used for hixie-76 handshake are renamed so that they are not confused
        with hybi-10's ones.
        (WebCore::generateHixie76SecWebSocketKey):
        (WebCore::generateHixie76Key3):
        (WebCore::generateHixie76ExpectedChallengeResponse):
        (WebCore::generateSecWebSocketKey):
        Generates a value for Sec-WebSocket-Key as stated in hybi-10.
        (WebCore::getExpectedWebSocketAccept):
        Calculates the expected value of Sec-WebSocket-Accept.
        (WebCore::WebSocketHandshake::WebSocketHandshake):
        (WebCore::WebSocketHandshake::clientHandshakeMessage):
        (WebCore::WebSocketHandshake::clientHandshakeRequest):
        (WebCore::WebSocketHandshake::readServerHandshake):
        (WebCore::WebSocketHandshake::serverWebSocketAccept):
        (WebCore::WebSocketHandshake::serverWebSocketExtensions):
        (WebCore::WebSocketHandshake::checkResponseHeaders):
        * websockets/WebSocketHandshake.h:

2011-07-13  MORITA Hajime  <morrita@google.com>

        [ShadowContentElement] forwarded node should be able to access its hosting content element.
        https://bugs.webkit.org/show_bug.cgi?id=64251
        
        Reviewed by Dimitri Glazkov.

        - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
          ShadowInclusionSet instance is owned by ShadowRoot.
        - Updated the set on inclusion list changes.
        - Used the set to retrieve the content element of NodeRenderingContext.
        
        There are also related refactoring and cleanup:
        - Renamed NodeRenderingContext::m_contentElement to m_includer
        - ShadowContentSelector::m_activeElement is no longer used, thus removed.
        
        Test: fast/dom/shadow/content-element-includer.html

        * WebCore.exp.in:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        * dom/NodeRenderingContext.h:
        (WebCore::NodeRenderingContext::includer): 
        * dom/ShadowContentElement.cpp:
        (WebCore::removeFromSet): Added
        (WebCore::addToSet): Added
        (WebCore::ShadowContentElement::attach):
        (WebCore::ShadowContentElement::detach):
        * dom/ShadowContentElement.h:
        (WebCore::ShadowInclusionSet::add):
        (WebCore::ShadowInclusionSet::remove):
        (WebCore::ShadowInclusionSet::isEmpty):
        (WebCore::ShadowInclusionSet::Translator::hash):
        (WebCore::ShadowInclusionSet::Translator::equal):
        (WebCore::ShadowInclusionSet::Hash::hash):
        (WebCore::ShadowInclusionSet::Hash::equal):
        (WebCore::ShadowInclusionSet::find):
        * dom/ShadowContentSelector.cpp:
        (WebCore::ShadowContentSelector::ShadowContentSelector):
        (WebCore::ShadowContentSelector::selectInclusion):
        * dom/ShadowContentSelector.h:
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::~ShadowRoot):
        (WebCore::ShadowRoot::includerFor): Replaced activeElement()
        (WebCore::ShadowRoot::inclusions): Added
        (WebCore::ShadowRoot::ensureInclusions): Added
        * dom/ShadowRoot.h:
        (WebCore::toShadowRoot):
        * testing/Internals.cpp:
        (WebCore::Internals::includerFor):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-12  Dominic Cooney  <dominicc@chromium.org>

        Raise if dispatchEvent dispatches an event that is being dispatched
        https://bugs.webkit.org/show_bug.cgi?id=64150

        Reviewed by Dimitri Glazkov.

        Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent

        Test: fast/events/dispatch-event-being-dispatched.html

        * dom/Event.h:
        (WebCore::Event::isBeingDispatched): Added.
        * dom/EventException.h:
        * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
        * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.

2011-07-13  Kent Tamura  <tkent@chromium.org>

        Implement text field placeholders using shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=64253

        Reviewed by Dimitri Glazkov.

        Represents a placeholder text as a shadow element, and its
        visibility is controlled by 'visibility' CSS property.

        This patch removes all of existing code about placeholder from
        RenderTextControl*. RenderTextControl* have only small code about
        placeholder layout.

        Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
        the placeholder style uses Element::shadowPseudoId().

        This fixes the following regressions:
        - https://bugs.webkit.org/show_bug.cgi?id=51290
        - https://bugs.webkit.org/show_bug.cgi?id=54797
        - https://bugs.webkit.org/show_bug.cgi?id=54814
        - https://bugs.webkit.org/show_bug.cgi?id=63367

        Test: fast/forms/textarea-placeholder-wrapping.html

        * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h: ditto.
        * css/html.css:
        (::-webkit-input-placeholder): Added. This contains properties
        common in <input> and <textarea>. Some properties have !important
        so that a stylesheet specified by a page author won't break
        WebKit's assumption.
        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
         Added the default style for <input> placeholders.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
        (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
        * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::createRenderer):
        Remove the 'placeholderVisible' argument.
        (WebCore::HTMLTextAreaElement::placeholderElement): Added.
        (WebCore::HTMLTextAreaElement::updatePlaceholderText):
         Added. This creates, deletes, or updates the placeholder element.
        * html/HTMLTextAreaElement.h:
        - Declare placeholderElement() and updatePlaceholderText().
        - Add m_placeholder.
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
        Update the placeholder element and 'visibility' CSS property,
        instead of delegating the job to a renderer.
        * html/HTMLTextFormControlElement.h:
        Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
        * html/InputType.cpp:
        (WebCore::InputType::placeholderElement): Add an empty implementation.
        (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
        * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createRenderer):
        Remove the 'placeholderVisible' argument.
        (WebCore::TextFieldInputType::placeholderElement): Added.
        (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
        (WebCore::TextFieldInputType::updatePlaceholderText):
         Added. This creates, deletes, or updates the placeholder element.
        * html/TextFieldInputType.h:
        - Declare placeholderElement() and updatePlaceholderText().
        - Add m_placeholder.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::RenderTextControl):
        Remove the 'placeholderVisible' argument.
        (WebCore::RenderTextControl::layoutSpecialExcludedChild):
        Excludes the placeholder renderer in order to avoid to secure a box for
        the placeholder.
        * rendering/RenderTextControl.h:
        - Remove declarations of removed functions.
        - Update the RenderTextControl signature.
        - Add layoutSpecialExcludedChild().
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
        Remove the 'placeholderVisible' argument.
        (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
        Laying out the placeholder box so that it has correct width and location.
        * rendering/RenderTextControlMultiLine.h:
        - Remove declarations of removed functions.
        - Update the RenderTextControlMultiLine signature.
        - Add layoutSpecialExcludedChild().
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
        Remove the 'placeholderVisible' argument.
        (WebCore::RenderTextControlSingleLine::layout):
        Laying out the placeholder box so that it has correct width and location.
        * rendering/RenderTextControlSingleLine.h:
        - Remove declarations of removed functions.
        - Update the RenderTextControlSingleLine signature.
        * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.

2011-07-13  James Simonsen  <simonjam@chromium.org>

        Remove hack that forcefully prevents scripts from running in shadow SVG
        https://bugs.webkit.org/show_bug.cgi?id=64419

        This hack was put in to prevent scripts from running in shadow SVG. This should never have
        happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
        r88584, so the hack is no longer needed.

        No new tests since there is no change in functionality.

        Reviewed by Tony Gentilcore.

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::prepareScript):

2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Parse -webkit-content-order property
        https://bugs.webkit.org/show_bug.cgi?id=63897

        Reviewed by David Hyatt.

        Test: fast/regions/webkit-content-order-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::regionIndex):
        (WebCore::InheritedFlags::setRegionIndex):
        (WebCore::InheritedFlags::initialRegionIndex):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-13  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
        https://bugs.webkit.org/show_bug.cgi?id=58833

        Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
        so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
        the drawing responsibilities for tiled layers.

        TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
        responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
        tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
        owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
        way tile eviction works.

        * WebCore.gypi:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::drawsContent):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerChromium::textureUpdater):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::ImageLayerChromium):
        (WebCore::ImageLayerChromium::cleanupResources):
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::textureUpdater):
        (WebCore::ImageLayerChromium::contentBounds):
        (WebCore::ImageLayerChromium::drawsContent):
        (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        (WebCore::LayerChromium::ccLayerImpl):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawRootLayer):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::draw):
        (WebCore::LayerTilerChromium::drawTiles):
        * platform/graphics/chromium/LayerTilerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::~TiledLayerChromium):
        (WebCore::TiledLayerChromium::createCCLayerImpl):
        (WebCore::TiledLayerChromium::cleanupResources):
        (WebCore::TiledLayerChromium::setLayerRenderer):
        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
        (WebCore::TiledLayerChromium::drawsContent):
        (WebCore::TiledLayerChromium::createTilerIfNeeded):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::setTilingOption):
        (WebCore::TiledLayerChromium::setIsMask):
        (WebCore::TiledLayerChromium::tilingTransform):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::writeIndent):
        (WebCore::TiledLayerChromium::dumpLayerProperties):
        * platform/graphics/chromium/TiledLayerChromium.h: Added.
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::draw):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::setDrawsContent):
        (WebCore::CCLayerImpl::drawsContent):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
        (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
        (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
        (WebCore::CCTiledLayerImpl::draw):
        (WebCore::CCTiledLayerImpl::bindContentsTexture):
        (WebCore::CCTiledLayerImpl::dumpLayerProperties):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
        (WebCore::CCTiledLayerImpl::create):
        (WebCore::CCTiledLayerImpl::setTilingTransform):
        (WebCore::CCTiledLayerImpl::setTiler):

2011-07-13  Julien Chaffraix  <jchaffraix@webkit.org>

        Remove an unused bit in RenderObject
        https://bugs.webkit.org/show_bug.cgi?id=64485

        Reviewed by Darin Adler.

        No change in behavior so no new test.

        * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
        However it was not used in RenderObject and RenderTableCell already packed this bit.
        We were lying in the number of used bits in RenderObject which was 33. This change
        brings us back to what was advertised.

2011-07-13  Simon Fraser  <simon.fraser@apple.com>

        Fix non-debug builds.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer):

2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>

        [chromium] Fix mac build after r90949.

        * bindings/v8/V8HiddenPropertyName.cpp:
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):

2011-07-13  Emil A Eklund  <eae@chromium.org>

        Switch table rendering to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64478

        Reviewed by Eric Seidel.

        No new tests, no new functionality.

        * rendering/AutoTableLayout.cpp:
        * rendering/AutoTableLayout.h:
        * rendering/HitTestResult.cpp:
        * rendering/HitTestResult.h:
        * rendering/LayoutTypes.h:
        * rendering/RenderBlock.h:
        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderObject.h:
        * rendering/RenderTable.cpp:
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCell.h:

2011-07-13  Simon Fraser  <simon.fraser@apple.com>

        Factor some GraphicsLayer creation code in RenderLayerBacking
        https://bugs.webkit.org/show_bug.cgi?id=64487

        Reviewed by Sam Weinig.

        Move the GraphicsLayer::create() calls into once place so that we
        don't have lots of #ifndef NDEBUG in various places, and can share
        more code in future.
        
        No behavior change, so no new tests.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::RenderLayerBacking::~RenderLayerBacking):
        (WebCore::RenderLayerBacking::createGraphicsLayer):
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
        (WebCore::RenderLayerBacking::destroyGraphicsLayers):
        (WebCore::RenderLayerBacking::updateLayerTransform):
        (WebCore::RenderLayerBacking::updateClippingLayers):
        (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
        (WebCore::RenderLayerBacking::updateForegroundLayer):
        (WebCore::RenderLayerBacking::updateMaskLayer):
        * rendering/RenderLayerBacking.h:

2011-07-13  Xan Lopez  <xlopez@igalia.com>

        [GTK] Fix distcheck.

        Reviewed by Martin Robinson.

        * GNUmakefile.list.am: add missing files.

2011-07-13  James Robinson  <jamesr@chromium.org>

        [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
        https://bugs.webkit.org/show_bug.cgi?id=64420

        Reviewed by Tony Gentilcore.

        Removes some redundant time related code.

        * platform/chromium/PlatformBridge.h:
        * platform/chromium/SystemTimeChromium.cpp:
        (WebCore::userIdleTime):

2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>

        [V8] Avoid memory leaks with hidden references.
        https://bugs.webkit.org/show_bug.cgi?id=64467

        Reviewed by Adam Barth.

        We used to have growing arrays of hidden references associated
        with objects. The entries in this array had no keys and were never
        removed. This patch changes the interface to require a reference
        name. This way it's harder to leak an unbounded number of
        objects. Also it makes our wrapper objects one machine word
        smaller.

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter): Started using new interface.

        Interface changes:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::setNamedHiddenReference):
        (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
        * bindings/v8/V8DOMWrapper.h:

        Added a helper to compute hidden reference names as V8 strings:
        * bindings/v8/V8HiddenPropertyName.cpp:
        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
        * bindings/v8/V8HiddenPropertyName.h:

        * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
        array internal field.

        Update usages of hidden references:
        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::V8MessageChannel::constructorCallback):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8StyleSheetCustom.cpp:
        (WebCore::toV8):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):

        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.

2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>

        Improve names of some ApplicationCacheStorage accessor methods
        https://bugs.webkit.org/show_bug.cgi?id=64433

        Reviewed by Alexey Proskuryakov.

        Some methods returned a bool for success/failure and
        actually returned a value as an out parameter so their
        name was confusing. Rename these methods to make them
        more clear.

        (WebCore::ApplicationCache::diskUsageForOrigin):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
        (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
        (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
        (WebCore::ApplicationCacheStorage::checkOriginQuota):
        * loader/appcache/ApplicationCacheStorage.h:
        * loader/appcache/ApplicationCache.cpp:
        Rename the methods.

        * WebCore.exp.in:
        Replaced old versions. Also, calculateRemaining wasn't needed
        outside WebCore, so no longer export it.

2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>

        Some ApplicationCache Origin Cleanup
        https://bugs.webkit.org/show_bug.cgi?id=64431

        Reviewed by Alexey Proskuryakov.

        - m_loadedSize is inaccurate. This just replaces it with
        calls to ApplicationCache::estimatedSizeInStorage.

        - m_availableSpaceInQuota can get out of date, so we just
        recalculate it at the start of appcache downloads.

        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        (WebCore::ApplicationCacheGroup::didReceiveData):
        Remove references to m_loadedSize.

        (WebCore::ApplicationCacheGroup::didFinishLoading):
        Replace m_loadedSize with estimatedSizeInStorage after we
        add the new cached resource to the cache. The calculation
        already happened so this check is fast.

        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        When we start the Downloading phase, recalculate the quota
        so that we have an up to date quota value so that we can
        break early if needed.

2011-07-12  Brent Fulgham  <bfulgham@webkit.org>

        Standardize WinCairo conditionalized code under PLATFORM macro.
        https://bugs.webkit.org/show_bug.cgi?id=64377

        Reviewed by Maciej Stachowiak.

        Update compile-time conditions that had previously used #ifdef
        of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).

        * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
          of WIN_CAIRO.
        * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
          the existing WinCairo.vsprops file.
        * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
        * config.h: Update to use PLATFORM(WIN_CAIRO).

2011-07-13  Alexandru Chiculita  <achicu@adobe.com>

        [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
        https://bugs.webkit.org/show_bug.cgi?id=64464

        Reviewed by Tony Chang.

        No new tests needed.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
        (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
        (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
        * css/CSSPrimitiveValue.cpp:
        * css/CSSWrapShapes.h:
        (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
        (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
        * rendering/style/RenderStyle.cpp:
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-13  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Issue with Frame lifetime due to deletion in beforeload event.
        https://bugs.webkit.org/show_bug.cgi?id=64457

        Copy the Frame protector higher in the stack from loadWithDocumentLoader
        to loadFrameRequest since any of loadPostRequest or loadURL can call
        loadWithDocumentLoader, thereby dispatching the beforeload event and
        blowing away the frame. This deleted frame will be later accessed in
        the loadFrameRequest function causing a crash.       
 
        Test: fast/events/form-iframe-target-before-load-crash2.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadFrameRequest):
        (WebCore::FrameLoader::loadWithDocumentLoader):

2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]content:-webkit-from-flow not applied correctly
        https://bugs.webkit.org/show_bug.cgi?id=64438

        Reviewed by Tony Chang.

        Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).

        Test: fast/regions/content-webkit-from-flow-parsing.html (existing).

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::getStringValue):

2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>

        Don't reuse the last InsertTextCommand
        https://bugs.webkit.org/show_bug.cgi?id=64416

        Reviewed by Justin Garcia.

        This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
        its constructor and executes the command in doApply like other edit commands.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
        * editing/CompositeEditCommand.h:
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
        (WebCore::InsertTextCommand::doApply): Renamed from input.
        * editing/InsertTextCommand.h:
        (WebCore::InsertTextCommand::create): Takes arguments input used to take.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.

2011-07-12  Dmitry Lomov  <dslomov@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=63041
        [Chromium][V8] Make DOMDataStore per-isolate
        This patch:
         - makes DOMData class an utility class with static members only
         - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
        Dromaeo benchmarks are not affected.

        Reviewed by Adam Barth.

        * bindings/v8/DOMData.cpp:
        (WebCore::getDefaultStore):
        (WebCore::DOMData::getCurrentStore):
        * bindings/v8/DOMData.h:
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::allStores):
        * bindings/v8/DOMDataStore.h:
        * bindings/v8/ScopedDOMDataStore.cpp:
        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
        * bindings/v8/ScopedDOMDataStore.h:
        * bindings/v8/StaticDOMDataStore.cpp:
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        * bindings/v8/StaticDOMDataStore.h:
        * bindings/v8/V8Binding.h:
        (WebCore::V8BindingPerIsolateData::allStores):
        (WebCore::V8BindingPerIsolateData::getDOMDataStore):
        (WebCore::V8BindingPerIsolateData::setDOMDataStore):
        * bindings/v8/V8Binding.cpp:
        (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
        (WebCore::getDOMDataStore):
        (WebCore::enableFasterDOMStoreAccess):

2011-07-12  Simon Fraser  <simon.fraser@apple.com>

        Rename compositing-related updateContentsScale() methods
        https://bugs.webkit.org/show_bug.cgi?id=64430

        Reviewed by Joseph Pecoraro.

        Rename updateContentsScale() to something less presumptuous; layers may choose
        to do something other than update their contents scale when the page scale factor
        changes. pageScaleFactorChanged() is a better name.

        * page/Frame.cpp:
        (WebCore::Frame::pageScaleFactorChanged):
        (WebCore::Frame::scalePage):
        * page/Frame.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::pageScaleFactorChanged):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::pageScaleFactorChanged):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
        * rendering/RenderLayerCompositor.h:

2011-07-13  Pierre Rossi  <pierre.rossi@gmail.com>

        Fix compile for QRawFont.

        https://bugs.webkit.org/show_bug.cgi?id=64453

        Reviewed by Andreas Kling.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawGlyphs):

2011-07-13  John Knottenbelt  <jknotten@chromium.org>

        Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
        https://bugs.webkit.org/show_bug.cgi?id=64363

        Reviewed by Tony Gentilcore.

        Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html

        * page/Geolocation.cpp:
        (WebCore::Geolocation::setIsAllowed):
        * page/Geolocation.h:

2011-07-13  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Network panel search needs each resource to have unique identifier.
        https://bugs.webkit.org/show_bug.cgi?id=64287

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkDispatcher):
        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
        (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._appendResource):
        (WebInspector.NetworkPanel.prototype._frameNavigated):
        (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):

2011-07-13  Alexandru Chiculita  <achicu@adobe.com>

        Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
        https://bugs.webkit.org/show_bug.cgi?id=63987

        Reviewed by Hajime Morita.

        Change doesn't add new functionality. No test needed.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::maskClipRect):
        (WebCore::RenderBox::repaintLayerRectsForImage):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):

2011-07-13  MORITA Hajime  <morrita@google.com>

        Refactoring: Ignored ExceptionCode value should be less annoying.
        https://bugs.webkit.org/show_bug.cgi?id=63688

        - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
        - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
        - Adopted ASSERT_NO_EXCEPTION in Range.cpp

        No new tests. No behaviour change.

        Reviewed by Darin Adler.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ExceptionCodePlaceholder.h: Added.
        (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
        (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
        (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
        (WebCore::CheckedExceptionCode::CheckedExceptionCode):
        (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
        * dom/Range.cpp:
        (WebCore::Range::Range):
        (WebCore::Range::editingStartPosition):
        * dom/Range.h:        

2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>

        Regression: OOB read in svg text run
        https://bugs.webkit.org/show_bug.cgi?id=63627

        Not reviewed.

        Fixed last minute typo leading to assertions.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSelection):

2011-07-12  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: factor NetworkLogView out of Network panel
        https://bugs.webkit.org/show_bug.cgi?id=64366

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView):
        (WebInspector.NetworkLogView.prototype.get useLargeRows):
        (WebInspector.NetworkLogView.prototype.set allowPopover):
        (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
        (WebInspector.NetworkLogView.prototype.resize):
        (WebInspector.NetworkLogView.prototype._createTable):
        (WebInspector.NetworkLogView.prototype.show):
        (WebInspector.NetworkLogView.prototype.hide):
        (WebInspector.NetworkLogView.prototype._reset):
        (WebInspector.NetworkLogView.prototype.switchToDetailedView):
        (WebInspector.NetworkLogView.prototype.switchToBriefView):
        (WebInspector.NetworkLogView.prototype.get _setLargerResources):
        (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
        (WebInspector.NetworkPanel.prototype.get statusBarItems):
        (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
        (WebInspector.NetworkPanel.prototype.resize):
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
        (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
        (WebInspector.NetworkPanel.prototype.handleShortcut):
        (WebInspector.NetworkPanel.prototype.show):
        (WebInspector.NetworkPanel.prototype.hide):
        (WebInspector.NetworkPanel.prototype.get resources):
        (WebInspector.NetworkPanel.prototype.resourceById):
        (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
        (WebInspector.NetworkPanel.prototype.showAnchorLocation):
        (WebInspector.NetworkPanel.prototype._onViewCleared):
        (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
        (WebInspector.NetworkPanel.prototype._onResourceSelected):
        (WebInspector.NetworkPanel.prototype._showResource):
        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
        (WebInspector.NetworkPanel.prototype.performSearch):
        (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
        (WebInspector.NetworkPanel.prototype.searchCanceled):
        (WebInspector.NetworkDataGridNode):
        (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
        (WebInspector.NetworkDataGridNode.prototype.select):
        (WebInspector.NetworkDataGridNode.prototype.get selectable):

2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90634.
        http://trac.webkit.org/changeset/90634
        https://bugs.webkit.org/show_bug.cgi?id=64448

        Qt HTTP Pipelining is not robust enough to be used in that
        generic way. (Requested by benjaminp on #webkit).

        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest):

2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>

        Regression: OOB read in svg text run
        https://bugs.webkit.org/show_bug.cgi?id=63627

        Reviewed by Zoltan Herczeg.

        A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
        The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
        to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
        to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
        define a single glyph for the characters 'ffl' thus leading to a single character long text
        pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.

        constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
        The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
        holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
        of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
        can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().

        There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
        tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
        computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
        * rendering/InlineTextBox.h: Ditto.

2011-07-12  Antti Koivisto  <antti@apple.com>

        didFirstVisuallyNonEmptyLayout dispatched too early
        https://bugs.webkit.org/show_bug.cgi?id=64412

        Reviewed by Darin Adler and Sam Weinig.

        Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout

        - Wait until a threshold of characters and pixels has been exceeded before dispatching.
        - Wait until stylesheets are loaded (painting is disabled in this case).

        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        (WebCore::FrameView::performPostLayoutTasks):
        * page/FrameView.h:
        (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
        (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        (WebCore::RenderImage::imageChanged):
        * rendering/RenderImage.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::RenderText):

2011-07-12  MORITA Hajime  <morrita@google.com>

        [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
        https://bugs.webkit.org/show_bug.cgi?id=64252

        Reviewed by Dimitri Glazkov.

        Introduced ShadowInclusionList and ShadowInclusion for maintaining
        forwarded content children. ShadowInclusion is doubly-linked list.
        ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
        
        This change is a prepration for bug 64251, which will introduce
        forwarded-children to content-element table.
        
        No new tests. No behavioral change.

        * dom/NodeRenderingContext.cpp:
        (WebCore::nextRendererOf):
        (WebCore::previousRendererOf):
        (WebCore::firstRendererOf):
        (WebCore::lastRendererOf):
        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowInclusion::append):
        (WebCore::ShadowInclusion::unlink):
        (WebCore::ShadowInclusionList::ShadowInclusionList):
        (WebCore::ShadowInclusionList::~ShadowInclusionList):
        (WebCore::ShadowInclusionList::find):
        (WebCore::ShadowInclusionList::clear):
        (WebCore::ShadowInclusionList::append):
        (WebCore::ShadowContentElement::attach):
        * dom/ShadowContentElement.h:
        (WebCore::ShadowInclusion::includer):
        (WebCore::ShadowInclusion::content):
        (WebCore::ShadowInclusion::next):
        (WebCore::ShadowInclusion::previous):
        (WebCore::ShadowInclusion::ShadowInclusion):
        (WebCore::ShadowInclusion::create):
        (WebCore::ShadowInclusionList::first):
        (WebCore::ShadowInclusionList::last):
        (WebCore::ShadowInclusionList::isEmpty):
        (WebCore::ShadowInclusionList::append):
        (WebCore::ShadowContentElement::inclusions):
        * dom/ShadowContentSelector.cpp:
        (WebCore::ShadowContentSelector::selectInclusion):
        * dom/ShadowContentSelector.h:

2011-07-12  David Reveman  <reveman@chromium.org>

        [Chromium] Use nearest filter method with pixel aligned transforms.
        https://bugs.webkit.org/show_bug.cgi?id=64338

        Reviewed by James Robinson.

        Check for integer translation and use nearest texture filter when
        possible to avoid filter precisions problems at the layer edges.

        Test: compositing/iframes/nested-iframe-scrolling.html (existing)

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::drawTiles):
        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::isIntegerTranslation):
        * platform/graphics/transforms/TransformationMatrix.h:

2011-07-12  David Reveman  <reveman@chromium.org>

        Removed unnecessary function parameters from TilingData::textureOffset.
        https://bugs.webkit.org/show_bug.cgi?id=64245

        Reviewed by Brent Fulgham.

        No new tests, no functionality changes.

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::drawTiles):
        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::textureOffset):
        * platform/graphics/gpu/TilingData.h:

2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>

        Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=64403

        Reviewed by Hajime Morita.

        Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.

        Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
        (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
        whether the given position is inside the current text form control or not.

        In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
        given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
        and offsetInContainer.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
        * editing/htmlediting.cpp: Removed enclosingTextFromControl.
        * editing/htmlediting.h: Removed enclosingTextFromControl.
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
        (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
        (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
        (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
        * html/HTMLTextFormControlElement.h:
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControl.h:

2011-07-12  Julien Chaffraix  <jchaffraix@webkit.org>

        Make RenderObject::containingBlock virtual for better speed and clarity
        https://bugs.webkit.org/show_bug.cgi?id=64318

        Reviewed by Darin Adler.

        No new tests, performance refactoring.

        On some of my test cases, this method takes between 3 and 5% of the time spend.
        The method makes 2 calls to virtual methods which could be moved to their overriden
        version of containingBlock if we made it virtual.

        That's what this patch does. It saves between 1 and 2% on some synthetic test cases
        as well as made the current method shorter.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
        replaced by ASSERTs.

        * rendering/RenderObject.h: Made containingBlock virtual.

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::containingBlock):
        * rendering/RenderView.h:
        (WebCore::RenderView::containingBlock):
        The code moved from RenderObject is inlined in those 2 methods.

2011-07-12  James Robinson  <jamesr@chromium.org>

        [chromium] Chromium win build fix.

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::drawGlyphsWin):

2011-07-12  Pratik Solanki  <psolanki@apple.com>

        Get webkit to compile with USE(CFNETWORK) enabled on Mac
        https://bugs.webkit.org/show_bug.cgi?id=63674

        Reviewed by David Kilzer.

        Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).

        No new tests because no change in functionality and option is not enabled on Mac.

        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didReceiveResponse):
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::start):
        (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
        on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
        MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.

2011-07-12  James Robinson  <jamesr@chromium.org>

        [chromium] Delete the unused legacy accelerated canvas 2d code
        https://bugs.webkit.org/show_bug.cgi?id=64214

        Reviewed by Stephen White.

        This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
        this codepath and it seems clear that no other port is interested.

        Refactoring and removing unused code, so no new tests.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
        (WebCore::CanvasRenderingContext2D::didDraw):
        * html/canvas/CanvasRenderingContext2D.h:
        * loader/EmptyClients.h:
        * page/ChromeClient.h:
        * page/Page.cpp:
        (WebCore::Page::sharedGraphicsContext3D):
        * page/Page.h:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setSharedGraphicsContext3D):
        (WebCore::GraphicsContext::syncSoftwareCanvas):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::setGrContext):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
        (WebCore::pointInTriangle):
        * platform/graphics/gpu/BicubicShader.cpp: Removed.
        * platform/graphics/gpu/BicubicShader.h: Removed.
        * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
        * platform/graphics/gpu/ConvolutionShader.h: Removed.
        * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
        * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
        * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
        * platform/graphics/gpu/SolidFillShader.cpp: Removed.
        * platform/graphics/gpu/SolidFillShader.h: Removed.
        * platform/graphics/gpu/TexShader.cpp: Removed.
        * platform/graphics/gpu/TexShader.h: Removed.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::concatCTM):
        (WebCore::GraphicsContext::setCTM):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawLineForTextChecking):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::setSharedGraphicsContext3D):
        (WebCore::GraphicsContext::syncSoftwareCanvas):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImageSingleFrameSkia::draw):
        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::~NativeImageSkia):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
        (WebCore::PlatformContextSkia::makeGrContextCurrent):
        * platform/graphics/skia/PlatformContextSkia.h:

2011-07-12  Emil A Eklund  <eae@chromium.org>

        Switch InlineFlowBox to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64399

        Reviewed by Eric Seidel.

        First step in moving floats over to the new layout abstraction.

        No new tests, no new functionality.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::logicalHeight):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::logicalTop):
        (WebCore::InlineBox::logicalBottom):
        (WebCore::InlineBox::setLogicalTop):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
        (WebCore::InlineFlowBox::addReplacedChildOverflow):
        (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::logicalRightSelectionGap):
        * rendering/RenderBlock.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        (WebCore::RootInlineBox::lineSelectionGap):
        (WebCore::RootInlineBox::ascentAndDescentForBox):
        (WebCore::RootInlineBox::verticalPositionForBox):
        * rendering/RootInlineBox.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getShadowExtent):
        (WebCore::RenderStyle::getShadowHorizontalExtent):
        (WebCore::RenderStyle::getShadowVerticalExtent):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::getTextShadowExtent):
        (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
        (WebCore::InheritedFlags::getTextShadowVerticalExtent):
        (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
        (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
        (WebCore::InheritedFlags::getBoxShadowExtent):
        (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
        (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
        (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
        (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
        (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
        (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
        * rendering/style/ShadowData.cpp:
        (WebCore::calculateShadowExtent):
        (WebCore::ShadowData::adjustRectForShadow):
        * rendering/style/ShadowData.h:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::x):
        (WebCore::ShadowData::y):

2011-07-12  Kenichi Ishibashi  <bashi@chromium.org>

        [Chromium] SVG text is not rendered sometimes with geometricPrecision
        https://bugs.webkit.org/show_bug.cgi?id=64341

        Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.

        Reviewed by Tony Chang.

        Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
        (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
        (WebCore::ComplexTextController::reset): Ditto.
        * platform/graphics/chromium/ComplexTextControllerLinux.h:

2011-07-12  Alexandru Chiculita  <achicu@adobe.com>

        Reviewed by David Hyatt.

        [CSS Exclusions] Parse wrap-shape property
        https://bugs.webkit.org/show_bug.cgi?id=61726

        Parsing wrap-shape: rect, circle, ellipse and polygon.
        Moved WindRule from Path.h to it's own file.

        Test: fast/exclusions/parsing-wrap-shape.html

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseWrapShapeRect):
        (WebCore::CSSParser::parseWrapShapeCircle):
        (WebCore::CSSParser::parseWrapShapeEllipse):
        (WebCore::CSSParser::parseWrapShapePolygon):
        (WebCore::CSSParser::parseWrapShape):
        * css/CSSParser.h:
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::init):
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::cssText):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::getShapeValue):
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/CSSValueKeywords.in:
        * css/CSSWrapShapes.cpp: Added.
        (WebCore::CSSWrapShapeRect::cssText):
        (WebCore::CSSWrapShapeCircle::cssText):
        (WebCore::CSSWrapShapeEllipse::cssText):
        (WebCore::CSSWrapShapePolygon::cssText):
        * css/CSSWrapShapes.h: Added.
        (WebCore::CSSWrapShape::~CSSWrapShape):
        (WebCore::CSSWrapShape::CSSWrapShape):
        (WebCore::CSSWrapShapeRect::create):
        (WebCore::CSSWrapShapeRect::left):
        (WebCore::CSSWrapShapeRect::top):
        (WebCore::CSSWrapShapeRect::width):
        (WebCore::CSSWrapShapeRect::height):
        (WebCore::CSSWrapShapeRect::radiusX):
        (WebCore::CSSWrapShapeRect::radiusY):
        (WebCore::CSSWrapShapeRect::setLeft):
        (WebCore::CSSWrapShapeRect::setTop):
        (WebCore::CSSWrapShapeRect::setWidth):
        (WebCore::CSSWrapShapeRect::setHeight):
        (WebCore::CSSWrapShapeRect::setRadiusX):
        (WebCore::CSSWrapShapeRect::setRadiusY):
        (WebCore::CSSWrapShapeRect::type):
        (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
        (WebCore::CSSWrapShapeCircle::create):
        (WebCore::CSSWrapShapeCircle::left):
        (WebCore::CSSWrapShapeCircle::top):
        (WebCore::CSSWrapShapeCircle::radius):
        (WebCore::CSSWrapShapeCircle::setLeft):
        (WebCore::CSSWrapShapeCircle::setTop):
        (WebCore::CSSWrapShapeCircle::setRadius):
        (WebCore::CSSWrapShapeCircle::type):
        (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
        (WebCore::CSSWrapShapeEllipse::create):
        (WebCore::CSSWrapShapeEllipse::left):
        (WebCore::CSSWrapShapeEllipse::top):
        (WebCore::CSSWrapShapeEllipse::radiusX):
        (WebCore::CSSWrapShapeEllipse::radiusY):
        (WebCore::CSSWrapShapeEllipse::setLeft):
        (WebCore::CSSWrapShapeEllipse::setTop):
        (WebCore::CSSWrapShapeEllipse::setRadiusX):
        (WebCore::CSSWrapShapeEllipse::setRadiusY):
        (WebCore::CSSWrapShapeEllipse::type):
        (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
        (WebCore::CSSWrapShapePolygon::create):
        (WebCore::CSSWrapShapePolygon::appendPoint):
        (WebCore::CSSWrapShapePolygon::getXAt):
        (WebCore::CSSWrapShapePolygon::getYAt):
        (WebCore::CSSWrapShapePolygon::setWindRule):
        (WebCore::CSSWrapShapePolygon::windRule):
        (WebCore::CSSWrapShapePolygon::type):
        (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
        * css/SVGCSSValueKeywords.in:
        * platform/graphics/Path.h:
        * platform/graphics/WindRule.h: Added.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setWrapShape):
        (WebCore::InheritedFlags::wrapShape):
        (WebCore::InheritedFlags::initialWrapShape):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-12  Simon Fraser  <simon.fraser@apple.com>

        Clean up some RenderLayerCompositor code relating to scroll and root layers
        https://bugs.webkit.org/show_bug.cgi?id=64400

        Reviewed by James Robinson.

        There was no need for FrameView::syncCompositingStateForThisFrame()
        to call syncCompositingStateForThisLayerOnly() on the various
        scrollbar-related layers, because the subsequent call to 
        compositor()->flushPendingLayerChanges() starts to flush at
        m_overflowControlsHostLayer if one exists, and it's an ancestor
        of the scrollbar layers.
        
        Also clean up terminology in RenderLayerCompositor.
            m_rootPlatformLayer -> m_rootContentLayer
            rootPlatformLayer() -> rootGraphicsLayer()
        
        No behavior change, so no new tests.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateForThisFrame):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::enableCompositingMode):
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::layerTreeAsText):
        (WebCore::RenderLayerCompositor::parentFrameContentLayers):
        (WebCore::RenderLayerCompositor::rootGraphicsLayer):
        (WebCore::RenderLayerCompositor::didMoveOnscreen):
        (WebCore::RenderLayerCompositor::willMoveOffscreen):
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
        (WebCore::RenderLayerCompositor::ensureRootLayer):
        (WebCore::RenderLayerCompositor::destroyRootLayer):
        (WebCore::RenderLayerCompositor::attachRootLayer):
        (WebCore::RenderLayerCompositor::detachRootLayer):
        (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
        * rendering/RenderLayerCompositor.h:

2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90842.
        http://trac.webkit.org/changeset/90842
        https://bugs.webkit.org/show_bug.cgi?id=64401

        Causes crash in debug on compositing/overflow/content-gains-
        scrollbars.html (Requested by jamesr on #webkit).

        * WebCore.gypi:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::cleanupResources):
        (WebCore::ContentLayerChromium::setLayerRenderer):
        (WebCore::ContentLayerChromium::tilingTransform):
        (WebCore::ContentLayerChromium::contentBounds):
        (WebCore::ContentLayerChromium::updateLayerSize):
        (WebCore::ContentLayerChromium::draw):
        (WebCore::ContentLayerChromium::drawsContent):
        (WebCore::ContentLayerChromium::createTilerIfNeeded):
        (WebCore::ContentLayerChromium::updateCompositorResources):
        (WebCore::ContentLayerChromium::setTilingOption):
        (WebCore::ContentLayerChromium::bindContentsTexture):
        (WebCore::ContentLayerChromium::setIsMask):
        (WebCore::writeIndent):
        (WebCore::ContentLayerChromium::dumpLayerProperties):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::ImageLayerChromium):
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::updateCompositorResources):
        (WebCore::ImageLayerChromium::contentBounds):
        * platform/graphics/chromium/ImageLayerChromium.h:
        (WebCore::ImageLayerChromium::drawsContent):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        (WebCore::LayerChromium::ccLayerImpl):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::draw):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawRootLayer):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::draw):
        (WebCore::LayerTilerChromium::drawTiles):
        * platform/graphics/chromium/LayerTilerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
        * platform/graphics/chromium/TiledLayerChromium.h: Removed.
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::drawsContent):
        (WebCore::CCLayerImpl::draw):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.

2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>

        ApplicationCache update should not immediately fail when reaching per-origin quota
        https://bugs.webkit.org/show_bug.cgi?id=64177

        Reviewed by Alexey Proskuryakov.

        New behavior of handling ApplicationCache per-origin quotas. Previously,
        if the quota was reached while downloading we would fail the download
        and then prompt the user for a storage increase. This required a refresh,
        a redownload of resources, and the total storage was not known so the
        process could be repeated multiple times before an acceptable quota
        was found or the user disallowed an increase.
        
        The new behavior is to complete the download of the entire appcache.
        When the cache completes downloading and it is greater than the origin
        quota, prompt the user to allow a quota increase with the known space
        needed. If the quota is increased, the cache will succeed, otherwise
        it will fail with the normal failure steps.

        An alternative behavior is prompting while downloading immediately
        when the origin quota is reached, however at that point the entire
        space needed is unknown and so quota increases might not be enough
        and could result in multiple prompts to the user.

        Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
               http/tests/appcache/origin-quota-continued-download.html

        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
        Rename instance variable to be more clear on its intent.

        (WebCore::ApplicationCacheGroup::didFinishLoading):
        Check the quota limit while downloading so we can fail early
        if the user already denied a quota increase.

        (WebCore::ApplicationCacheGroup::didReachOriginQuota):
        Pass the space needed information to the chrome client.

        (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
        Removed. Instead convert the callers to update state and console
        log when the per-origin quota is reached. This allows us to follow
        the normal failure steps if the quota is reached at the end of a
        download, and the alternative short path when we fail during downloading.

        (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
        Extract to a helper function.

        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        Allow for a quota increase at the end of the download now that
        we know the space needed. Then proceed to fail or succeed
        as we normally would.

        * loader/appcache/ApplicationCacheStorage.h:
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::checkOriginQuota):
        (WebCore::ApplicationCacheStorage::storeNewestCache):
        Extract checking the origin quota for when an ApplicationCacheGroup
        will be replacing an ApplicationCacheGroup into a helper function.
        The helper also provides an out parameter for the space needed
        to properly fit the new cache group if it wouldn't fit.

        * page/ChromeClient.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
        Add a space needed parameter when reaching the per-origin quota.

2011-07-12  Chris Rogers  <crogers@google.com>

        AudioDevice::Stop can close NULL handle.
        https://bugs.webkit.org/show_bug.cgi?id=64157

        Reviewed by Kenneth Russell.

        No new tests since audio API is not yet implemented.

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        (WebCore::AudioContext::uninitialize):
        * webaudio/AudioContext.h:

2011-07-12  John Bates  <jbates@google.com>

        Move call to syncCompositingLayers so that we do not trigger redundant draws.
        https://bugs.webkit.org/show_bug.cgi?id=64224

        doComposite was triggering two composites every time a canvas was dirtied.
        By moving syncCompositingLayers call to layout, the client code can draw without triggering
        a redundant frame. Also renamed WebViewImpl::updateLayers to
        syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
        no longer needed, because animateAndLayout calls WebViewImpl::layout.

        Reviewed by James Robinson.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
        (WebCore::CCLayerTreeHost::syncCompositingLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
        (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):

2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>

        Isolate HTMLTextFormControlElement into a separate file
        https://bugs.webkit.org/show_bug.cgi?id=64381

        Reviewed by Dimitri Glazkov.

        Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
        HTMLFormControlElement.h and HTMLFormControlElement.cpp.

        Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
        because it was specific to HTMLTextFormControlElement, and replaced all references to
        HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
        HTMLTextFormControlElement.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/TextIterator.cpp:
        * editing/htmlediting.cpp:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::isFocusable):
        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isKeyboardFocusable):
        (WebCore::HTMLInputElement::isMouseFocusable):
        (WebCore::HTMLInputElement::updateFocusAppearance):
        (WebCore::HTMLInputElement::canStartSelection):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::finishParsingChildren):
        (WebCore::HTMLInputElement::rendererIsNeeded):
        (WebCore::HTMLInputElement::attach):
        (WebCore::HTMLInputElement::detach):
        (WebCore::HTMLInputElement::copyNonAttributeProperties):
        (WebCore::HTMLInputElement::defaultEventHandler):
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
        (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
        (WebCore::HTMLInputElement::recalcWillValidate):
        * html/HTMLInputElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
        (WebCore::HTMLTextFormControlElement::defaultEventHandler):
        * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.

2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90831.
        http://trac.webkit.org/changeset/90831
        https://bugs.webkit.org/show_bug.cgi?id=64389

        Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
        start timing out on the chromium GPU bots (Requested by ojan
        on #webkit).

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):

2011-07-12  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
        https://bugs.webkit.org/show_bug.cgi?id=58833

        Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
        so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
        the drawing responsibilities for tiled layers.

        TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
        responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
        tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
        owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
        way tile eviction works.

        * WebCore.gypi:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::drawsContent):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerChromium::textureUpdater):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::ImageLayerChromium):
        (WebCore::ImageLayerChromium::cleanupResources):
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::textureUpdater):
        (WebCore::ImageLayerChromium::contentBounds):
        (WebCore::ImageLayerChromium::drawsContent):
        (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        (WebCore::LayerChromium::ccLayerImpl):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::contentBounds):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawRootLayer):
        (WebCore::visibleLayerRect):
        (WebCore::paintLayerContentsIfDirty):
        (WebCore::LayerRendererChromium::paintLayerContents):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::draw):
        (WebCore::LayerTilerChromium::drawTiles):
        * platform/graphics/chromium/LayerTilerChromium.h:
        * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
        (WebCore::TiledLayerChromium::TiledLayerChromium):
        (WebCore::TiledLayerChromium::~TiledLayerChromium):
        (WebCore::TiledLayerChromium::createCCLayerImpl):
        (WebCore::TiledLayerChromium::cleanupResources):
        (WebCore::TiledLayerChromium::setLayerRenderer):
        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
        (WebCore::TiledLayerChromium::drawsContent):
        (WebCore::TiledLayerChromium::createTilerIfNeeded):
        (WebCore::TiledLayerChromium::updateCompositorResources):
        (WebCore::TiledLayerChromium::setTilingOption):
        (WebCore::TiledLayerChromium::setIsMask):
        (WebCore::TiledLayerChromium::tilingTransform):
        (WebCore::TiledLayerChromium::pushPropertiesTo):
        (WebCore::writeIndent):
        (WebCore::TiledLayerChromium::dumpLayerProperties):
        * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::draw):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::setDrawsContent):
        (WebCore::CCLayerImpl::drawsContent):
        (WebCore::CCLayerImpl::contentBounds):
        (WebCore::CCLayerImpl::setContentBounds):
        (WebCore::CCLayerImpl::doubleSided):
        (WebCore::CCLayerImpl::setDoubleSided):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
        (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
        (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
        (WebCore::CCTiledLayerImpl::draw):
        (WebCore::CCTiledLayerImpl::bindContentsTexture):
        (WebCore::CCTiledLayerImpl::dumpLayerProperties):
        * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
        (WebCore::CCTiledLayerImpl::create):
        (WebCore::CCTiledLayerImpl::setTilingTransform):
        (WebCore::CCTiledLayerImpl::setTiler):

2011-07-12  Arno Renevier  <arno@renevier.net>

        [GTK] DOM bindings do not have gir annotations
        https://bugs.webkit.org/show_bug.cgi?id=45395

        Reviewed by Xan Lopez.

        * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.

2011-07-12  Chris Rogers  <crogers@google.com>

        webkitAudioContext does not do proper sanity checking on its arguments.
        https://bugs.webkit.org/show_bug.cgi?id=64076

        Reviewed by Kenneth Russell.

        No new tests since audio API is not yet implemented.

        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
        (WebCore::JSAudioContext::createBuffer):
        * bindings/v8/custom/V8AudioContextCustom.cpp:
        (WebCore::V8AudioContext::constructorCallback):
        (WebCore::V8AudioContext::createBufferCallback):
        * platform/audio/HRTFDatabaseLoader.h:
        (WebCore::HRTFDatabaseLoader::databaseSampleRate):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::create):
        (WebCore::AudioContext::createOfflineContext):
        (WebCore::AudioContext::createBuffer):
        * webaudio/AudioContext.h:

2011-07-12  Pratik Solanki  <psolanki@apple.com>

        Implement didReceiveDataArray callback for CFNetwork based loader
        https://bugs.webkit.org/show_bug.cgi?id=64130

        Reviewed by David Kilzer.

        Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
        a new method ResourceHandle::handleDataArray(). Implement the callback
        in the CFNetwork loader code and call handleDataArray() to process
        incoming data.

        No new tests because the flag is not enabled for any bots.

        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didReceiveDataArray):
        (WebCore::ResourceHandle::createCFURLConnection):
        (WebCore::ResourceHandle::handleDataArray):
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):

2011-07-12  Emil A Eklund  <eae@chromium.org>

        Switch preferred width/height and columns to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64329

        Reviewed by Eric Seidel.

        No new tests, no new functionality.

        * rendering/LayoutTypes.h:
        (WebCore::ceiledLayoutUnit):
        Add ceiledLayoutUnit to go with the floored version.
        
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustRectForColumns):
        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
        (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
        Rename rect version of flipForWritingModeIncludingColumns to
        adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
        and does not flip the rect.
       
        (WebCore::RenderBlock::adjustForColumns):
        (WebCore::updatePreferredWidth):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::minPreferredLogicalWidth):
        (WebCore::RenderBox::maxPreferredLogicalWidth):
        (WebCore::RenderBox::offsetFromContainer):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::flipForWritingMode):
        (WebCore::RenderBox::flipForWritingModeIncludingColumns):
        * rendering/RenderBox.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::itemBoundingBoxRect):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::minPreferredLogicalWidth):
        (WebCore::RenderObject::maxPreferredLogicalWidth):
        (WebCore::RenderObject::adjustForColumns):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
        * rendering/TableLayout.h:

2011-07-12  Levi Weintraub  <leviw@chromium.org>

        Change roundedIntRect to roundedRect
        https://bugs.webkit.org/show_bug.cgi?id=64326

        Reviewed by Eric Seidel.

        Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
        integer-based versions.

        No new tests, no new functionality

        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::clipOutRoundedRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::fillRectWithRoundedHole):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/Path.cpp:
        (WebCore::Path::addRoundedRect):
        * platform/graphics/Path.h:
        * platform/graphics/RoundedIntRect.cpp: Removed.
        * platform/graphics/RoundedIntRect.h: Removed.
        * platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.
        (WebCore::RoundedRect::Radii::isZero):
        (WebCore::RoundedRect::Radii::scale):
        (WebCore::RoundedRect::Radii::expand):
        (WebCore::RoundedRect::inflateWithRadii):
        (WebCore::RoundedRect::Radii::includeLogicalEdges):
        (WebCore::RoundedRect::Radii::excludeLogicalEdges):
        (WebCore::RoundedRect::RoundedRect):
        (WebCore::RoundedRect::includeLogicalEdges):
        (WebCore::RoundedRect::excludeLogicalEdges):
        (WebCore::RoundedRect::isRenderable):
        * platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.
        (WebCore::RoundedRect::Radii::Radii):
        (WebCore::RoundedRect::Radii::setTopLeft):
        (WebCore::RoundedRect::Radii::setTopRight):
        (WebCore::RoundedRect::Radii::setBottomLeft):
        (WebCore::RoundedRect::Radii::setBottomRight):
        (WebCore::RoundedRect::Radii::topLeft):
        (WebCore::RoundedRect::Radii::topRight):
        (WebCore::RoundedRect::Radii::bottomLeft):
        (WebCore::RoundedRect::Radii::bottomRight):
        (WebCore::RoundedRect::Radii::expand):
        (WebCore::RoundedRect::Radii::shrink):
        (WebCore::RoundedRect::rect):
        (WebCore::RoundedRect::setRect):
        (WebCore::RoundedRect::move):
        (WebCore::RoundedRect::inflate):
        (WebCore::RoundedRect::expandRadii):
        (WebCore::RoundedRect::shrinkRadii):
        (WebCore::operator==):
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ScratchBuffer::setLastShadowValues):
        (WebCore::ScratchBuffer::setLastInsetShadowValues):
        (WebCore::ScratchBuffer::matchesLastShadow):
        (WebCore::ScratchBuffer::matchesLastInsetShadow):
        (WebCore::computeSliceSizesFromRadii):
        (WebCore::ShadowBlur::templateSize):
        (WebCore::ShadowBlur::drawRectShadow):
        (WebCore::ShadowBlur::drawInsetShadow):
        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
        (WebCore::ShadowBlur::drawRectShadowWithTiling):
        (WebCore::ShadowBlur::drawLayerPieces):
        * platform/graphics/ShadowBlur.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::fillRectWithRoundedHole):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::paintOneBorderSide):
        (WebCore::RenderBoxModelObject::paintBorderSides):
        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintSliderTrack):
        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor):
        (WebCore::calcConstraintScaleFor):
        (WebCore::RenderStyle::getRoundedBorderFor):
        (WebCore::RenderStyle::getRoundedInnerBorderFor):
        * rendering/style/RenderStyle.h:

2011-07-12  Mike Reed  <reed@google.com>

        [skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
        https://bugs.webkit.org/show_bug.cgi?id=64302

        Reviewed by Stephen White.

        No new tests. Just an optimization for getImageData(), existing <canvas> tests apply

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::putImageData):

2011-07-12  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
        https://bugs.webkit.org/show_bug.cgi?id=64350

        Reviewed by Yury Semikhatsky.

        Test: inspector/user-metrics.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::recordActionTaken):
        (WebCore::JSInspectorFrontendHost::recordPanelShown):
        (WebCore::JSInspectorFrontendHost::recordSettingChanged):
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        (WebCore::histogramEnumeration):
        (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
        (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
        (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype.initiateAudit):
        * inspector/front-end/ConsoleView.js:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.setBreakpoint):
        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
        (.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
        (.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
        (.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
        * inspector/front-end/UserMetrics.js: Added.
        (WebInspector.UserMetrics.settingChanged):
        (WebInspector.UserMetrics):
        (WebInspector.UserMetrics.prototype.panelShown):
        (WebInspector.UserMetrics._Recorder):
        (WebInspector.UserMetrics._Recorder.prototype.record):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._toggleAttach):

2011-07-12  Pratik Solanki  <psolanki@apple.com>

        Reviewed by David Kilzer.

        Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
        https://bugs.webkit.org/show_bug.cgi?id=63286

        When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
        CFURLResponseRef so that WebKit can continue using the NSURLResponse.

        No new tests because no change in functionality and option is not enabled on Mac.

        * platform/network/cf/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::initNSURLResponse):
        (WebCore::ResourceResponse::nsURLResponse):
        (WebCore::ResourceResponse::ResourceResponse):

2011-07-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: Cancelling an empty edit fails.
        https://bugs.webkit.org/show_bug.cgi?id=64351

        Reviewed by Pavel Feldman.

        * inspector/front-end/ResourceView.js:
        (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):

2011-07-12  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
        https://bugs.webkit.org/show_bug.cgi?id=64353

        Reviewed by Pavel Feldman.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.beforeTextChanged):
        (WebInspector.SourceFrame.prototype.afterTextChanged):
        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.SourceFrame.prototype.suggestedFileName):
        (WebInspector.SourceFrame.prototype.doubleClick):
        (WebInspector.SourceFrame.prototype.cancelEditing):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):

2011-07-12  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: remove more dead code from the Network panel
        https://bugs.webkit.org/show_bug.cgi?id=64291

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._toggleGridMode):
        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
        * inspector/front-end/networkPanel.css:

2011-07-12  Adam Roben  <aroben@apple.com>

        Unreviewed, rolling out r90811.
        http://trac.webkit.org/changeset/90811
        https://bugs.webkit.org/show_bug.cgi?id=61025

        Several svg tests failing assertions beneath
        SVGSMILElement::findInstanceTime

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::findInstanceTime):

2011-07-12  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>

        Reviewed by Nikolas Zimmermann.

        Speed up SVGSMILElement::findInstanceTime.
        https://bugs.webkit.org/show_bug.cgi?id=61025

        Replace the linear search to binary search on ordered list because
        the previous searches from the beginning was not efficient.
        Out of index error fixed by Renata Hodovan.

        No new tests this is only a performance tweak.

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::extractTimeFromVector):
        (WebCore::SVGSMILElement::findInstanceTime):

2011-07-11  Zeng Huiqing  <huiqing.zeng@intel.com>

        Optimize HTMLInputElement::updateCheckedRadioButtons
        https://bugs.webkit.org/show_bug.cgi?id=62840

        Reviewed by Kent Tamura.

        No new tests.

        * dom/Document.h:
        (WebCore::Document::getFormElements):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
        (WebCore::HTMLInputElement::setChecked):

2011-07-11  Pratik Solanki  <psolanki@apple.com>

        Reviewed by David Kilzer.

        Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled
        https://bugs.webkit.org/show_bug.cgi?id=63276

        When USE(CFNETWORK) is enabled on Mac, keep an NSURLRequest object along with the
        CFURLRequestRef so that WebKit can continue using the NSURLRequest.

        No new tests because no change in functionality and option is not enabled on Mac.

        * platform/network/cf/ResourceRequest.h:
        (WebCore::ResourceRequest::updateNSURLRequest):
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
        (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        (WebCore::ResourceRequest::applyWebArchiveHackForMail):
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::nsURLRequest):
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::updateNSURLRequest):

2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>

        positionForPoint is broken when a block is positioned relatively inside the parent
        https://bugs.webkit.org/show_bug.cgi?id=64298

        Reviewed by Simon Fraser.

        The bug was caused by positionForPointRespectingEditingBoundaries's not taking relativePositionOffset
        into account when computing the point in child coordinates. Fixed the bug by adding the offset to
        childLocation as needed.

        Test: fast/block/positioning/hittest-on-relative-positioned-children.html

        * rendering/RenderBlock.cpp:
        (WebCore::positionForPointRespectingEditingBoundaries): Fixed the bug; also replaced all instances of
        IntPoint by LayoutPoint.

2011-07-11  Dan Bernstein  <mitz@apple.com>

        Excessive expansion of justified text when rounding hacks are enabled
        https://bugs.webkit.org/show_bug.cgi?id=64331

        Reviewed by Anders Carlsson.

        Test: platform/mac/fast/text/rounding-hacks-expansion.html

        When rounding hacks are enabled, the expansion at each expansion opportunity should be by an
        integer. Restored more of the logic that was removed in r78846 in order to ensure this.

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):

2011-07-11  Jer Noble  <jer.noble@apple.com>

        HTML5 video controller in fullscreen is partly off-screen (at least on youtube) using ClickToFlash
        https://bugs.webkit.org/show_bug.cgi?id=64327

        Reviewed by Darin Adler.

        No new tests; no change in functionality, so covered by existing tests.

        Make the rules from fullscreenQuickTime.css !important so they are not overridden
        by page authors.

        * css/fullscreenQuickTime.css:
        (video:-webkit-full-screen::-webkit-media-controls-panel):

2011-07-11  Levi Weintraub  <leviw@chromium.org>

        Switch lineTop and lineBottom to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64317

        Reviewed by Eric Seidel.

        Changing lineTop and lineBottom to LayoutUnits and preparing all uses
        of them for the upcoming conversion.

        No new tests, no new functionality.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/EllipsisBox.h:
        * rendering/GapRects.h:
        (WebCore::GapRects::left):
        (WebCore::GapRects::center):
        (WebCore::GapRects::right):
        (WebCore::GapRects::uniteLeft):
        (WebCore::GapRects::uniteCenter):
        (WebCore::GapRects::uniteRight):
        (WebCore::GapRects::operator LayoutRect):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::flipLinesInBlockDirection):
        (WebCore::InlineFlowBox::computeOverflow):
        (WebCore::InlineFlowBox::setLayoutOverflow):
        (WebCore::InlineFlowBox::setVisualOverflow):
        (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::layoutOverflowRect):
        (WebCore::InlineFlowBox::visualOverflowRect):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
        * rendering/RenderLineBoxList.h:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::nodeAtPoint):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::lineTop):
        (WebCore::RootInlineBox::lineBottom):
        (WebCore::RootInlineBox::setLineTopBottomPositions):
        (WebCore::RootInlineBox::logicalTopVisualOverflow):
        (WebCore::RootInlineBox::logicalBottomVisualOverflow):
        (WebCore::RootInlineBox::logicalTopLayoutOverflow):
        (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
        * rendering/svg/SVGInlineFlowBox.h:
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::nodeAtPoint):
        * rendering/svg/SVGInlineTextBox.h:
        * rendering/svg/SVGRootInlineBox.h:

2011-07-11  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Daniel Bates.

        [GTK] Transition to Mozilla named cursors have incorrect hotspot and rendering
        https://bugs.webkit.org/show_bug.cgi?id=62752

        Instead of offsetting the cursor blit by the hotspot, just pass the hotspot
        arguments to the GdkCursor constructor.

        No new tests. This is covered by manual-tests/cursor.html.

        * platform/gtk/CursorGtk.cpp:
        (WebCore::createNamedCursor):

2011-07-11  Yi Shen  <yi.4.shen@nokia.com>

        [Qt] Unreviewed rollout 90779 which may fail the layout-test.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
        * platform/network/qt/QNetworkReplyHandler.h:

2011-07-11  Bradley Nelson  <bradnelson@chromium.org>

        Reviewed by Darin Fisher.

        Split webcore_dom off webcore_remaining to reduce its size for
        whole program optimization builds.

        https://bugs.webkit.org/show_bug.cgi?id=64299

        * WebCore.gyp/WebCore.gyp:

2011-07-11  Yi Shen  <yi.4.shen@nokia.com>

        [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
        https://bugs.webkit.org/show_bug.cgi?id=62808

        Reviewed by Benjamin Poulain.

        The assertion in ResourceHandle::setDefersLoading assumes asynchronous
        content delivery -- To resume a page, first, its main resource loader
        calls setDefersLoading to resume loading the main content; then all the
        sub-resource loaders calls setDefersLoading to resume sub-contents.
        However, since QNetworkReplyHandler delivers content synchronously,
        some new sub-resource loaders get created as soon as the main resource
        loader resumed, and all these new sub-resource loaders set their
        defersLoading flag to false. Then, the assertion fails for these new
        sub-resource loaders when calling setDefersLoading on them. As a fix,
        this path makes QNetworkReplyHandler deliver content asynchronously.

        Test: loader/load-defer-resume-crash.html

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
        * platform/network/qt/QNetworkReplyHandler.h:

2011-07-08  Ryosuke Niwa  <rniwa@webkit.org>

        Move innerTextElement() from RenderTextControl to HTMLTextFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=64134

        Reviewed by Kent Tamura.

        Moved innerTextElement from RenderTextControl to HTMLTextFormControlElement. It is implemented by
        HTMLInputElement and HTMLTextAreaElement instead of RenderTextControlSingleLine and
        RenderTextControlMultiLine.

        This refactoring removes the indirection through RenderTextControl and makes the ownership of
        shadow DOM for input and textarea elements clear. Accessing the shadow DOM of input and textarea elements
        are now less error prone because it no longer depends on the lifetime of the render tree.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Access innerTextElement via
        HTMLTextFormControlElement.
        * dom/Node.cpp:
        (WebCore::traverseTreeAndMark): No longer calls innerTextElement because this was a work-around
        needed before making input and textarea elements use the new shadow DOM model.
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleReplacedElement): Access innerTextElement via HTMLTextFormControlElement.
        * html/HTMLFormControlElement.cpp:
        (WebCore::hasVisibleTextArea): Takes innerTextElement.
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Calls innerTextElement().
        (WebCore::HTMLTextFormControlElement::selection): Ditto.
        (WebCore::HTMLTextFormControlElement::selectionStart): Ditto; no longer uses a temporary local variable
        for innerTextElement because innerTextElement() no longer depends on the lifetime of the render tree.
        (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
        * html/HTMLFormControlElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::innerTextElement): Added.
        * html/HTMLTextAreaElement.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::textFormControlElement): Made this function a const member.
        (WebCore::RenderTextControl::innerTextElement): Added.
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderTextControlSingleLine.h:

2011-07-11  Tony Chang  <tony@chromium.org>

        rename RenderObject::isFlexibleBox to isDeprecatedFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=64217

        Reviewed by Ojan Vafai.

        This is to make way for the new flexbox needing a similar method.
        RenderObject also has isFlexingChildren() and isStretchingChildren(),
        but we may be able to use those for the new flexbox as well so I
        didn't rename them.

        No new tests, just refactoring.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):
        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
        (WebCore::shouldCheckLines):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        (WebCore::RenderBox::computeLogicalHeight):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderDeprecatedFlexibleBox.h:
        (WebCore::RenderDeprecatedFlexibleBox::isDeprecatedFlexibleBox):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isDeprecatedFlexibleBox):

2011-07-11  Nate Chapin  <japhet@chromium.org>

        [Chromium] Ensure we don't crash when an
        HTMLSelectElement mouse release event removes
        the element from the DOM.
        https://bugs.webkit.org/show_bug.cgi?id=64295

        Reviewed by Dimitri Glazkov.

        Manual test only because the crash requires a
        real popup menu, which DRT doesn't provide.

        * manual-tests/chromium/popup-menu-crash.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::handleMouseReleaseEvent):

2011-07-11  Mike Reed  <reed@google.com>

        [skia] remove platform helpers for gradients and patterns
        https://bugs.webkit.org/show_bug.cgi?id=64281

        Reviewed by Stephen White.

        No new tests. fixes canvas/philip/tests/2d.gradient.object.update.html

        Remove (now empty) platform helpers for fill/stroke gradients/patterns. We now pickup the platformGradient
        and platformPattern fresh when they're needed, so we can see any edits that have occurred to them
        2d.gradient.object.update.html sets the fillgradient, and then edits the gradient object. This CL allows
        us to see that edit.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setStrokePattern):
        (WebCore::GraphicsContext::setFillPattern):
        (WebCore::GraphicsContext::setStrokeGradient):
        (WebCore::GraphicsContext::setFillGradient):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::State::State):
        (WebCore::PlatformContextSkia::State::~State):
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::drawRect):
        (WebCore::PlatformContextSkia::setupShader):
        (WebCore::PlatformContextSkia::setupPaintForFilling):
        (WebCore::PlatformContextSkia::setupPaintForStroking):
        (WebCore::PlatformContextSkia::setFillColor):
        (WebCore::PlatformContextSkia::setStrokeColor):
        (WebCore::PlatformContextSkia::canAccelerate):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::setGraphicsContext):

2011-07-11  Young Han Lee  <joybro@company100.net>

        Reviewed by Simon Fraser.

        Transition LayoutTest using pause API shows wrong result if it tries to pause a transition after its delay time.
        https://bugs.webkit.org/show_bug.cgi?id=63859

        The existing code to set the m_startTime haven't worked because 
        the animation is not the right state to accept the start event. 
        This patch just sets the values directly instead of using event.

        Test: transitions/delay.html

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):

2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>

        Move selection related code from RenderTextControl to HTMLTextFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=64133

        Reviewed by Dimitri Glazkov.

        Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
        and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.

        This refactoring removes RenderTextControl's dependency on FrameSelection.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
        (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
        (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
        (WebCore::hasVisibleTextArea): Added.
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in RenderTextControl.
        (WebCore::HTMLTextFormControlElement::selectionStart): Calls computeSelectionStart instead of RenderTextControl::selectionStart.
        (WebCore::HTMLTextFormControlElement::computeSelectionStart): Moved from RenderTextControl::selectionStart.
        (WebCore::HTMLTextFormControlElement::selectionEnd): Calls computeSelectionEnd instead of RenderText::selectionEnd.
        (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Moved from RenderTextControl::selectionStart.
        (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp.
        (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
        (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls computeSelectionStart and computeSelectionEnd instead of
        RenderTextControl::selectionStart and RenderTextControl::selectionEnd.
        (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::textFormControlElement): Added.
        * rendering/RenderTextControl.h:

2011-07-11  Andreas Kling  <kling@webkit.org>

        Reviewed by Oliver Hunt.

        Canvas: Use fast, approximate dirty rects for stroke()
        https://bugs.webkit.org/show_bug.cgi?id=59764

        No new tests, this is an optimization.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::stroke): Instead of using
        Path::strokeBoundingRect() to calculate the exact bounding rect
        for a path stroke, get the Path::boundingRect() and inflate it by
        miterLimit + lineWidth to get a slightly oversized dirty rect
        in a fraction of the time.

2011-07-11  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [refactoring] Remove dependencies of components requiring network resource list from network panel
        https://bugs.webkit.org/show_bug.cgi?id=62477

        * inspector/front-end/AuditsPanel.js:
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
        (WebInspector.ExtensionServer.prototype._onGetHAR):
        (WebInspector.ExtensionServer.prototype.initExtensions):
        * inspector/front-end/HAREntry.js:
        (WebInspector.HARLog):
        (WebInspector.HARLog.prototype.build):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkLog):
        (WebInspector.NetworkLog.prototype.get resources):
        (WebInspector.NetworkLog.prototype._onInspectedURLChanged):
        (WebInspector.NetworkLog.prototype._onResourceStarted):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype._copyAll):
        (WebInspector.NetworkPanel.prototype._exportAll):
        * inspector/front-end/inspector.js:
        (WebInspector.reset):

2011-07-11  Pavel Podivilov  <podivilov@chromium.org>

        Web Inspector: make SourceFrame a View.
        https://bugs.webkit.org/show_bug.cgi?id=64274

        Reviewed by Pavel Feldman.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.createSearchRegex):
        (WebInspector.SourceFrame.prototype.show):
        (WebInspector.SourceFrame.prototype.hide):
        (WebInspector.SourceFrame.prototype._beforeTextChanged):
        (WebInspector.SourceFrame.prototype._afterTextChanged):
        (WebInspector.SourceFrame.prototype._initializeTextViewer):
        (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
        (WebInspector.SourceFrame.prototype.performSearch):
        (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
        (WebInspector.SourceFrame.prototype._suggestedFileName):
        (WebInspector.SourceFrame.prototype._doubleClick):
        (WebInspector.SourceFrame.prototype._cancelEditing):
        (WebInspector.TextViewerDelegateForSourceFrame):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
        (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):

2011-07-11  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Adam Roben.

        Forward focus events to windowless plugins on the windows port.
        https://bugs.webkit.org/show_bug.cgi?id=62375

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::setFocus): Forward focus events if the plugin is windowless.

2011-07-11  Shinya Kawanaka  <shinyak@google.com>

        Added accessibility notification when value is changed.
        https://bugs.webkit.org/show_bug.cgi?id=64256

        Notifies the value change of range input when accessibility is enabled.

        Reviewed by Kent Tamura.

        Covered by existing tests.

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleKeydownEvent):
          Added accessibility notification when value is changed.

2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>

        Web Inspector: Fix resizing of sidebar pane in Timeline and Profile panels.
        https://bugs.webkit.org/show_bug.cgi?id=64161

        Reviewed by Pavel Feldman.

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):

2011-07-11  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: [REGRESSION r89753-89754] highlight does not respect scroller location.
        https://bugs.webkit.org/show_bug.cgi?id=63982

        Rolling out 89760, 89756, 89754, 89753 for breaking inspector highlight.

        Reviewed by Yury Semikhatsky.

        * WebCore.exp.in:
        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::drawNodeHighlight):
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/ScrollView.h:
        * platform/Widget.cpp:
        * platform/Widget.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::mapLocalToContainer):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::mapLocalToContainer):
        (WebCore::RenderObject::localToContainerQuad):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::localToAbsoluteQuad):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):
        * rendering/RenderView.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::mapLocalToContainer):
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::mapLocalToContainer):
        * rendering/svg/RenderSVGInline.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::mapLocalToContainer):
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::mapLocalToContainer):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::mapLocalToContainer):
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::mapLocalToContainer):
        * rendering/svg/SVGRenderSupport.h:

2011-07-11  Mustafizur Rahaman  <mustaf.here@gmail.com>

        Reviewed by James Robinson.

        Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html
        https://bugs.webkit.org/show_bug.cgi?id=48292
        
        and
        
        Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html
        https://bugs.webkit.org/show_bug.cgi?id=48302

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationAtop 
        to draw transparency elsewhere for destination-atop

2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>

        Web Inspector: [Chromium] Get rid of flickering "Please wait" message in Heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=61175

        The message has been replaced with spinner icons appearing instead of profile's
        icon. As each profile owns a worker, they run independently, and there can be
        multiple spinners at the same time.

        Reviewed by Pavel Feldman.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
        (WebInspector.HeapSnapshotGridNode.prototype._populate):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
        (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
        (WebInspector.DetailedHeapshotView.profileCallback):
        (WebInspector.DetailedHeapshotView):
        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
        (WebInspector.DetailedHeapshotView.prototype._changeBase):
        (WebInspector.DetailedHeapshotView.prototype.processLoadedSnapshot):
        (WebInspector.DetailedHeapshotView.prototype._changeView):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotWorker):
        (WebInspector.HeapSnapshotWorker.prototype.dispose):
        (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
        (WebInspector.HeapSnapshotWorker.prototype._checkLongRunningCalls):
        (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
        (WebInspector.HeapSnapshotProxyObject.prototype.get worker):
        * inspector/front-end/Images/spinnerActive.gif: Added. Generated using ajaxload.info.
        * inspector/front-end/Images/spinnerActiveSelected.gif: Added. Generated using ajaxload.info.
        * inspector/front-end/Images/spinnerInactive.gif: Added. Generated using ajaxload.info.
        * inspector/front-end/Images/spinnerInactiveSelected.gif: Added. Generated using ajaxload.info.
        * inspector/front-end/PleaseWaitMessage.js: Removed.
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot.setProfileWait):
        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        * inspector/front-end/SidebarTreeElement.js:
        (WebInspector.SidebarTreeElement.prototype.set wait):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/heapProfiler.css:
        (.heap-snapshot-sidebar-tree-item.wait .icon):
        (.heap-snapshot-sidebar-tree-item.wait.selected .icon):
        (body.inactive .heap-snapshot-sidebar-tree-item.wait .icon):
        (body.inactive .heap-snapshot-sidebar-tree-item.wait.selected .icon):
        * inspector/front-end/inspector.html:

2011-07-10  Patrick Gansterer  <paroga@webkit.org>

        Generate conditional include statements in CodeGeneratorJS
        https://bugs.webkit.org/show_bug.cgi?id=64231

        Reviewed by Brent Fulgham.

        Suround headers with a correspondig #if ENABLE() line.
        This allows us to generate bindings only of required IDL files.

        Changing the current preprocessor statements to the Conditional attribute
        in a next step helps in getting rid of calls to the preprocessor,
        which causes so much pain on a natvie Windows environment. 

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (WriteData):

2011-07-10  Patrick Gansterer  <paroga@webkit.org>

        Remove array size from generated JSC binding tables
        https://bugs.webkit.org/show_bug.cgi?id=64229

        Reviewed by Brent Fulgham.

        Because many items in the array are surrounded with #if(ENABLE_XXX) lines,
        the array size isn't fix and correct in all cases.
        So let the compiler calculate the correct size itself.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHashTable):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

2011-07-10  Kenichi Ishibashi  <bashi@chromium.org>

        Let plugins participate in form submission
        https://bugs.webkit.org/show_bug.cgi?id=13061

        Implements HTMLObjectElement::appendFormData() so that object
        elements respond as form associated elements.

        Reviewed by Anders Carlsson.

        Test: plugins/form-value.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::appendFormData): Implemented.
        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::getFormValue): Added.

2011-07-10  Anders Carlsson  <andersca@apple.com>

        WebKit2 is leaking NSCursors created by leakNamedCursor
        https://bugs.webkit.org/show_bug.cgi?id=64241
        <rdar://problem/9507151>

        Reviewed by Oliver Hunt.

        * platform/mac/CursorMac.mm:
        (WebCore::createNamedCursor):
        Rename this from leakNamedCursor to createNamedCursor and make it return a
        RetainPtr<NSCursor> instead of a raw pointer.

        (WebCore::Cursor::ensurePlatformCursor):
        Don't leak cursors here. We still won't deallocate cursors during shutdown (which leakNamedCursor
        was said to prevent) because the cursor singletons are all allocated from the heap and are never destroyed
        anyway.

2011-07-10  Yuta Kitamura  <yutak@chromium.org>

        WebSocket: Add useHixie76Protocol flag to WebSocketChannel and WebSocketHandshake
        https://bugs.webkit.org/show_bug.cgi?id=64244

        Reviewed by Kent Tamura.

        Get the value of Settings::useHixie76WebSocketProtocol() and save it in
        WebSocketChannel and WebSocketHandshake instances. Obtained flag value
        is not used for now.

        No behavior change, thus no new tests.

        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::WebSocketChannel):
        WebSocketChannel is always created in context of Document (see
        ThreadableWebSocketChannel::create()).
        Because m_useHixie76Protocol must be passed to WebSocketHandshake
        constructor, WebSocketHandshake instance is allocated dynamically
        and stored in OwnPtr.
        (WebCore::WebSocketChannel::connect):
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didFail):
        (WebCore::WebSocketChannel::processBuffer):
        * websockets/WebSocketChannel.h:
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::WebSocketHandshake):
        * websockets/WebSocketHandshake.h:

2011-07-10  Tom Hudson  <tomhudson@google.com>

        Reviewed by James Robinson.

        GraphicsContextSkia::drawConvexPolygon doesn't pay attention to shouldAntialias
        https://bugs.webkit.org/show_bug.cgi?id=61369

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon): Pass the
        shouldAntialias parameter on to Skia.

2011-07-10  Yuzo Fujishima  <yuzo@google.com>

        Fix for Bug 63968 - Add comment to explain Vector usage in FontCache::purgeInactiveFontData
        https://bugs.webkit.org/show_bug.cgi?id=63968

        Reviewed by Dan Bernstein.

        No new tests because this changes comments only.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::purgeInactiveFontData): Add explanation why SimpleFontData is not deleted in the iteration loop.

2011-07-10  Emil A Eklund  <eae@chromium.org>

        Switch updateHitTestResult to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64209

        Reviewed by Eric Seidel.

        No new tests, no functionality changes.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::updateHitTestResult):
        * rendering/RenderBlock.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::updateHitTestResult):
        * rendering/RenderInline.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::updateHitTestResult):
        * rendering/RenderObject.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::updateHitTestResult):
        * rendering/RenderView.h:
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::nodeAtFloatPoint):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::nodeAtFloatPoint):
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::nodeAtFloatPoint):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):

2011-07-10  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Fix member variable order of ContextMenuItem
        https://bugs.webkit.org/show_bug.cgi?id=59905

        Use the same order at decleration and assignment to silence compiler warning.

        * platform/ContextMenuItem.h:

2011-07-10  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/9750062> REGRESSION: Button text missing in many iTunes Store pages
        https://bugs.webkit.org/show_bug.cgi?id=64236

        Reviewed by Maciej Stachowiak.

        Test: fast/css/empty-display-none.html

        When an :empty selector caused an element to not have a renderer, the check for empty style
        change when finishing parsing the elemenet did nothing, because it could not check if the
        element’s current style was affected by :empty. The fix is to record the fact that the style
        was affected by :empty in ElementRareData in the no-renderer case.

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Clear the m_styleAffectedByEmpty flag.
        (WebCore::checkForEmptyStyleChange): If the style is null (meaning there is no renderer), check
        Element::styleAffectedByEmpty().
        (WebCore::Element::setStyleAffectedByEmpty): Added. Sets the flag in rare data.
        (WebCore::Element::styleAffectedByEmpty): Added. Checks for the flag in rare data.
        * dom/Element.h:
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData): Added m_styleAffectedByEmpty and initialized it
        to false.
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRendererFactory::createRendererAndStyle): If an element doesn’t need a renderer
        and its style is affected by :empty, record this fact in the element by calling setStyleAffectedByEmpty().

2011-07-10  Mark Rowe  <mrowe@apple.com>

        Fix the build.

        * svg/properties/SVGAttributeToPropertyMap.h: Forward-declare SVGPropertyInfo as a struct
        since that's what it is.

2011-07-09  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r90680.

        Repeat the change done in r90681 for all other SVGAnimated*PropertyTearOff.h files.

        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Make create public and remove friendship with SVGAnimatedProperty.
        * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
        * svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.
        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.

2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
        https://bugs.webkit.org/show_bug.cgi?id=63797

        Fix WinCE build. Funny none other platform complained.

        * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Make create public, SVGAnimatedProperty needs it - remove friendship with it.

2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
        https://bugs.webkit.org/show_bug.cgi?id=63797

        Reviewed by Dirk Schulze.

        In order to prepare animVal support we need a way to map a given SVG DOM attribute to a SVGAnimatedProperty.
        eg. SVGNames::xAttr -> SVGRectElement::xAnimated(), etc. This will be needed to update the animVal of the
        SVGAnimatedProperty, if an animation is running. It would required adding a new method to all SVG* classes
        that define animated properties. Unfortunately we already have lots of repeated code in methods like
        synchronizeProperty / fillAttributeToPropertyTypeMap. Look at SVGRectElement for example:

        void SVGRectElement::synchronizeProperty(const QualifiedName& attrName)
        {
            if (attrName == anyQName()) {
                synchronizeX();
                synchronizeY();
                 ...
              }

            if (attrName == SVGNames::xAttr) {
                synchronizeX();
                return;
            }

            if (attrName == SVGNames::yAttr) {
                synchronizeY();
                return;
            }
            ...
        }

        or

        void SVGRectElement::fillAttributeToPropertyTypeMap()
        {
            AttributeToPropertyTypeMap& attributeToPropertyTypeMap = this->attributeToPropertyTypeMap();
        
            SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap(attributeToPropertyTypeMap);
            attributeToPropertyTypeMap.set(SVGNames::xAttr, AnimatedLength);
            attributeToPropertyTypeMap.set(SVGNames::yAttr, AnimatedLength);
            ...
        }

        These lookups are all performed dynamically. Each synchronizeProperty() call does a lot of comparisons.
        fillAttributeToPropertyTypeMap() isn't that bad as the result is cached in a static HashMap per-SVGRectElement.
        There's no reason to do these things dynamically!

        Inspired by JSC, I'm adding a "static const SVGPropertyInfo s_fooPropertyInfo" object for each animated SVG property.
        For example, for SVGRectElements SVGAnimatedLength x property we're storing:
        - "AnimatedPropertyType type" (AnimatedLength -- note the enum was named AnimatedAttributeType, I renamed it to AnimatedPropertyType for clarity)
        - "const QualifiedName& attributeName" (SVGNames::xAttr)
        - "const AtomicString& propertyIdentifier" (SVGNames::xAttr.localName() -- only different if N-wrappers map to a single XML DOM attribute, eg. orientAttr)
        - "SynchronizeProperty synchronizeProperty" (callback to SVGRectElement::synchronizeX)
        - "LookupOrCreateWrapperForAnimatedProperty lookupOrCreateWrapperForAnimatedProperty" (callback to SVGRectElement::xAnimated)

        Using this information, we can replace all the various synchronizeProperty/fillAttributeToPropertyMap implementations, with a single one in SVGElement.
        All these are auto-generated, using the standard macros used to define/declare SVG animated properties. This required several changes to the macros.
        Here's a summary:
    
        #1) In all headers, wrap DECLARE_ANIMATED_* calls, in BEGIN_DECLARE_ANIMATED_PROPERTIES(ClassName) / END_DECLARE_ANIMATED_PROPERTIES blocks.
        
            Sample change for SVGRectElement:
            -    DECLARE_ANIMATED_LENGTH(X, x)
            -    DECLARE_ANIMATED_LENGTH(Y, y)
            -    ...

            +    BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGRectElement)
            +        DECLARE_ANIMATED_LENGTH(X, x)
            +        DECLARE_ANIMATED_LENGTH(Y, y)
            +         ...
            +    END_DECLARE_ANIMATED_PROPERTIES

        #2) In all cpp files, add a new section wrapped in BEGIN_REGISTER_ANIMATED_PROPERTIES(ClassName / END_REGISTER_ANIMATED_PROPERTIES blocks:

            Sample change for SVGRectElement:
            +BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGRectElement)
            +    REGISTER_LOCAL_ANIMATED_PROPERTY(x)
            +    REGISTER_LOCAL_ANIMATED_PROPERTY(y)
            +    ...
            +    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGStyledTransformableElement)
            +    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGTests)
            +END_REGISTER_ANIMATED_PROPERTIES

            This is the main piece of the logic that replaces the manual synchronizeProperty/fillAttributeToPropertyMap implementation. It expands to following:

            SVGAttributeToPropertyMap& SVGRectElement::attributeToPropertyMap()
            {
                DEFINE_STATIC_LOCAL(SVGAttributeToPropertyMap, s_attributeToPropertyMap, ());
            }

            static void registerAnimatedPropertiesForSVGRectElement()
            {
                SVGAttributeToPropertyMap& map = SVGRectElement::attributeToPropertyMap();
                if (!map.isEmpty())
                    return;
                map.addProperty(SVGRectElement::xPropertyInfo());
                map.addProperty(SVGRectElement::yPropertyInfo());
                ...
                map.addProperties(SVGStyledTransformableElement::attributeToPropertyMap());
                map.addProperties(SVGTests::attributeToPropertyMap());
            }

            A single-instance of SVGAttributeToPropertyMap is created for each SVG*Element. The constructor of SVGRectElement is supposed to call
            registerAnimatedPropertiesForSVGRectElement(), which collects all properties of SVGRectElement and all its parent classes and stores them
            in a Vector<const SVGPropertyInfo*>. This Vector is stored in a HashMap<QualifiedName, Vector<const SVGPropertyInfo*> > where the key
            is the attribute name (eg. SVGNames::xAttr -> SVGRectElement::xPropertyInfo). This is only done _once_ per SVGRectElement.

            SVGElement contains a "virtual SVGAttributeToPropertyMap& localAttributeToPropertyMap()" method, and SVGRectElement overrides it
            and returns SVGRectElement::attributeToPropertyMap() (which is static!) -- this is hidden again in the macros, no need to write any code.

            SVGAttributeToPropertyMap provides following API:
            - bool synchronizeProperty(SVGElement* contextElement, const QualifiedName& attributeName)
            - void synchronizeProperties(SVGElement* contextElement)
            
                A generic way to synchronize a SVGAnimatedProperty with its XML DOM attribute. Any SVG DOM change to eg. <rect>s x property will now trigger
                contextElement->localAttributeToPropertyMap().synchronizeProperty(this, SVGNames::xAttr)
                The SVGAttributeToPropertyMap will ask its HashMap for the Vector containing the properties for SVGNames::xAttr (in that case, just one xAnimated()).

            - void animatedPropertyTypeForAttribute(const QualifiedName& attributeName, Vector<AnimatedPropertyType>& propertyTypes)

                This method replaces the fillAttributeToPropertyMap implementations everywhere.
        
            - void animatedPropertiesForAttribute(SVGElement* contextElement, const QualifiedName& attributeName, Vector<RefPtr<SVGAnimatedProperty> >& properties);

                This method is not used yet, but allows us to collect all SVGAnimatedProperties for a QualifiedName -- the initial goal for this patch.

        #3) In all cpp files, add a call to "registerAnimatedPropertiesForClassName()" in the constructor. Forgetting this will result in a compile error.

        Doesn't affect any tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorJS.pm:
        (NativeToJSValue):
        * bindings/scripts/CodeGeneratorObjC.pm:
        (GenerateImplementation):
        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrGetter):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::SVGAElement):
        * svg/SVGAElement.h:
        (WebCore::SVGAElement::synchronizeRequiredFeatures):
        (WebCore::SVGAElement::synchronizeRequiredExtensions):
        (WebCore::SVGAElement::synchronizeSystemLanguage):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::hasValidAttributeType):
        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
        (WebCore::SVGAnimateElement::determinePropertyValueTypes):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        (WebCore::SVGAnimateElement::ensureAnimator):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
        (WebCore::SVGAnimateTransformElement::determineAnimatedPropertyType):
        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
        * svg/SVGAnimateTransformElement.h:
        * svg/SVGAnimatedAngle.h:
        * svg/SVGAnimatedBoolean.h:
        * svg/SVGAnimatedEnumeration.h:
        * svg/SVGAnimatedInteger.h:
        * svg/SVGAnimatedLength.h:
        * svg/SVGAnimatedLengthList.h:
        * svg/SVGAnimatedNumber.h:
        * svg/SVGAnimatedNumberList.h:
        * svg/SVGAnimatedPreserveAspectRatio.h:
        * svg/SVGAnimatedRect.h:
        * svg/SVGAnimatedString.h:
        * svg/SVGAnimatedTransformList.h:
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::SVGAnimatedType):
        * svg/SVGAnimatedType.h:
        (WebCore::SVGAnimatedType::type):
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::SVGAnimationElement):
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
        * svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::synchronizeRequiredFeatures):
        (WebCore::SVGAnimationElement::synchronizeRequiredExtensions):
        (WebCore::SVGAnimationElement::synchronizeSystemLanguage):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        * svg/SVGCircleElement.h:
        (WebCore::SVGCircleElement::synchronizeRequiredFeatures):
        (WebCore::SVGCircleElement::synchronizeRequiredExtensions):
        (WebCore::SVGCircleElement::synchronizeSystemLanguage):
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::SVGClipPathElement):
        * svg/SVGClipPathElement.h:
        (WebCore::SVGClipPathElement::synchronizeRequiredFeatures):
        (WebCore::SVGClipPathElement::synchronizeRequiredExtensions):
        (WebCore::SVGClipPathElement::synchronizeSystemLanguage):
        * svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        * svg/SVGCursorElement.h:
        (WebCore::SVGCursorElement::synchronizeRequiredFeatures):
        (WebCore::SVGCursorElement::synchronizeRequiredExtensions):
        (WebCore::SVGCursorElement::synchronizeSystemLanguage):
        * svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::SVGDefsElement):
        * svg/SVGDefsElement.h:
        (WebCore::SVGDefsElement::synchronizeRequiredFeatures):
        (WebCore::SVGDefsElement::synchronizeRequiredExtensions):
        (WebCore::SVGDefsElement::synchronizeSystemLanguage):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::animatedPropertyTypeForAttribute):
        (WebCore::SVGElement::updateAnimatedSVGAttribute):
        (WebCore::SVGElement::localAttributeToPropertyMap):
        (WebCore::SVGElement::synchronizeRequiredFeatures):
        (WebCore::SVGElement::synchronizeRequiredExtensions):
        (WebCore::SVGElement::synchronizeSystemLanguage):
        * svg/SVGElement.h:
        (WebCore::SVGElement::svgAttributeChanged):
        (WebCore::SVGElement::synchronizeRequiredFeatures):
        (WebCore::SVGElement::synchronizeRequiredExtensions):
        (WebCore::SVGElement::synchronizeSystemLanguage):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        * svg/SVGEllipseElement.h:
        (WebCore::SVGEllipseElement::synchronizeRequiredFeatures):
        (WebCore::SVGEllipseElement::synchronizeRequiredExtensions):
        (WebCore::SVGEllipseElement::synchronizeSystemLanguage):
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        * svg/SVGFEComponentTransferElement.h:
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        * svg/SVGFEDiffuseLightingElement.h:
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEDropShadowElement.cpp:
        (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
        * svg/SVGFEDropShadowElement.h:
        * svg/SVGFEFloodElement.cpp:
        * svg/SVGFEFloodElement.h:
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        * svg/SVGFEGaussianBlurElement.h:
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        * svg/SVGFEImageElement.h:
        * svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::SVGFELightElement):
        * svg/SVGFELightElement.h:
        * svg/SVGFEMergeElement.cpp:
        * svg/SVGFEMergeElement.h:
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
        * svg/SVGFEMergeNodeElement.h:
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
        * svg/SVGFEOffsetElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        * svg/SVGFESpecularLightingElement.h:
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::SVGFETileElement):
        * svg/SVGFETileElement.h:
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        * svg/SVGFilterElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGFitToViewBox.cpp:
        * svg/SVGFitToViewBox.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::SVGFontElement):
        * svg/SVGFontElement.h:
        (WebCore::SVGFontElement::rendererIsNeeded):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        * svg/SVGForeignObjectElement.h:
        (WebCore::SVGForeignObjectElement::synchronizeRequiredFeatures):
        (WebCore::SVGForeignObjectElement::synchronizeRequiredExtensions):
        (WebCore::SVGForeignObjectElement::synchronizeSystemLanguage):
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::SVGGElement):
        * svg/SVGGElement.h:
        (WebCore::SVGGElement::synchronizeRequiredFeatures):
        (WebCore::SVGGElement::synchronizeRequiredExtensions):
        (WebCore::SVGGElement::synchronizeSystemLanguage):
        * svg/SVGGlyphElement.cpp:
        * svg/SVGGlyphElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        (WebCore::SVGGradientElement::svgAttributeChanged):
        * svg/SVGGradientElement.h:
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        * svg/SVGImageElement.h:
        (WebCore::SVGImageElement::synchronizeRequiredFeatures):
        (WebCore::SVGImageElement::synchronizeRequiredExtensions):
        (WebCore::SVGImageElement::synchronizeSystemLanguage):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::SVGLineElement):
        * svg/SVGLineElement.h:
        (WebCore::SVGLineElement::synchronizeRequiredFeatures):
        (WebCore::SVGLineElement::synchronizeRequiredExtensions):
        (WebCore::SVGLineElement::synchronizeSystemLanguage):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::SVGMPathElement):
        * svg/SVGMPathElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::orientTypePropertyInfo):
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::setOrientToAuto):
        (WebCore::SVGMarkerElement::setOrientToAngle):
        (WebCore::SVGMarkerElement::synchronizeOrientType):
        (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
        (WebCore::SVGMarkerElement::orientTypeAnimated):
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        * svg/SVGMaskElement.h:
        (WebCore::SVGMaskElement::synchronizeRequiredFeatures):
        (WebCore::SVGMaskElement::synchronizeRequiredExtensions):
        (WebCore::SVGMaskElement::synchronizeSystemLanguage):
        * svg/SVGMissingGlyphElement.cpp:
        * svg/SVGMissingGlyphElement.h:
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::dPropertyInfo):
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::svgAttributeChanged):
        (WebCore::SVGPathElement::lookupOrCreateDWrapper):
        (WebCore::SVGPathElement::synchronizeD):
        (WebCore::SVGPathElement::pathSegList):
        (WebCore::SVGPathElement::animatedPathSegList):
        * svg/SVGPathElement.h:
        (WebCore::SVGPathElement::pathByteStream):
        (WebCore::SVGPathElement::synchronizeRequiredFeatures):
        (WebCore::SVGPathElement::synchronizeRequiredExtensions):
        (WebCore::SVGPathElement::synchronizeSystemLanguage):
        * svg/SVGPathSegWithContext.h:
        (WebCore::SVGPathSegWithContext::animatedProperty):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        * svg/SVGPatternElement.h:
        (WebCore::SVGPatternElement::synchronizeRequiredFeatures):
        (WebCore::SVGPatternElement::synchronizeRequiredExtensions):
        (WebCore::SVGPatternElement::synchronizeSystemLanguage):
        * svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::pointsPropertyInfo):
        (WebCore::SVGPolyElement::SVGPolyElement):
        (WebCore::SVGPolyElement::parseMappedAttribute):
        (WebCore::SVGPolyElement::synchronizePoints):
        (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
        (WebCore::SVGPolyElement::points):
        (WebCore::SVGPolyElement::animatedPoints):
        * svg/SVGPolyElement.h:
        (WebCore::SVGPolyElement::synchronizeRequiredFeatures):
        (WebCore::SVGPolyElement::synchronizeRequiredExtensions):
        (WebCore::SVGPolyElement::synchronizeSystemLanguage):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        * svg/SVGRadialGradientElement.h:
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        * svg/SVGRectElement.h:
        (WebCore::SVGRectElement::synchronizeRequiredFeatures):
        (WebCore::SVGRectElement::synchronizeRequiredExtensions):
        (WebCore::SVGRectElement::synchronizeSystemLanguage):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        * svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::synchronizeRequiredFeatures):
        (WebCore::SVGSVGElement::synchronizeRequiredExtensions):
        (WebCore::SVGSVGElement::synchronizeSystemLanguage):
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement):
        * svg/SVGScriptElement.h:
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement):
        * svg/SVGStopElement.h:
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::SVGStyledElement):
        (WebCore::cssPropertyToTypeMap):
        (WebCore::SVGStyledElement::animatedPropertyTypeForAttribute):
        * svg/SVGStyledElement.h:
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
        * svg/SVGStyledTransformableElement.h:
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::SVGSwitchElement):
        * svg/SVGSwitchElement.h:
        (WebCore::SVGSwitchElement::synchronizeRequiredFeatures):
        (WebCore::SVGSwitchElement::synchronizeRequiredExtensions):
        (WebCore::SVGSwitchElement::synchronizeSystemLanguage):
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::SVGSymbolElement):
        * svg/SVGSymbolElement.h:
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::SVGTRefElement):
        * svg/SVGTRefElement.h:
        * svg/SVGTSpanElement.cpp:
        * svg/SVGTSpanElement.h:
        * svg/SVGTests.cpp:
        (WebCore::SVGTests::requiredFeaturesPropertyInfo):
        (WebCore::SVGTests::requiredExtensionsPropertyInfo):
        (WebCore::SVGTests::systemLanguagePropertyInfo):
        (WebCore::SVGTests::attributeToPropertyMap):
        (WebCore::SVGTests::synchronizeRequiredFeatures):
        (WebCore::SVGTests::synchronizeRequiredExtensions):
        (WebCore::SVGTests::synchronizeSystemLanguage):
        * svg/SVGTests.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::textLengthPropertyInfo):
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        (WebCore::SVGTextContentElement::synchronizeTextLength):
        (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
        (WebCore::SVGTextContentElement::textLengthAnimated):
        * svg/SVGTextContentElement.h:
        (WebCore::SVGTextContentElement::synchronizeRequiredFeatures):
        (WebCore::SVGTextContentElement::synchronizeRequiredExtensions):
        (WebCore::SVGTextContentElement::synchronizeSystemLanguage):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        * svg/SVGTextElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        * svg/SVGTextPathElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
        * svg/SVGTextPositioningElement.h:
        * svg/SVGTitleElement.cpp:
        * svg/SVGTitleElement.h:
        (WebCore::SVGTitleElement::rendererIsNeeded):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        * svg/SVGUseElement.h:
        (WebCore::SVGUseElement::synchronizeRequiredFeatures):
        (WebCore::SVGUseElement::synchronizeRequiredExtensions):
        (WebCore::SVGUseElement::synchronizeSystemLanguage):
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::SVGViewElement):
        * svg/SVGViewElement.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::SVGViewSpec):
        * svg/SVGViewSpec.h:
        * svg/properties/SVGAnimatedProperty.h:
        (WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
        (WebCore::SVGAnimatedProperty::lookupWrapper):
        * svg/properties/SVGAnimatedPropertyMacros.h:
        * svg/properties/SVGAnimatedPropertySynchronizer.h:
        * svg/properties/SVGAttributeToPropertyMap.cpp: Added.
        (WebCore::SVGAttributeToPropertyMap::addProperties):
        (WebCore::SVGAttributeToPropertyMap::addProperty):
        (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
        (WebCore::SVGAttributeToPropertyMap::animatedPropertyTypeForAttribute):
        (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
        (WebCore::SVGAttributeToPropertyMap::synchronizeProperty):
        (WebCore::SVGAttributeToPropertyMap::animatedProperty):
        * svg/properties/SVGAttributeToPropertyMap.h: Added.
        (WebCore::SVGAttributeToPropertyMap::SVGAttributeToPropertyMap):
        (WebCore::SVGAttributeToPropertyMap::~SVGAttributeToPropertyMap):
        (WebCore::SVGAttributeToPropertyMap::isEmpty):
        * svg/properties/SVGPropertyInfo.h: Added.
        (WebCore::SVGPropertyInfo::SVGPropertyInfo):

2011-07-09  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix after r90676.

        * platform/graphics/ImageBuffer.cpp:

2011-07-08  Dirk Schulze  <krit@webkit.org>

        Refactoring luminance code in RenderSVGResourceMasker
        https://bugs.webkit.org/show_bug.cgi?id=64146

        Reviewed by Simon Fraser.

        Moved luminance calculcation code to ImageBuffer. The code is doing pixel manipulations and can now get replaced
        by platform specific algorithms in the ImmageBuffer*.cpp files.

        No change of functionality. No new tests.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/ImageBuffer.cpp:
        (WebCore::ImageBuffer::transformColorSpace):
        (WebCore::ImageBuffer::genericConvertToLuminanceMask):
        (WebCore::ImageBuffer::convertToLuminanceMask):
        * platform/graphics/ImageBuffer.h:
        * rendering/svg/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

2011-07-08  Simon Fraser  <simon.fraser@apple.com>

        Clean up RenderWidget::destroy() to share more code
        https://bugs.webkit.org/show_bug.cgi?id=64138

        Reviewed by James Robinson.

        RenderWidget::destroy() copied code from various other
        destroy() methods, which made code maintenance in this
        area very risky.
        
        Fix by adding a virtual willBeDestroyed() method, which
        replaces most instances of destroy(). Now, only RenderWidget
        and RenderObject implement destroy(), and each just calls
        willBeDestroyed(). Code duplication is averted.
        
        No behavior change, so no tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::willBeDestroyed):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::willBeDestroyed):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::willBeDestroyed):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreenPlaceholder::willBeDestroyed):
        (RenderFullScreen::willBeDestroyed):
        * rendering/RenderFullScreen.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::willBeDestroyed):
        * rendering/RenderInline.h:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::willBeDestroyed):
        * rendering/RenderListItem.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::willBeDestroyed):
        (WebCore::RenderObject::destroy):
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::willBeDestroyed):
        * rendering/RenderReplaced.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::willBeDestroyed):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::willBeDestroyed):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::willBeDestroyed):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::willBeDestroyed):
        * rendering/RenderText.h:
        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::willBeDestroyed):
        * rendering/RenderTextFragment.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::willBeDestroyed):
        (WebCore::RenderWidget::destroy):
        * rendering/RenderWidget.h:
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::willBeDestroyed):
        * rendering/svg/RenderSVGBlock.h:
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::willBeDestroyed):
        * rendering/svg/RenderSVGInline.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::willBeDestroyed):
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::willBeDestroyed):
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::willBeDestroyed):
        * rendering/svg/RenderSVGResourceContainer.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::willBeDestroyed):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/SVGResourcesCache.h:

2011-07-08  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r90662.
        http://trac.webkit.org/changeset/90662
        https://bugs.webkit.org/show_bug.cgi?id=64210

        Introduced regressions in Chromium browser tests (Requested by
        rniwa on #webkit).

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selectedText):
        (WebCore::AccessibilityRenderObject::selectedTextRange):
        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setSelectionRange):
        (WebCore::HTMLTextFormControlElement::selectionStart):
        (WebCore::HTMLTextFormControlElement::selectionEnd):
        (WebCore::HTMLTextFormControlElement::selection):
        (WebCore::HTMLTextFormControlElement::restoreCachedSelection):
        (WebCore::HTMLTextFormControlElement::selectionChanged):
        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::selectionStart):
        (WebCore::RenderTextControl::selectionEnd):
        (WebCore::RenderTextControl::hasVisibleTextArea):
        (WebCore::setSelectionRange):
        (WebCore::setContainerAndOffsetForRange):
        (WebCore::RenderTextControl::selection):
        * rendering/RenderTextControl.h:

2011-07-08  Brian Salomon  <bsalomon@google.com>

        Make GL context current before updating layer texture using skia-gpu
        https://bugs.webkit.org/show_bug.cgi?id=64206

        Reviewed by James Robinson.

        Covered by existing tests (when accelerated drawing and compositing are on).

        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):

2011-07-08  Tony Chang  <tony@chromium.org>

        Refactor override size to be a size rather than just an int
        https://bugs.webkit.org/show_bug.cgi?id=64195

        Reviewed by David Hyatt.

        Also convert to LayoutSize and LayoutUnit.

        Covered by existing tests.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::overrideSize): Pass in a LayoutSize.
        (WebCore::RenderBox::setOverrideSize):
        (WebCore::RenderBox::clearOverrideSize): New method for clearing the
            override size (previous we would pass in -1)
        (WebCore::RenderBox::overrideWidth):
        (WebCore::RenderBox::overrideHeight):
        (WebCore::RenderBox::computeLogicalWidth):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        * rendering/RenderBox.h:
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::gatherFlexChildrenInfo):
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::setOverrideSizeFromRowHeight):
        * rendering/RenderTableCell.h: Remove setOverrideSize since it was
            only called in one place to clear the override size.  Inline this
            logic instead.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):

2011-07-08  Emil A Eklund  <eae@chromium.org>

        Switch pointInContainer and accumulatedOffset to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64112

        Reviewed by Eric Seidel.

        Convert remaining IntPoint versions of the pointInContainer and
        accumulatedOffset arguments to the new layout abstraction.

        No new tests, no functionality changes.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
        * rendering/HitTestResult.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInOverflowControl):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):
        (WebCore::RenderBox::popContentsClip):
        * rendering/RenderBox.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderLineBoxList.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInOverflowControl):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest):
        * rendering/RenderObject.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::hitInnerTextElement):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):

2011-07-07  Ryosuke Niwa  <rniwa@webkit.org>

        Move selection related code from RenderTextControl to HTMLTextFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=64133

        Reviewed by Dimitri Glazkov.

        Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
        and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.

        This refactoring removes RenderTextControl's dependency on FrameSelection.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
        (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
        (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
        (WebCore::hasVisibleTextArea):
        (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in
        RenderTextControl.
        (WebCore::HTMLTextFormControlElement::selectionStart): Ditto.
        (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
        (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp
        (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
        (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Moved from HTMLFormControlElement.cpp now that
        all functions are self-contained in HTMLTextFormControlElement.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::textFormControlElement): Added.
        * rendering/RenderTextControl.h:

2011-07-08  Mike Reed  <reed@google.com>

        remove (empty) indirection between GraphicsContextPlatformPrivate and PlatformContextSkia
        https://bugs.webkit.org/show_bug.cgi?id=64178

        Reviewed by Stephen White.

        No new tests. no functionality change, other than removing an indirection that is not needed

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Removed.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::platformContext):

2011-07-08  Jeffrey Pfau  <jpfau@apple.com>

        Add framework for a new/dummy XMLDocumentParser
        https://bugs.webkit.org/show_bug.cgi?id=63955

        Reviewed by Adam Barth.

        Added a dummy framework NewXMLDocumentParser

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::createParser):
        * xml/parser/NewXMLDocumentParser.cpp: Added.
        (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
        (WebCore::NewXMLDocumentParser::textPosition):
        (WebCore::NewXMLDocumentParser::lineNumber):
        (WebCore::NewXMLDocumentParser::insert):
        (WebCore::NewXMLDocumentParser::append):
        (WebCore::NewXMLDocumentParser::finish):
        (WebCore::NewXMLDocumentParser::detach):
        (WebCore::NewXMLDocumentParser::hasInsertionPoint):
        (WebCore::NewXMLDocumentParser::finishWasCalled):
        (WebCore::NewXMLDocumentParser::processingData):
        (WebCore::NewXMLDocumentParser::prepareToStopParsing):
        (WebCore::NewXMLDocumentParser::stopParsing):
        (WebCore::NewXMLDocumentParser::isWaitingForScripts):
        (WebCore::NewXMLDocumentParser::isExecutingScript):
        (WebCore::NewXMLDocumentParser::executeScriptsWaitingForStylesheets):
        * xml/parser/NewXMLDocumentParser.h: Added.
        (WebCore::NewXMLDocumentParser::create):

2011-07-08  David Reveman  <reveman@chromium.org>

        Remove unused function parameters.

        Reviewed by Ryosuke Niwa.

        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::textureOffset):

2011-07-08  David Reveman  <reveman@chromium.org>

        Reviewed by Stephen White.

        [Chromium] Edge anti-aliasing for composited layers.
        https://bugs.webkit.org/show_bug.cgi?id=61388

        Add transparent outer border to tiled layers and adjust vertex
        coordinates so that use of a bilinear filter creates a smooth
        layer edge.

        Tests: platform/chromium/compositing/tiny-layer-rotated.html
               platform/chromium/compositing/huge-layer-rotated.html (existing)
               TilingDataTest in webkit_unit_tests

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        Change maxUntiledSize to 510 to ensure that tiles are not greater
        than 512 with outer borders.
        (WebCore::ContentLayerChromium::updateLayerSize): We can't use the
        layer size as tile size when we want to avoid tiling as this will
        not be enough space to include possible outer borders. We instead use
        an empty size, which allows the tiler to automatically adjust the
        tile size to be large enough for the layer to fit in one tile.
        (WebCore::ContentLayerChromium::createTilerIfNeeded):
        (WebCore::ContentLayerChromium::setIsMask): Don't use border texels
        for layer used as mask.

        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerChromium::m_borderTexels) Added.

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::tileTexRect): Added.
        (WebCore::LayerTilerChromium::tileLayerRect): m_tileSize is no
        longer the correct layer size. Size of bounds with border should
        be the correct layer size.
        (WebCore::LayerTilerChromium::growLayerToContain): Adjust texture
        size to include outer borders and handle empty m_tileSize.
        (WebCore::LayerTilerChromium::invalidateRect): Use size of rectangle
        returned by tileTexRect instead of m_tileSize for texture size.
        (WebCore::LayerTilerChromium::prepareToUpdate): Ditto.
        (WebCore::LayerTilerChromium::draw): Compute and intersect tile edges
        instead of using tile coordinates directly. Edges are adjusted to
        include outer borders and make sure all partially covered pixels are
        processed.
        (WebCore::LayerTilerChromium::drawTexturedQuad): Pass quad to
        shader using point uniform.
        (WebCore::LayerTilerChromium::invalidateRect): Invalidate old layer
        area to clear any contents left from previous layer size.

        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::tileTexRect) Added.
        (WebCore::LayerTilerChromium::drawTexturedQuad): Add quad parameter.

        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::VertexShaderPosTexTransform::getShaderString) Get X/Y vertex
        components from point uniform.
        (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform)
        Added point uniform.
        (WebCore::VertexShaderPosTexTransform::init) Ditto.
        (WebCore::VertexShaderPosTexTransform::pointLocation) Added.

        * platform/graphics/chromium/ShaderChromium.h:
        (WebCore::VertexShaderPosTexTransform::pointLocation) Added.

        * platform/graphics/gpu/TilingData.cpp:
        (WebCore::TilingData::tileBoundsWithOuterBorder): Added.
        (WebCore::TilingData::computeNumTiles): Adjust for outer border.
        (WebCore::TilingData::tileXIndexFromSrcCoord): Ditto.
        (WebCore::TilingData::tileYIndexFromSrcCoord): Ditto.
        (WebCore::TilingData::tileSizeX): Ditto.
        (WebCore::TilingData::tileSizeY): Ditto.
        (WebCore::TilingData::intersectDrawQuad): Ditto.
        (WebCore::TilingData::textureOffset): Ditto.

        * platform/graphics/gpu/TilingData.h:
        (WebCore::TilingData::tileBoundsWithOuterBorder): Added.

2011-07-08  Mike Reed  <reed@google.com>

        [skia] don't rely on lockPixels failure to detect gpu-backed device (in prep for skia roll)
        https://bugs.webkit.org/show_bug.cgi?id=64162

        Reviewed by Stephen White.

        No new tests. preparing for skia roll, where lockPixels always succeeds (but slowly for gpu-backed)

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::putImageData):

2011-07-08  Chang Shu  <cshu@webkit.org>

        Update calling sites after function renamed.
        https://bugs.webkit.org/show_bug.cgi?id=59114

        Reviewed by Alexey Proskuryakov.

        No new tests, just refactoring.

        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setTextInternal):

2011-07-08  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions]Parse content: -webkit-from-flow
        https://bugs.webkit.org/show_bug.cgi?id=63133

        Reviewed by David Hyatt.

        Test: fast/regions/content-webkit-from-flow-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::contentToCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFromFlowContent):
        * css/CSSParser.h:
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::getStringValue):
        (WebCore::CSSPrimitiveValue::cssText):
        * css/CSSPrimitiveValue.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::regionThread):
        (WebCore::InheritedFlags::setRegionThread):
        (WebCore::InheritedFlags::initialRegionThread):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: NetworkPanel search failed if the matched sting is in the query part of url
        https://bugs.webkit.org/show_bug.cgi?id=64167

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._matchResource):
        (WebInspector.NetworkPanel.prototype._highlightNthMatchedResource):
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get folder):

2011-07-08  Benjamin Poulain  <benjamin@webkit.org>

        [Qt] Enable HTTP Pipelining by default
        https://bugs.webkit.org/show_bug.cgi?id=64169

        Reviewed by Andreas Kling.

        QNetworkAccessManager disables HTTP pipelining by default. We enable it by
        setting an attribute on the request.

        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest):

2011-07-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: CSS inspector gets confused about specificity of !important properties
        https://bugs.webkit.org/show_bug.cgi?id=64074

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):

2011-07-08  Alexander Pavlov  <apavlov@chromium.org>

        [Chromium] Unreviewed, clang build fix.

        * inspector/InspectorStyleTextEditor.h:

2011-07-08  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add support for drag'n'drop of non-elements (comments, text, etc.)
        https://bugs.webkit.org/show_bug.cgi?id=64163

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::moveTo):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget):

2011-07-08  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: secure access to extensions API
        https://bugs.webkit.org/show_bug.cgi?id=64080

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._onWindowMessage):
        (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
        (WebInspector.ExtensionServer.prototype._expandResourcePath):
        (WebInspector.ExtensionServer.prototype._normalizePath):

2011-07-08  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r90615.
        http://trac.webkit.org/changeset/90615
        https://bugs.webkit.org/show_bug.cgi?id=64158

        broke inspector/extensions/extensions.html (Requested by caseq
        on #webkit).

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
        (WebInspector.injectedExtensionAPI.expandURL):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._onWindowMessage):
        (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):

2011-07-07  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Adding CSS properties results in messy style rules
        https://bugs.webkit.org/show_bug.cgi?id=63622

        Reviewed by Pavel Feldman.

        Test: inspector/styles/styles-formatting.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSPropertySourceData.cpp:
        (WebCore::SourceRange::length):
        * css/CSSPropertySourceData.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::InspectorStyle):
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::toggleProperty):
        (WebCore::InspectorStyle::applyStyleText):
        (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
        * inspector/InspectorStyleSheet.h:
        * inspector/InspectorStyleTextEditor.cpp: Added.
        (WebCore::InspectorStyleTextEditor::InspectorStyleTextEditor):
        (WebCore::InspectorStyleTextEditor::insertProperty):
        (WebCore::InspectorStyleTextEditor::replaceProperty):
        (WebCore::InspectorStyleTextEditor::removeProperty):
        (WebCore::InspectorStyleTextEditor::enableProperty):
        (WebCore::InspectorStyleTextEditor::disableProperty):
        (WebCore::InspectorStyleTextEditor::disabledIndexByOrdinal):
        (WebCore::InspectorStyleTextEditor::shiftDisabledProperties):
        (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
        * inspector/InspectorStyleTextEditor.h: Added.
        (WebCore::InspectorStyleTextEditor::styleText):

2011-07-08  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: Quotes are rendered as &quot; in the DOM tree
        https://bugs.webkit.org/show_bug.cgi?id=64154

        Reviewed by Yury Semikhatsky.

        Since we currently rely on setting textContent rather than innerHTML for the DOM tree elements,
        escapeHTML() calls unnecessarily HTML-escape certain characters in the DOM tree contents.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
        ():

2011-07-08  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Remove unused code from InspectorAgent.h.
        https://bugs.webkit.org/show_bug.cgi?id=64120

        Reviewed by Joseph Pecoraro.

        * inspector/InspectorAgent.h:

2011-07-08  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: secure access to extensions API
        https://bugs.webkit.org/show_bug.cgi?id=64080

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._onWindowMessage):
        (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
        (WebInspector.ExtensionServer.prototype._expandResourcePath):
        (WebInspector.ExtensionServer.prototype._normalizePath):

2011-07-08  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: typing undefined = 1 in console crashes browser
        https://bugs.webkit.org/show_bug.cgi?id=64155

        Do not access undefined value directly when producing JSON objects as undefined
        may be overriden by the inspected page.

        Reviewed by Pavel Feldman.

        Test: inspector/console/console-eval-undefined-override.html

        * inspector/InjectedScriptSource.js:
        (.):
        ():

2011-07-07  Emil A Eklund  <eae@chromium.org>

        Switch HitTestResult to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64131

        Reviewed by Eric Seidel.

        No new tests, no functionality changes.

        * page/MouseEventWithHitTestResults.cpp:
        (WebCore::MouseEventWithHitTestResults::localPoint):
        * page/MouseEventWithHitTestResults.h:
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::HitTestResult):
        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
        (WebCore::HitTestResult::rectForPoint):
        * rendering/HitTestResult.h:
        (WebCore::HitTestResult::point):
        (WebCore::HitTestResult::localPoint):
        (WebCore::HitTestResult::setPoint):
        (WebCore::HitTestResult::setLocalPoint):
        (WebCore::HitTestResult::rectForPoint):

2011-07-07  Levi Weintraub  <leviw@chromium.org>

        Switch remaining paint functions to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64116

        Reviewed by Eric Seidel.

        Switching all functions with IntPoint paintOffsets to the new Layout types.

        No new tests, no functionality changes.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::paintSelection):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintCustomHighlight):
        * rendering/InlineTextBox.h:
        * rendering/LayoutTypes.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::paintContents):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintCaret):
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::paintEllipsisBoxes):
        (WebCore::RenderBlock::paintContinuationOutlines):
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintCustomHighlight):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        (WebCore::RenderInline::paintOutlineForLine):
        * rendering/RenderInline.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintOverflowControls):
        (WebCore::RenderLayer::paintScrollCorner):
        (WebCore::RenderLayer::paintResizer):
        * rendering/RenderLayer.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintScrollbar):
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintFocusRing):
        (WebCore::RenderObject::paintOutline):
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderReplaced.h:
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderScrollbarPart.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintCell):
        * rendering/RenderTableSection.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::paintPlaceholder):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paintEllipsisBox):
        (WebCore::RootInlineBox::paintCustomHighlight):
        (WebCore::RootInlineBox::paint):
        * rendering/RootInlineBox.h:
        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::paint):
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):

2011-07-07  Steve VanDeBogart  <vandebo@chromium.org>

        Work around Skia PDF's lack of inverted path support.
        https://bugs.webkit.org/show_bug.cgi?id=64032

        Reviewed by James Robinson.

        The trick used in http://neugierig.org/software/chromium/notes/2010/07/clipping.html
        to support antialiased clips doesn't work when printing to Skia's PDF backend because
        the backend does not support inverted paths. This manifests as rounded buttons not being
        drawn when printing, tracked as Chrome bug 79519.
        
        However, when the output is a vector device, like PDF, we don't need antialiased clips.
        It's up to the PDF rendering engine to do that.  So we can simply disable the antialiased
        clip code if the output is a vector device.
        
        I think the fix isn't testable because it requires examining the printed output.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::clipPathAntiAliased):

2011-07-07  Emil A Eklund  <eae@chromium.org>

        Switch rendering tree selection code to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63762

        Reviewed by Eric Seidel.

        Switch selection getters and selection gap calculation methods over to
        new layout abstraction.

        No new tests, no functionality changes.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionTop):
        (WebCore::InlineTextBox::selectionBottom):
        (WebCore::InlineTextBox::selectionHeight):
        (WebCore::InlineTextBox::isSelected):
        * rendering/InlineTextBox.h:
        * rendering/RenderBR.h:
        (WebCore::RenderBR::selectionRectForRepaint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRectsForRepaint):
        (WebCore::RenderBlock::selectionGaps):
        (WebCore::RenderBlock::inlineSelectionGaps):
        (WebCore::RenderBlock::blockSelectionGaps):
        (WebCore::RenderBlock::blockSelectionGap):
        (WebCore::RenderBlock::logicalLeftSelectionGap):
        (WebCore::RenderBlock::logicalRightSelectionGap):
        (WebCore::RenderBlock::logicalLeftSelectionOffset):
        (WebCore::RenderBlock::logicalRightSelectionOffset):
        (WebCore::RenderBlock::positionForPointWithInlineChildren):
        (WebCore::RenderBlock::desiredColumnWidth):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::selectionRectForRepaint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::selectionRectForRepaint):
        * rendering/RenderListMarker.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::selectionRect):
        (WebCore::RenderObject::selectionRectForRepaint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::selectionRectForRepaint):
        * rendering/RenderReplaced.h:
        * rendering/RenderSelectionInfo.h:
        (WebCore::RenderSelectionInfo::RenderSelectionInfo):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::selectionRectForRepaint):
        * rendering/RenderText.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::selectionTop):
        (WebCore::RootInlineBox::selectionBottom):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::selectionHeight):

2011-07-07  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Alexey Proskuryakov.

        fast/dom/HTMLLinkElement/link-and-subresource-test.html is flaky on chromium debug bots
        https://bugs.webkit.org/show_bug.cgi?id=60097

        The culprit was that CachedResource:stopLoading() was using *this
        after a call to checkNotify(), which isn't kosher.  This patch
        uses a CachedResourceHandle to keep the CachedResource alive.

        The test is a very close copy of the eponymous
        link-and-subresource-test.html, only substituting invalid
        resources for the valid ones in that test.  The reproduction is
        timing related, and happens much more consistantly with an invalid
        resource for whatever reason.
        Test: fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html

        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::stopLoading):

2011-07-07  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        Use v8::AdjustAmountOfExternalAllocatedMemory for ArrayBuffers
        https://bugs.webkit.org/show_bug.cgi?id=42912

        This calls v8's AdjustAmountOfExternalAllocatedMemory when ArrayBuffers are allocated/deallocated so that V8's
        garbage collection heuristics can account for the memory held by these objects.  On the new test page, this
        reduces the peak memory use from 5BG+ (or a crash in 32-bit systems) to <300MB.

        Test: WebCore/manual-tests/array-buffer-memory.html

        * html/canvas/ArrayBuffer.cpp:
        (WebCore::ArrayBuffer::~ArrayBuffer):
        (WebCore::ArrayBuffer::tryAllocate):

2011-07-07  Ryosuke Niwa  <rniwa@webkit.org>

        Move all code related to cachedSelection to HTMLTextFormControlElement
        https://bugs.webkit.org/show_bug.cgi?id=64118

        Reviewed by Alexey Proskuryakov.

        Moved m_cachedSelectionStart and m_cachedSelectionEnd from HTMLInputElement
        and HTMLTextAreaElement to HTMLTextFormControlElement

        Also removed cached selection related functions from RenderTextControl,
        RenderTextControlSingleLine, and RenderTextControlMultiLine because they were
        merely providing wrapper functions to enable polymorphism between
        input and textarea elements and their WML equivalents.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::notifyRendererOfSelectionChange): Calls HTMLTextFormControlElement's
        selectionChanged instead of RenderTextControl's.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): Initialize
        m_cachedSelectionStart and m_cachedSelectionEnd.
        (WebCore::HTMLTextFormControlElement::selectionStart):
        (WebCore::HTMLTextFormControlElement::selectionEnd):
        (WebCore::HTMLTextFormControlElement::selection):
        (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Added.
        (WebCore::HTMLTextFormControlElement::selectionChanged): Extracted from
        RenderTextControl::selectionChanged.
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLTextFormControlElement::cacheSelection): Extracted from HTMLInputElement
        and HTMLTextAreaElement.
        (WebCore::HTMLTextFormControlElement::hasCachedSelectionStart): Added.
        (WebCore::HTMLTextFormControlElement::hasCachedSelectionEnd): Added.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
        (WebCore::HTMLInputElement::updateFocusAppearance):
        * html/HTMLInputElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
        * html/HTMLTextAreaElement.h:
        (WebCore::HTMLTextAreaElement::isEmptyValue):
        * rendering/RenderTextControl.cpp:
        (WebCore::setSelectionRange):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderTextControlSingleLine.h:

2011-07-07  Emil A Eklund  <eae@chromium.org>

        Switch addFocusRingRects to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64114

        Reviewed by Eric Seidel.

        No new tests, no functionality changes.

        * rendering/LayoutTypes.h:
        (WebCore::flooredLayoutPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addFocusRingRects):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addFocusRingRects):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::addFocusRingRects):
        * rendering/RenderInline.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::addFocusRingRects):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::addFocusRingRects):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::addFocusRingRects):
        * rendering/RenderTextControl.h:
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::addFocusRingRects):
        * rendering/svg/RenderSVGContainer.h:
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::addFocusRingRects):
        * rendering/svg/RenderSVGImage.h:
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::addFocusRingRects):
        * rendering/svg/RenderSVGPath.h:

2011-07-06  Adrienne Walker  <enne@google.com>

        [chromium] Reduce compositor texture memory by skipping layers and clipping surfaces
        https://bugs.webkit.org/show_bug.cgi?id=64052

        Reviewed by James Robinson.

        Layers and surfaces that are entirely transparent are now skipped.
        Parent scissor rects are now applied to the content rect of surfaces
        so that offscreen surfaces can be skipped.

        Landing this for vangelis@chromium.org.

        Covered by existing tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::calculateVisibleRect):
        (WebCore::calculateVisibleLayerRect):
        (WebCore::LayerRendererChromium::paintLayerContents):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::updateCompositorResources):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):

2011-07-07  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r90581.
        http://trac.webkit.org/changeset/90581
        https://bugs.webkit.org/show_bug.cgi?id=64124

        Broke a bunch of inspector tests (Requested by ojan on
        #webkit).

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
        (WebInspector.injectedExtensionAPI.expandURL):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._onWindowMessage):
        (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):

2011-07-07  Adrienne Walker  <enne@google.com>

        [chromium] Fix crash when compositing gets disabled mid-paint
        https://bugs.webkit.org/show_bug.cgi?id=64119

        Reviewed by James Robinson.

        WebKit paint can disable compositing and call setRootLayer(0). Adding
        a check for this in drawLayers prevents a null pointer deref.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):

2011-07-07  Dirk Schulze  <krit@webkit.org>

        SVGAnimateTransform does not support calcMode=discrete
        https://bugs.webkit.org/show_bug.cgi?id=63914

        Reviewed by Rob Buis.

        CalcMode discrete specifies that the animation function will jump from one value to the next without any interpolation.
        Implemented calcMode discrete by checking current progress of animation. If we are in the first half of the animation,
        we use the start value of the aniamtion, end value for the second half of the animation. The key time at 50% is used on
        all other animations as well as on other SVG viewers.

        Added a manual test. DRT crashes on an automated test with the SVG animation API. Opened a new bug report: 64104.

        * manual-tests/svg-animateTransform-calcMode-discrete.svg: Added.
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):

2011-07-07  Dirk Schulze  <krit@webkit.org>

        Reviewed by Rob Buis.

        SVGAnimatedPath needs fallback for 'by' animation
        https://bugs.webkit.org/show_bug.cgi?id=63865
        
        Added fallback to 'to' animation for 'by' animated SVGAnimatedPathAnimator.
        
        Clenup of SVGAnimateElement. Removed all switches since we support all AnimatedTypes
        with the exception of AnimatedEnumeration. AnimatedEnumeration gets animated as AnimatedString at the moment. 

        Test: svg/animations/svgpath-animation-1.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::getPropertyValue):
        (WebCore::inheritsFromProperty):
        (WebCore::attributeValueIsCurrentColor):
        (WebCore::SVGAnimateElement::adjustForCurrentColor):
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):

2011-07-07  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: secure access to extensions API
        https://bugs.webkit.org/show_bug.cgi?id=64080

        Reviewed by Pavel Feldman.

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Panels.prototype.create):
        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setPage):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionPanel):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
        (WebInspector.ExtensionServer.prototype._addExtensions):
        (WebInspector.ExtensionServer.prototype._onWindowMessage):
        (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
        (WebInspector.ExtensionServer.prototype._expandResourcePath):

2011-07-07  Kyusun Kim  <maniagoon@company100.net>

        The return value of SharedBuffer::createWithContentsOfFile must have valid m_size.
        https://bugs.webkit.org/show_bug.cgi?id=63313

        Reviewed by Eric Seidel.

        * platform/posix/SharedBufferPOSIX.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2011-07-07  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/9737435> Re-enable -webkit-column-break-inside: avoid
        https://bugs.webkit.org/show_bug.cgi?id=64102

        Reviewed by Simon Fraser.

        -webkit-column-break-inside: avoid was disabled in r62632 along with page-break-inside: avoid.
        The latter remains disabled.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::adjustForUnsplittableChild): Treat the child as unsplittable if
        '-webkit-column-break-inside: avoid' was specified.

2011-07-07  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: visual regressions in network panel
        https://bugs.webkit.org/show_bug.cgi?id=64089

        Reviewed by Pavel Feldman.

        * inspector/front-end/networkPanel.css:
        (.data-grid.network-log-grid tr.filler td):
        (.network.panel .sidebar):

2011-07-07  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by David Hyatt.

        Partial layout when a flex-box has visibility: collapse
        https://bugs.webkit.org/show_bug.cgi?id=63776

        Tests: fast/flexbox/crash-button-input-autofocus.html
               fast/flexbox/crash-button-keygen.html
               fast/flexbox/crash-button-relayout.html

        The issue is that FlexBoxIterator would skip any child if it has visibility: collapsed.
        However if one of the child is anonymous, it may wrap some other child that would be skipped.
        Now FlexBoxIterator is called during the layout phase and thus some nodes would not relayouted
        as expected.

        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::next): When iterating, don't skip anonymous content as there may
        be real content hiding below.

2011-07-07  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: URL links in styles open new tab instead of showing resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=64090

        Reviewed by Pavel Feldman.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):

2011-07-07  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: active panel does not receive resize event when drawer is resized
        https://bugs.webkit.org/show_bug.cgi?id=64094

        Reviewed by Pavel Feldman.

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype._statusBarDragging):

2011-07-07  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: prevent default action during drag'n'drop in the Elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=64081

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline):
        (WebInspector.ElementsTreeOutline.prototype._ondragstart):
        (WebInspector.ElementsTreeOutline.prototype._ondragover):
        (WebInspector.ElementsTreeOutline.prototype._ondragend):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype.treeElementFromPoint):

2011-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Move remaining enums out of SVG*Element classes
        https://bugs.webkit.org/show_bug.cgi?id=64075

        Reviewed by Dirk Schulze.

        Move remaining enums out of SVG*Element classes. This is a preparation patch for bug 63797.
        Also move the SVGPropertyTraits template specializations for enum types before the class
        definition in the header, otherwhise we can't use SVGPropertyTraits<FooType>::fromString/toString
        in the DECLARE_ANIMATED* macros, which is needed soon.

        No new tests, just refactoring.

        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::angle):
        (WebCore::RenderSVGResourceMarker::markerTransformation):
        * rendering/svg/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::markerUnits):
        * rendering/svg/RenderSVGTextPath.cpp:
        (WebCore::RenderSVGTextPath::RenderSVGTextPath):
        (WebCore::RenderSVGTextPath::exactAlignment):
        (WebCore::RenderSVGTextPath::stretchMethod):
        * rendering/svg/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        (WebCore::writeCommonGradientProperties):
        * rendering/svg/SVGTextChunkBuilder.cpp:
        (WebCore::SVGTextChunkBuilder::addTextChunk):
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
        (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
        * svg/GradientAttributes.h:
        (WebCore::GradientAttributes::GradientAttributes):
        (WebCore::GradientAttributes::spreadMethod):
        (WebCore::GradientAttributes::setSpreadMethod):
        * svg/SVGComponentTransferFunctionElement.h:
        * svg/SVGFEBlendElement.h:
        * svg/SVGFEColorMatrixElement.h:
        * svg/SVGFECompositeElement.h:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDisplacementMapElement.h:
        * svg/SVGFEMorphologyElement.h:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        * svg/SVGGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::setOrientToAuto):
        (WebCore::SVGMarkerElement::setOrientToAngle):
        (WebCore::SVGMarkerElement::synchronizeOrientType):
        (WebCore::SVGMarkerElement::orientTypeAnimated):
        * svg/SVGMarkerElement.h:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        * svg/SVGTextPathElement.h:

2011-07-07  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Protocol: pointers to optional "in" parameters passing to the
        backend methods should be NULL if they are not specified in the message.
        https://bugs.webkit.org/show_bug.cgi?id=64083

        Reviewed by Pavel Feldman.

        * inspector/CodeGeneratorInspector.pm:
        (generateBackendFunction):
        (generateArgumentGetters):
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getStylesForNode):

2011-07-07  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Searching on the Network panel doesn't do anything?
        https://bugs.webkit.org/show_bug.cgi?id=55489

        This is initial implementation of search in Network panel.
        It is pretty simple search only for names and paths.

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.refresh):
        (WebInspector.NetworkPanel.prototype._reset):
        (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
        (WebInspector.NetworkPanel.prototype._matchResource):
        (WebInspector.NetworkPanel.prototype._clearSearchMatchedList):
        (WebInspector.NetworkPanel.prototype._highlightNthMatchedResource):
        (WebInspector.NetworkPanel.prototype.performSearch):
        (WebInspector.NetworkDataGridNode.prototype.createCells):
        * inspector/front-end/utilities.js:
        (String.prototype.escapeHTML):
        ():

2011-07-07  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Resources panel shows only one resource when multiple resources have the same url.
        https://bugs.webkit.org/show_bug.cgi?id=63936

        Reviewed by Pavel Feldman.

        Test: http/tests/inspector/resource-tree/resource-tree-non-unique-url.html

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameTreeElement.prototype.appendResource):

2011-07-07  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Add support for clearing cache and cookies from network panel.
        https://bugs.webkit.org/show_bug.cgi?id=63999

        Reviewed by Pavel Feldman.

        * English.lproj/localizedStrings.js:
        * inspector/Inspector.json:
        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::clearBrowserCache):
        (WebCore::InspectorClient::clearBrowserCookies):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::clearBrowserCache):
        (WebCore::InspectorResourceAgent::clearBrowserCookies):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        (WebCore::InspectorResourceAgent::create):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._contextMenu):
        (WebInspector.NetworkPanel.prototype._clearBrowserCache):
        (WebInspector.NetworkPanel.prototype._clearBrowserCookies):
        * inspector/front-end/Settings.js:

2011-07-07  Shinya Kawanaka  <shinyak@google.com>

        Added more key bindings for input[type=range].
        https://bugs.webkit.org/show_bug.cgi?id=52262

        Added PageUp/PageDown/Home/End key bindings for input[type=range].
        PageUp/PageDown change value by about 10%.
        Home/End change value to minimum/maximum.

        Reviewed by Kent Tamura.

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleKeydownEvent):
          Added key bindings.

2011-07-07  Oleg Romashin  <romaxa@gmail.com>

        Fix InspectorInstrumentation compilation.
        https://bugs.webkit.org/show_bug.cgi?id=64033

        Reviewed by Yury Semikhatsky.

        No new tests. just compile fix.

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):

2011-07-06  Mihnea Ovidenie  <mihnea@adobe.com>

        Reviewed by David Hyatt.

        [CSSRegions] Parse flow property
        https://bugs.webkit.org/show_bug.cgi?id=61730

        Test: fast/regions/webkit-flow-parsing.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFlowThread):
        * css/CSSParser.h:
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::flowThread):
        (WebCore::InheritedFlags::setFlowThread):
        (WebCore::InheritedFlags::initialFlowThread):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-06  MORITA Hajime  <morrita@google.com>

        [ShadowContentElement] Redundant RenderText objects are created on the content boundaries.
        https://bugs.webkit.org/show_bug.cgi?id=63977

        Reviewed by Dimitri Glazkov.

        NodeRenderingContext::nextRenderer() and previousRenderer() didn't work well
        when it crosses content elements:
        - It doesn't step into forwarded children of ShadowContentElement.
        - It doesn't step out from traversing forwarded children to
          neighbors of the content element of that forwarded chidren.
        
        This change makes it to step into and out from content element.
        
        Test: fast/dom/shadow/content-element-renderers.html

        * dom/NodeRenderingContext.cpp:
        (WebCore::firstRendererOf): Added
        (WebCore::lastRendererOf): Added
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):

2011-07-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Add Fullscreen API feature
        https://bugs.webkit.org/show_bug.cgi?id=63975

        Add needed files for enabling ENABLE_FULLSCREEN_API feature.

        Reviewed by Adam Barth.

        * CMakeLists.txt: Add RenderFullScreen.cpp, fullscreen.css

2011-07-06  Emil A Eklund  <eae@chromium.org>

        Switch absoluteRects to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=64035

        Reviewed by Eric Seidel.

        Move absoluteRects over to new layout unit abstraction.
        Add flooredLayoutPoint, mapped to flooredIntPoint.

        No new tests, no functionality changes.

        * rendering/LayoutTypes.h:
        (WebCore::flooredLayoutPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::absoluteRects):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absoluteRects):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::absoluteRects):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::absoluteBoundingBoxRect):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::absoluteRects):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRects):
        * rendering/RenderText.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::absoluteRects):
        * rendering/RenderView.h:
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::absoluteRects):
        * rendering/svg/RenderSVGBlock.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::absoluteRects):
        * rendering/svg/RenderSVGModelObject.h:

2011-07-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Switch offsetFromContainer and related to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63659

        Switch offsetFromContainer and related mapping methods to new layout unit
        abstraction.

        No new tests, no functionality changes.

        * rendering/LayoutTypes.h:
        (WebCore::enclosingLayoutRect):
        (WebCore::roundedLayoutPoint):
        (WebCore::roundedLayoutUnit):
        Add LayoutUnit versions of enclosingIntRect, roundedIntPoint and lroundf.
        For now these map to their int counterpart but once we switch to float or
        fixed point they'll be no-ops and eventually will be removed. 
        
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer):
        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
        (WebCore::RenderBox::offsetFromContainer):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesBoundingBox):
        (WebCore::RenderInline::offsetFromContainer):
        (WebCore::RenderInline::mapLocalToContainer):
        (WebCore::RenderInline::mapAbsoluteToLocalPoint):
        (WebCore::RenderInline::relativePositionedInlineOffset):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetFromContainer):
        (WebCore::RenderObject::offsetFromAncestorContainer):
        * rendering/RenderObject.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::offsetFromContainer):
        * rendering/RenderTableCell.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::convertToPaintingRect):

2011-07-06  Levi Weintraub  <leviw@chromium.org>

        Switch FrameSelection to new Layout Types
        https://bugs.webkit.org/show_bug.cgi?id=64043

        Reviewed by Eric Seidel.

        Switching the selection classes to the new layout types. Changing
        NoXPosForVerticalArrowNavigation to a static inline since as it stood it violated
        our global initializer rule when converted to numeric_limits from INT_MIN.

        No new tests, no functionality changes.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modify):
        (WebCore::absoluteCaretY):
        (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation):
        (WebCore::CaretBase::clearCaretRect):
        (WebCore::CaretBase::updateCaretRect):
        (WebCore::FrameSelection::localCaretRect):
        (WebCore::CaretBase::absoluteBoundsForLocalRect):
        (WebCore::FrameSelection::absoluteCaretBounds):
        (WebCore::repaintRectForCaret):
        (WebCore::CaretBase::caretRepaintRect):
        (WebCore::FrameSelection::recomputeCaretRect):
        (WebCore::FrameSelection::paintCaret):
        (WebCore::CaretBase::paintCaret):
        (WebCore::FrameSelection::contains):
        (WebCore::DragCaretController::paintDragCaret):
        (WebCore::FrameSelection::bounds):
        (WebCore::FrameSelection::revealSelection):
        * editing/FrameSelection.h:
        (WebCore::CaretBase::localCaretRectWithoutUpdate):

2011-07-06  Levi Weintraub  <leviw@chromium.org>

        Switch Overflow and FrameRect methods in InlineBox to Layout Units
        https://bugs.webkit.org/show_bug.cgi?id=64034

        Reviewed by Eric Seidel.

        Switching Overflow and FrameRect methods on InlineBox to new Layout Unit abstraction and
        cleaning up some compilation errors that crop up when building with floating point layout units.

        No new tests, no functionality changes.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::sizingBox):
        * dom/Document.h:
        * editing/DeleteButtonController.cpp:
        (WebCore::isDeletableElement):
        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::drawNodeHighlight):
        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc):
        * platform/ScrollView.h:
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::visibleHeight):
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::visibleHeight):
        (WebCore::ScrollableArea::visibleWidth):
        * platform/graphics/FloatPoint.h: Adding FloatPoint and FloatSize move[By] functions
        (WebCore::FloatPoint::move):
        (WebCore::FloatPoint::moveBy):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        (WebCore::AutoTableLayout::layout):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::layoutOverflowRect):
        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
        (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
        (WebCore::InlineFlowBox::visualOverflowRect):
        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
        (WebCore::InlineFlowBox::logicalVisualOverflowRect):
        (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
        (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):

2011-07-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.
        
        Switch nodeAtPoint to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63663

        No new tests, no functionality changes.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/InlineTextBox.h:
        * rendering/LayoutTypes.h:
        (WebCore::toLayoutSize):
        (WebCore::toLayoutPoint):
        (WebCore::roundedLayoutPoint):
        (WebCore::roundedLayoutUnit):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint):
        * rendering/RenderBox.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::nodeAtPoint):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint):
        * rendering/RenderImage.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderInline.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::nodeAtPoint):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::nodeAtPoint):
        * rendering/RenderObject.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::nodeAtPoint):
        * rendering/RenderTable.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::nodeAtPoint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.h:
        (WebCore::RenderText::nodeAtPoint):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::nodeAtPoint):
        * rendering/RenderWidget.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::nodeAtPoint):
        * rendering/RootInlineBox.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
        (WebCore::RenderSVGForeignObject::nodeAtPoint):
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::nodeAtPoint):
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtPoint):
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::nodeAtPoint):
        * rendering/svg/SVGInlineTextBox.h:

2011-07-06  Adrienne Walker  <enne@google.com>

        [chromium] Add compositor texture manager soft limits and lost focus reclaiming
        https://bugs.webkit.org/show_bug.cgi?id=64009

        Reviewed by James Robinson.

        Add a soft limit for texture memory. Unprotected textures will get
        reclaimed when above this limit. Increase the hard limit for maximum
        texture memory as well, now that there is a better heuristic and
        textures are reclaimed from tabs without focus.

        Landing this for vangelis@chromium.org.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::releaseTextures):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::protectTileTextures):
        * platform/graphics/chromium/LayerTilerChromium.h:
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::TextureManager):
        (WebCore::TextureManager::requestTexture):
        * platform/graphics/chromium/TextureManager.h:
        (WebCore::TextureManager::create):

2011-07-06  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: Web Inspector: fixing typo introduced in the r90397.

        * inspector/front-end/StylesSidebarPane.js:

2011-07-06  Mike Reed  <reed@google.com>

        [skia] don't include deprecated header
        https://bugs.webkit.org/show_bug.cgi?id=64025

        Reviewed by James Robinson.

        No new tests. Just removing #include of an unused header that will be gone soon

        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        * platform/graphics/skia/PlatformContextSkia.cpp:

2011-06-30  Cris Neckar  <cdn@chromium.org>

        Reviewed by Darin Fisher.

        Add versioning to Chromium clipboard and prevent polling from inside events.
        https://bugs.webkit.org/show_bug.cgi?id=63738

        * platform/chromium/ChromiumDataObject.cpp:
        (WebCore::ChromiumDataObject::getSequenceNumber):
        * platform/chromium/ChromiumDataObject.h:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::ClipboardChromium):
        (WebCore::ClipboardChromium::getData):
        (WebCore::ClipboardChromium::platformClipboardChanged):
        * platform/chromium/ClipboardChromium.h:
        * platform/chromium/DataTransferItemChromium.cpp:
        (WebCore::DataTransferItemChromium::getAsString):
        (WebCore::DataTransferItemChromium::getAsFile):
        * platform/chromium/PlatformBridge.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):

2011-07-01  James Robinson  <jamesr@chromium.org>

        Reviewed by Stephen White.

        [chromium] Externalize layer visibility calculation
        https://bugs.webkit.org/show_bug.cgi?id=63847

        This moves the layer visibility calculation from the layer itself out to LayerRendererChromium, like the other
        calculated properties.  Previously, we were doing this calculating at paint time and again at draw time and
        relying on the fact that this produced the same value.  This avoids the redundant calculation.

        Covered by existing compositing/ layout tests.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::tilingTransform):
        (WebCore::ContentLayerChromium::contentBounds):
        (WebCore::ContentLayerChromium::updateLayerSize):
        (WebCore::ContentLayerChromium::draw):
        (WebCore::ContentLayerChromium::setTilingOption):
        (WebCore::ContentLayerChromium::setIsMask):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::contentBounds):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::pushPropertiesTo):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::contentBounds):
        (WebCore::LayerChromium::visibleLayerRect):
        (WebCore::LayerChromium::setVisibleLayerRect):
        (WebCore::LayerChromium::draw):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::calculateVisibleLayerRect):
        (WebCore::LayerRendererChromium::paintLayerContents):
        (WebCore::LayerRendererChromium::drawLayer):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::draw):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
        (WebCore::CCCanvasLayerImpl::draw):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::draw):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::contentBounds):
        (WebCore::CCLayerImpl::setContentBounds):
        (WebCore::CCLayerImpl::visibleLayerRect):
        (WebCore::CCLayerImpl::setVisibleLayerRect):
        (WebCore::CCLayerImpl::doubleSided):
        (WebCore::CCLayerImpl::setDoubleSided):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::draw):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::draw):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:

2011-07-06  John Sullivan  <sullivan@apple.com>

        IconDatabase::synchronousIconForPageURL() has inconsistent API when no custom icon is available
        <https://bugs.webkit.org/show_bug.cgi?id=64015>
        <rdar://problem/9706277>

        For some URLs it would return a particular size of default icon; for other
        URLs it would return 0.

        Reviewed by Ada Chan.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::synchronousIconForPageURL):
        Return 0 in all cases where there is no custom icon.

2011-07-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Switch RenderLayer::hitTest* to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63640

        Switch hit testing and supporting methods for RenderLayer over to the new
        layout unit abstraction.
        
        No new tests, no functionality changes.

        * rendering/LayoutTypes.h:
        (WebCore::roundedLayoutPoint):
        Add roundedLayoutPoint abstraction, calls roundedIntPoint now but will be a
        no-op (and eventually go away) once we switch to float or fixed point.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::createLocalTransformState):
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::hitTestList):
        (WebCore::RenderLayer::hitTestPaginatedChildLayer):
        (WebCore::RenderLayer::hitTestChildLayerColumns):
        (WebCore::RenderLayer::calculateRects):
        * rendering/RenderLayer.h:

2011-07-06  Simon Fraser  <simon.fraser@apple.com>

        Have RenderLayerCompositor take care of clearing backing store when entering the page cache
        https://bugs.webkit.org/show_bug.cgi?id=64018

        Reviewed by Joseph Pecoraro.

        Move responsibility for tearing down all RenderLayer backing stores from
        RenderLayer itself to RenderLayerCompositor, since RenderLayerCompositor 
        manages backing store creation and destruction in general.

        * page/FrameView.cpp:
        (WebCore::FrameView::clearBackingStores):
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants):
        (WebCore::RenderLayerCompositor::clearBackingForAllLayers):
        * rendering/RenderLayerCompositor.h:

2011-07-06  Ryuan Choi  <ryuan.choi@samsung.com>

        [Performance] Only call sendContentResizeNotification when the scrollbar actually did change
        https://bugs.webkit.org/show_bug.cgi?id=47320

        Reviewed by Eric Seidel.

        Move avoidScrollbarCreation checking code from setHasHorizontalScrollbar
        and setHasVerticalScrollbar to their caller in order to keep sendContentResizedNotification
        false in case scrollbar is not really changed.
        As a result, it will remove unnecessary relayout in the above case.

        No new tests as this is very hard to write tests for. The bug only
        occured when scrolling the sites which contain frame in browser with
        frameFlattening. This should not change functionality in other case.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setHasHorizontalScrollbar):
        (WebCore::ScrollView::setHasVerticalScrollbar):
        (WebCore::ScrollView::updateScrollbars):

2011-07-06  Nate Chapin  <japhet@chromium.org>

        Don't let all subresources keep isLoadingInAPISense() from
        returning false, only requests that affect
        CachedResourceRequest::requestCount().
        https://bugs.webkit.org/show_bug.cgi?id=62066

        Reviewed by Adam Barth.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::dispatchWindowLoadEvent):
        * dom/Document.h:
        (WebCore::Document::loadEventFinished):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):

2011-07-06  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: implement drag'n'drop in the elements panel for reordering nodes.
        https://bugs.webkit.org/show_bug.cgi?id=63990

        Reviewed by Yury Semikhatsky.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::moveTo):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype._removeChild):
        (WebInspector.DOMNode.prototype.ownerDocumentElement):
        (WebInspector.DOMNode.prototype.moveTo):
        (WebInspector.DOMAgent.prototype._childNodeRemoved):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline):
        (WebInspector.ElementsTreeOutline.prototype._ondragstart):
        (WebInspector.ElementsTreeOutline.prototype._ondragover):
        (WebInspector.ElementsTreeOutline.prototype._ondragleave):
        (WebInspector.ElementsTreeOutline.prototype._isValidDragSourceOrTarget):
        (WebInspector.ElementsTreeOutline.prototype._ondragend.callback):
        (WebInspector.ElementsTreeOutline.prototype._ondragend):
        (WebInspector.ElementsTreeOutline.prototype._clearDragOverTreeElementMarker):
        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu.focusElement):
        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
        (WebInspector.ElementsTreeElement.prototype.onattach):
        * inspector/front-end/inspector.css:
        (.outline-disclosure li.elements-drag-over .selection):
        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype.treeElementFromEvent):

2011-07-06  Andras Becsi  <abecsi@webkit.org>

        Fix "warning: a `;' might be needed at the end of action code"

        Unreviewed gardening.

        No new tests needed.

        * css/CSSGrammar.y: Future versions of Bison will not add the ';' so add it.

2011-07-06  Andras Becsi  <abecsi@webkit.org>

        [Qt] Revome unused but set shadowBlur variable after r90406.

        Unreviewed build fix.

        No new tests needed.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillPath): Use the GraphicsContext brush.

2011-07-06  Andras Becsi  <abecsi@webkit.org>

        [Qt] Remove duplicate entries of ShadowBlur sources from project file.

        Rubber-stamped by Csaba Osztrogonác.

        No new tests needed.

        * WebCore.pro: These files were already added in r84410.

2011-07-05  Kentaro Hara  <haraken@google.com>

        Trigger a 'change' event whenever selected files are changed
        https://bugs.webkit.org/show_bug.cgi?id=63929

        Reviewed by Kent Tamura.

        Record previously selected files and then compare them with newly selected files.
        If the previously selected files and their order are not equal to those of
        the newly selected files, we trigger the 'change' event.

        Test: fast/forms/file-input-change-event.html

        * html/FileInputType.cpp:
        (WebCore::FileInputType::filesChosen): Calls dispathChangeEvent() only when the previously selected files are different from the newly selected files

2011-06-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Alexey Proskuryakov.

        [Mac] REGRESSION (r88415): Range slider doesn't have focus appearance.
        https://bugs.webkit.org/show_bug.cgi?id=63573

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb):
        Need to pass the RenderObject of the owner <input> because
        updateFocusedState() checks the outline style of the specified
        renderer, and we'd like to make a slider thumb reflect the owner
        focus style.

2011-07-05  Hans Wennborg  <hans@chromium.org>

        [V8][Chromium] Remove use of OwnHandle from V8LocalContext
        https://bugs.webkit.org/show_bug.cgi?id=63925

        Reviewed by Adam Barth.

        Replace the OwnHandle<> member in V8LocalContext with
        v8::Persistent<v8::Context>.
        The code that used OwnHandle<> would not correctly Dispose
        of the Context, which would cause the memory to fill up when creating
        and destructing many V8LocalContext objects, such as in the case
        of IndexedDB.

        * bindings/v8/V8Utilities.cpp:
        (WebCore::V8LocalContext::V8LocalContext):
        (WebCore::V8LocalContext::~V8LocalContext):
        * bindings/v8/V8Utilities.h:

2011-07-05  Igor Oliveira  <igor.oliveira@openbossa.org>

        [Qt] Add ShadowBlur support
        https://bugs.webkit.org/show_bug.cgi?id=62997

        Use ShadowBlur instead of ContextShadow to handle canvas and css shadows. ShadowBlur is
        a newer and platform independent shadow implementation.
        Qt QPainter does not have support for shadows so is necessary to create a layer support
        to draw complex shapes and fonts. The beginShadowLayer creates a temporary shadow buffer
        where the canvas can draw onto and endShadowLayer applies the blur filter, colors the
        shadow buffer and draw the final shadow to the graphics context.

        Reviewed by Andreas Kling.

        * WebCore.pro:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::ShadowBlur):
        (WebCore::ShadowBlur::setShadowValues):
        (WebCore::ShadowBlur::updateShadowBlurValues):
        (WebCore::ShadowBlur::clear):
        (WebCore::ShadowBlur::blurAndColorShadowBuffer):
        (WebCore::ShadowBlur::beginShadowLayer):
        (WebCore::ShadowBlur::endShadowLayer):
        * platform/graphics/ShadowBlur.h:
        (WebCore::ShadowBlur::type):
        * platform/graphics/qt/ContextShadowQt.cpp: Removed.
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::mustUseShadowBlur):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::shadowBlur):
        (WebCore::GraphicsContext::clipBounds):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2011-07-05  Sam Weinig  <sam@webkit.org>

        Null deref accessing CustomEvent.detail
        <rdar://problem/9724577>
        https://bugs.webkit.org/show_bug.cgi?id=63885

        Reviewed by Anders Carlsson.

        Test: fast/events/custom-event-uninitialized.html

        * bindings/scripts/CodeGeneratorJS.pm:
        Guard against uninitialized script value.

2011-07-05  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Dan Bernstein.

        Coalesce data array into one NSData before calling didReceiveData
        https://bugs.webkit.org/show_bug.cgi?id=63916
        <rdar://problem/9715181>

        Instead of calling didReceiveData multiple times with smaller chunks of data, we merge the
        data buffers into one and call it once.

        No new tests because the flag isn't enabled yet.

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):

2011-07-05  Tamas Czene  <Czene.Tamas@stud.u-szeged.hu>

        Reviewed by Simon Fraser.

        Remove virtual functions from StyleImage.
        https://bugs.webkit.org/show_bug.cgi?id=63909

        We can remove the virtual "isChachedImage, isPendingImage, isGeneratedImage" functions to speed up the StyleImage.
        Some profile data shows this part is significant, especially in small CSS-based sites.
        Removing the virtual functions - removing the calls - makes a small performance progression on this part.

        * rendering/style/StyleCachedImage.h:
        (WebCore::StyleCachedImage::StyleCachedImage):
        * rendering/style/StyleGeneratedImage.h:
        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
        * rendering/style/StyleImage.h:
        (WebCore::StyleImage::isCachedImage):
        (WebCore::StyleImage::isPendingImage):
        (WebCore::StyleImage::isGeneratedImage):
        (WebCore::StyleImage::StyleImage):
        * rendering/style/StylePendingImage.h:
        (WebCore::StylePendingImage::StylePendingImage):

2011-07-05  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: add "element state" setting to the styles section title.
        https://bugs.webkit.org/show_bug.cgi?id=63932

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * inspector/front-end/Images/paneElementStateButtons.png: Added.
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.muteEventListener):
        (WebInspector.StylesSidebarPane):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
        (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
        (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
        (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
        (WebInspector.StylesSidebarPane.prototype._createElementStatePane.createCheckbox):
        (WebInspector.StylesSidebarPane.prototype._createElementStatePane):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.pane > .title > .pane-title-button:active, .pane > .title > .pane-title-button.toggled):
        (.pane > .title > .pane-title-button.element-state):
        (.styles-element-state-pane):
        (.styles-element-state-pane.expanded):
        (.styles-element-state-pane > table):
        (.styles-element-state-pane input):

2011-06-22  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract duplicated code that deals with source mappings.
        https://bugs.webkit.org/show_bug.cgi?id=63139

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype.isEqual):
        (WebInspector.ConsoleMessage.prototype.get stackTrace):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
        (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didGetScriptLocation):
        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.updateSourceFileBreakpointsAndDispatchEvent):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didGetUILocation):
        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
        (WebInspector.PresenationCallFrame):
        (WebInspector.PresenationCallFrame.prototype.sourceLine):

2011-07-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: WebInspector frontend reports a protocol error in remote debugging mode.
        https://bugs.webkit.org/show_bug.cgi?id=63935

        it was error generated for obsolete message "loaded" which was sent from frontend to backend.

        Reviewed by Yury Semikhatsky.

        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded.WebInspector.socket.onopen):
        (WebInspector.loaded):

2011-07-05  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [refactoring] remove network-sidebar style, add network-log-grid
        https://bugs.webkit.org/show_bug.cgi?id=63913

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._createTable):
        * inspector/front-end/networkPanel.css:
        (.network-log-grid):
        (.network-log-grid table.data):
        (.network-log-grid.small table.data):
        (.network-log-grid td):
        (.network-log-grid.small td):
        (.network-log-grid th):
        (.network-log-grid.small th):
        (.network-log-grid th, .network.panel .data-grid th.sort-descending, .network.panel .data-grid th.sort-ascending):
        (.network-log-grid .data-container):
        (.network-log-grid.small .data-container):
        (.network-log-grid select):
        (.network-log-grid.small tr.offscreen):
        (.network-log-grid tr.offscreen):
        (.network-log-grid tr.offscreen td):
        (.network-log-grid tr.filler):
        (.network-log-grid tr:not(.filler) td.name-column):
        (.network.panel:not(.viewing-resource) .network-log-grid td.name-column:hover):
        (.network-log-grid td.time-column):
        (.network-log-grid.small .network-graph-side):
        (.network-log-grid th.sortable:active):
        (.network-log-grid tr.selected .network-cell-subtitle):
        (.network-log-grid .icon):
        (.network-log-grid.small .icon):
        (.network-log-grid .network-category-scripts .icon):
        (.network-log-grid.small .network-category-scripts .icon):
        (.network-log-grid .network-category-documents .icon):
        (.network-log-grid.small .network-category-documents .icon):
        (.network-log-grid .network-category-stylesheets .icon):
        (.network-log-grid.small .network-category-stylesheets .icon):
        (.network-log-grid .network-category-images .icon):
        (.network-log-grid.small .network-category-images .icon):
        (.network-log-grid .image-network-icon-preview):
        (.network-log-grid.small .image-network-icon-preview):
        (.network-timeline-grid.small .network-event-divider):
        (.network-log-grid .resources-dividers):
        (.network-log-grid .resources-dividers-label-bar):
        (.network-timeline-grid.small .resources-dividers-label-bar):
        (.network-timeline-grid .resources-divider-label):
        (.network-timeline-grid .resources-dividers-label-bar .resources-divider):
        (.network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
        (.network-timeline-grid .resources-divider.first .resources-divider-label):
        (.network-timeline-grid .resources-dividers-label-bar .resources-divider.first):
        (.network-timeline-grid tr.filler td):
        (.network-summary-bar td):
        (.network.panel.viewing-resource .network-log-grid th):
        (.network-log-grid.full-grid-mode .viewer-column):
        (.network-log-grid.brief-grid-mode .time-column):
        (.network-log-grid.viewing-resource-mode .timeline-column):
        (.network.panel .sidebar):
        (.network.panel.viewing-resource .network-log-grid .data-grid-resizer):

2011-07-05  Alexandru Chiculita  <achicu@adobe.com>

        Reviewed by Simon Hausmann.

        [Qt] "cat" is not available when building.
        https://bugs.webkit.org/show_bug.cgi?id=63924

        Changed 'cat' to 'perl -ne \"print $1\"' because 'cat' is not available on Windows with
        MSVC toolchain. It passed the Qt buildbots, because they run with cygwin.

        Project file change. No tests needed.

        * CodeGenerators.pri:
2011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed; Qt Linux Release minimal compile fix.

        * testing/Internals.h:
        (WebCore::Internals::setInspectorResourcesDataSizeLimits):
        * testing/Internals.idl:

2011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Show content for plugin requests in network panel.
        https://bugs.webkit.org/show_bug.cgi?id=30080

        Now the data from didReceiveData callback is passed to inspector.
        It is then saved in NetworkResourcesData structure for plugin requests.
        Added window.internals.setInspectorResourcesDataSizeLimits() method
        for testing replacement logic.

        Reviewed by Pavel Feldman.

        Tests: http/tests/inspector/network/network-content-replacement-embed.html
               http/tests/inspector/network/network-content-replacement-xhr.html
               http/tests/inspector/network/network-embed.html

        * WebCore.exp.in:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didReceiveDataImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didReceiveData):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didReceiveData):
        (WebCore::InspectorResourceAgent::didFinishLoading):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals):
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
        (WebCore::NetworkResourcesData::ResourceData::setContent):
        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
        (WebCore::NetworkResourcesData::ResourceData::createDecoder):
        (WebCore::NetworkResourcesData::ResourceData::dataLength):
        (WebCore::NetworkResourcesData::ResourceData::appendData):
        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
        (WebCore::NetworkResourcesData::NetworkResourcesData):
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::setResourceContent):
        (WebCore::NetworkResourcesData::maybeAddResourceData):
        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
        (WebCore::NetworkResourcesData::data):
        (WebCore::NetworkResourcesData::clear):
        (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
        (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
        (WebCore::NetworkResourcesData::ensureFreeSpace):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::hasContent):
        (WebCore::NetworkResourcesData::ResourceData::content):
        (WebCore::NetworkResourcesData::ResourceData::decoder):
        (WebCore::NetworkResourcesData::ResourceData::buffer):
        (WebCore::NetworkResourcesData::ResourceData::setBuffer):
        (WebCore::NetworkResourcesData::ResourceData::hasData):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get contentEncoded):
        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView.prototype.contentLoaded):
        (WebInspector.ResourcePreviewView.prototype._createEmptyView):
        (WebInspector.ResourcePreviewView.prototype._createPreviewView):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.hasTextContent):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveData):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::willLoadMediaElementURL):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::loadResourceSynchronously):
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::didReceiveData):
        (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
        * loader/ResourceLoadNotifier.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveData):
        * testing/Internals.cpp:
        (WebCore::Internals::setInspectorResourcesDataSizeLimits):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-05  Kent Tamura  <tkent@chromium.org>

        Add an assertion that percent height box is unregistered correctly.
        https://bugs.webkit.org/show_bug.cgi?id=62792

        Reviewed by Hajime Morita.

        No new tests. This won't change behavior.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hasPercentHeightDescendant): Added.
        * rendering/RenderBlock.h: Declare hasPercentHeightDescendant().
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::destroy): Assert !hasPercentHeightDescendant().

2011-07-04  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: Enable settings screen with settings for console and elements panels.
        https://bugs.webkit.org/show_bug.cgi?id=62853

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen.prototype.hide):
        * inspector/front-end/SettingsScreen.js:
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._createRadioSetting.clickListener):
        (WebInspector.SettingsScreen.prototype._createRadioSetting.get for):
        * inspector/front-end/ShortcutsScreen.js:
        (WebInspector.ShortcutsScreen.prototype.hide):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._colorFormatSettingChanged):
        (WebInspector.StylesSidebarPane.prototype._updateColorFormatFilter.get var):
        (WebInspector.StylesSidebarPane.prototype._updateColorFormatFilter):
        (WebInspector.StylesSidebarPane.prototype._changeSetting):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
        * inspector/front-end/inspector.css:
        (#counters):
        * inspector/front-end/inspector.js:
        (WebInspector._createGlobalStatusBarItems):
        (WebInspector._toggleSettings):
        (WebInspector._showShortcutsScreen):
        (WebInspector._hideShortcutsScreen):
        (WebInspector._showSettingsScreen.onhide):
        (WebInspector._showSettingsScreen):
        (WebInspector._hideSettingsScreen):
        (WebInspector.documentKeyDown):

2011-07-05  Shinya Kawanaka  <shinyak@google.com>

        Reviewed by Kent Tamura.

        The default step is used when attribute step of input[type='number'] is "any".
        https://bugs.webkit.org/show_bug.cgi?id=57723

        When step is "any", 0 was chosen as step, but this is not intuitive.
        So changed to use the default step.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::getAllowedValueStep):
          Calls getAllowedValueStepWithDecimalPlaces with RejectAny.
        (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
          Takes a new arugument AnyStepHandling. If it is AnyIsDefaultStep, this method
          allows "step" attribute to take a value "any" to use the default step as step value.
          Otherwise, INVALID_STATE_ERR will be returned if "step" is "any".
        (WebCore::HTMLInputElement::applyStep): ditto.
        (WebCore::HTMLInputElement::stepUp):
          Calls applyStep with RejectAny.
        (WebCore::HTMLInputElement::stepDown): ditto.
        (WebCore::HTMLInputElement::stepUpFromRenderer):
          Removes a check that step is "any". It is checked in getAllowedValueStepWithDecimalPlaces.
        * html/HTMLInputElement.h:

2011-07-04  Dominic Cooney   <dominicc@chromium.org>

        Simplify <progress> element's isDeterminate logic.
        https://bugs.webkit.org/show_bug.cgi?id=63889

        Reviewed by Hajime Morita.

        Covered by existing tests
        fast/dom/HTMLProgressElement/indeterminate-progress-*.html

        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::position): don't duplicate isDeterminate
        (WebCore::HTMLProgressElement::isDeterminate): remove redundant tests
        (WebCore::HTMLProgressElement::didElementStateChange): fix formatting
        * html/HTMLProgressElement.h:

2011-07-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kent Tamura.

        [EFL] Add hasOwnDisabledStateHandlingFor() to RenderThemeEfl
        https://bugs.webkit.org/show_bug.cgi?id=63884

        As MediaControlRootElement decides whether it will display timeline
        according to the return value of RenderTheme's hasOwnDisabledStateHandlingFor(),
        RenderThemeEfl has to implement this function.

        Existing tests cover the visibility of the controls.

        * platform/efl/RenderThemeEfl.h:
        (WebCore::RenderThemeEfl::hasOwnDisabledStateHandlingFor):

2011-07-04  Kent Tamura  <tkent@chromium.org>

        REGRESSION (r87067): Text overflows from short height text field.
        https://bugs.webkit.org/show_bug.cgi?id=61768

        Reviewed by Dimitri Glazkov.

        Since r87067, the RenderStyle for the inner text element is reset
        by the value update, but the renderer for the inner text element
        keeps to have metrics calculated by the previous style. So
        RenderTextControlSingleLine::layout() didn't set a desired height
        to the renderer for the inner text element.

        This patch changes the style creation code so that it has the
        desired height initially.

        Test: fast/forms/textfield-overflow-by-value-update.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
        Initialize m_desiredInnerTextHeight.
        (WebCore::RenderTextControlSingleLine::layout):
        Update m_desiredInnerTextHeight.
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        Reset m_desiredInnerTextHeight.
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
        Sets the height if m_desiredInnerTextHeight has a concrete value.
        * rendering/RenderTextControlSingleLine.h:
        Declare m_desiredInnerTextHeight.

2011-07-04  MORITA Hajime  <morrita@google.com>

        Accessing ShadowRoot.nodeList causes an assertion failure.
        http://webkit.org/b/63798
        
        The TreeScope destructor did clear the reference to TreeScope, 
        then the Node destructor accessing treeScope(), which results 
        an inconsistent state during the NodeList cache cleanup.

        This change clears NodeList cache during the TreeScope destructor.
        The Node destructor no longer does problematic NodeList cache
        manipulation.

        Test: fast/dom/shadow/shadow-root-node-list.html

        Reviewed by Dimitri Glazkov.
        
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        (WebCore::Node::clearRareData):
        * dom/Node.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::~TreeScope):

2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>

        ResourceLoadNotifier::dispatchWillSendRequest should not compare StringImpl directly
        https://bugs.webkit.org/show_bug.cgi?id=63873

        Reviewed by Alexey Proskuryakov.

        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):

2011-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90373.
        http://trac.webkit.org/changeset/90373
        https://bugs.webkit.org/show_bug.cgi?id=63917

        Breaks Qt Linux Release minimal (Requested by vsevik on
        #webkit).

        * WebCore.exp.in:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didReceiveContentLength):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didReceiveContentLength):
        (WebCore::InspectorResourceAgent::didFinishLoading):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
        (WebCore::NetworkResourcesData::ResourceData::content):
        (WebCore::NetworkResourcesData::ResourceData::appendContent):
        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
        (WebCore::NetworkResourcesData::NetworkResourcesData):
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::addResourceContent):
        (WebCore::NetworkResourcesData::data):
        (WebCore::NetworkResourcesData::clear):
        (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
        (WebCore::NetworkResourcesData::ensureFreeSpace):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::hasContent):
        (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
        (WebCore::NetworkResourcesData::ResourceData::textEncodingName):
        (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
        * inspector/front-end/Resource.js:
        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView.prototype.contentLoaded):
        (WebInspector.ResourcePreviewView.prototype._createInnerView):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.hasTextContent):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveData):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::willLoadMediaElementURL):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::loadResourceSynchronously):
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::didReceiveData):
        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
        * loader/ResourceLoadNotifier.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveData):
        * testing/Internals.cpp:
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Show content for plugin requests in network panel.
        https://bugs.webkit.org/show_bug.cgi?id=30080

        Reviewed by Pavel Feldman.

        Tests: http/tests/inspector/network/network-content-replacement-embed.html
               http/tests/inspector/network/network-content-replacement-xhr.html
               http/tests/inspector/network/network-embed.html

        * WebCore.exp.in:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setResourcesDataSizeLimitsFromInternals):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didReceiveDataImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didReceiveData):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didReceiveData):
        (WebCore::InspectorResourceAgent::didFinishLoading):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals):
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
        (WebCore::NetworkResourcesData::ResourceData::setContent):
        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
        (WebCore::NetworkResourcesData::ResourceData::createDecoder):
        (WebCore::NetworkResourcesData::ResourceData::dataLength):
        (WebCore::NetworkResourcesData::ResourceData::appendData):
        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
        (WebCore::NetworkResourcesData::NetworkResourcesData):
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::setResourceContent):
        (WebCore::NetworkResourcesData::maybeAddResourceData):
        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
        (WebCore::NetworkResourcesData::data):
        (WebCore::NetworkResourcesData::clear):
        (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
        (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
        (WebCore::NetworkResourcesData::ensureFreeSpace):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::hasContent):
        (WebCore::NetworkResourcesData::ResourceData::content):
        (WebCore::NetworkResourcesData::ResourceData::decoder):
        (WebCore::NetworkResourcesData::ResourceData::buffer):
        (WebCore::NetworkResourcesData::ResourceData::setBuffer):
        (WebCore::NetworkResourcesData::ResourceData::hasData):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get contentEncoded):
        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView.prototype.contentLoaded):
        (WebInspector.ResourcePreviewView.prototype._createEmptyView):
        (WebInspector.ResourcePreviewView.prototype._createPreviewView):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.hasTextContent):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveData):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::willLoadMediaElementURL):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::loadResourceSynchronously):
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::didReceiveData):
        (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
        * loader/ResourceLoadNotifier.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveData):
        * testing/Internals.cpp:
        (WebCore::Internals::setInspectorResourcesDataSizeLimits):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-07-04  Jeff Timanus  <twiz@chromium.org>

        Reviewed by Stephen White.

        Prevent calls to GrapicsContext3D::deleteTexture with id 0 in DrawingBuffer::clear().
        https://bugs.webkit.org/show_bug.cgi?id=63756

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):

2011-07-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Andreas Kling.

        [GTK] r90148 did not apply to X11 platforms in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=63862

        Correct the guard for an X11 specific piece of code. TARGET(X11) not
        defined for the GTK+ port.

        No new tests. This is covered by an existing test.

        * plugins/npapi.cpp: Correct the X11 guard.
        (NPN_InvalidateRect):

2011-07-04  Pavel Feldman  <pfeldman@google.com>

        Web Inspector: implement settings panel.
        https://bugs.webkit.org/show_bug.cgi?id=63907

        Reviewed by Yury Semikhatsky.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get preserveLogItemAction):
        (WebInspector.ConsoleView.prototype._monitoringXHREnabledSettingChanged):
        (WebInspector.ConsoleView.prototype._registerShortcuts):
        * inspector/front-end/DOMBreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
        (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
        (WebInspector.ElementsPanel.prototype._registerShortcuts):
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.prototype):
        ():
        * inspector/front-end/HelpScreen.js:
        (WebInspector.HelpScreen):
        (WebInspector.HelpScreen.prototype.show):
        (WebInspector.HelpScreen.prototype.hide):
        (WebInspector.HelpScreen.prototype._onKeyDown):
        * inspector/front-end/NetworkItemView.js:
        * inspector/front-end/NetworkPanel.js:
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.saveSidebarWidth):
        * inspector/front-end/ProfilesPanel.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.BaseStorageTreeElement.prototype.onselect):
        (WebInspector.StorageCategoryTreeElement.prototype.onexpand):
        (WebInspector.StorageCategoryTreeElement.prototype.set oncollapse):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._sourceFileAdded.get if):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
        (WebInspector.ScriptsPanel.prototype._createSidebarButtonAndRegisterShortcuts):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        (WebInspector.Settings.prototype.installApplicationSetting):
        (WebInspector.Setting):
        (WebInspector.Setting.prototype.addChangeListener):
        (WebInspector.Setting.prototype.removeChangeListener):
        (WebInspector.Setting.prototype.get var):
        (WebInspector.Setting.prototype):
        (WebInspector.Setting.prototype.set if):
        * inspector/front-end/SettingsScreen.js: Added.
        (WebInspector.SettingsScreen):
        (WebInspector.SettingsScreen.prototype._appendSection):
        (WebInspector.SettingsScreen.prototype._columnElement):
        (WebInspector.SettingsScreen.prototype._createCheckboxSetting.get listener):
        (WebInspector.SettingsScreen.prototype._createRadioSetting):
        * inspector/front-end/ShortcutsScreen.js: Renamed from Source/WebCore/inspector/front-end/ShortcutsHelp.js.
        (WebInspector.ShortcutsScreen):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/helpScreen.css:
        (.help-window-main):
        (body.attached .help-window-main):
        (.help-window-caption):
        (body.attached .help-window-caption):
        (.help-content):
        (.help-close-button):
        (body.attached .help-close-button):
        (body.attached .help-content):
        (.help-table):
        (body.platform-mac .help-key):
        (.help-combine-keys):
        (.help-content p):
        (.help-content fieldset):
        (.help-content fieldset p):
        (.help-content p.help-section):
        (.help-section-title):
        (.help-content input[type=checkbox]):
        * inspector/front-end/inspector.css:
        (button.settings-status-bar-item):
        (.settings-status-bar-item .glyph):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createGlobalStatusBarItems):
        (WebInspector._toggleAttach):
        (WebInspector._toggleSettings):
        (WebInspector._registerShortcuts):
        (WebInspector.documentKeyDown):

2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Resources loaded to Resources Panel from InspectorPageAgent do not have mime type set.
        https://bugs.webkit.org/show_bug.cgi?id=63701

        Pass cachedResource/documentLoader mimeType from InspectorPageAgent to frontend.

        Reviewed by Yury Semikhatsky.

        Test: http/tests/inspector/resource-tree/resource-tree-mimetype.html

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        (WebInspector.ResourceTreeModel.prototype._createResource):

2011-07-04  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: repeated message counter should be aligned with other message icons
        https://bugs.webkit.org/show_bug.cgi?id=63901

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.css:
        (.console-message .bubble):

2011-07-04  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Adding new CSS rules should be more discoverable in the UI
        https://bugs.webkit.org/show_bug.cgi?id=63803

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._createNewRule):

2011-07-04  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>

        [Qt] Fixing build with --media-stream flag enabled
        https://bugs.webkit.org/show_bug.cgi?id=63831

        Reviewed by Benjamin Poulain.

        * features.pri: Adding support to ENABLE_MEDIA_STREAM flag.

2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Update network resource url from response data.
        https://bugs.webkit.org/show_bug.cgi?id=63736

        * inspector/Inspector.json:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForResourceResponse):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):

2011-07-04  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Extensions API] audit formatter names should begin with create
        https://bugs.webkit.org/show_bug.cgi?id=63802

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.AuditResultImpl):

2011-07-03  Dominic Cooney  <dominicc@chromium.org>

        The value property of an indeterminate progress element should be zero
        https://bugs.webkit.org/show_bug.cgi?id=63861

        Reviewed by Kent Tamura.

        Test: fast/dom/HTMLProgressElement/set-progress-properties.html

        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::value):

2011-07-03  Robert Hogan  <robert@webkit.org>

        Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
        https://bugs.webkit.org/show_bug.cgi?id=62482

        If a <meta http-equiv="refresh"> directive schedules a page reload rather than
        a redirect restore the scroll position after the reload. Do the same on location.reload().

        Reviewed by Adam Barth.

        Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html
               http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
               http/tests/navigation/scrollstate-after-http-equiv-refresh.html
               http/tests/navigation/scrollstate-after-location-reload.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURL):
        Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*.
        FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload()
        and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading
        the same page again, e.g. by clicking a link.

        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.

2011-07-03  Dirk Schulze  <krit@webkit.org>

        SVGAnimateTransform accumulate=sum restarts on every repeat
        https://bugs.webkit.org/show_bug.cgi?id=63876

        Reviewed by Nikolas Zimmermann.
        
        We applied transforms from previous animation repeats to a transform list. The problem is, that we calculated the current
        transform based on the percentage of the current repeat count. This causes an animation starting from scale level 0
        on every repeat. Now I add the repeat count to the current percentage, so that the distance calculation starts from 100% on
        the first repeat, from 200% on the second and so on.

        Test: svg/animations/svgtransform-animation-1.html

        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):

2011-07-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90342.
        http://trac.webkit.org/changeset/90342
        https://bugs.webkit.org/show_bug.cgi?id=63875

        Newly added tests fail on Mac, GTK, and Win7 (Requested by
        abarth on #webkit).

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURL):
        * loader/NavigationScheduler.cpp:

2011-07-03  Robert Hogan  <robert@webkit.org>

        Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
        https://bugs.webkit.org/show_bug.cgi?id=62482

        If a <meta http-equiv="refresh"> directive schedules a page reload rather than
        a redirect restore the scroll position after the reload. Do the same on location.reload().

        Reviewed by Adam Barth.

        Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html
               http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
               http/tests/navigation/scrollstate-after-http-equiv-refresh.html
               http/tests/navigation/scrollstate-after-location-reload.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURL):
        Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*.
        FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload()
        and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading
        the same page again, e.g. by clicking a link.

        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.

2011-04-02  Robert Hogan  <robert@webkit.org>

        Reviewed by Benjamin Poulain.

        [Qt] Support third-party cookie policy for Qt clients
        https://bugs.webkit.org/show_bug.cgi?id=45455

        Identifying third-party cookies is facilitated by API new to QUrl from
        Qt 4.8: QUrl::topLevelDomain(). This API uses the Mozilla public suffix
        list to determine the top-level registry-controlled domain of the Url.

        See also: http://gitorious.org/qt/qt/merge_requests/1205
                   (commit 154402f56dcf8303a6ce601a52215226af8d31ba)
                  http://bugreports.qt.nokia.com/browse/QTBUG-13601

        Test: http/tests/cookies/strict-third-party-cookie-blocking.html

        * WebCore.pro:
        * platform/network/qt/ResourceRequestQt.cpp:
        (WebCore::ResourceRequest::toNetworkRequest):
        * platform/qt/CookieJarQt.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        * platform/qt/ThirdPartyCookiesQt.cpp: Added.
        (WebCore::cookieJar):
        (WebCore::isFirstPartyCookie):
        (WebCore::cookieAllowed):
        (WebCore::allowThirdPartyCookies):
        * platform/qt/ThirdPartyCookiesQt.h: Added.

2011-07-03  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Web Inspector: Preflight OPTIONS requests are not shown on network panel for asynchronous XHRs.
        https://bugs.webkit.org/show_bug.cgi?id=63712

        Added InspectorInstrumentation calls to preflight OPTIONS requests callbacks in DocumentThreadableLoader.

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::didReceiveData):
        (WebCore::DocumentThreadableLoader::didFinishLoading):
        (WebCore::DocumentThreadableLoader::didFail):
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/DocumentThreadableLoader.h:

2011-06-23  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
        https://bugs.webkit.org/show_bug.cgi?id=30355

        Test: plugins/mouse-click-plugin-clears-selection.html

        PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
        in order to clear the FrameSelection in the currently focused node. In its platform-specific
        code Chromium already does this (WebPluginContainerImpl.cpp).

        * WebCore.exp.in: Add symbol for FocusController::setFocusedNode
        * plugins/PluginView.cpp:
        (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
                                                   the call to FocusController:setFocusedFrame() and Document::setFocusedNode()
                                                   redundant, since it calls both.

2011-07-01  Michael Nordman  <michaeln@google.com>

        Reviewed by Darin Fisher.

        [Chromium] FileSystem API can be used to learn about installed software on the user's computer.
        Added a new MIMETypeRegistry method to return a type based on a well known set of mappings
        without consulting the OS/registry.
        https://bugs.webkit.org/show_bug.cgi?id=63220

        No new tests, existing layout tests that invoke file.type apply.

        * fileapi/File.cpp: Refactored the factory methods.
        (WebCore::createBlobDataForFileWithType):
        (WebCore::createBlobDataForFile):
        (WebCore::createBlobDataForFileSystemFile):
        (WebCore::File::File):
        * platform/MIMETypeRegistry.cpp: Added getWellKnownMIMETypeForExtension() method.
        (WebCore::mediaMIMETypeMap):
        (WebCore::findMimeType):
        (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
        * platform/MIMETypeRegistry.h:
        * platform/chromium/MIMETypeRegistryChromium.cpp: Added getWellKnownMIMETypeForExtension() method.
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
        (WebCore::findMimeType):
        * platform/chromium/PlatformBridge.h:

2011-07-01  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Darin Adler.

        SVG data:image/svg+xml;base64 URLs inside CSS throw mime type warning
        https://bugs.webkit.org/show_bug.cgi?id=54325
        
        Add image/svg+xml to the list of acceptable MIME types for the Image type.

        * inspector/front-end/inspector.js:
        (WebInspector):

2011-07-01  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Darin Adler.

        Errors encountered within SVG documents should be reported to the console
        https://bugs.webkit.org/show_bug.cgi?id=62599

        Add SVGElement::reportAttributeParsingError, which will
        write a Web Inspector console message if passed an SVGParsingError
        and the attribute which was being applied, only in the case where
        there is actually an error.

        Include the SVG document's URI when writing to the Web Inspector
        console, so that the UI displays both the filename and the line number.

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::reportMessage):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::reportAttributeParsingError):
        * svg/SVGElement.h:

2011-07-01  Scott Byer  <scottbyer@chromium.org>

        Reviewed by Adam Barth.

        Smooth scrolling fixes
        https://bugs.webkit.org/show_bug.cgi?id=63770

        Tests: Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollWheelTrace and .LinuxTrackPadTrace

        Fix issues found in manual testing; distill the traces into unit tests. Fix the issues the tests exposed in the
        scroll animation code.

        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
        (WebCore::ScrollAnimatorNone::scroll):

2011-07-01  Levi Weintraub  <leviw@chromium.org>

        Switch primary virtual layout functions to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63852

        Reviewed by Eric Seidel.

        Switching the primary overloaded layout functions over to the new layout unit abstraction.

        No new tests, no functionality changes.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::RenderMediaVolumeSliderContainer::layout):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::layout):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::layout):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::layout):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layout):
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::layout):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::layout):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::layout):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layout):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:
        (WebCore::RenderView::layoutDelta):
        (WebCore::RenderView::addLayoutDelta):
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::layout):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::layout):
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::layout):
        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::layout):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::layout):

2011-07-01  Sam Weinig  <sam@webkit.org>

        Reduce parser nesting cap to 512
        https://bugs.webkit.org/show_bug.cgi?id=63856

        Reviewed by Dan Bernstein.

        Given Firefox's cap of 200, our cap of 2048 seemed a little excessive. Lower
        the nesting cap to 512 to cover more cases where rending recursion was biting us.

        * page/Settings.h:
        Reduce the nesting cap to 512.

2011-07-01  Darin Adler  <darin@apple.com>

        Add change accidentally left out of last commit.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateContentsScale): Multiply in the
        backing scale.

2011-07-01  Darin Adler  <darin@apple.com>

        Consider backing scale when setting up graphics layers
        https://bugs.webkit.org/show_bug.cgi?id=63848

        Reviewed by Simon Fraser.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
        Increased the maximum scale since scale factor can now include
        both page contents scale and backing scale.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer): Multiply in the
        backing scale as well as the page contents scale.
        (WebCore::RenderLayerBacking::updateForegroundLayer): Ditto.
        (WebCore::RenderLayerBacking::updateMaskLayer): Ditto.
        (WebCore::RenderLayerBacking::pageContentsScale): Added.
        (WebCore::RenderLayerBacking::backingScale): Added.
        * rendering/RenderLayerBacking.h: Added new private functions.

2011-07-01  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        WebCore part of fix for https://bugs.webkit.org/show_bug.cgi?id=63851
        <rdar://problem/8981062> Crash when loading a document in an editable WebView that has a subframe with an unstyled body

        No new tests.  I tried to make a test in DumpRenderTree with an editable WebView, 
        but was unsuccessful in getting the crash to happen in that instance.

        * editing/Editor.cpp: (WebCore::Editor::applyEditingStyleToElement): Add a nil check that exits early, in addition to the ASSERT.

2011-07-01  Levi Weintraub  <leviw@chromium.org>

        Switch overflow and collapsedMargins to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63840

        Reviewed by Eric Seidel.

        Switching overflow and collapsedMargins over to the new layout unit abstraction.

        Also removing an unused function: blockDirectionOverflow

        No new tests, no functionality changes.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
        (WebCore::RenderBlock::collapsedMarginAfterForChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::collapsedMarginBefore):
        (WebCore::RenderBlock::collapsedMarginAfter):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addOverflowFromChild):
        (WebCore::RenderBox::addLayoutOverflow):
        (WebCore::RenderBox::addVisualOverflow):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::layoutOverflowRect):
        (WebCore::RenderBox::minYLayoutOverflow):
        (WebCore::RenderBox::maxYLayoutOverflow):
        (WebCore::RenderBox::minXLayoutOverflow):
        (WebCore::RenderBox::maxXLayoutOverflow):
        (WebCore::RenderBox::maxLayoutOverflow):
        (WebCore::RenderBox::logicalLeftLayoutOverflow):
        (WebCore::RenderBox::logicalRightLayoutOverflow):
        (WebCore::RenderBox::visualOverflowRect):
        (WebCore::RenderBox::minYVisualOverflow):
        (WebCore::RenderBox::maxYVisualOverflow):
        (WebCore::RenderBox::minXVisualOverflow):
        (WebCore::RenderBox::maxXVisualOverflow):
        (WebCore::RenderBox::logicalLeftVisualOverflow):
        (WebCore::RenderBox::logicalRightVisualOverflow):
        (WebCore::RenderBox::addOverflowFromChild):
        (WebCore::RenderBox::collapsedMarginBefore):
        (WebCore::RenderBox::collapsedMarginAfter):
        * rendering/RenderOverflow.h:
        (WebCore::RenderOverflow::RenderOverflow):
        (WebCore::RenderOverflow::minYLayoutOverflow):
        (WebCore::RenderOverflow::maxYLayoutOverflow):
        (WebCore::RenderOverflow::minXLayoutOverflow):
        (WebCore::RenderOverflow::maxXLayoutOverflow):
        (WebCore::RenderOverflow::minYVisualOverflow):
        (WebCore::RenderOverflow::maxYVisualOverflow):
        (WebCore::RenderOverflow::minXVisualOverflow):
        (WebCore::RenderOverflow::maxXVisualOverflow):
        (WebCore::RenderOverflow::setMinYLayoutOverflow):
        (WebCore::RenderOverflow::setMaxYLayoutOverflow):
        (WebCore::RenderOverflow::setMinXLayoutOverflow):
        (WebCore::RenderOverflow::setMaxXLayoutOverflow):
        (WebCore::RenderOverflow::setMinYVisualOverflow):
        (WebCore::RenderOverflow::setMaxYVisualOverflow):
        (WebCore::RenderOverflow::setMinXVisualOverflow):
        (WebCore::RenderOverflow::setMaxXVisualOverflow):
        (WebCore::RenderOverflow::layoutOverflowRect):
        (WebCore::RenderOverflow::visualOverflowRect):
        (WebCore::RenderOverflow::move):
        (WebCore::RenderOverflow::addLayoutOverflow):
        (WebCore::RenderOverflow::addVisualOverflow):
        (WebCore::RenderOverflow::setLayoutOverflow):
        (WebCore::RenderOverflow::setVisualOverflow):
        (WebCore::RenderOverflow::resetLayoutOverflow):

2011-07-01  Nate Chapin  <japhet@chromium.org>

        Ensure WorkerScriptLoader::notifyFinished() doesn't re-enter.
        https://bugs.webkit.org/show_bug.cgi?id=63835

        Reviewed by Dmitry Titov.

        Test: fast/workers/worker-finish-crash.html

        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::WorkerScriptLoader):
        (WebCore::WorkerScriptLoader::notifyFinished):
        * workers/WorkerScriptLoader.h:

2011-07-01  Adrienne Walker  <enne@google.com>

        [chromium] Upload root layer textures first so that it is less likely to be skipped
        https://bugs.webkit.org/show_bug.cgi?id=63850

        Reviewed by James Robinson.

        This is a tiny follow-on patch to bug 63760.  If the root layer is not
        uploaded first, then it may not have enough space to fit into texture
        memory and might be skipped, leaving a blue background.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayers):

2011-07-01  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        location.replace with a hash change does not update the history entry
        https://bugs.webkit.org/show_bug.cgi?id=63777

        location.replace('#foo') would not update the HistoryItem with the
        new URL, thus navigating back to the page would use the previous
        URL, even though it had been replaced. Make
        HistoryController::updateForSameDocumentNavigation mirror 
        HistoryController::replaceState.

        Test: fast/history/location-replace-hash.html

        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateForSameDocumentNavigation):

2011-07-01  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Ojan Vafai.

        Move m_isDirectional from FrameSelection to VisibleSelection
        https://bugs.webkit.org/show_bug.cgi?id=63473

        Move m_isDirectional from FrameSelection to VisibleSelection.

        Also fixed a bug that WebKit does not preserve non-directional selection after undo.

        Test: editing/selection/directionality-after-undo-replace.html

        * WebCore.exp.in: Updated the signature of setSelection.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::FrameSelection): Removed the call to setIsDirectional.
        (WebCore::shouldAlwaysUseDirectionalSelection): Added.
        (WebCore::FrameSelection::setSelection): No longer takes DirectionalityPolicy.
        Calls setIsDirectional(true) when the platform doesn't support non-directional selection.
        Passes align and granularity to setSelection of the base end point as expected.
        No longer updates granularity when updating the selection of a different frame.
        (WebCore::FrameSelection::willBeModified): Calls VisibleSelection::isDirectional().
        (WebCore::FrameSelection::modify): No longer calls trialFrameSelection.setIsDirectional
        because the directionality is passed from m_selection automatically.
        Also calls shouldAlwaysUseDirectionalSelection.
        * editing/FrameSelection.h: Remove m_isDirectional. Make all boolean bit fields.
        (WebCore::FrameSelection::setSelection): No longer takes DirectionalityPolicy.
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::VisibleSelection): Initializes m_isDirectional to true.
        This should be changed to false to fix the bug 60529.
        * editing/VisibleSelection.h:
        (WebCore::VisibleSelection::isDirectional): Added.
        (WebCore::VisibleSelection::setIsDirectional): Added.
        * page/EventHandler.cpp:
        (WebCore::setNonDirectionalSelectionIfNeeded): Creates a non-directional selection instead of
        calling setSelection with MakeNonDirectionalSelection.
        (WebCore::EventHandler::handleMousePressEventSingleClick): Remove the call to setIsDirectional
        because it already calls setNonDirectionalSelectionIfNeeded.

2011-07-01  Tony Chang  <tony@chromium.org>

        cleanup of flexbox and marquee data naming in StyleRareNonInheritedData
        https://bugs.webkit.org/show_bug.cgi?id=63827

        Reviewed by Ojan Vafai.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::boxAlign):
        (WebCore::InheritedFlags::boxFlex):
        (WebCore::InheritedFlags::boxFlexGroup):
        (WebCore::InheritedFlags::boxLines):
        (WebCore::InheritedFlags::boxOrdinalGroup):
        (WebCore::InheritedFlags::boxOrient):
        (WebCore::InheritedFlags::boxPack):
        (WebCore::InheritedFlags::marqueeIncrement):
        (WebCore::InheritedFlags::marqueeSpeed):
        (WebCore::InheritedFlags::marqueeLoopCount):
        (WebCore::InheritedFlags::marqueeBehavior):
        (WebCore::InheritedFlags::marqueeDirection):
        (WebCore::InheritedFlags::setBoxAlign):
        (WebCore::InheritedFlags::setBoxFlex):
        (WebCore::InheritedFlags::setBoxFlexGroup):
        (WebCore::InheritedFlags::setBoxLines):
        (WebCore::InheritedFlags::setBoxOrdinalGroup):
        (WebCore::InheritedFlags::setBoxOrient):
        (WebCore::InheritedFlags::setBoxPack):
        (WebCore::InheritedFlags::setMarqueeIncrement):
        (WebCore::InheritedFlags::setMarqueeSpeed):
        (WebCore::InheritedFlags::setMarqueeDirection):
        (WebCore::InheritedFlags::setMarqueeBehavior):
        (WebCore::InheritedFlags::setMarqueeLoopCount):
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
        (WebCore::StyleRareNonInheritedData::operator==):
        * rendering/style/StyleRareNonInheritedData.h:
            flexibleBox -> m_deprecatedFlexibleBox and marquee to m_marquee

2011-07-01  Mike Reed  <reed@google.com>

        Stop using deprecated SkDeviceFactory API
        https://bugs.webkit.org/show_bug.cgi?id=63488

        Reviewed by James Robinson.

        No new tests. Check-point for removing Factory API from Skia

        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):

2011-07-01  Jeffrey Pfau  <jpfau@apple.com>

        Reviewed by Adam Barth.

        Move XMLDocumentParser to new folder xml/parser/
        https://bugs.webkit.org/show_bug.cgi?id=63666

        * CMakeLists.txt:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * WebCore.xcodeproj/project.pbxproj:
        * xml/parser/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::pushCurrentNode):
        (WebCore::XMLDocumentParser::popCurrentNode):
        (WebCore::XMLDocumentParser::clearCurrentNodeStack):
        (WebCore::XMLDocumentParser::insert):
        (WebCore::XMLDocumentParser::append):
        (WebCore::XMLDocumentParser::handleError):
        (WebCore::XMLDocumentParser::enterText):
        (WebCore::toString):
        (WebCore::XMLDocumentParser::exitText):
        (WebCore::XMLDocumentParser::detach):
        (WebCore::XMLDocumentParser::end):
        (WebCore::XMLDocumentParser::finish):
        (WebCore::XMLDocumentParser::finishWasCalled):
        (WebCore::createXHTMLParserErrorHeader):
        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
        (WebCore::XMLDocumentParser::notifyFinished):
        (WebCore::XMLDocumentParser::isWaitingForScripts):
        (WebCore::XMLDocumentParser::pauseParsing):
        (WebCore::XMLDocumentParser::parseDocumentFragment):
        * xml/parser/XMLDocumentParser.h:
        (WebCore::XMLParserContext::context):
        (WebCore::XMLParserContext::XMLParserContext):
        (WebCore::XMLDocumentParser::create):
        (WebCore::XMLDocumentParser::setIsXHTMLDocument):
        (WebCore::XMLDocumentParser::isXHTMLDocument):
        (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
        (WebCore::XMLDocumentParser::isXHTMLMPDocument):
        (WebCore::XMLDocumentParser::wellFormed):
        (WebCore::XMLDocumentParser::context):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::~PendingCallbacks):
        (WebCore::PendingCallbacks::create):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        (WebCore::PendingCallbacks::isEmpty):
        (WebCore::PendingCallbacks::PendingCallbacks):
        (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
        (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
        (WebCore::PendingCallbacks::PendingCommentCallback::call):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
        (WebCore::matchFunc):
        (WebCore::OffsetBuffer::OffsetBuffer):
        (WebCore::OffsetBuffer::readOutBytes):
        (WebCore::switchToUTF16):
        (WebCore::shouldAllowExternalLoad):
        (WebCore::openFunc):
        (WebCore::readFunc):
        (WebCore::writeFunc):
        (WebCore::closeFunc):
        (WebCore::errorFunc):
        (WebCore::XMLParserContext::createStringParser):
        (WebCore::XMLParserContext::createMemoryParser):
        (WebCore::XMLDocumentParser::supportsXMLVersion):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLParserContext::~XMLParserContext):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::toString):
        (WebCore::toAtomicString):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        (WebCore::XMLDocumentParser::characters):
        (WebCore::XMLDocumentParser::error):
        (WebCore::XMLDocumentParser::processingInstruction):
        (WebCore::XMLDocumentParser::cdataBlock):
        (WebCore::XMLDocumentParser::comment):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::endDocument):
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::getParser):
        (WebCore::hackAroundLibXMLEntityBug):
        (WebCore::startElementNsHandler):
        (WebCore::endElementNsHandler):
        (WebCore::charactersHandler):
        (WebCore::processingInstructionHandler):
        (WebCore::cdataBlockHandler):
        (WebCore::commentHandler):
        (WebCore::warningHandler):
        (WebCore::fatalErrorHandler):
        (WebCore::normalErrorHandler):
        (WebCore::sharedXHTMLEntity):
        (WebCore::getXHTMLEntity):
        (WebCore::getEntityHandler):
        (WebCore::startDocumentHandler):
        (WebCore::endDocumentHandler):
        (WebCore::internalSubsetHandler):
        (WebCore::externalSubsetHandler):
        (WebCore::ignorableWhitespaceHandler):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::xmlDocPtrForString):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        (WebCore::XMLDocumentParser::textPosition):
        (WebCore::XMLDocumentParser::textPositionOneBased):
        (WebCore::XMLDocumentParser::stopParsing):
        (WebCore::XMLDocumentParser::resumeParsing):
        (WebCore::XMLDocumentParser::appendFragmentSource):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::EntityResolver::resolveUndeclaredEntity):
        (WebCore::XMLDocumentParser::supportsXMLVersion):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        (WebCore::XMLDocumentParser::~XMLDocumentParser):
        (WebCore::XMLDocumentParser::doWrite):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::doEnd):
        (WebCore::XMLDocumentParser::lineNumber):
        (WebCore::XMLDocumentParser::columnNumber):
        (WebCore::XMLDocumentParser::textPosition):
        (WebCore::XMLDocumentParser::textPositionOneBased):
        (WebCore::XMLDocumentParser::stopParsing):
        (WebCore::XMLDocumentParser::resumeParsing):
        (WebCore::XMLDocumentParser::appendFragmentSource):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        (WebCore::prefixFromQName):
        (WebCore::handleElementNamespaces):
        (WebCore::handleElementAttributes):
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::startDocument):
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):
        (WebCore::XMLDocumentParser::parseCharacters):
        (WebCore::XMLDocumentParser::parseProcessingInstruction):
        (WebCore::XMLDocumentParser::parseCdata):
        (WebCore::XMLDocumentParser::parseComment):
        (WebCore::XMLDocumentParser::endDocument):
        (WebCore::XMLDocumentParser::hasError):
        (WebCore::XMLDocumentParser::parseDtd):
        * xml/parser/XMLDocumentParserScope.cpp:
        (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
        (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):

2011-07-01  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by James Robinson.

        [chromium] Reserve all tile textures at layer update time to guarantee
        that they will be available at draw time.
        https://bugs.webkit.org/show_bug.cgi?id=63760

        In addition, this patch unreserves textures used by RenderSurface's
        right after the RenderSurface has been used to free up memory for
        subsequent RenderSurfaces.
        
        This patch also "fixes" the pages that display a blue background when
        running out of texture memory as the root layer tiles get reserved first
        and are guaranteed to get textures.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::visibleLayerRect):
        (WebCore::ContentLayerChromium::setIsMask):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::paintLayerContents):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        * platform/graphics/chromium/LayerTexture.cpp:
        (WebCore::LayerTexture::unreserve):
        * platform/graphics/chromium/LayerTexture.h:
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::prepareToUpdate):
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::drawTiles):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::releaseContentsTexture):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::unprotectTexture):
        * platform/graphics/chromium/TextureManager.h:

2011-07-01  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Allow generic font family settings per script code.
        https://bugs.webkit.org/show_bug.cgi?id=20797

        Make generic font family getters/setters accept an additional
        argument (script code). It has a default value so that if an embedder
        does not have/want a per-script font family setting, call-sites
        don't have to be changed.
        This is to prepare for fixing bug 10874 (font selection is not
        language-dependent) and bug 18085.

        uscript.h has been updated to that of ICU 3.6 (the version of ICU on
        Mac OS 10.5)

        There should be no change in layout and no new layout test
        is added.

        * WebCore.exp.in:
        * icu/unicode/uscript.h: updated to ICU 4.6
        * page/Settings.cpp:
        (WebCore::setGenericFontFamilyMap): helper to set generic family per script
        (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
        (WebCore::Settings::standardFontFamily):
        (WebCore::Settings::setStandardFontFamily):
        (WebCore::Settings::fixedFontFamily):
        (WebCore::Settings::setFixedFontFamily):
        (WebCore::Settings::serifFontFamily):
        (WebCore::Settings::setSerifFontFamily):
        (WebCore::Settings::sansSerifFontFamily):
        (WebCore::Settings::setSansSerifFontFamily):
        (WebCore::Settings::cursiveFontFamily):
        (WebCore::Settings::setCursiveFontFamily):
        (WebCore::Settings::fantasyFontFamily):
        (WebCore::Settings::setFantasyFontFamily):
        * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.

2011-07-01  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        rename StyleFlexibleBoxData to StyleDeprecatedFlexibleBoxData
        https://bugs.webkit.org/show_bug.cgi?id=63773

        We will have a similar struct to hold CSS3 flexible box data, so
        this makes way for the new class.
        I will rename the member variable in RenderStyle.h in a follow up
        change.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleAllInOne.cpp:
        * rendering/style/StyleDeprecatedFlexibleBoxData.cpp:
        (WebCore::StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData):
        (WebCore::StyleDeprecatedFlexibleBoxData::operator==):
        * rendering/style/StyleDeprecatedFlexibleBoxData.h:
        (WebCore::StyleDeprecatedFlexibleBoxData::create):
        (WebCore::StyleDeprecatedFlexibleBoxData::copy):
        (WebCore::StyleDeprecatedFlexibleBoxData::operator!=):
        * rendering/style/StyleRareNonInheritedData.h:

2011-07-01  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: Fix constants for webkitIDBTransaction.READ_WRITE/READ_ONLY
        https://bugs.webkit.org/show_bug.cgi?id=63754

        Fix values for the webkitIDBTransaction.READ_WRITE/READ_ONLY
        constants. Douglas Stockwell pointed out that these were reverse
        of what the spec says.

        * storage/IDBTransaction.h:
        * storage/IDBTransaction.idl:

2011-07-01  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch positionForPoint to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63774

        Switching positionForPoint functions to new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::positionForPoint):
        * rendering/RenderBR.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionForPoint):
        * rendering/RenderBox.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::positionForPoint):
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::positionForPoint):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::positionForPoint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::positionForPoint):
        * rendering/RenderReplaced.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint):
        * rendering/RenderText.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlInnerBlock::positionForPoint):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::positionForPoint):
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::positionForPoint):
        * rendering/svg/RenderSVGText.h:

2011-07-01  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by Darin Fisher.

        Re-enable WTF_USE_WEBAUDIO_FFMPEG for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=63783

        * WebCore.gyp/WebCore.gyp:

2011-07-01  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Daniel Bates.

        [CMake] Don't compile unused bindings
        https://bugs.webkit.org/show_bug.cgi?id=63741

        * UseJSC.cmake: Added IF (ENABLE_XXX) around files.

2011-07-01  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Add DeviceOrientation feature
        https://bugs.webkit.org/show_bug.cgi?id=63720

        Add DeviceMotionClientGtk.cpp and DeviceOrientationClientGtk.cpp to WebKitGtk+ build.

        * GNUmakefile.am: Add DeviceMotionClientGtk.cpp, DeviceOrientationClientGtk.cpp.

2011-07-01  Kentaro Hara  <haraken@google.com>

        Reviewed by Kent Tamura.

        Disallow clicking an [X] button in 'search' input forms when 'disabled' attribute or 'readonly' attribute is set.
        https://bugs.webkit.org/show_bug.cgi?id=63709

        Ignore a cancel button event on a 'search' input form if 'disabled' attribute or
        'readonly' attribute is set to the input form.

        Test: fast/forms/search-disabled-readonly.html

        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):

2011-06-30  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium] Fix heap snapshots in a remote debugging session from Safari.
        https://bugs.webkit.org/show_bug.cgi?id=63703

        * inspector/front-end/HeapSnapshotWorker.js:
        (.Function.prototype.bind.return.bound):
        (.Function.prototype.bind):

2011-07-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedLengthListAnimator does not take additive="sum" into accout
        https://bugs.webkit.org/show_bug.cgi?id=63705

        Added support for additive animations to SVGAnimatedLengthListAnimator. Don't clear the animatedList if not
        necessary.

        SVGLength unit gets animated as well now. We used to take the unit of 'from' all the time.

        Tests: svg/animations/svglength-animation-unitType.html
               svg/animations/svglengthlist-animation-5.html

        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue): Code clean-up and support for unit animation.
        * svg/SVGAnimatedLengthList.cpp: Add support for additive animations.
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::SVGLength):
        (WebCore::SVGLength::setValue): New setValue that gets the LengthType and UnitType as argument for supporting animations of units as well.
        * svg/SVGLength.h:

2011-07-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedType should support SVGAnimatedInteger animation
        https://bugs.webkit.org/show_bug.cgi?id=63789
        
        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedInteger.
        
        SVGAnimatedInteger is used for some attributes of SVG filter effects. The animation of those attributes work after this patch.

        Test: svg/animations/svginteger-animation-1.html

        * CMakeLists.txt: Added file to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Make use of AnimatedInteger.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimatedInteger.cpp: Added. The new animator for SVGAnimatedInteger.
        (WebCore::SVGAnimatedIntegerAnimator::SVGAnimatedIntegerAnimator):
        (WebCore::SVGAnimatedIntegerAnimator::constructFromString):
        (WebCore::SVGAnimatedIntegerAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedIntegerAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedIntegerAnimator::calculateDistance):
        * svg/SVGAnimatedInteger.h:
        (WebCore::SVGAnimatedIntegerAnimator::~SVGAnimatedIntegerAnimator):
        * svg/SVGAnimatedType.cpp: Added handler for AnimatedInteger.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createInteger):
        (WebCore::SVGAnimatedType::integer):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):

2011-06-30  Eugene Klyuchnikov  <eustas.bug@gmail.com>

        Reviewed by Pavel Feldman.

        WebInspector: Performance / memory allocation issue in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded
        https://bugs.webkit.org/show_bug.cgi?id=40447

        Test: inspector/editor/text-editor-model-replace-tabs.html

        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded): avoid looped production of tail substrings 

2011-06-30  Kent Tamura  <tkent@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Input type="range" slider thumb is rendered upside down on Mac OS X.
        https://bugs.webkit.org/show_bug.cgi?id=63697

        http://trac.webkit.org/changeset/86261 added a thumb flipping code
        for Mac-WebKit2. Chromium also needs it.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb): Always flip vertically on Chromium.

2011-06-30  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Simon Fraser.

        [Chromium] -webkit-text-stroke doesn't affect with non-zero width border property
        https://bugs.webkit.org/show_bug.cgi?id=63698

        Restore the stroke style when it is modified in RenderObject::drawLineForBoxSide() to show text stroke correctly.

        Test: platform/chromium/fast/text/text-stroke-with-border.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide): Save/restore the stroke style.

2011-06-30  Gwang Yoon Hwang  <ryumiel@company100.net>

        Reviewed by Nate Chapin.

        [V8] Add ENABLE(INSPECTOR) guards around v8 custom bindings.
        https://bugs.webkit.org/show_bug.cgi?id=63442

        No new tests needed.

        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:

2011-06-30  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Remove positionForCoordinates
        https://bugs.webkit.org/show_bug.cgi?id=63765

        Removing positionForCoordinate. We should always use positionForPoint. Also cleaning up
        RenderBox's implementation of positionForPoint.

        No new tests, there should be no functionality changes.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue): Removing dead, or at least untested, code and
        adding an ASSERT_NOT_REACHED.
        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionForPoint): cleaning up some ugly code.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::positionForPoint):
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:

2011-06-30  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Improve WebGL object lifetime management in WebGLRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=63635

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getAttachedShaders): Use cached objects instead of querying the underlying GL.
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects): Multiple loop because objects might be removed from the table within an iteration.
        * html/canvas/WebGLRenderingContext.h:

2011-06-30  Rafael Brandao  <rafael.lobo@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] build-webkit warning: cannot find file ElementShadowPseudoId.h
        https://bugs.webkit.org/show_bug.cgi?id=63747

        Removed reference to ElementShadowPseudoId.h that no longer exists.

        * WebCore.pro:

2011-06-30  Anders Carlsson  <andersca@apple.com>

        Fix clang build.

        Remove the complete Widget constructor from the .exp.in file; since Widget is an abstract class,
        its complete constructor can never be called and clang has stopped emitting it altogether.

        * WebCore.exp.in:

2011-06-30  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintingRootRect and RenderObject repaint methods to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63746

        Switching paintingRootRect and RenderObject repaint functions over to the
        new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::repaintDuringLayoutIfMoved):
        * rendering/RenderBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintingRootRect):
        (WebCore::RenderObject::paint):
        (WebCore::RenderObject::repaintUsingContainer):
        (WebCore::RenderObject::repaintRectangle):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::repaintDuringLayoutIfMoved):
        * rendering/RenderObject.h:

2011-06-30  Cary Clark  <caryclark@google.com>

        Reviewed by James Robinson.

        Use Skia if Skia on Mac Chrome is enabled
        https://bugs.webkit.org/show_bug.cgi?id=62999

        No new tests. This does not affect existing
        functionality.

        * WebCore.gyp/WebCore.gyp:
        Include Skia and related files and exclude CG
        and related files when building Chromium for Skia
        on the Mac.

        * loader/cache/CachedFont.cpp:
        Rename CHROME to CHROMIUM.

        * platform/chromium/DragImageRef.h:
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::hash):
        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        (WebCore::GlyphBuffer::expandLastAdvance):
        * platform/graphics/IntPoint.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/IntSize.h:
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cg/FloatPointCG.cpp:
        * platform/graphics/cg/FloatRectCG.cpp:
        * platform/graphics/cg/FloatSizeCG.cpp:
        * platform/graphics/cg/IntPointCG.cpp:
        * platform/graphics/cg/IntRectCG.cpp:
        * platform/graphics/cg/IntSizeCG.cpp:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
        Ditto.

2011-06-30  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Update SVG position values on SVG DOM updates
        https://bugs.webkit.org/show_bug.cgi?id=62439

        Test: svg/custom/crash-textPath-attributes.html

        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::destroy): Notify our containing RenderSVGText that it needs
        to update its positioning information.

        * rendering/svg/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::calculateBoundaries): Check the type of the InlineBox
        like the rest of the code (fixes an ASSERT_NOT_REACHED in InlineBox::calculateBoudaries).

        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): Clear
        our cached layout attributes every time we invalidate them. This avoids keeping stale
        attribute that have a backpointer to a RenderObject.

2011-06-30  Sreeram Ramachandran  <sreeram@chromium.org>

        Reviewed by Adam Barth.

        Suppress modal JavaScript/HTML dialogs during unload events
        https://bugs.webkit.org/show_bug.cgi?id=56397

        Allows clients to specify whether to show alerts during unload handlers.
        When checking for whether a page dismissal event is being dispatched,
        it's important to check all frames on the page (otherwise it becomes a
        loophole easily exploited).

        Test: fast/loader/page-dismissal-modal-dialogs.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::fireBeforeUnloadEvent):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::pageDismissalEventBeingDispatched):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestImage):
        * page/Chrome.cpp:
        (WebCore::canRunModalIfDuringPageDismissal):
        (WebCore::Chrome::canRunModalNow):
        (WebCore::Chrome::runJavaScriptAlert):
        (WebCore::Chrome::runJavaScriptConfirm):
        (WebCore::Chrome::runJavaScriptPrompt):
        * page/Chrome.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::shouldRunModalDialogDuringPageDismissal):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::showModalDialog):

2011-06-30  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Assertion failure in RenderSVGInlineText::characterStartsNewTextChunk
        https://bugs.webkit.org/show_bug.cgi?id=63076

        Tests: svg/custom/crash-text-in-textpath.svg
               svg/custom/text-node-in-text-invalidated.svg

        The problem was that we did not call setNeedsPositionUpdate on RenderSVGText. When
        doing our layout, we would not update the attributes on our SVGRenderInlineText as
        we would not lay it out.

        This was caused by childrenChanged being overridden on SVGTextPositioningElement but
        not on SVGTextPathElement.

        As both classes shared the same mother class, it made sense to move the logic here.
        There should be no other side effects as SVGTextPathElement and SVGTextPositioningElement
        are the only classes deriving from SVGTextContentElement.

        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::childrenChanged): Moved this method from SVGTextPositioningElement.
        * svg/SVGTextContentElement.h:
        * svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::svgAttributeChanged): Updated after updatePositioningValuesInRenderer
        removal, replaced by RenderSVGText::locateRenderSVGTextAncestor.
        * svg/SVGTextPositioningElement.h:

2011-06-30  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix for !ENABLE(DATABASE) after r84789.

        * bindings/js/JSDOMBinding.cpp:

2011-06-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        More ScrollableArea scaffolding
        https://bugs.webkit.org/show_bug.cgi?id=63678

        Add a way to get the enclosing scrollable area for a given scrollable area.
        Also, add ScrollableArea::isPinnedInDirectionOfScrollDelta.

        * page/FrameView.cpp:
        (WebCore::FrameView::enclosingScrollableArea):
        Return 0 for now.

        * page/FrameView.h:
        Add FrameView::enclosingScrollableArea.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::isPinnedInDirectionOfScrollDelta):
        Return whether the area is pinned in the direction of the scroll delta.

        * platform/ScrollableArea.h:
        Add new member functions.

        * platform/chromium/FramelessScrollView.cpp:
        (WebCore::FramelessScrollView::enclosingScrollableArea):
        * platform/chromium/FramelessScrollView.h:
        Add stub.

        * platform/win/PopupMenuWin.h:
        (WebCore::PopupMenuWin::enclosingScrollableArea):
        Always return 0.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::enclosingScrollableLayer):
        Add helper function.

        (WebCore::RenderLayer::scrollByRecursively):
        Use the new enclosingScrollableLayer helper function.

        (WebCore::RenderLayer::enclosingScrollableArea):
        Return the enclosing scrollable area.

        * rendering/RenderLayer.h:
        Add new member function.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::enclosingScrollableArea):
        Return 0 for now.
        
        * rendering/RenderListBox.h:
        Add new member function.

2011-06-30  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Anders Carlsson.

        [GTK] Crash observed with nspluginwrapper and flash
        https://bugs.webkit.org/show_bug.cgi?id=62249

        Test: plugins/invalidate-rect-with-null-npp-argument.html

        * plugins/npapi.cpp:
        (NPN_InvalidateRect): Guard against null instances here.

2011-06-30  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch availableWidth/Height, logicalLeft/RightOffsetForLine to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63671

        Switch availableWidth/Height, logicalLeft/RightOffsetForLine functions over to the
        new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::availableLogicalWidthForLine):
        (WebCore::RenderBlock::availableLogicalWidth):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::startOffsetForLine):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::availableLogicalHeight):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::availableLogicalWidth):
        (WebCore::RenderBox::availableWidth):
        (WebCore::RenderBox::availableHeight):

2011-06-30  Adam Barth  <abarth@webkit.org>

        Remove useless ASSERT that breaks the build.

        * dom/StyledElement.cpp:
        (WebCore::parseColorStringWithCrazyLegacyRules):

2011-06-30  Tab Atkins  <jackalmage@gmail.com>

        Reviewed by Adam Barth.

        Fix legacy color attribute parsing to match HTML spec
        https://bugs.webkit.org/show_bug.cgi?id=63029

        Relevant spec link: http://www.whatwg.org/specs/web-apps/current-work/complete/common-microsyntaxes.html#rules-for-parsing-a-legacy-color-value
        Fix legacy color attribute parsing (<body bgcolor>, <font color>, etc.) to match the HTML spec and more closely match other browsers.

        Test: fast/dom/attribute-legacy-colors.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor):

2011-06-28  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: Prepare for running layout tests with LevelDB
        https://bugs.webkit.org/show_bug.cgi?id=63593

        Migration of data from SQLite to LevelDB must be done before the
        m_backingStore map is checked for an open LevelDB, because if a
        previous layout test has used LevelDB, it will be in the
        m_backingStore map.

        Covered by existing layout tests.

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open):

2011-06-30  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: introduce "filter" icons for timeline panel and elements sidebar.
        https://bugs.webkit.org/show_bug.cgi?id=63731

        * inspector/front-end/EventListenersSidebarPane.js:
        * inspector/front-end/Images/paneFilterButtons.png: Added.
        * inspector/front-end/Images/statusbarButtonGlyphs.png:
        * inspector/front-end/StylesSidebarPane.js:
        * inspector/front-end/inspector.css:
        (.pane > .title > select):
        (.pane > .title > select.select-settings):
        (.pane > .title > select.select-filter):
        (.timeline-filter-status-bar-item .glyph):

2011-06-28  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: Support for deleteIndex with LevelDB backing store
        https://bugs.webkit.org/show_bug.cgi?id=63539

        Covered by storage/indexeddb/mozilla/remove-index.html.

        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::deleteIndex):

2011-06-30  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Ryosuke Niwa.

        Crash when calling DOMSubtreeModified event when extracting range
        contents.
        https://bugs.webkit.org/show_bug.cgi?id=63650

        Convert a few nodes to RefPtrs and add commonRoot verification checks
        for Range::processContents.

        Tests: fast/dom/Range/range-extract-contents-event-fire-crash.html
               fast/dom/Range/range-extract-contents-event-fire-crash2.html

        * dom/Range.cpp:
        (WebCore::childOfCommonRootBeforeOffset):
        (WebCore::Range::processContents):
        (WebCore::Range::processContentsBetweenOffsets):
        (WebCore::Range::processAncestorsAndTheirSiblings):

2011-06-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        Add +[WebView _allowsRoundingHacks]
        https://bugs.webkit.org/show_bug.cgi?id=63734

        * WebCore.exp.in: Export TextRun::allowsRoundingHacks().
        * platform/graphics/TextRun.cpp:
        (WebCore::TextRun::allowsRoundingHacks): Added this accessor.
        * platform/graphics/TextRun.h:

2011-06-30  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Roben.

        [WIN] Don't redefine the keyboard codes
        https://bugs.webkit.org/show_bug.cgi?id=63726

        Only define the codes when undefined.
        r64957 fixed this problem for COMPILER(MINGW) but not for OS(WINCE).

        * platform/WindowsKeyboardCodes.h:

2011-06-30  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: hide "Enabled background events collection" option in context menu until the setting is persisted
        https://bugs.webkit.org/show_bug.cgi?id=63708

        The option has no much sense if it is not preserved between browser restarts.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._contextMenu):

2011-06-30  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Darin Adler.

        Remove dependnecy on IDL generation for disabled features in JSC bindings
        https://bugs.webkit.org/show_bug.cgi?id=63718

        Move the #if ENABLE() line directly after #include "config.h".
        This enables us to compile all files even when we don't generate the IDL output.

        * bindings/js/IDBBindingUtilities.cpp:
        * bindings/js/JSConsoleCustom.cpp:
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        * bindings/js/JSCustomXPathNSResolver.cpp:
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        * bindings/js/JSDeviceOrientationEventCustom.cpp:
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        * bindings/js/JSInjectedScriptManager.cpp:
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        * bindings/js/JSSQLTransactionCustom.cpp:
        * bindings/js/JSSQLTransactionSyncCustom.cpp:
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        * bindings/js/JSStorageCustom.cpp:
        * bindings/js/JSTouchCustom.cpp:
        * bindings/js/JSTouchListCustom.cpp:
        * bindings/js/JSXPathResultCustom.cpp:
        * bindings/js/JavaScriptCallFrame.cpp:
        * bindings/js/PageScriptDebugServer.cpp:
        * bindings/js/ScriptDebugServer.cpp:
        * bindings/js/ScriptGCEvent.cpp:
        * bindings/js/ScriptProfile.cpp:
        * bindings/js/WorkerScriptDebugServer.cpp:

2011-06-30  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Kent Tamura.

        [Chromium] Autofill suggestions appear in upper left corner after input change
        https://bugs.webkit.org/show_bug.cgi?id=63702

        This change fixes a few popup layout issues, some of which have existed for quite a while:
        - the absence of the ChromeClientImpl::screenToWindow() implementation (the method used to always return (0, 0));
        - the confusion of window and screen coordinates passed into the autofill popup client's setWindowRect() method;
        - the use of the current frameRect() width as the target element's width (which was wrong when refreshing
          a popup resized during the initial layout (e.g. made wider than the target element)).

        No new tests, as this is a change to platform-specific widget code. The test case is provided in the bug description.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::layoutAndGetRTLOffset): Use original target element width, not frameRect().width(),
        since the latter gets updated if the popup is not the same width as the target element.
        (WebCore::PopupContainer::refresh): Restore only the popup bounds rather than its original rectangle,
        since it sometimes breaks the invalidation region and layout.

2011-06-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90102.
        http://trac.webkit.org/changeset/90102
        https://bugs.webkit.org/show_bug.cgi?id=63714

        Lots of tests asserting beneath
        SVGSMILElement::findInstanceTime (Requested by aroben on
        #webkit).

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::findInstanceTime):

2011-06-30  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: remove ExtensionAPISchema.json
        https://bugs.webkit.org/show_bug.cgi?id=63687

        * inspector/front-end/ExtensionAPISchema.json: Removed.

2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed build fix for chromium.

        * inspector/CodeGeneratorInspector.pm:

2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed build fix for mac.

        * inspector/CodeGeneratorInspector.pm:

2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Protocol: error object needs some improvement.
        https://bugs.webkit.org/show_bug.cgi?id=63707

        Current implementation is not useful in the code.
        We need to have toString implementation with nice formatting
        I'd like to use error.message property as the main place for the error's text.

        * inspector/CodeGeneratorInspector.pm:

2011-06-30  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium] Support annotations for arrays in heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=63690

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):


2011-06-30  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r88663, r89187, r89220, r89431 and r89661.

        * svg/SVGAnimatedAngle.h:
        * svg/SVGAnimatedLength.h:
        * svg/SVGAnimatedNumber.h:
        * svg/SVGAnimatedRect.h:
        * svg/SVGAnimatedString.h:

2011-06-30  Gabor Loki  <loki@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Fixed several style and typo issues after r90091.
        https://bugs.webkit.org/show_bug.cgi?id=63692

        Rename yStart to extremaStartY during computing extremas

        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApplyGeneric):
        * platform/graphics/filters/FEMorphology.h:

2011-06-30  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>

        Reviewed by Nikolas Zimmermann.

        Speed up SVGSMILElement::findInstanceTime.
        https://bugs.webkit.org/show_bug.cgi?id=61025

        Replace the linear search to binary search on ordered list because
        the previous searches from the beginning was not efficient.

        No new tests this is only a performance tweak.

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::extractTimeFromVector):
        (WebCore::SVGSMILElement::findInstanceTime):

2011-06-30  Kentaro Hara  <haraken@google.com>

        Reviewed by Kent Tamura.

        Change the label of an HTML5 file chooser button to "Choose Files"
        https://bugs.webkit.org/show_bug.cgi?id=49245

        We should notify capability of multiple files to users.

        Test: fast/forms/input-file-label.html

        * English.lproj/Localizable.strings:
        * html/FileInputType.cpp:
        (WebCore::UploadButtonElement::createForMultiple): Constructs a multiple file chooser button.
        (WebCore::FileInputType::createShadowSubtree): Constructs a single/multiple file chooser button depending on 'multiple' attribute.
        (WebCore::FileInputType::multipleAttributeChanged): Updates the label of the file chooser button.
        * html/FileInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Updates the shadow tree of the file chooser button when 'multiple' attribute is set or unset.
        * html/InputType.cpp:
        (WebCore::InputType::multipleAttributeChanged): Virtual method to be overridden by FileInputType.
        * html/InputType.h:
        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::fileButtonChooseFileLabel): Updated the description for "Choose File".
        (WebCore::DefaultLocalizationStrategy::fileButtonChooseMultipleFilesLabel): Returns a string "Choose Files".
        * platform/DefaultLocalizationStrategy.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        (WebCore::fileButtonChooseMultipleFilesLabel): Wrapper method for getting the "Choose Files" label.
        * platform/LocalizedStrings.h:
        * platform/brew/LocalizedStringsBrew.cpp:
        (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
        * platform/haiku/LocalizedStringsHaiku.cpp:
        (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
        * platform/wx/LocalizedStringsWx.cpp:
        (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.

2011-06-30  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        Replace isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&)
        https://bugs.webkit.org/show_bug.cgi?id=63672

        Replaced isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&).
        Also added a safe toTextFormControl to HTMLFormControlElement.h.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply): Calls enclosingTextFormControl instead of manually
        checking the tag name of shadowAncestorNode.
        * editing/Editor.cpp:
        (WebCore::Editor::selectionForCommand): Rewritten using enclosingTextFormControl and toTextFormControl.
        (WebCore::Editor::cut): Calls enclosingTextFormControl instead of isNodeInTextFormControl.
        (WebCore::Editor::copy): Ditto.
        (WebCore::Editor::setBaseWritingDirection): Calls toTextFormControl instead of manually checking tag name.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::isInPasswordField): Calls enclosingTextFormControl.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::enclosingTextFormControl): Added.
        * editing/htmlediting.h:
        * html/HTMLFormControlElement.h:
        (WebCore::toTextFormControl): Added.
        * page/DragController.cpp:
        (WebCore::DragController::startDrag): Calls enclosingTextFormControl instead of isNodeInTextFormControl.

2011-06-27  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: source code is not highlighted after drawer height animations.
        https://bugs.webkit.org/show_bug.cgi?id=62860

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
        (WebInspector.Drawer.prototype._animateDrawerHeight):

2011-06-30  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        Crash if ShadowRoot has a text node.
        https://bugs.webkit.org/show_bug.cgi?id=63607
        
        Node::styleForRenderer() for Text node wasn't shadow-aware.
        This change allow styleForRenderer() to know its visual parent by
        passing NodeRenderingContext.
        
        Changes other than NodeRenderingContext and Element is just a
        follow up for change above.

        * dom/Element.cpp: use NodeRenderingContext to resolve parent node.
        (WebCore::Element::recalcStyle):
        * dom/Node.cpp:
        (WebCore::Node::styleForRenderer): Added NodeRenderingContext as a parameter.
        * dom/Node.h:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRendererFactory::createRendererAndStyle):
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::attach):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::attach):
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::textWithDirection):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::styleForRenderer):
        (WebCore::TextControlInnerTextElement::styleForRenderer):
        * html/shadow/TextControlInnerElements.h:

        Test: fast/dom/shadow/shadow-root-text-child.html
        
2011-06-30  Piroska András  <Piroska.Andras@stud.u-szeged.hu>

        Reviewed by Dirk Schulze.

        Apply the ParallelJobs support to FEMorphology
        https://bugs.webkit.org/show_bug.cgi?id=63064

        The FEMorphology filter of SVG can consume lots of resources if it is
        applied to a large area. The computation can be distributed to multiple
        cores if the architecture supports.
        The average performance progression is 20-25% on dual-core machines.

        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApplyGeneric): Apply the filter between yStart and yEnd interval
        (WebCore::FEMorphology::platformApplyWorker): Call the generic apply from a parallel worker
        (WebCore::FEMorphology::platformApply):
        (WebCore::FEMorphology::apply): Move the functionality into platformApply
        (WebCore::FEMorphology::externalRepresentation): Remove whitespaces
        * platform/graphics/filters/FEMorphology.h:

2011-06-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Avoid custom layout code of RenderTextControlSingleLine
        https://bugs.webkit.org/show_bug.cgi?id=61415

        If a text field has a search results button, a search cancel
        button, a speech button, or a spin button, the editable inner text
        element and the buttons are wrapped by a flexible box container,
        and the editable inner text element has flexibility. As the result
        of applying the flexible box, we don't need any horizontal layout
        code in RenderTextControlSingleLine except the inner spin button.

        Also, we remove custom hit-testing code in nodeAtPoint(). If a
        user clicks on a position left of the inner editable text but not
        on the search results button, the search results button doesn't
        work though it worked.

        * css/html.css:
        (input::-webkit-textfield-decoration-container):
          New style definition for the "container" element.
        (input[type="search"]::-webkit-search-cancel-button):
          It should be a block element because it's a child of the flexible box.
          Also, this doesn't have flexibility.
        (input[type="search"]::-webkit-search-decoration): ditto.
        (input[type="search"]::-webkit-search-results-decoration): ditto.
        (input[type="search"]::-webkit-search-results-button): ditto.
        (input::-webkit-inner-spin-button): ditto.
        (input::-webkit-input-speech-button): ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::containerElement):
          Add an accessor of the flexible box container.
          It just calls InputType::containerElement().
        * html/HTMLInputElement.h: Declare it.
        * html/InputType.h:
        (WebCore::InputType::containerElement): New accessor for a shadow element.
        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType):
          m_innerBlock is moved to TextFieldInputType.
        (WebCore::SearchInputType::needsContainer):
          A search field always needs the flexible box container because
          of the results button and the cancel button.
        (WebCore::SearchInputType::createShadowSubtree):
          Use TextFieldInputType::createShadowSubtree(), then modify the tree.
        (WebCore::SearchInputType::destroyShadowSubtree):
          m_innerBlock is moved to TextFieldInputType.
        * html/SearchInputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::TextFieldInputType):
          Initialize the new members.
        (WebCore::TextFieldInputType::needsContainer):
          Returns true if x-webkit-speech. We check a spin button separately.
        (WebCore::TextFieldInputType::createShadowSubtree):
          Wrap everything with the flexible box container if needsContainer() or we need a spin button.
        (WebCore::TextFieldInputType::containerElement): Added an accessor.
        (WebCore::TextFieldInputType::innerBlockElement): ditto.
        (WebCore::TextFieldInputType::innerTextElement): ditto.
        (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
        (WebCore::TextFieldInputType::speechButtonElement): ditto.
        (WebCore::TextFieldInputType::destroyShadowSubtree):
          Clear references to new shadow nodes.
        * html/TextFieldInputType.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
        (WebCore::RenderTextControlSingleLine::innerTextElement):
        (WebCore::RenderTextControlSingleLine::layout):
         - Correct heights check
          Comparing with height(), not contentHeigth(), was incorrect.
         - Adjust the container height like the editable inner text.
         - Remove width adjustment
         - Remove the speech button layout code
          The flexible box layout is enough.
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
          Remove custom code for results/cancel/speech buttons, and
          Simplify comments.
        (WebCore::RenderTextControlSingleLine::forwardEvent):
          Remove custom forwarding code for results/cancel buttons.
        (WebCore::RenderTextControlSingleLine::styleDidChange):
          Clear the style of the container because we update it in layout().
        (WebCore::RenderTextControlSingleLine::hasControlClip):
          Decoration buttons should be clipped by the container.
        (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
          We don't need to use display:inline-block any more.
        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
          The text wrapper element should have flexibility.
        (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
          Updated for the tree structure change.
        * rendering/RenderTextControlSingleLine.h:

2011-06-29  Kent Tamura  <tkent@chromium.org>

        [Mac] Attempt to fix Leopard build.

        * platform/mac/CursorMac.mm:
        (WebCore::Cursor::ensurePlatformCursor):

2011-06-29  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        [Mac] Use system cursors instead of custom bitmaps where possible
        https://bugs.webkit.org/show_bug.cgi?id=63679

        * Resources/crossHairCursor.png: Removed.
        * Resources/notAllowedCursor.png: Removed.
        * WebCore.exp.in: Added wkCursor.
        * WebCore/WebCore.gyp/WebCore.gyp: Removed the two now-unused PNG files.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * platform/mac/CursorMac.mm:
        (WebCore::Cursor::ensurePlatformCursor): Use NSCursor API for Cross, Hand,
        VerticalText, ContextMenu, Copy, and NotAllowed. Use wkCursor for Move,
        Alias, Progress, and the resize and panning cursors.

        * platform/mac/WebCoreSystemInterface.h: Added wkCursor.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

2011-06-29  Keishi Hattori  <keishi@webkit.org>

        Reviewed by Adam Barth.

        Remove extra space at EOL in view source mode
        https://bugs.webkit.org/show_bug.cgi?id=63620

        Test: fast/frames/viewsource-linebreak.html

        * css/view-source.css:
        (tbody:last-child .webkit-line-content:empty:before): If we don't do this
        the last line will be empty and the height will be shorter than the rest.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addSource): If source file is empty, add an empty line.
        (WebCore::HTMLViewSourceDocument::finishLine): Call when you are done with the current line.
        Adds a BR element if the line is empty and sets current to tbody.
        (WebCore::HTMLViewSourceDocument::addText):
        * html/HTMLViewSourceDocument.h:

2011-06-29  Brent Fulgham  <bfulgham@webkit.org>

        [WinCE] Correct logical state of WINCE test.

        * platform/win/ScrollbarThemeWin.cpp: The #if OS(WINCE)
          should have been #if !OS(WINCE)
        (WebCore::ScrollbarThemeWin::paintTrackPiece):
        (WebCore::ScrollbarThemeWin::paintButton):
        (WebCore::ScrollbarThemeWin::paintThumb):
        * rendering/RenderThemeWin.cpp: ditto.
        (WebCore::drawControl):

2011-06-29  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Enrica Casucci.
        
        I forgot to include these (reviewed) style fix-ups in my previous check-in.

        * editing/htmlediting.cpp:
        (WebCore::indexForVisiblePosition):
        (WebCore::visiblePositionForIndex):

2011-06-29  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Enrica Casucci.

        https://bugs.webkit.org/show_bug.cgi?id=62922
        indexForVisiblePosition(const VisiblePosition& visiblePosition) does not consider shadow content
        
        VisiblePositions can be inside web form text regions, which use shadow trees. Made indexForVisiblePosition
        aware of this, and added a new parameter to obtain the scope for a VisiblePosition, in addition to its index.
        
        Added visiblePositionForIndex to go in the opposite direction, taking into account the scope
        used to compute the index.
        
        These two functions use TextIterators to convert between VisiblePositions and indices. But 
        TextIterator iteration using TextIteratorEmitsCharactersBetweenAllVisiblePositions does not 
        exactly match VisiblePosition iteration, so using them to preserve a selection during an 
        editing operation is unreliable. This can be seen in the expected results for:
        
        editing/execCommand/indent-pre-list.html
        editing/execCommand/crash-indenting-list-item.html
        
        TextIterator's TextIteratorEmitsCharactersBetweenAllVisiblePositions mode needs to be fixed, or 
        these functions need to be changed to iterate using actual VisiblePositions. See:
        
        https://bugs.webkit.org/show_bug.cgi?id=63590
        TextIterators in TextIteratorEmitsCharactersBetweenAllVisiblePositions do not exactly match VisiblePositions
        
        Also:
        
        https://bugs.webkit.org/show_bug.cgi?id=63592
        Use visiblePositionForIndex and indexForVisiblePosition everywhere that TextIterators are used to convert between VisiblePositions and indices
        
        No new tests added because indexForVisiblePosition is currently only used for editing operations
        that cannot be performed inside web form fields.

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::doApply):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        * editing/htmlediting.cpp:
        (WebCore::indexForVisiblePosition):
        (WebCore::visiblePositionForIndex):
        * editing/htmlediting.h:

2011-06-29  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Remove ElementWithPseudoId, since now an Element can store it all by itself.
        https://bugs.webkit.org/show_bug.cgi?id=63657

        Refactoring, covered by existing tests.

        * CMakeLists.txt: Removed ElementWithPseudoId from build.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.order: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::createShadowSubtree): Changed to use plain-old HTMLDivElement.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::createShadowSubtree): Ditto.
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::buildBubbleTree): Ditto.
        * html/shadow/ElementWithPseudoId.cpp: Removed.
        * html/shadow/ElementWithPseudoId.h: Removed.

2011-06-29  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch computeWidth and computeHeight functions to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63655

        Switch computeWidth and computeHeight functions over to the new layout unit abstraction.

        Making a point to mark rounding that should eventually be removed by linking to a new
        tracking bug: 63645.

        No new tests, no functionality changes.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
        * rendering/AutoTableLayout.h:
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::computePreferredLogicalWidths):
        * rendering/FixedTableLayout.h:
        * rendering/LayoutTypes.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computePreferredLogicalWidths):
        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalWidthUsing):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore::RenderBox::computePercentageLogicalHeight):
        (WebCore::RenderBox::computeReplacedLogicalWidth):
        (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
        (WebCore::RenderBox::computeReplacedLogicalHeight):
        (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        * rendering/RenderBox.h:
        * rendering/RenderIFrame.cpp:
        (WebCore::RenderIFrame::computeLogicalWidth):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::computeReplacedLogicalWidth):
        (WebCore::RenderImage::computeReplacedLogicalHeight):
        * rendering/RenderImage.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::computePreferredLogicalWidths):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::computePreferredLogicalWidths):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::computePreferredLogicalWidths):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
        (WebCore::RenderReplaced::computePreferredLogicalWidths):
        * rendering/RenderReplaced.h:
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::computePreferredLogicalWidths):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::computeLogicalWidth):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::computePreferredLogicalWidths):
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::computeReplacedLogicalWidth):
        (WebCore::RenderVideo::computeReplacedLogicalHeight):
        * rendering/RenderVideo.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::computeLogicalWidth):
        (WebCore::RenderSVGForeignObject::computeLogicalHeight):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
        (WebCore::RenderSVGRoot::computeIntrinsicWidth):
        (WebCore::RenderSVGRoot::computeIntrinsicHeight):
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
        (WebCore::RenderSVGRoot::layout):
        * rendering/svg/RenderSVGRoot.h:

2011-06-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by James Robinson.

        In RenderBlock, RenderWidget and RenderReplaced destroy functions,
        call dirtyLinesFromChangedChild to tell our parent that we are going away.
        https://bugs.webkit.org/show_bug.cgi?id=60307

        Test: fast/block/child-not-removed-from-parent-lineboxes-crash.html
              fast/block/block-not-removed-from-parent-lineboxes-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::destroy):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::destroy):
        * rendering/RenderReplaced.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):

2011-06-29  Brent Fulgham  <bfulgham@webkit.org>

        Speculative WinCE build correction.

        * rendering/RenderThemeWin.cpp:
        (WebCore::drawControl): Don't call setRGBABitmapAlpha
          for WinCE case.

2011-06-29  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION(r89952): r89952 added a wrong assertion in visible_units.cpp
        https://bugs.webkit.org/show_bug.cgi?id=63668

        We need to assert the offset to be zero only when the position is NOT offset in node.

        * editing/visible_units.cpp:
        (WebCore::startOfParagraph):

2011-06-29  Brent Fulgham  <bfulgham@webkit.org>

        Speculative WinCE build correction after r90057.

        * CMakeListsWinCE.txt: Roll back r90061, since GetWorldTransform
          is not available in WinCE.
        * platform/win/ScrollbarThemeWin.cpp: Conditionally exclude calls
          to DIBPixelData::setRGBABitmapAlpha for WinCE.
        (WebCore::ScrollbarThemeWin::paintTrackPiece):
        (WebCore::ScrollbarThemeWin::paintButton):
        (WebCore::ScrollbarThemeWin::paintThumb):

2011-06-29  Brent Fulgham  <bfulgham@webkit.org>

        Speculative WinCE build correction after r90057.

        * CMakeListsWinCE.txt: Add missing DIBPixelData.cpp to
        WinCE build to support setting bitmap image alpha value.

2011-06-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        Lay some groundwork for rubber-banding in overflow:scroll divs
        https://bugs.webkit.org/show_bug.cgi?id=63654

        Make it possible for scrollTop and scrollLeft on a RenderLayer to be
        set to negative values, which we will do during rubber-banding in
        future. Continue to clamp programmatic scrolls, and scroll positions
        set by layout between 0 and the max value.

        Test: fast/layers/negative-scroll-positions.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setScrollLeft):
        (WebCore::RenderBox::setScrollTop):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::scrollTo):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::scrollToXOffset):
        (WebCore::RenderLayer::scrollToYOffset):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::forwardEvent):

2011-06-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Simon Fraser.

        RenderLayer::maximumScrollPosition() is wrong
        https://bugs.webkit.org/show_bug.cgi?id=62667

        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::isVerticalScrollerPinnedToMinimumPosition):
        (WebCore::ScrollableArea::isVerticalScrollerPinnedToMaximumPosition):
        Add these for good measure; they will be needed in an upcoming patch.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::maximumScrollPosition):
        Subtract the visible content rect, including the scroll bars.

2011-06-29  Brent Fulgham  <bfulgham@webkit.org>

        Speculative WinCE build correction after r90053.

        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContext::inTransparencyLayer): Provide
        stub implementation for 'inTransparencyLayer'.

2011-06-29  Xu Fan  <qifuren1985@gmail.com>

        Reviewed by Brent Fulgham.

        Fix Scrollbars Transparent in Windows XP if WebKit is using Layered Window
        https://bugs.webkit.org/show_bug.cgi?id=61136

        * platform/graphics/win/DIBPixelData.h: add a static method setRGBABitmapAlpha
        * platform/graphics/win/DIBPixelData.cpp: add implementation
        * platform/win/ScrollbarThemeWin.cpp: fix scroolbar transparent
        * rendering/RenderThemeWin.cpp: fix textbox and button transparent

2011-06-29  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Switch RenderBoxModelObject::margin* and setMargin* to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63652

        Switch margin methods for render tree over to the new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/InlineFlowBox.h:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderInline.cpp:
        * rendering/RenderInline.h:
        * rendering/RenderText.h:

2011-06-29  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paint to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63645

        Switch vanilla paint function over to the new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paint):
        * rendering/RenderBox.h:
        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::paint):
        * rendering/RenderDetailsMarker.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paint):
        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paint):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderImage.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paint):
        * rendering/RenderInline.h:
        * rendering/RenderLineBoxList.h:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::paint):
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderListMarker.h:
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderReplaced.h:
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        * rendering/RenderReplica.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):
        * rendering/RenderTableSection.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::paint):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderTheme.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):
        * rendering/RenderView.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/RenderWidget.h:
        * rendering/mathml/RenderMathMLBlock.h:
        * rendering/mathml/RenderMathMLFraction.h:
        * rendering/mathml/RenderMathMLRoot.h:
        * rendering/mathml/RenderMathMLSquareRoot.h:
        * rendering/svg/RenderSVGContainer.h:
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGHiddenContainer.h:
        * rendering/svg/RenderSVGImage.h:
        * rendering/svg/RenderSVGPath.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.h:

2011-06-29  Jian Li  <jianli@chromium.org>

        Reviewed by Kenneth Russell.

        WebGL test failing on SL bots: fast/canvas/webgl/data-view-test.html 
        https://bugs.webkit.org/show_bug.cgi?id=63151

        The fix is to change to throw TypeError in custom JS/V8 bindings.

        * bindings/js/JSDataViewCustom.cpp:
        (WebCore::getDataViewMember):
        (WebCore::setDataViewMember):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::constructorCallback):
        (WebCore::V8DataView::getInt8Callback):

2011-06-29  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Darin Adler.

        Convert uses of computeLengthIntForLength() to computeLength<Length>()
        https://bugs.webkit.org/show_bug.cgi?id=63641

        No new tests / refactoring only.

        * css/CSSStyleSelector.cpp:
        (WebCore::convertToLength):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::applyPageSizeProperty):
        (WebCore::CSSStyleSelector::mmLength):
        (WebCore::CSSStyleSelector::inchLength):
        (WebCore::CSSStyleSelector::mapFillSize):
        (WebCore::CSSStyleSelector::mapFillXPosition):
        (WebCore::CSSStyleSelector::mapFillYPosition):

2011-06-29  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Simplify AudioBufferSourceNode rendering
        https://bugs.webkit.org/show_bug.cgi?id=63586

        No new tests since this doesn't change API.

        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
        (WebCore::AudioBufferSourceNode::process):
        (WebCore::AudioBufferSourceNode::renderFromBuffer):
        (WebCore::AudioBufferSourceNode::reset):
        (WebCore::AudioBufferSourceNode::setBuffer):
        (WebCore::AudioBufferSourceNode::noteOn):
        (WebCore::AudioBufferSourceNode::noteGrainOn):
        (WebCore::AudioBufferSourceNode::totalPitchRate):
        * webaudio/AudioBufferSourceNode.h:

2011-06-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [Freetype] Many tests report ERROR: Failed to get glyph page zero.
        https://bugs.webkit.org/show_bug.cgi?id=63498

        Instead of conditionally instantiating the m_scaledFont member of FontPlatformData,
        always instantiate it. For times when the size is 0 and the instantiation would lead
        to a Cairo error, we use size 1 and just make operations which would fail conditional
        on the m_size > 0.

        No new tests. This change is covered by existing tests. We should
        observe no errors on the bots after landing.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs): Instead of looking at whether or not there is
        a scaled font to determine whether to draw, just look at the size.
        * platform/graphics/freetype/FontPlatformData.h: Remove the m_font member.
        * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Always instantiate
        a scaled font member and remove references to m_font. If we are instantiating
        a scaled font for a 0 size font, instantiate a size 1 font, so that we can
        still use Cairo to query font properties.
        * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
        (WebCore::GlyphPage::fill): We can assume there is always a scaled font now.
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::platformInit): Ditto.
        (WebCore::SimpleFontData::createScaledFontData): Ditto.
        (WebCore::SimpleFontData::containsCharacters): Ditto.
        (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.

2011-06-29  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Media element loads blocked by a resource load delegate do not generate an error event
        https://bugs.webkit.org/show_bug.cgi?id=63558

        Tests: media/media-blocked-by-beforeload.html
               media/media-blocked-by-willsendrequest.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::selectMediaResource): Call mediaLoadingFailed instead of noneSupported
            so all failures follow the same code path.
        (WebCore::HTMLMediaElement::loadResource): Call mediaLoadingFailed when there is no frame, when 
            the loader delegate rejects the url, or when MediaPlayer doesn't find a media engine that
            supports the type.
        (WebCore::HTMLMediaElement::selectNextSourceChild): Fix incorrect logging.
        (WebCore::HTMLMediaElement::mediaLoadingFailed): Change name of parameter from "state" to
            "error" to make its purpose obvious.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load): Return a bool indicating whether or not the url was given to
            a media engine.
        (WebCore::MediaPlayer::loadWithNextMediaEngine): Add some logging.
        * platform/graphics/MediaPlayer.h:

2011-06-29  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
        https://bugs.webkit.org/show_bug.cgi?id=63483

        Test: fast/loader/create-frame-in-DOMContentLoaded.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init): Added an assertion.
        (WebCore::FrameLoader::finishedLoadingDocument): Removed a non-helpful #if
        statement. The rule that we do not call the client when creating the initial
        empty document was nominally specific to Windows and Chromium but is needed
        for all platforms.

2011-06-29  Emil A Eklund  <eae@chromium.org>

        Reviewed by Darin Adler.

        Switch hitTestColumns/Contents/Floats to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63589

        Switch location and size methods for RenderBox over to the new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/ColumnInfo.h:
        (WebCore::ColumnInfo::desiredColumnWidth):
        (WebCore::ColumnInfo::setDesiredColumnWidth):
        (WebCore::ColumnInfo::columnHeight):
        (WebCore::ColumnInfo::setColumnCountAndHeight):
        (WebCore::ColumnInfo::setColumnHeight):
        (WebCore::ColumnInfo::updateMinimumColumnHeight):
        (WebCore::ColumnInfo::minimumColumnHeight):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverflowFromChildren):
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestColumns):
        (WebCore::RenderBlock::hitTestContents):
        (WebCore::RenderBlock::columnRectAt):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
        (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestContents):
        * rendering/RenderLayer.h:

2011-06-29  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Divide by zero in TilingData
        https://bugs.webkit.org/show_bug.cgi?id=63305

        Add safety checks for empty layers.

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::prepareToUpdate):
        (WebCore::LayerTilerChromium::reset):
        (WebCore::LayerTilerChromium::updateRect):

2011-06-29  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        Extract setShadowRoot function, harden it in preparation to be exposed to script.
        https://bugs.webkit.org/show_bug.cgi?id=63596

        Refactoring, covered by existing tests.

        * dom/Element.cpp:
        (WebCore::validateShadowRoot): Added.
        (WebCore::Element::setShadowRoot): Extracted from ensureShadowRoot.
        (WebCore::Element::ensureShadowRoot): Changed to use setShadowRoot.
        * dom/Element.h: Added decl.

2011-06-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: REGRESSION Resource revision fails to request content if it was not yet loaded for resource.
        https://bugs.webkit.org/show_bug.cgi?id=63631

        Test: http/tests/inspector/network/network-request-revision-content.html

        * inspector/front-end/Resource.js:
        (WebInspector.ResourceRevision.prototype.requestContent):

2011-06-29  Igor Oliveira  <igor.oliveira@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] GraphicsContext::clipToImageBuffer does not support scale transformation
        https://bugs.webkit.org/show_bug.cgi?id=63555

        Scale alphaMask if GraphicsContext is scaled

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::pushTransparencyLayerInternal):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::clip):

2011-06-29  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: backend needs to provide system-unique object ids, so these remain unique across navigation
        https://bugs.webkit.org/show_bug.cgi?id=62894

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::setAgentProcessIdentifier):
        * inspector/InspectorController.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::setAgentIdentifier):
        (WebCore::InspectorPageAgent::createIdentifier):
        (WebCore::InspectorPageAgent::frameForId):
        (WebCore::InspectorPageAgent::frameId):
        (WebCore::InspectorPageAgent::frameDestroyed):
        * inspector/InspectorPageAgent.h:

2011-06-29  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: create status bar buttons programmatically. Add "Inspect" button to all panels.
        https://bugs.webkit.org/show_bug.cgi?id=63450

        Buttons should be created in code, not in HTML. Also making Inspect Element
        action available on all panels (as an experiment).

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.show):
        (WebInspector.ConsoleView.prototype.hide):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.get statusBarItems):
        (WebInspector.ElementsPanel.prototype.updateFocusedNode):
        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
        * inspector/front-end/inspector.css:
        (button.dock-status-bar-item.status-bar-item .glyph):
        (button.dock-status-bar-item.status-bar-item.toggled-on .glyph):
        (.console-status-bar-item .glyph):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createGlobalStatusBarItems):
        (WebInspector.set attached):

2011-06-29  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: tab crash after deleting trailing quote when editing attribute
        https://bugs.webkit.org/show_bug.cgi?id=63544

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttributesText):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):

2011-06-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: REGRESSION Inspector failing to load resource content after navigation. Safari.
        https://bugs.webkit.org/show_bug.cgi?id=63480

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkDispatcher):
        (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):

2011-06-29  Mike West  <mkwst@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Missing fields in HAR
        https://bugs.webkit.org/show_bug.cgi?id=58127
        
        Specifically, this patch adds:
        - entry.request.httpVersion
        - entry.request.headersSize
        - entry.request.bodySize
        - entry.response.httpVersion
        - entry.response.headersSize
        - entry.response.bodySize
        - entry.response.content.compression
        
        Tests: http/tests/inspector/resource-har-conversion.html
               http/tests/inspector/resource-har-headers.html
               http/tests/inspector/resource-parameters.html
               http/tests/inspector/network/network-size.html

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildCookie):
        (WebInspector.HAREntry.prototype._interval):
        (WebInspector.HAREntry.prototype.get requestBodySize):
        (WebInspector.HAREntry.prototype.get responseBodySize):
        (WebInspector.HAREntry.prototype.get responseCompression):
        (WebInspector.HARLog.prototype.build):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set requestHeaders):
        (WebInspector.Resource.prototype.get requestHeadersText):
        (WebInspector.Resource.prototype.set requestHeadersText):
        (WebInspector.Resource.prototype.get requestHeadersSize):
        (WebInspector.Resource.prototype.get requestHttpVersion):
        (WebInspector.Resource.prototype.set responseHeaders):
        (WebInspector.Resource.prototype.get responseHeadersText):
        (WebInspector.Resource.prototype.set responseHeadersText):
        (WebInspector.Resource.prototype.get responseHeadersSize):
        (WebInspector.Resource.prototype.get responseHttpVersion):

2011-06-29  Hayato Ito  <hayato@chromium.org>

        Reviewed by Hajime Morita.

        Make a shadow host transfer a focus to the first focusable element in the shadow root when its focus() is called.
        https://bugs.webkit.org/show_bug.cgi?id=62358.

        This patch doesn't take an effect on the following elements to keep a compatibility.
        - <input>, <textarea>, <video> and <audio> elements
        We'll address these elements separately after re-targeting focus events
        (bug 61421) is implemented.

        A shadow root's <content> is not considered in this patch.
        That should be addressed in another patch. See bug 63522.

        Test: fast/dom/shadow/shadow-host-transfer-focus.html

        * dom/Element.cpp:
        (WebCore::Element::focus):
        * page/FocusController.cpp:
        (WebCore::shadowRoot):
        (WebCore::isTreeScopeOwner):
        (WebCore::FocusController::transferFocusToElementInShadowRoot):
        (WebCore::hasCustomFocusLogic):
        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        (WebCore::ownerOfTreeScope):
        (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
        * page/FocusController.h:

2011-06-29  Ryan Sleevi  <rsleevi@chromium.org>

        Reviewed by Dirk Schulze.

        SVGRadialGradientElement::selfHasRelativeLengths() doesn't consider if cx() is relative
        https://bugs.webkit.org/show_bug.cgi?id=61600

        Correct the logic for checking for relative lengths in a SVGRadialGradientElement to consider cx() in addition to cy()
        
        No new tests, as there is no way to currently test this. With the bug present, a side-effect is causing the
        expected/correct image to be rendered. This is because the cached SVG resource is getting invalided through a
        different path, forcing a repaint. The repaint takes into consideration the proper dimensions, hiding the bug.

        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):

2011-06-28  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedType should support SVGBoolean animation
        https://bugs.webkit.org/show_bug.cgi?id=63529

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGBoolean.
        
        The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
        to support animVal and baseVal later.

        Test: svg/animations/svgboolean-animation-1.html

        * CMakeLists.txt: Add new file to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Make use of AnimatedBoolean.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimatedBoolean.cpp: Added. New animator for SVGBoolean.
        (WebCore::SVGAnimatedBooleanAnimator::SVGAnimatedBooleanAnimator):
        (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
        (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedBooleanAnimator::calculateDistance):
        * svg/SVGAnimatedBoolean.h:
        (WebCore::SVGAnimatedBooleanAnimator::~SVGAnimatedBooleanAnimator):
        * svg/SVGAnimatedType.cpp: Use bool for SVGBoolean.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createBoolean):
        (WebCore::SVGAnimatedType::boolean):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h: New crate function for SVGAnimatedSVGBooleanAnimator.
        (WebCore::SVGAnimatorFactory::create):

2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        Make applyAuthorSheets settable on ShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=63599

        Refactoring and adding not-yet used function, tests to follow when API lands.

        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot): Added initializer.
        (WebCore::ShadowRoot::applyAuthorSheets): Made to use member variable.
        (WebCore::ShadowRoot::setApplyAuthorSheets): Added.
        * dom/ShadowRoot.h: Tweaked, added decls.

2011-06-28  Ilya Sherman  <isherman@chromium.org>

        Reviewed by Adam Barth.

        form.autocomplete="off" does not work
        Rename the autoComplete() method for HTMLFormElement, HTMLFormControlElementWithState, and HTMLInputElement to shouldAutocomplete()
        Add the autocomplete attribute to HTMLFormElement.idl and HTMLInputElement.idl
        https://bugs.webkit.org/show_bug.cgi?id=35823

        Test: fast/forms/autocomplete.html

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElementWithState::shouldAutocomplete): Renamed from ::autoComplete()
        (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState): Update callsite.
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::~HTMLFormElement): Update callsite.
        (WebCore::HTMLFormElement::parseMappedAttribute): Update callsite.
        (WebCore::HTMLFormElement::documentDidBecomeActive): Update callsite.
        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Update callsite.
        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Update callsite.
        (WebCore::HTMLFormElement::shouldAutocomplete): Renamed from ::autoComplete()
        * html/HTMLFormElement.h:
        * html/HTMLFormElement.idl: Bind the autocomplete attribute to a JavaScript property.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::shouldAutocomplete): Renamed from ::autoComplete()
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl: Bind the autocomplete attribute to a JavaScript property.
        * WebCore.exp.in: Updated autoComplete() -> shouldAutocomplete()

2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Store shadowPseudoId in ElementRareData.
        https://bugs.webkit.org/show_bug.cgi?id=63604

        No new tests, because the code isn't yet used.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::isUnknownPseudoType): Added convenience helper.
        * css/CSSSelector.h: Added decl.
        * dom/Element.cpp:
        (WebCore::Element::shadowPseudoId): Changed to use ElementRareData.
        (WebCore::Element::setShadowPseudoId): Ditto.
        * dom/Element.h: Added decls.
        * dom/ElementRareData.h: Added a member to keep shadowPseudoId.

2011-06-28  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Remove dependencies on harfbuzz from FontPlatformDataLinux and FontLinux
        https://bugs.webkit.org/show_bug.cgi?id=62530

        - Moved codes of FontLinux which depend on harfbuzz APIs to ComplexTextController.  Removed Some methods of ComplexTextController(advances() and logClusters()) since they are no longer needed.
        - Moved RefCountedHarfbuzzFace from FontPlatformDataLinux to HarfbuzzSkia and renamed it to HarfbuzzFace.

        No new tests because there is no behavior change (The existing tests should cover the changes).

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::ComplexTextController): Added arguments so eliminating setter invocations.
        (WebCore::ComplexTextController::setupForRTL): Added.
        (WebCore::ComplexTextController::setupFontForScriptRun): Adopt the change of HarfbuzzFace class.
        (WebCore::ComplexTextController::setGlyphPositions): Use m_item.log_clusters instead of removed method.
        (WebCore::ComplexTextController::glyphIndexForXPositionInScriptRun): Added.
        (WebCore::ComplexTextController::offsetForPosition): Ditto.
        (WebCore::ComplexTextController::selectionRect): Ditto.
        * platform/graphics/chromium/ComplexTextControllerLinux.h:
        (WebCore::ComplexTextController::width):
        * platform/graphics/chromium/FontLinux.cpp: Removed truncateFixedPointToInteger().
        (WebCore::Font::drawComplexText): Removed setter invocations of ComplexTextController.
        (WebCore::Font::floatWidthForComplexText): Ditto.
        (WebCore::Font::offsetForPositionForComplexText): Moved harfbuzz dependent code to ComplexTextController.
        (WebCore::Font::selectionRectForComplexText): Ditto.
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::harfbuzzFace): Wrapped up HB_FaceRec in HarfbuzzFace class.
        * platform/graphics/chromium/FontPlatformDataLinux.h: Moved RefCountedHarfbuzzFace class and renamed to HarfbuzzFace.
        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::allocHarfbuzzFont): Moved from ComplexTextControllerLinux.cpp.
        (WebCore::HarfbuzzFace::HarfbuzzFace): Added.
        (WebCore::HarfbuzzFace::~HarfbuzzFace): Added.
        * platform/graphics/chromium/HarfbuzzSkia.h:
        (WebCore::HarfbuzzFace::create): Added.
        (WebCore::HarfbuzzFace::face): Added.
        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
        (WebCore::substituteWithVerticalGlyphs): Adopt  the change of HarfbuzzFace class.

2011-06-28  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Eric Seidel.

        Bug 55930 - (CVE-2011-1440) Incorrect handling of 'display:' property within nested <ruby> tags
        https://bugs.webkit.org/show_bug.cgi?id=55930

        Don't set style type BEFORE/AFTER on anonymous wrapper block.
        Rather, check style type on generated wrapped child.

        Tests: fast/ruby/generated-after-counter-doesnt-crash.html
               fast/ruby/generated-before-and-after-counter-doesnt-crash.html
               fast/ruby/generated-before-counter-doesnt-crash.html

        * rendering/RenderRuby.cpp:
        (WebCore::isAnonymousRubyInlineBlock):
        (WebCore::isRubyBeforeBlock):
        (WebCore::isRubyAfterBlock):
        (WebCore::rubyBeforeBlock):
        (WebCore::rubyAfterBlock):
        (WebCore::createAnonymousRubyInlineBlock):
        (WebCore::RenderRubyAsInline::addChild):
        (WebCore::RenderRubyAsBlock::addChild):

2011-06-28  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Switch RenderLayer position/size to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63578

        Switch location and size methods for RenderLayer over to the new layout unit abstraction.
        
        No new tests, no functionality changes.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        (WebCore::RenderLayer::visibleHeight):
        (WebCore::RenderLayer::visibleWidth):
        (WebCore::RenderLayer::offsetFromResizeCorner):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::location):
        (WebCore::RenderLayer::setLocation):
        (WebCore::RenderLayer::size):
        (WebCore::RenderLayer::setSize):
        (WebCore::RenderLayer::rect):
        (WebCore::RenderLayer::renderBoxLocation):
        (WebCore::RenderLayer::renderBoxX):
        (WebCore::RenderLayer::renderBoxY):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::visibleHeight):
        (WebCore::RenderListBox::visibleWidth):
        * rendering/RenderListBox.h:

2011-06-28  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintObject and paintReplaced to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63585

        Switching paintObject and paintReplaced to layout type abstractions from more integral types.

        No new tests as this is just moving to an abstraction.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.h:
        (WebCore::RenderBox::paintObject):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintReplaced):
        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paintReplaced):
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderImage.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintObject):
        * rendering/RenderListBox.h:
        * rendering/RenderReplaced.h:
        (WebCore::RenderReplaced::paintReplaced):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintObject):
        * rendering/RenderTable.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintObject):
        * rendering/RenderTableSection.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::paintObject):
        * rendering/RenderTextControl.h:
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::paintReplaced):
        * rendering/RenderVideo.h:

2011-06-28  Adam Langley  <agl@chromium.org>

        Reviewed by Adam Barth.

        Skip cache validation on back with HTTPS.
        https://bugs.webkit.org/show_bug.cgi?id=63537

        For back navigations over HTTP, WebKit sets a flag to use cached data
        irrespective of whether it has expired. However, this isn't currently
        done for HTTPS.

        The logic in question was added in
        https://bugs.webkit.org/show_bug.cgi?id=33993 and appears to have been
        precautionary. However, both Firefox and IE will use this back
        navigation trick for HTTPS as well and so we should probably behave
        likewise.

        Test: http/tests/cache/history-only-cached-subresource-loads-max-age-https.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::addExtraFieldsToRequest):

2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        Remove errant isShadowBoundary on ShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=63588

        Removing dead code, no tests for that.

        * dom/ShadowRoot.h: Removed a function that's no longer used.

2011-06-28  Zeng Huiqing  <huiqing.zeng@intel.com>

        Reviewed by Kenneth Russell.

        [chromium]Optimize GraphicsLayerChromium::setChildren()
        https://bugs.webkit.org/show_bug.cgi?id=62837

        No new tests. 

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
        (WebCore::GraphicsLayerChromium::setChildren):
        (WebCore::GraphicsLayerChromium::addChild):
        * platform/graphics/chromium/GraphicsLayerChromium.h:

2011-06-28  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintBoxShadow and paintBoxDecorations to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63577

        Switching paintBoxShadow and paintBoxDecorations to layout type abstraction 
        from more integral types.

        No new tests as this is just moving to an abstraction.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxShadow):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderFieldset.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTableCell.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):
        * rendering/RenderView.h:

2011-06-28  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Switch RenderBox position/size to to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63571

        Switch location and size methods for RenderBox over to the new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderInline.cpp:
        * rendering/RenderInline.h:
        * rendering/RenderVideo.cpp:
        * rendering/RenderVideo.h:

2011-06-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89968.
        http://trac.webkit.org/changeset/89968
        https://bugs.webkit.org/show_bug.cgi?id=63581

        Broke chromium windows compile (Requested by jamesr on
        #webkit).

        * WebCore.gyp/WebCore.gyp:
        * loader/cache/CachedFont.cpp:
        * platform/chromium/DragImageRef.h:
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::hash):
        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        (WebCore::GlyphBuffer::expandLastAdvance):
        * platform/graphics/IntPoint.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/IntSize.h:
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cg/FloatPointCG.cpp:
        * platform/graphics/cg/FloatRectCG.cpp:
        * platform/graphics/cg/FloatSizeCG.cpp:
        * platform/graphics/cg/IntPointCG.cpp:
        * platform/graphics/cg/IntRectCG.cpp:
        * platform/graphics/cg/IntSizeCG.cpp:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):

2011-06-28  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch PaintMask* to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63576

        Switching paintMask* to layout type abstraction from more integral types.

        No new tests as this is just moving to an abstraction.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMask):
        (WebCore::RenderBox::paintMaskImages):
        * rendering/RenderBox.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderFieldset.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintMask):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintMask):
        * rendering/RenderTableCell.h:

2011-06-28  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintFillLayer* to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63570

        Switching painFillLayer* to layout type abstraction from more integral types.

        No new tests as this is just moving to an abstraction.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintFillLayers):
        (WebCore::InlineFlowBox::paintFillLayer):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintFillLayers):
        (WebCore::RenderBox::paintFillLayer):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderObject.h:

2011-06-28  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Use appropriate macro for CSSPropertyWebkitAppearance in CSSStyleSelector::applyProperty()
        https://bugs.webkit.org/show_bug.cgi?id=63197

        No new tests / no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro and delete duplicate code.

2011-06-28  Cary Clark  <caryclark@google.com>

        Reviewed by James Robinson.

        Use Skia if Skia on Mac Chrome is enabled
        https://bugs.webkit.org/show_bug.cgi?id=62999

        No new tests. This does not affect existing
        functionality.

        * WebCore.gyp/WebCore.gyp:
        Include Skia and related files and exclude CG
        and related files when building Chromium for Skia
        on the Mac.

        * loader/cache/CachedFont.cpp:
        Rename CHROME to CHROMIUM.

        * platform/chromium/DragImageRef.h:
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::hash):
        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        (WebCore::GlyphBuffer::expandLastAdvance):
        * platform/graphics/IntPoint.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/IntSize.h:
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cg/FloatPointCG.cpp:
        * platform/graphics/cg/FloatRectCG.cpp:
        * platform/graphics/cg/FloatSizeCG.cpp:
        * platform/graphics/cg/IntPointCG.cpp:
        * platform/graphics/cg/IntRectCG.cpp:
        * platform/graphics/cg/IntSizeCG.cpp:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
        Ditto.

2011-06-28  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Stop instantiating Position with PositionIsOffsetInAnchor in various files
        https://bugs.webkit.org/show_bug.cgi?id=63384

        Refactoring.

        Removed many if conditions that compared the anchor type to Position::PositionIsOffsetInAnchor
        because there were also checking that containerNode is a text node.

        Also added Position::containerText() to avoid manually casting containerNode().

        * dom/Position.cpp:
        (WebCore::Position::Position): Added an assertion to ensure BeforeChildren/AfterChildren
        anchor type won't be used for a node whose contents is ignored by editing.
        (WebCore::Position::containerText): Added.
        * dom/Position.h:
        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::isNewLineAtPosition): Removed a redundant comparison of anchor type.
        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Since containerNode
        is always a text node when renderStyleOfEnclosingTextNode returns a render style, use new Position
        constructor that takes Text* and offset.
        (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Removed redundant
        comparison of anchor type and use new Position constructor that takes Text* and offset.
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::splitTextAtStart): Replaced an assertion that compared anchor type by
        an assertion that the container node is a text node; use new constructor.
        (WebCore::ApplyStyleCommand::splitTextAtEnd): Ditto; also added early exits in the case script
        modified DOM.
        (WebCore::ApplyStyleCommand::splitTextElementAtStart): Ditto.
        (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
        (WebCore::ApplyStyleCommand::joinChildTextNodes): Use new constructor.
        * editing/CompositeEditCommand.cpp:
        (WebCore::Editor::replaceSelectedTextInNode): Calls containerText instead of manually casting containerNode.
        * editing/Editor.cpp:
        (WebCore::Editor::canDeleteRange): Call Range::startPosition instead of manually instantiating Position
        by calling startContainer and startOffset.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelectedRange): Ditto.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Calls containerText instead of manually casting containerNode.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Calls containerText instead of manually casting containerNode.
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::characterAfter): Removed a redundant anchor type comparison.
        (WebCore::startVisiblePosition): Call Range::startPosition instead of startContainer and startOffset.
        (WebCore::endVisiblePosition): Call Range::endPosition instead of endContainer and endOffset.
        * editing/htmlediting.cpp:
        (WebCore::firstInSpecialElement): Call containerNode() to address <rdar://problem/5027702>.
        (WebCore::lastInSpecialElement): Ditto; use new constructor.
        * editing/visible_units.cpp:
        (WebCore::endPositionForLine): Use new constructor.
        (WebCore::startOfParagraph): Ditto.
        (WebCore::endOfParagraph): Ditto.

2011-06-28  Rob Buis  <rbuis@rim.com>

        Reviewed by Nikolas Zimmermann.

        SVG1.1SE test text-tref-03-b.svg fails
        https://bugs.webkit.org/show_bug.cgi?id=63390

        Support tref on forward referenced content by listening to DOMSubtreeModified events. This also
        allows updating after modifications in the referenced content subtree.

        Tests: svg/W3C-SVG-1.1-SE/text-tref-03-b.svg
               svg/custom/text-tref-03-b-change-href-dom.svg
               svg/custom/text-tref-03-b-change-href.svg
               svg/custom/text-tref-03-b-dynamic.svg
               svg/custom/text-tref-03-b-dynamic2.svg
               svg/custom/text-tref-03-b-referenced-element-removal.svg
               svg/custom/text-tref-03-b-tref-removal.svg

        * svg/SVGTRefElement.cpp:
        (WebCore::SubtreeModificationEventListener::create):
        (WebCore::SubtreeModificationEventListener::cast):
        (WebCore::SubtreeModificationEventListener::removeFromTarget):
        (WebCore::SubtreeModificationEventListener::SubtreeModificationEventListener):
        (WebCore::SubtreeModificationEventListener::operator==):
        (WebCore::SubtreeModificationEventListener::handleEvent):
        (WebCore::SVGTRefElement::updateReferencedText):
        (WebCore::SVGTRefElement::parseMappedAttribute):
        (WebCore::SVGTRefElement::svgAttributeChanged):
        (WebCore::SVGTRefElement::buildPendingResource):
        (WebCore::SVGTRefElement::removedFromDocument):
        * svg/SVGTRefElement.h:

2011-06-28  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Anders Carlsson.

        Split the string creation into a local (while creating text runs)
        so that it is not destroyed prematurely.
        https://bugs.webkit.org/show_bug.cgi?id=63543

        Run fast/forms/text-control-intrinsic-widths.html under valgrind/ASAN.       
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
        this one is just done for caution, in case, we don't do the same
        mistake when adding legacy rounding hacks option.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::getAvgCharWidth):

2011-06-28  Greg Simon  <gregsimon@chromium.org>

        Reviewed by Dimitri Glazkov.

        Migrate SQLite backing store to LevelDB backing store for Indexeddb.
        https://bugs.webkit.org/show_bug.cgi?id=62780

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::computeFileIdentifier):
        (WebCore::computeUniqueIdentifier):
        (WebCore::IDBFactoryBackendImpl::open):
        (WebCore::migrateObjectStores):
        (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::backingStoreExists):
        * storage/IDBLevelDBBackingStore.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::populateIndex):
        * storage/IDBObjectStoreBackendImpl.h:
        * storage/IDBSQLiteBackingStore.cpp:
        (WebCore::IDBSQLiteBackingStore::backingStoreExists):
        * storage/IDBSQLiteBackingStore.h:

2011-06-28  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Darin Adler.

        Create intermediate classes as a path towards getting off of pixel offsets
        https://bugs.webkit.org/show_bug.cgi?id=61896

        Creating three intermediate typedefs to aid in moving layout and hit testing from integers
        to floats. We'll transition the render tree over to these intermediate types and add
        infrastructure to support the new types behind USE(FLOAT_LAYOUT_OFFSETS). This allows the ultimate
        changeover to be easier.

        Switching LayoutState over to this abstraction to verify it works correctly.

        No new tests since this is creating a new abstraction, not changing current behavior.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::pageLogicalOffset):
        (WebCore::LayoutState::addForcedColumnBreak):
        * rendering/LayoutState.h:
        * rendering/LayoutTypes.h: Added.

2011-06-28  Jeff Miller  <jeffm@apple.com>

        Add fullscreen.css and fullscreenQuickTime.css to the WebCore Visual Studio project for convenience.
        Looks like Visual Studio also re-sorted one more file since my last checkin.

        * WebCore.vcproj/WebCore.vcproj:

2011-06-28  Jeff Miller  <jeffm@apple.com>

        Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.

        * WebCore.vcproj/WebCore.vcproj:

2011-06-28  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Rename 3D transforms to 3D rendering
        https://bugs.webkit.org/show_bug.cgi?id=63508

        This patch allows to include ENABLE_3D_RENDERING to build WebKitGtk+.

        * GNUmakefile.am: Add ENABLE_3D_RENDERING

2011-06-22  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: use column numbers when linking to script location in timeline and console.
        https://bugs.webkit.org/show_bug.cgi?id=63126

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):

2011-06-28  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Allow to build WebKitGtk+ with accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=63404

        WebKitGtk+ needs to implement accelerated compositing for running CSS3 3D transforms 
        and animation through GPU acceleration. We could implement GraphicsLayer using Clutter.

        * GNUmakefile.list.am:
        * platform/graphics/clutter/GraphicsLayerClutter.cpp: Added.
        (WebCore::GraphicsLayer::create): Not implemented yet.
        (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
        (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
        (WebCore::GraphicsLayerClutter::setNeedsDisplay): Ditto.
        (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Ditto.
        * platform/graphics/clutter/GraphicsLayerClutter.h: Added.

2011-06-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r89733): fast/text/zero-font-size.html is failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=63512

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformWidthForGlyph): Initialize the advance local variable, because
        on Leopard wkGetGlyphTransformedAdvances can return successfully yet not update the variable when
        the font size is 0. Presumably, r89733 exposed this by changing the values put on the stack just
        before this function is called.

2011-06-27  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
        https://bugs.webkit.org/show_bug.cgi?id=63446

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::computePseudoClassMask):
        (WebCore::InspectorCSSAgent::getStylesForNode):
        * inspector/InspectorCSSAgent.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-28  Kent Tamura  <tkent@chromium.org>

        Fix a build error on Mac by r89907.

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::endListChanged):

2011-06-27  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Kent Tamura.

        [Chromium] SELECT or autofill popup is trimmed by screen edge on Windows
        https://bugs.webkit.org/show_bug.cgi?id=63438

        If the popup is calculated to be trimmed by a screen edge, an attempt is made
        to alter its vertical edge alignment (set to the right edge for LTR or to the left edge for RTL)
        to see if the trimmed portion becomes smaller than that with the original layout.
        The change involves remembering the original frameRect for the popup and restoring it in refresh().
        This is due to the fact that the frameRect originally set in showInRect() is overwritten
        by layoutAndGetRTLOffset(), which breaks the originally requested popup container layout metrics.
        The max width is reset on every layoutAndCalculateWidgetRect(), as it can be constrained by the screen edge,
        and thus should be re-checked every time the popup is displayed, in case the browser window has been moved.

        Tests: manual-tests/popup-width-restriction-within-screen.html partly covers the fix (should not regress).
        Other than that, there is no way to unit-test the platform-specific native code.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::setMaxWidth): Added. Avoid duplicate popup content layouts (in contrast with setMaxWidthAndLayout()).
        (WebCore::PopupListBox::PopupListBox):
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Attempt a left-right popup alignment inversion
        to minimize the trimmed content. Also restore a default max popup width.
        (WebCore::PopupContainer::layoutAndGetRTLOffset): Always return the popup listbox offset for the RTL (right alignment) case.
        The method rename is due to the return value semantics change.
        (WebCore::PopupContainer::showInRect): Store the originally requested frameRect for the popup.
        (WebCore::PopupContainer::refresh): Restore the original popup frameRect to avoid layout artifacts on refresh.
        (WebCore::PopupContainer::isRTL): This check should be made by the layoutAndGetRTLOffset() clients.
        * platform/chromium/PopupMenuChromium.h:

2011-06-28  Kentaro Hara  <haraken@google.com>

        Reviewed by Kent Tamura.

        Allow spaces between e-mail addresses in 'email' input type.
        https://bugs.webkit.org/show_bug.cgi?id=55987

        Allowed spaces between e-mail addresses in 'email' input type,
        e.g. ' a@p.com , b@p.com ' is a valid value. Implemented the
        value sanitization algorithm for an e-mail value.  Added more unit
        tests that check the e-mail value parser.

        Test: fast/forms/ValidityState-typeMismatch-email.html

        * html/EmailInputType.cpp:
        (WebCore::EmailInputType::typeMismatchFor):
        (WebCore::EmailInputType::sanitizeValue):
        * html/EmailInputType.h:
        * html/parser/HTMLParserIdioms.cpp:
        (WebCore::stripHTMLLineBreaks):
        * html/parser/HTMLParserIdioms.h:
        (WebCore::isHTMLLineBreak):

2011-06-28  Kent Tamura  <tkent@chromium.org>

        Reviewed by Hajime Morita.

        Refactor RenderTextControl::text().
        https://bugs.webkit.org/show_bug.cgi?id=63519

        No new tests because this is just a refactoring.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setInnerTextValue):
         Resuce the number of text() calls.
        (WebCore::finishText):
          - Use StringBuilder.
          - Make this a static function.
            This function doesn't access anything of RenderTextControl.
        (WebCore::RenderTextControl::text):
         Use emptyString() and StringBuilder.
        (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
        * rendering/RenderTextControl.h: Remove finishText().

2011-06-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: console.group messages should never be coalesced
        https://bugs.webkit.org/show_bug.cgi?id=63521

        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::isGroupMessage):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):

2011-06-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: console group boundaries should be more distinct in UI
        https://bugs.webkit.org/show_bug.cgi?id=63455

        Show grey bracket to on the left side of a console group message to highlight
        the group extent.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleGroup):
        * inspector/front-end/inspector.css:
        (#console-prompt):
        (.console-message, .console-user-command):
        (.console-message::before, .console-user-command::before, #console-prompt::before, .console-group-title::before):
        (.console-group-title::before):
        (.console-group):
        (.console-group-bracket):
        (.console-group.collapsed > .console-group-bracket):

2011-06-28  Kent Tamura  <tkent@chromium.org>

        Reviewed by Hajime Morita.

        Use RefPtr for the HTMLElement data members of TextFieldInptType
        and SearchInputType.
        https://bugs.webkit.org/show_bug.cgi?id=63511

        No new tests because of no behavior change.

        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType):
        No need to initialize the element members explicitly because
        RefPtr constructor works well.
        (WebCore::SearchInputType::createShadowSubtree):
        Substitute an element to a data member, and don't call RefPtr<>::release().
        (WebCore::SearchInputType::innerBlockElement):
        Moved from the header file, and adjustment for RefPtr<>.
        (WebCore::SearchInputType::resultsButtonElement): ditto.
        (WebCore::SearchInputType::cancelButtonElement): ditto.
        (WebCore::SearchInputType::destroyShadowSubtree):
         Adjustment for RefPtr<>.
        * html/SearchInputType.h:
         - Move accessor functions to the cpp file because they are virtual.
         - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::TextFieldInputType):
        No need to initialize the element members explicitly because
        RefPtr constructor works well.
        (WebCore::TextFieldInputType::~TextFieldInputType):
        Explicityly defines the destructor in the cpp file to avoid to
        make it implicitly in the header file. If the destructor was made
        in the header file, we would need to include HTMLElement.h in the
        header file.
        (WebCore::TextFieldInputType::createShadowSubtree):
        - Don't call RenderTheme::themeForPage().
        - Substitute an element to a data member, and don't call RefPtr<>::release().
        (WebCore::TextFieldInputType::setInnerTextElement):
         Moved from the header file to avoid to include HTMLElement.h.
        (WebCore::TextFieldInputType::setSpeechButtonElement): ditto.
        (WebCore::TextFieldInputType::innerTextElement):
        Moved from the header file, and adjustment for RefPtr<>.
        (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
        (WebCore::TextFieldInputType::speechButtonElement): ditto.
        (WebCore::TextFieldInputType::destroyShadowSubtree):
         Adjustment for RefPtr<>.
        * html/TextFieldInputType.h:
         - Move accessor functions to the cpp file because they are virtual.
         - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.

2011-06-28  Felician Marton  <marton.felician.zoltan@stud.u-szeged.hu>

        Reviewed by Nikolas Zimmermann.

        SVG animation flickers when restarting
        https://bugs.webkit.org/show_bug.cgi?id=18450

        Add new parameter to the following methods. The new parameter is the time of adding a "begin" or "end" time to the SVG animation.
         - WebCore::SVGSMILElement::addBeginTime
         - WebCore::SVGSMILElement::beginListChanged
         - WebCore::SVGSMILElement::addEndTime
         - WebCore::SVGSMILElement::endListChanged
        In case of beginTime and beginListChanged it's necessary, because the delay between the event of adding a new begin time
        (in WebCore::SVGAnimationElement::beginElementAt) and the actual processing (in WebCore::SVGSMILElement::endListChanged)
        is significant. In lack of event time we can't decide that we should consider the new time or not.
        If the new begin time is smaller than the event time, we musn't begin the animation, else we shoud do further calculations.

        The following methods just modified for consistency:
         - WebCore::SVGSMILElement::addEndTime
         - WebCore::SVGSMILElement::endListChanged

        No new tests, because currently there is no way to test SVG flickering at zero time.

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::beginElementAt):
        (WebCore::SVGAnimationElement::endElementAt):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::attributeChanged):
        (WebCore::SVGSMILElement::addBeginTime):
        (WebCore::SVGSMILElement::addEndTime):
        (WebCore::SVGSMILElement::beginListChanged):
        (WebCore::SVGSMILElement::endListChanged):
          The body changed:
           - Use new parameter, the time of adding the new begin time.
           - Cancel some incorrect optimalization. We should also do further calculations when elapsed >= m_intervalBegin.
        (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
        (WebCore::SVGSMILElement::handleConditionEvent):
        (WebCore::SVGSMILElement::beginByLinkActivation):
        * svg/animation/SVGSMILElement.h:

2011-06-28  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Andreas Kling.

        Adding MHTML reading support.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * features.pri: Disable MHTML on Qt by default in a proper way.

2011-06-28  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Remove ENABLE_XBL, because there aren't ENABLE(XBL) macros anymore.

        * features.pri:

2011-06-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix style error related to wrong include order.

        * platform/graphics/efl/ImageEfl.cpp:

2011-06-27  Brian Weinstein  <bweinstein@apple.com>

        Fix the WebCore vcproj file after r89851.

        * WebCore.vcproj/WebCore.vcproj:

2011-06-27  Joe Wild  <joseph.wild@nokia.com>

        Reviewed by Simon Fraser.

        Crash on www.crave.cnet.com in FrameView::windowClipRect()
        https://bugs.webkit.org/show_bug.cgi?id=56393

        Check for a null renderer to fix a crash. This situation can
        arise when external content/plugins is referenced from html
        elements with style="display:none".

        Test: plugins/hidden-iframe-with-swf-plugin.html

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):

2011-06-27  Raymes Khoury  <raymes@chromium.org>

        Reviewed by Tony Chang.

        WebCore fails to compile in thumb mode when neon instructions are
        enabled.

        There are two files (FELightingNEON.cpp and FEGaussianBlur.cpp)
        which fail to build when -mthumb is passed to gcc. These contain inline
        assembly for neon instructions on arm. This patch forces the -marm flag
        to be passed when compiling these files to work around this.

        https://bugs.webkit.org/show_bug.cgi?id=62916

        Built WebKit in Chromium and checked that -marm is passed
        only when building these files.

        https://bugs.webkit.org/show_bug.cgi?id=62916

        * WebCore.gyp/WebCore.gyp:

2011-06-27  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Darin Fisher.

        Adding binary part support to MHTML.
        https://bugs.webkit.org/show_bug.cgi?id=63310

        * loader/archive/mhtml/MHTMLArchive.cpp:
        (WebCore::MHTMLArchive::generateMHTMLData):
        (WebCore::MHTMLArchive::generateMHTMLDataUsingBinaryEncoding):
        * loader/archive/mhtml/MHTMLArchive.h:
        * loader/archive/mhtml/MHTMLParser.cpp:
        (WebCore::MHTMLParser::parseNextPart):
        * platform/SharedBuffer.cpp:
        (WebCore::SharedBuffer::append):
        * platform/SharedBuffer.h:
        * platform/network/MIMEHeader.cpp:
        (WebCore::MIMEHeader::parseContentTransferEncoding):
        * platform/network/MIMEHeader.h:

2011-06-27  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Add support for unicode-bidi:plaintext CSS property
        https://bugs.webkit.org/show_bug.cgi?id=50949

        Adding support for unicode-bidi: plaintext. This involves invoking P2 and P3
        of the Unicode BiDi algorithm on each paragraph of a block with that style.
        This is similar to dir=auto but done per-paragraph instead of per element.

        Test: fast/text/international/unicode-bidi-plaintext.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):  Added plaintext.
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): Ditto.
        * css/CSSValueKeywords.in: Ditto.
        * html/HTMLElement.cpp:
        (WebCore::unicodeBidiAttributeForDirAuto): Helper to map elements with dir=auto
        to their proper unicode-bidi attribute.
        (WebCore::HTMLElement::parseMappedAttribute): Assign plaintext to pre and textarea
        when dir=auto.
        * platform/text/UnicodeBidi.h: Added plaintext.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::determineParagraphDirection): Determines the direction of a paragraph
        based on the first strong character. Stops at first paragraph separator.
        (WebCore::RenderBlock::layoutInlineChildren): Uses determineParagraphDirection
        when in unicode-bidi: plaintext mode (and operating at the block's BidiContext)
        to set each paragraph to the proper base BidiContext.
        (WebCore::RenderBlock::determineStartPosition): Ditto.
        * rendering/style/RenderStyle.h: Gave _unicodebidi another bit to accomodate
        for plaintext.

2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Darin Adler.

        Use specific headers includes rather than full system headers.
        https://bugs.webkit.org/show_bug.cgi?id=63475

        Use only needed headers rather than system headers.

        No new tests, it's just a little cosmetic change.

        * platform/mac/WebVideoFullscreenController.h:
        * platform/mac/WebVideoFullscreenHUDWindowController.h:

2011-06-27  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Allow non-main thread text drawing in ICU ports
        https://bugs.webkit.org/show_bug.cgi?id=63482

        Some ports allow multiple threads to draw strings.
        LineBreakIteratorPool is not thread safe and the existing
        ASSERT caught cases where multiple threads were trying
        to access the shared pool. This makes the pool a lazily
        created per-thread pool to allow for thread safe pool use.

        * platform/ThreadGlobalData.h:
        * platform/ThreadGlobalData.cpp:
        (WebCore::ThreadGlobalData::ThreadGlobalData): start with null.
        (WebCore::ThreadGlobalData::lineBreakIteratorPool): lazily create.
        (WebCore::ThreadGlobalData::destroy): delete.
        Manage the lifetime of the per-thread pool instance.

        * platform/text/LineBreakIteratorPoolICU.h:
        (WebCore::LineBreakIteratorPool::sharedPool):
        Use the per-thread pool instance and remove the ASSERT that
        this needs to be on the main thread.

        (WebCore::LineBreakIteratorPool::create):
        Create a PassOwnPtr so we can use OwnPtr on pools.

        (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
        Private now that there is a public create function.

2011-06-27  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Extract LineBreakIteratorPool class into its own file
        https://bugs.webkit.org/show_bug.cgi?id=63471

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add the new file to builds that used TextBreakIteratorPoolICU.h.

        * platform/text/LineBreakIteratorPoolICU.h: Added.
        (WebCore::LineBreakIteratorPool::sharedPool):
        (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
        Expose the constructor so it can be used by others.

        * platform/text/TextBreakIteratorICU.cpp:
        Remove the old LineBreakIteratorPool implementation.

2011-06-27  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Ryosuke Niwa.

        CompositeEditCommand::inputText(const String& text, bool selectedInsertText) is unused
        https://bugs.webkit.org/show_bug.cgi?id=62921

        * editing/CompositeEditCommand.cpp:
        * editing/CompositeEditCommand.h:
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):

2011-05-17  Nat Duca  <nduca@chromium.org>

        Reviewed by James Robinson.

        [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
        https://bugs.webkit.org/show_bug.cgi?id=58408

        Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
        thread and compositor thread halves of a composited view. Communication
        between the two is based on the design used in FileStreamProxy.

        * WebCore.gypi:
        * platform/chromium/TraceEvent.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::setViewport):
        (WebCore::LayerRendererChromium::updateLayers):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromiumImpl::create):
        (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
        (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
        (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
        (WebCore::LayerRendererChromiumImplProxy::create):
        (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
        (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
        (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
        (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (WebCore::CCHeadsUpDisplay::currentFrameNumber):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::init):
        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::beginCommit):
        (WebCore::CCLayerTreeHost::commitComplete):
        (WebCore::CCLayerTreeHost::animateAndLayout):
        (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
        (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        (WebCore::CCLayerTreeHost::updateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHost::frameNumber):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHostCommitter::create):
        (WebCore::CCLayerTreeHostCommitter::commit):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::beginCommit):
        (WebCore::CCLayerTreeHostImpl::commitComplete):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
        (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
        (WebCore::CCLayerTreeHostImpl::frameNumber):
        (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
        (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
        (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
        (WebCore::CCLayerTreeHostImplProxy::start):
        (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
        (WebCore::CCLayerTreeHostImplProxy::isStarted):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
        (WebCore::CCLayerTreeHostImplProxy::stop):
        (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::isMainThread):
        (WebCore::CCLayerTreeHostImplProxy::isCCThread):
        (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
        (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
        (WebCore::CCLayerTreeHostImplProxy::host):
        * platform/graphics/chromium/cc/CCMainThreadTask.h:
        * platform/graphics/chromium/cc/CCThread.cpp:
        (WebCore::CCThread::runLoop):
        * platform/graphics/chromium/cc/CCThreadTask.h:

2011-06-27  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Simon Fraser.

        Fix removal of overhanging floats on style changes to absolute/fixed position.
        https://bugs.webkit.org/show_bug.cgi?id=63355

        1. If we are not currently positioned.
        2. And we are not floating. (If we are floating, then this will be automatically
           done in RenderBox::styleWillChange as part of removeFloatingOrPositionedChildFromBlockLists) 
        3. And we have overhanging floats from previous sibling blocks.
        4. And our new new style tells that we will have absolute or fixed position.

        Then, we mark all our descendants with floats for layout. This will make sure that
        overhanging floats are removed. Also, it is important to do that since if that previous
        sibling block goes away, it is not able to tell us that to remove those floats thinking 
        that being a positioned block, we should have removed them already.

        Tests: fast/block/float/intruding-float-add-in-sibling-block-on-static-position.html
               fast/block/float/intruding-float-add-in-sibling-block-on-static-position2.html
               fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html
               fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html
               fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html
               fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html
               fast/block/float/overhanging-float-add-in-static-position-block.html
               fast/block/float/overhanging-float-add-in-static-position-block2.html
               fast/block/float/overhanging-float-remove-from-absolute-position-block.html
               fast/block/float/overhanging-float-remove-from-absolute-position-block2.html
               fast/block/float/overhanging-float-remove-from-fixed-position-block.html
               fast/block/float/overhanging-float-remove-from-fixed-position-block2.html

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

2011-06-27  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedType should support SVGPreserveAspectRatio animation
        https://bugs.webkit.org/show_bug.cgi?id=63456
        
        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedPreserveAspectRatio.
        
        The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
        to support animVal and baseVal later.

        Test: svg/animations/svgPreserveAspectRatio-animation-1.html

        * CMakeLists.txt: Added new file.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Handle AnimatedPreserveAspectRatio.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimatedPreserveAspectRatio.cpp: Added. New animator for SVGAnimatedPreserveAspectRatio.
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::SVGAnimatedPreserveAspectRatioAnimator):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateDistance):
        * svg/SVGAnimatedPreserveAspectRatio.h:
        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::~SVGAnimatedPreserveAspectRatioAnimator):
        * svg/SVGAnimatedType.cpp: Support for SVGPreserveAspectRatio.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createPreserveAspectRatio):
        (WebCore::SVGAnimatedType::preserveAspectRatio):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::setPreserveAspectRatioBaseValue):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):

2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove Phonon MediaPlayer from the tree.
        https://bugs.webkit.org/show_bug.cgi?id=63448

        Remove Phonon mediaplayer as it is unused, not finished and
        unmaintained.

        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * features.pri:
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Removed.
        * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Removed.

2011-06-27  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        Crash in TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=63334

        Fix a crash in TextIterator. Keep m_sortedTextBoxes and renderer consistent
        and check !m_offset when handling first letter.

        Also add more assertions to help detecting similar bugs.

        Test: editing/text-iterator/first-letter-rtl-crash.html

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextNode):
        (WebCore::TextIterator::emitText):

2011-06-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] tst_QWebFrame::overloadedSlots() fails
        https://bugs.webkit.org/show_bug.cgi?id=37319

        This patch is based on Noam Rosenthal original patch in the same bug.

        When hinted with QWebElement metatype, we qualify the conversion
        from JSElement as a "perfect match".

        The test was failing because the wrong slot was called, since the QWebElement
        match was taken as equal to the others and not chosen when the metacall happened.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant): Identify the conversion between JSElement
        to QWebElement as a "perfect match" (dist = 0). Add comments to explain the reason
        why we have the implicit conversion.

2011-06-27  ChangSeok Oh  <shivamidow@gmail.com>

        Reviewed by Martin Robinson.

        [GTK] Fix build break to support webgl
        https://bugs.webkit.org/show_bug.cgi?id=63425

        Some missing files in ANGLE are just added to fix build-break.

        No test reqired

        * GNUmakefile.list.am:

2011-06-27  Hyowon Kim  <hw1008.kim@samsung.com>

        Reviewed by Martin Robinson.

        [EFL] Add some PLATFORM(EFL) ifdefs to GraphicsContext3D.h
        https://bugs.webkit.org/show_bug.cgi?id=62959

        Add PLATFORM(EFL) ifdefs to use GraphicsContextInternal.

        * platform/graphics/GraphicsContext3D.h:

2011-06-27  Alexandru Chiculita  <achicu@adobe.com>

        Reviewed by Ojan Vafai.

        css combinator "+" in combination with NAV tag is buggy
        https://bugs.webkit.org/show_bug.cgi?id=47971

        Added a new state in css/tokenizer.flex for the "nth" rule. The state begins
        at nth-*( functions and ends at the first ")". It avoids parsing selectors 
        like "#div+nav" as: "#div" "+n" "av".

        Test: fast/css/div_plus_nav_bug47971.html

        * css/maketokenizer:
        * css/tokenizer.flex:

2011-06-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89822.
        http://trac.webkit.org/changeset/89822
        https://bugs.webkit.org/show_bug.cgi?id=63461

        Broken builds (Requested by apavlov on #webkit).

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getStylesForNode):
        * inspector/InspectorCSSAgent.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-27  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Adam Roben.

        Send keypress events to windowless plugins on the windows port.
        https://bugs.webkit.org/show_bug.cgi?id=63144

        No new tests.  Covered by existing windowless plugin tests plugins/mouse-events.html
        and plugins/keyboard-events.html.  Both are not yet working as desired because focus
        events are not being fowarded to windowed plugins on the win port (bug 62375).  Test
        plugin logging on the win port was added in bug 61721.  New failing expectations for
        plugins/keyboard-events.html were subsequently added in bug 33973 so there's no need
        to update test expectations in this patch.

         * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::handleKeyboardEvent): Add an ASSERT(m_plugin && !m_isWindowed)
        to indicate that the routine is for windowless plugins.  Remove trailing whitespace.
        Add handling for keyPress events (map to WM_CHAR).
        (WebCore::PluginView::handleMouseEvent): Add the ASSERT to indicate that the routine
        is for windowless plugins.  Add FIXME note.  Remove trailing whitespace.

2011-06-27  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
        https://bugs.webkit.org/show_bug.cgi?id=63446

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::computePseudoClassMask):
        (WebCore::InspectorCSSAgent::getStylesForNode):
        * inspector/InspectorCSSAgent.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-27  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION r84481] updateLayout called from DrawNodeHighlight
        https://bugs.webkit.org/show_bug.cgi?id=63405

        We should not call layout from paint.

        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::drawNodeHighlight):
        * inspector/DOMNodeHighlighter.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::drawNodeHighlight):

2011-06-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix style error in EFL port.

        * platform/efl/PlatformKeyboardEventEfl.cpp:
        * platform/efl/PlatformScreenEfl.cpp:
        * platform/efl/SharedBufferEfl.cpp:

2011-06-27  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: node selection is slow in the Elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=60813

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-26  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: roll out r88337 for making tests flaky.
        https://bugs.webkit.org/show_bug.cgi?id=63422

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.updateStyles):
        (WebInspector.ElementsPanel.prototype._stylesUpdated):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-27  Huang Dongsung  <luxtella@company100.net>

        Reviewed by Kenneth Rohde Christiansen.

        TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
        error.
        https://bugs.webkit.org/show_bug.cgi?id=62422

        REGRESSION(r77286): Remove bottomRight().
        REGRESSION(r77312): Change the logic to get the bottom right point.
        REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
        REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
        REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.

        If the viewport width equals the contents width, especially in the mobile
        device, TiledBackingStore endlessly creates and deletes the rightmost
        column and bottom row of tiles.
        In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
        deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
        tiles infinitely.
        Modified TiledDrawingAreaProxy also.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::innerBottomRight):
        (WebCore::TiledBackingStore::invalidate):
        (WebCore::TiledBackingStore::paint):
        (WebCore::TiledBackingStore::createTiles):

2011-06-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove LegacyDefaultOptionalArguments from WebAudio IDL files
        https://bugs.webkit.org/show_bug.cgi?id=63416

        WebAudio isn't that widely used, so it's seems somewhat safe to remove
        legacy code generation hacks.  I'm not an expert on WebAudio, but the
        API doesn't appear to need many optional arguments.

        There are a bunch of APIs that have custom bindings that look like they
        could be autogenerated.  I've added FIXME comments where appropriate.

        * webaudio/AudioBuffer.idl:
        * webaudio/AudioContext.idl:
        * webaudio/AudioListener.idl:
        * webaudio/AudioNode.idl:
        * webaudio/AudioPannerNode.idl:
        * webaudio/AudioParam.idl:
        * webaudio/RealtimeAnalyserNode.idl:

2011-06-26  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: REGRESSION Scripts panel sidebar pane context menu has no "Remove breakpoint" item
        https://bugs.webkit.org/show_bug.cgi?id=63421

        Show generic sidebar menu only if no pane-specific menu has been shown.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):

2011-06-26  Adam Barth  <abarth@webkit.org>

        Build fix for clang.  Apparently clang doesn't want us to use the std
        namespace in headers, which makes sense.

        * svg/SVGAnimatedType.h:

2011-06-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove LegacyDefaultOptionalArguments from XMLHttpRequest.idl and XMLHttpRequestUpload.idl
        https://bugs.webkit.org/show_bug.cgi?id=63418

        The XMLHttpRequest.idl interface used to implement the new behavior
        manually using the RequiresAllArguments attribute.  Now that we have
        that behavior by default, we can simply remove the
        LegacyDefaultOptionalArguments attribute.

        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestUpload.idl:

2011-06-26  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedType should support SVGLengthList animation
        https://bugs.webkit.org/show_bug.cgi?id=63399

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList.
        
        Interpolated animations of glyph positions are possible now.

        Tests: svg/animations/svglengthlist-animation-1.html
               svg/animations/svglengthlist-animation-2.html
               svg/animations/svglengthlist-animation-3.html
               svg/animations/svglengthlist-animation-4.html

        * CMakeLists.txt: Add new file to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList.
        (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator):
        (WebCore::SVGAnimatedLengthListAnimator::constructFromString):
        (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedLengthListAnimator::calculateDistance):
        * svg/SVGAnimatedLengthList.h:
        (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator):
        * svg/SVGAnimatedType.cpp: Add SVGLengthList.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createLengthList):
        (WebCore::SVGAnimatedType::lengthList):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value.
        (WebCore::SVGLength::SVGLength):
        * svg/SVGLength.h:

2011-06-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        window.location should use the holder's prototype chain
        https://bugs.webkit.org/show_bug.cgi?id=63411

        This patch corrects the prototype chain for Location, but we really
        should do a complete cleanup of the prototype chain generation, like we
        did for JavaScriptCore.

        Test: http/tests/security/location-prototype.html

        * bindings/scripts/CodeGeneratorV8.pm:

2011-06-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add [Optional] attributes where appropriate for addEventListener and removeEventListener
        https://bugs.webkit.org/show_bug.cgi?id=63417

        This patch doesn't actually change behavior because these interfaces
        have the LegacyDefaultOptionalArguments attribute.  This patch paves
        the way to removing LegacyDefaultOptionalArguments from some of these
        interfaces as well as making the project safer for copy-and-pasting
        these methods into new IDL files that don't have the
        LegacyDefaultOptionalArguments attribute.

        * bindings/scripts/test/TestObj.idl:
        * dom/EventTarget.idl:
        * dom/MediaStream.idl:
        * dom/MessagePort.idl:
        * dom/Node.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * notifications/Notification.idl:
        * page/DOMWindow.idl:
        * page/EventSource.idl:
        * storage/IDBRequest.idl:
        * storage/IDBTransaction.idl:
        * svg/SVGElementInstance.idl:
        * websockets/WebSocket.idl:
        * workers/AbstractWorker.idl:
        * workers/WorkerContext.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestUpload.idl:

2011-06-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Kent Tamura.

        m_formElementsWithFormAttribute doesn't ref the objects it holds
        https://bugs.webkit.org/show_bug.cgi?id=62956

        Test: fast/forms/form-associated-element-crash3.html

        * dom/Document.h:

2011-06-26  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        FileList::filenames should be FileList::paths, because it's more accurate.
        https://bugs.webkit.org/show_bug.cgi?id=63414

        Refactoring, no change in behavior.

        * fileapi/FileList.cpp:
        (WebCore::FileList::paths): Renamed from filenames.
        * fileapi/FileList.h:
        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent): Changed to use filenames, also fixed a reach-unto-thyself whoopsie.
        (WebCore::FileInputType::requestIcon): Ditto.
        (WebCore::FileInputType::filesChosen): Ditto.
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::fileTextValue): Ditto.

2011-06-26  Young Han Lee  <joybro@company100.net>

        Reviewed by Dirk Schulze.

        SVGAnimation - keyTime value 1 never get animated
        https://bugs.webkit.org/show_bug.cgi?id=63230

        According to the SMIL 3.0 specification, the index of the keyTimes should be 
        determined under the end-point-exclusive rule (e.g. Given keyTimes(0;0.5;1) 
        and t=0.5, the current index of the keyTimes have to be 1 not 0).
        http://www.w3.org/TR/SMIL3/smil-animation.html#animationNS-InterpolationExamplesAdvanced

        Test: svg/animations/animate-number-calcMode-discrete-keyTimes.html

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::calculateKeyTimesIndex):

2011-06-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        With word-break: break-all, words do not break correctly before a surrogate pair
        https://bugs.webkit.org/show_bug.cgi?id=63401

        The code to check for mid-word breaks accumulates width one character at a time. It was actually
        measuring the two parts of the surrogate pair individually, so they appeared to have zero width.
        Fixed by checking for surrogate pairs and measuring the pair as one unit.

        Test: fast/text/midword-break-before-surrogate-pair.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):

2011-06-26  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedType should support SVGNumberOptionalNumber animation
        https://bugs.webkit.org/show_bug.cgi?id=63397
        
        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedNumberOptionalNumber.
        
        Animations of attributes with type SVGAnimatedNumberOptionalNumber can be interpolated now. This can be used for smooth
        growing shadows with feGaussianBlur, feDropShadow or other filter effects.

        Tests: svg/animations/svgnumberoptionalnumber-animation-1.html
               svg/animations/svgnumberoptionalnumber-animation-2.html
               svg/animations/svgnumberoptionalnumber-animation-3.html
               svg/animations/svgnumberoptionalnumber-animation-4.html

        * CMakeLists.txt: Added new files to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberOptionalNumber.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimatedNumberOptionalNumber.cpp: Added. New animator for SVGAnimatedNumberOptionalNumber.
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::SVGAnimatedNumberOptionalNumberAnimator):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateDistance):
        * svg/SVGAnimatedNumberOptionalNumber.h: Added.
        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::~SVGAnimatedNumberOptionalNumberAnimator):
        * svg/SVGAnimatedType.cpp: Added new type: pair<float, float>.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createNumberOptionalNumber):
        (WebCore::SVGAnimatedType::numberOptionalNumber):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h: Add new animator to factory.
        (WebCore::SVGAnimatorFactory::create):

2011-06-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        Crash in frameless document with media element.
        https://bugs.webkit.org/show_bug.cgi?id=63393

        Since MediaControls::create can return 0 (and does for frameless documents), we must anticipate it
        in the calling code.

        Test: fast/dom/shadow/frameless-media-element-crash.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::attributeChanged): Changed to bail out if controls weren't successfully created.
        (WebCore::HTMLMediaElement::createMediaControls): Renamed to better reflect the purpose, changed to handle failure of creation.
        (WebCore::HTMLMediaElement::preDispatchEventHandler): Changed to bail out if controls weren't successfully created.
        * html/HTMLMediaElement.h: Adjusted def.

2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Fix some minor style issues
        https://bugs.webkit.org/show_bug.cgi?id=63391

        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
        The explicit WebCore namespace usage can be dropped.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):
        Use ASSERT_UNUSED for a parameter that we want to ASSERT
        on for a debug build, but is UNUSED in a release build.

2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>

        Unreviewed build fix.

        Use UNUSED_PARAM on the correct param!

        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):

2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Simon Fraser.

        Inspector highlight rect is wrong for contents of transformed iframes
        https://bugs.webkit.org/show_bug.cgi?id=53627

        Part 2: Only adjust for the FrameView's scroll position when
        the localToAbsolute mapping did not end with fixed content.
        Content that is inside of a fixed position container is already
        adjusted for the FrameView's scrollPosition when RenderView
        maps local to container.

        This patch uses a "wasFixed" out parameter to determine if
        the localToAbsolute transformation ended inside a fixed block,
        and if so does not apply the scroll position.

        * page/FrameView.cpp:
        (WebCore::FrameView::convertFromRenderer):
        Respect wasFixed as described above.

        * rendering/RenderBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::mapLocalToContainer):
        This is the only time that "fixed" ever changed. So when
        fixed changes, update the optional wasFixed out parameter.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::localToAbsolute):
        (WebCore::RenderObject::mapLocalToContainer):
        (WebCore::RenderObject::localToContainerQuad):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::localToAbsoluteQuad):
        Ignore wasFixed by default, but pipe it though where needed.

        * rendering/RenderView.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):
        This is the final recursive call, so wasFixed goes no
        further. We sanity check its value in debug builds.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRectsForRepaint):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::mapLocalToContainer):
        * rendering/RenderInline.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::mapLocalToContainer):
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::mapLocalToContainer):
        * rendering/svg/RenderSVGInline.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::mapLocalToContainer):
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::mapLocalToContainer):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::mapLocalToContainer):
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::mapLocalToContainer):
        * rendering/svg/SVGRenderSupport.h:
        Pipe wasFixed through where needed.

2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Simon Fraser.

        Inspector highlight rect is wrong for contents of transformed iframes
        https://bugs.webkit.org/show_bug.cgi?id=53627

        Part 1: Provide FloatQuad versions of convertFromRenderer,
        convertToContainingView, and convertChildToSelf, so that we
        can get the fully transformed quad of a renderer all the
        way up to the root widget.

        * page/FrameView.cpp:
        (WebCore::FrameView::convertFromRenderer):
        (WebCore::FrameView::convertToContainingView):
        * page/FrameView.h:
        * platform/ScrollView.h:
        (WebCore::ScrollView::convertChildToSelf):
        * platform/Widget.h:
        * platform/Widget.cpp:
        (WebCore::Widget::convertToContainingView):
        Provide FloatQuad versions of these already existing functions.

        (WebCore::Widget::convertToRootContainingView):
        Provide a helper conversion function to recursively
        convert a given FloatQuad up to the root widget.

        * inspector/DOMNodeHighlighter.cpp:
        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
        Use the new methods to convert the FloatQuad for the highlighted
        node to the root container, without losing transformation
        information. Add a FIXME for SVG, which is still broken.

        * WebCore.exp.in:
        Export the new Widget functions so WebKit can link properly.

2011-06-25  Dirk Schulze  <krit@webkit.org>

        Unreviewed build fix.

        SVGAnimatedType should support SVGNumberList animation
        https://bugs.webkit.org/show_bug.cgi?id=63387

        * svg/SVGAnimatedNumberList.cpp:
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):

2011-06-25  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatedType should support SVGNumberList animation
        https://bugs.webkit.org/show_bug.cgi?id=63387
        
        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumberList.
        
        Animations of attributes with type SVGNumberList can be interpolated now.

        Tests: svg/animations/svgnumberlist-animation-1.html
               svg/animations/svgnumberlist-animation-2.html

        * CMakeLists.txt: Added new file to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberList.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedNumber): Made method static for reuse in SVGAnimatedNumberList (and SVGAnimatedNumberOptionalNumber later).
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue): Use new static function.
        * svg/SVGAnimatedNumber.h:
        * svg/SVGAnimatedNumberList.cpp: Added. New animator for SVGNumberList.
        (WebCore::SVGAnimatedNumberListAnimator::SVGAnimatedNumberListAnimator):
        (WebCore::SVGAnimatedNumberListAnimator::constructFromString):
        (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedNumberListAnimator::calculateDistance):
        * svg/SVGAnimatedNumberList.h:
        (WebCore::SVGAnimatedNumberListAnimator::~SVGAnimatedNumberListAnimator):
        * svg/SVGAnimatedType.cpp: Use new Animator.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createNumberList):
        (WebCore::SVGAnimatedType::numberList):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):

2011-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Convert SVGPath to SVGAnimatorFactory concept
        https://bugs.webkit.org/show_bug.cgi?id=63336

        Convert <animate attributeName="d"> parsing to the new SVGAnimatorFactory concept, removing
        the last special data types from SVGAnimateElement: SVGPathByteStream m_fromPath/m_toPath/m_animatedPath.
        All existing non-string primitives have been converted to the new concept.

        Doesn't change any functionality.

        * CMakeLists.txt: Added SVGAnimatedPath.*.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimatedPath.cpp: Added.
        (WebCore::SVGAnimatedPathAnimator::SVGAnimatedPathAnimator):
        (WebCore::SVGAnimatedPathAnimator::constructFromString):
        (WebCore::SVGAnimatedPathAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedPathAnimator::calculateDistance):
        * svg/SVGAnimatedPath.h: Added.
        (WebCore::SVGAnimatedPathAnimator::~SVGAnimatedPathAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createPath):
        (WebCore::SVGAnimatedType::path):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGPathByteStream.h:
        (WebCore::SVGPathByteStream::initializeFrom):
        * svg/SVGPathParserFactory.cpp:
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):

2011-06-25  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        SOFT_LINK_POINTER_OPTIONAL isn't optional.
        https://bugs.webkit.org/show_bug.cgi?id=63378

        Continuation of r89718.  SOFT_LINK_POINTER_OPTIONAL should check the value returned by dlsym before dereferencing it.

        * platform/mac/SoftLinking.h:

2011-06-25  Rob Buis  <rbuis@rim.com>

        Reviewed by Nikolas Zimmermann.

        SVG1.1SE test linking-uri-01-b.svg fails
        https://bugs.webkit.org/show_bug.cgi?id=63322

        Allow navigating to internal <view> targets. When choosing Back ensure
        the <svg> current view is initialized correctly.

        Tests: svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg
               svg/custom/linking-uri-01-b.svg

        * page/FrameView.cpp: Delegate to setupInitialView.
        (WebCore::FrameView::scrollToAnchor):
        * svg/SVGAElement.cpp: Allow navigating to internal <view> targets.
        (WebCore::SVGAElement::defaultEventHandler):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setupInitialView): Initialize current view depending on fragment identifier.
        (WebCore::SVGSVGElement::inheritViewAttributes):
        * svg/SVGSVGElement.h:

2011-06-24  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
        https://bugs.webkit.org/show_bug.cgi?id=63373

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
        (WebCore::CSSStyleSelector::pushParent): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::parentOrHostElement): Added.
        * dom/Node.h:

2011-06-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Add an option to enable legacy rounding hacks
        https://bugs.webkit.org/show_bug.cgi?id=63363

        Restored most of text rounding hacks which were removed in r78846, with a global flag to control
        whether rounding hacks are allowed, which defaults to false.

        Test: platform/mac/fast/text/rounding-hacks.html

        * CMakeLists.txt: Added TextRun.cpp.
        * GNUmakefile.list.am: Ditto.
        * WebCore.exp.in: Export new TextRun function and global and updated StringTruncator functions.
        * WebCore.gypi: Added TextRun.cpp.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal): Disable rounding hacks in the one place
        they used to be disabled.
        * platform/graphics/Font.cpp: Re-added the rounding character table.
        * platform/graphics/Font.h:
        (WebCore::Font::isRoundingHackCharacter): Re-added.
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Account for final rounding width.
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::adjustedSpaceWidth): Re-added.
        * platform/graphics/StringTruncator.cpp:
        (WebCore::stringWidth): Re-added disableRoundingHacks parameter.
        (WebCore::truncateString): Ditto.
        (WebCore::StringTruncator::centerTruncate): Added EnableRoundingHacksOrNot parameter.
        (WebCore::StringTruncator::rightTruncate): Ditto.
        (WebCore::StringTruncator::width): Ditto.
        * platform/graphics/StringTruncator.h:
        * platform/graphics/TextRun.cpp: Added.
        (WebCore::TextRun::setAllowsRoundingHacks): Added.
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun): Added RoundingHacks parameter to the constructors, used to initialize
        the m_applyRunRounding and m_applyWordRounding member variables, subject to rounding hacks being allowed.
        (WebCore::TextRun::applyRunRounding): Re-added this accessor.
        (WebCore::TextRun::applyWordRounding): Ditto.
        (WebCore::TextRun::disableRoundingHacks): Re-added.
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator): Re-added code to apply rounding hacks.
        (WebCore::WidthIterator::advance): Ditto.
        * platform/graphics/WidthIterator.h:
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ceilCGFloat): Re-added.
        (WebCore::ComplexTextController::ComplexTextController): Re-added code to apply rounding hacks.
        (WebCore::ComplexTextController::advance): Ditto.
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.
        * platform/graphics/mac/ComplexTextController.h:
        (WebCore::ComplexTextController::finalRoundingWidth): Re-added this accessor.
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::getGlyphsAndAdvancesForComplexText): Accound for final rounding width.
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::fileListNameForWidth): Enabled rounding hacks in the string truncator.
        * platform/mac/DragImageMac.mm:
        (WebCore::widthWithFont): Disable rounding hacks when measuring.
        (WebCore::drawAtPoint): Disable rounding hacks when drawing.
        * platform/win/DragImageWin.cpp:
        (WebCore::createDragImageForLink): Enable rounding hacks in the string truncator.
        * platform/win/WebCoreTextRenderer.cpp:
        (WebCore::WebCoreTextFloatWidth): Ditto.
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject): Disable rounding hacks.
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement): Ditto.
        (WebCore::RenderListBox::paintItemForeground): Ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::fileListNameForWidth): Enabled rounding hacks in the string truncator.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::constructTextRun): Disabled rounding hacks.
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::constructTextRun): Ditto.

2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
        https://bugs.webkit.org/show_bug.cgi?id=59085

        font substitution doesn't work for HTML text using SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=17608

        Selection rects are wrong for text with SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=25460

        With @font-face, SVG fonts only work as primary, non-segmented
        https://bugs.webkit.org/show_bug.cgi?id=32227

        When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
        https://bugs.webkit.org/show_bug.cgi?id=34236

        SVG @font-face breaks text-overflow: ellipsis
        https://bugs.webkit.org/show_bug.cgi?id=36840

        REGRESSION: SVG Font selection problems
        https://bugs.webkit.org/show_bug.cgi?id=41934

        Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
               svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
               svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
               svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
               svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)

        Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
        That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
        There's no difference anymore between using a native font or a SVG Font, in terms of these operations.

        This makes text selection using SVG Fonts possible again.

        * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
        * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
        * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
        (WebCore::Font::drawText):
        (WebCore::Font::drawEmphasisMarks):
        (WebCore::Font::width):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        (WebCore::Font::codePath):
        * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
                                    std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
                                    handle font fallback glyph matching for SVG Fonts..
        (WebCore::Font::fontList): Add FontFallbackList accessor.
        * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
        (WebCore::FontFallbackList::glyphPageZero):
        (WebCore::FontFallbackList::glyphPages):
        (WebCore::FontFallbackList::setGlyphPageZero):
        (WebCore::FontFallbackList::setGlyphPages):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
        (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
        (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
        (WebCore::Font::drawGlyphBuffer): Ditto.
        * platform/graphics/FontMetrics.h:
        (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
        * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
        (WebCore::SVGGlyph::SVGGlyph):
        (WebCore::SVGGlyph::operator==):
        * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
        (WebCore::SimpleFontData::SimpleFontData):
        * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
        (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
        * platform/graphics/TextRun.h: 
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::glyphDataForCharacter):
        (WebCore::WidthIterator::advance):
        * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
                                             and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
        (WebCore::WidthIterator::run):
        (WebCore::WidthIterator::runWidthSoFar):
        (WebCore::WidthIterator::lastGlyphName):
        (WebCore::WidthIterator::setLastGlyphName):
        (WebCore::WidthIterator::arabicForms):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
        * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
        * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Handle UTF-16 surrogate pairs correctly, fixes the previous Acid3 regression.
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::SVGTextMetrics::SVGTextMetrics):
        (WebCore::constructTextRun):
        (WebCore::SVGTextMetrics::measureCharacterRange):
        * rendering/svg/SVGTextMetrics.h:
        * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
        (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
        (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
        (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
        (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
        (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
        (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
        * rendering/svg/SVGTextRunRenderingContext.h:
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
        (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
        (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
        (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
        (WebCore::SVGFontData::fillBMPGlyphs): Moved from the previous fillSVGGlyphPage implementation.
        (WebCore::SVGFontData::fillNonBMPGlyphs): Add non-bmp glyph handling, fixing the Acid3 regression (support using SVGGlyphs for UTF-16 surrogate pairs).
        * svg/SVGFontData.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
        (WebCore::SVGFontElement::ensureGlyphCache):
        * svg/SVGGlyphMap.h: Switch to use SurrogatePairTextIterator, and switch glyph table from UChar to UChar32, just like GlyphPage, to handle glyphs from non-BMP correctly.
        (WebCore::SVGGlyphMap::addGlyph): Remove setting isValid, it's not needed anymore and gone.
        (WebCore::SVGGlyphMap::collectGlyphsForString):
        * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.

2011-06-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Antonio Gomes.

        [CMAKE] Replace ";" with space in FEATURE_DEFINES macro
        https://bugs.webkit.org/show_bug.cgi?id=62211

        html.css file doesn't recognize ENABLE_XXX macro because FEATURE_DEFINES macro has ";"
        as separator. So, let the html.css to use new feature macro with space separator.

        * CMakeLists.txt:

2011-06-24  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Darin Adler.

        fix possible race in LinkLoader
        https://bugs.webkit.org/show_bug.cgi?id=63360

        In chromium bug 80729
        http://code.google.com/p/chromium/issues/detail?id=80729 I am
        seeing some kind of double triggering of the timer; I am concerned
        that it is possible that a Link element errors out or succeeds,
        sets a timer, and shortly before the timer is triggered it is
        editted, launches another request.  After that, the first timer
        triggers, zeroing out m_cachedResource.  Then, the second load
        finishes, and *crash*.  If this is the case, this fix should stop
        it.

        No new tests; I haven't reproduced this.  I hope chrome's crash
        telemetry will give good feedback; this crash is occuring many times a
        day so the difference should be obvious.

        * loader/LinkLoader.cpp:
        (WebCore::LinkLoader::LinkLoader):
        (WebCore::LinkLoader::linkLoadTimerFired):
        (WebCore::LinkLoader::linkLoadingErrorTimerFired):
        (WebCore::LinkLoader::notifyFinished):
        * loader/LinkLoader.h:

2011-06-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Safari will quit unexpectedly when launching Safari in the first time (crash in initQTSecurityPolicyNoLocalToRemoteSiteAttribute)
        https://bugs.webkit.org/show_bug.cgi?id=63332
        <rdar://problem/9661650>

        No new tests; Only affects machines with QTKit < 7.6.3 installed.

        Check to see if QTSecurityPolicyNoRemoteToLocalSiteAttribute is non-NULL before passing it into -[QTMovie initWithAttributes:],
        as it is only defined in QTKit >= 7.6.3.  If it is NULL, pass QTSecurityPolicyNoCrossSiteAttribute=YES instead, which has
        the same effect in earlier versions of QTKit as the NoLocalToRemote and NoRemoteToLocal keys.  To avoid ASSERTs when running
        debug builds with earlier versions of QTKit, add a SOFT_LINK_POINTER_OPTIONAL macro to SoftLinking.h and make these keys optional.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
        * platform/mac/SoftLinking.h: Add SOFT_LINK_POINTER_OPTIONAL macro.

2011-06-24  Darin Adler  <darin@apple.com>

        Try to fix Windows build failure.

        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::setFileDescriptorData): Copy string into a local so we
        can call charactersWithNullTermination on it.

2011-06-23  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Remove some unneeded functions from FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=63295

        Removing 7 of the functions in FrameLoader.h is probably a step
        in the right direction.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::handledOnloadEvents):
        Moved the call to stopDeferringEvents in here from FrameLoader.
        * loader/DocumentLoader.h: Ditto.

        * loader/DocumentWriter.h: Fixed a typo.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setFirstPartyForCookies): Changed this to
        use a non-recursive tree walk instead of recursion.
        (WebCore::FrameLoader::stopAllLoaders): Moved the code from
        stopLoadingSubframes inline, since it's only two lines of code.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Moved
        the code from markLoadComplete inline, since it's only one line.
        (WebCore::FrameLoader::checkLoadComplete): Changed this to use a
        non-recursive tree walk instead of recursion, eliminating the
        recursiveCheckLoadComplete function completely.
        (WebCore::FrameLoader::handledOnloadEvents): Moved the call to
        stopDeferringEvents into DocumentLoader.

        * loader/FrameLoader.h: Removed unneeded forward declarations,
        and now-unneeded functions setupForReplaceByMIMEType,
        isStopping, isLoadingFromCachedPage, stopLoadingSubframes,
        markLoadComplete, mainReceivedError, and recursiveCheckLoadComplete.
        Also made allChildrenAreComplete private.

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        Call DocumentLoader::isStopping so we can remove the function
        from FrameLoader that just calls through. Other call sites were
        using DocumentLoader::isStopping directly.
        (WebCore::MainResourceLoader::didReceiveResponse): Call
        DocumentLoader::setupForReplaceByMIMEType so we can remove the
        function from FrameLoader that just calls through. This was
        the only call site.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::init): Call the
        ResourceLoader::cancelledError function instead of calling
        directly to FrameLoader.

        * loader/ResourceLoader.h: Made response an inline function.

2011-06-24  Alexey Proskuryakov  <ap@apple.com>

        Rubber-stamped by Maciej Stachowiak.

        REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading

        No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
        the rollout will re-introduce the older less frequent crash).

        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
        for bug 62764.

2011-06-24  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        add flexbox and inline-flexbox as possible CSS display values
        https://bugs.webkit.org/show_bug.cgi?id=63361

        Test: css3/flexbox/display-property.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSValueKeywords.in:

2011-06-24  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Loading out-of-band text track files from <track>.
        https://bugs.webkit.org/show_bug.cgi?id=62881

        Uses the src attribute of <track> urls to load out-of-band text track
        files using ThreadableLoader.  Also removes TextTrackPrivateInterface
        (as well as LoadableTextTrackImpl and MutableTextTrackImpl) classes.

        No new tests because feature is hidden behind VIDEO_TRACK feature
        define, which is turned off.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLMediaElement.cpp:
        * html/HTMLMediaElement.h:
        * html/HTMLTrackElement.cpp:
        * html/HTMLTrackElement.h:
        * html/LoadableTextTrack.cpp:
        * html/LoadableTextTrack.h:
        * html/LoadableTextTrackImpl.cpp: Removed.
        * html/LoadableTextTrackImpl.h: Removed.
        * html/MutableTextTrack.cpp:
        * html/MutableTextTrack.h:
        * html/MutableTextTrackImpl.cpp: Removed.
        * html/MutableTextTrackImpl.h: Removed.
        * html/TextTrack.cpp:
        * html/TextTrack.h:
        * html/TextTrackPrivate.h: Removed.
        * platform/track/CueParser.cpp:
        * platform/track/CueParser.h:

2011-06-24  Rob Buis  <rbuis@rim.com>

        Rubber-stamped by Nikolas Zimmermann.

        All pointer-events fail if text has visibility="hidden"
        https://bugs.webkit.org/show_bug.cgi?id=62209

        Do not use writing mode aware code for SVG Text.

        No new tests needed.

        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::nodeAtPoint):

2011-06-24  Lukasz Slachciak  <l.slachciak@samsung.com>

        Reviewed by Darin Adler.

        Change NDEBUG to !LOG_DISABLED macro in databases for logging.
        https://bugs.webkit.org/show_bug.cgi?id=63346

        Changed NDEBUG to !LOG_DISABLED in databases code which involves logging.
        This change resolves also build break in Release build when logging enabled.

        No new tests because there is no new behavior or feature exposed.

        * loader/icon/IconDatabase.cpp: Macro fixes.
        (WebCore::IconDatabase::iconDatabaseSyncThread):
        (WebCore::IconDatabase::syncThreadMainLoop):
        (WebCore::IconDatabase::readFromDatabase):
        (WebCore::IconDatabase::writeToDatabase):
        (WebCore::IconDatabase::cleanupSyncThread):
        * storage/AbstractDatabase.h: Macro fixes.
        * storage/DatabaseTask.cpp: Macro fixes.
        * storage/DatabaseTask.h: Macro fixes.
        * storage/SQLTransaction.cpp: Macro fixes.
        * storage/SQLTransaction.h: Macro fixes.

2011-06-24  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        Pass Strings by const reference to functions
        https://bugs.webkit.org/show_bug.cgi?id=63341

        Note that since Strings hold a RefPtr to StringImpl, passing Strings
        by value isn't horrible, but it does cause ref count churn and using
        const references is more consistent with the rest of the code base.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::addHTTPOriginIfNeeded): Rework the code to not
            change the value of the passed in String.
        * loader/FrameLoader.h:
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::setFileDescriptorData):
        * platform/win/ClipboardUtilitiesWin.h:
        * storage/DatabaseTracker.h:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
        * storage/IDBLevelDBBackingStore.h:
        * storage/IDBSQLiteBackingStore.cpp:
        (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
        * storage/IDBSQLiteBackingStore.h:
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::getOpenDatabases):
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::SVGPaint):
        * svg/SVGPaint.h:
        * svg/animation/SMILTimeContainer.cpp:
        (WebCore::SMILTimeContainer::updateAnimations):
        * svg/animation/SMILTimeContainer.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:

2011-06-24  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Adler.

        Add clamping for CSSPrimitiveValues and SVGInlineText font size.
        https://bugs.webkit.org/show_bug.cgi?id=53449        

        Test: svg/text/svg-zoom-large-value.xhtml

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add asserts to detect if the
        number created is valid.
        * css/CSSPrimitiveValue.h: add clamping checks to prevent overflows.
        (WebCore::CSSPrimitiveValue::getFloatValue):
        (WebCore::CSSPrimitiveValue::getIntValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): split into two
        static functions, one specific to CSSStyleSelector and other generic to help
        in clamping font size for other callers like svg text, etc.
        * css/CSSStyleSelector.h:
        * platform/graphics/FontDescription.h: add asserts to detect if the new font
        size is valid.
        (WebCore::FontDescription::setComputedSize):
        (WebCore::FontDescription::setSpecifiedSize):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): use the new helper
        from CSSStyleSelector to help in clamping new scaled font size. do not use
        "smart minimum" since svg allows really small unreadable fonts (tested by existing
        layout tests). Document's minimum font size clamp (0 in my case) and harmless epsilon
        check in CSSStyleSelector function should still hold for svg.

2011-06-24  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Remove unsafe static_cast inside the InlineBox hierarchy
        https://bugs.webkit.org/show_bug.cgi?id=63077

        Refactoring only, no new test.

        * rendering/InlineFlowBox.h:
        (WebCore::toInlineFlowBox):
        * rendering/InlineTextBox.h:
        (WebCore::toInlineTextBox):
        Added the proper cast methods to those 2 classes from an InlineBox.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nextLeafChild):
        (WebCore::InlineBox::prevLeafChild):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
        (WebCore::InlineFlowBox::addToLine):
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::flipLinesInBlockDirection):
        (WebCore::InlineFlowBox::computeOverflow):
        (WebCore::InlineFlowBox::firstLeafChild):
        (WebCore::InlineFlowBox::lastLeafChild):
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForBox):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::createLineBoxes):
        (WebCore::RenderBlock::constructLine):
        (WebCore::setLogicalWidthForTextRun):
        (WebCore::computeExpansionForJustifiedText):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):
        (WebCore::RenderText::positionLineBox):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::ascentAndDescentForBox):
        (WebCore::RootInlineBox::includeFontForBox):
        (WebCore::RootInlineBox::includeGlyphsForBox):
        Replaced the static_cast in those previous call sites with the new cast methods.

2011-06-24  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed build fix.

        Build fix on Linux when using the GStreamer backend.

        No new tests, just a build fix.

        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
        (FullScreenVideoWindow::keyPressEvent):

2011-06-24  Nat Duca  <nduca@chromium.org>

        Unreviewed, rolling out r89694.
        http://trac.webkit.org/changeset/89694
        https://bugs.webkit.org/show_bug.cgi?id=58408

        Test shell still not ready for animate changes.

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::setViewport):
        (WebCore::LayerRendererChromium::updateAndDrawLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
        (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Removed.
        * platform/graphics/chromium/cc/CCMainThreadTask.h:
        * platform/graphics/chromium/cc/CCThread.cpp:
        (WebCore::CCThread::runLoop):
        * platform/graphics/chromium/cc/CCThreadTask.h:

2011-06-24  Chris Rogers  <crogers@google.com>

        Unreviewed build fix.

        Fix Chromium Linux Build
        https://bugs.webkit.org/show_bug.cgi?id=63349

        * WebCore.gyp/WebCore.gyp:

2011-06-24  Henry Song  <hsong@sisa.samsung.com>

        Reviewed by Martin Robinson.

        Correct _sharedTimer value in SharedTimerEfl.cpp
        https://bugs.webkit.org/show_bug.cgi?id=62380

        SharedTimerEfl.cpp set _sharedTimer = 0 is incorrect in 
        timerEvent(), we have observed addNewTimer() can be triggered 
        by either inside timerFunction() or others that are not within
        timerFunction().  We have observed the following case:
        1. add a new Timer within timerFunction()
        2. timerFunction returns, set _sharedTimer = 0
        3. addNewTimer() is triggered again within webkit, don't know
           it triggers this.
        4. because at this moment, _sharedTimer == 0, the previous
           registered timer (in step 1) did not get removed.
        5. Now in ecore_timer, there are two timers with same callbacks
        6. From now on, timerFunction() will be called twice back-to-back
           in each ecore_timer loop.
        To correct this, we should set _sharedTimer = 0 before
        timerFunction() so that when addNewTimer() triggered within,
        we have a valid timer object.

        * platform/efl/SharedTimerEfl.cpp:
        (WebCore::timerEvent):

2011-05-17  Nat Duca  <nduca@chromium.org>

        Reviewed by James Robinson.

        [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
        https://bugs.webkit.org/show_bug.cgi?id=58408

        Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
        thread and compositor thread halves of a composited view. Communication
        between the two is based on the design used in FileStreamProxy.

        * WebCore.gypi:
        * platform/chromium/TraceEvent.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::setViewport):
        (WebCore::LayerRendererChromium::updateLayers):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromiumImpl::create):
        (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
        (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
        (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
        (WebCore::LayerRendererChromiumImplProxy::create):
        (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
        (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
        (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
        (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
        (WebCore::CCHeadsUpDisplay::currentFrameNumber):
        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::init):
        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
        (WebCore::CCLayerTreeHost::beginCommit):
        (WebCore::CCLayerTreeHost::commitComplete):
        (WebCore::CCLayerTreeHost::animateAndLayout):
        (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
        (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
        (WebCore::CCLayerTreeHost::setNeedsRedraw):
        (WebCore::CCLayerTreeHost::updateLayers):
        * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHost::frameNumber):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHostCommitter::create):
        (WebCore::CCLayerTreeHostCommitter::commit):
        * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
        (WebCore::CCLayerTreeHostImpl::beginCommit):
        (WebCore::CCLayerTreeHostImpl::commitComplete):
        (WebCore::CCLayerTreeHostImpl::drawLayers):
        (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
        (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
        (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
        (WebCore::CCLayerTreeHostImpl::frameNumber):
        (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
        (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
        (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
        (WebCore::CCLayerTreeHostImplProxy::start):
        (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
        (WebCore::CCLayerTreeHostImplProxy::isStarted):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
        (WebCore::CCLayerTreeHostImplProxy::stop):
        (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::isMainThread):
        (WebCore::CCLayerTreeHostImplProxy::isCCThread):
        (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
        (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
        (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
        * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
        (WebCore::CCLayerTreeHostImplProxy::host):
        * platform/graphics/chromium/cc/CCMainThreadTask.h:
        * platform/graphics/chromium/cc/CCThread.cpp:
        (WebCore::CCThread::runLoop):
        * platform/graphics/chromium/cc/CCThreadTask.h:

2011-06-24  Adrienne Walker  <enne@google.com>

        Unreviewed, remove assertion about root layers in RenderLayerBacking.
        https://bugs.webkit.org/show_bug.cgi?id=60741

        This was added in r89687, but somehow is not true on Safari Leopard.
        However, as the tests that were added with that revision are passing
        correctly, the assertion is most likely not correct.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Refactor text iterator code respecting surrogate pairs from WidthIterator
        https://bugs.webkit.org/show_bug.cgi?id=63319

        WidthIterator contains a surrogate pair aware text iterator that is needed in other parts of WebCore.
        Refactor the code into its own SurrogatePairAwareTextIterator class. It can be used like this:

        UChar32 character = 0;
        unsigned clusterLength = 0;

        SurrogatePairAwareTextIterator textIterator(myString.characters(), 0, myString.length(), myString.length());
        while (textIterator.consume(character, clusterLength)) {
            // Either clusterLength is 1 and UChar32 fits into a single UChar.
            // Or     clusterLength is 2 and the UChar32 has been computed by combining the high & low surrogate pairs
            ...
        
            textIterator.advance(clusterLength);
        }

        SVGGlyphMap is the next candidate that wants to make use of SurrogatePairAwareTextIterator.
        Doesn't affect any tests, just refactoring.

        * CMakeLists.txt: Add SurrogatePairAwareTextIterator.* to build.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * platform/graphics/SurrogatePairAwareTextIterator.cpp: Copied from platform/graphics/WidthIterator.cpp.
        * platform/graphics/SurrogatePairAwareTextIterator.h: Added.
        (WebCore::SurrogatePairAwareTextIterator::currentCharacter):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/WidthIterator.h:

2011-06-24  Adrienne Walker  <enne@google.com>

        Reviewed by Simon Fraser.

        Incorrect RenderLayer transforms on overflow RTL pages
        https://bugs.webkit.org/show_bug.cgi?id=60741

        Fix positioning of the root graphics layer for RTL pages.  The fact
        that the left side of the page is negative for pages with overflow is
        not taken into account when calculating the position.  This negative
        value ends up being double-counted for the root graphics layer (once
        in the position and once in the offset) and it shifts child layers
        into the wrong place.

        Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
               compositing/rtl/rtl-absolute-overflow.html
               compositing/rtl/rtl-absolute.html
               compositing/rtl/rtl-fixed-overflow-scrolled.html
               compositing/rtl/rtl-fixed-overflow.html
               compositing/rtl/rtl-fixed.html
               compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
               compositing/rtl/rtl-iframe-absolute-overflow.html
               compositing/rtl/rtl-iframe-absolute.html
               compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
               compositing/rtl/rtl-iframe-fixed-overflow.html
               compositing/rtl/rtl-iframe-fixed.html
               compositing/rtl/rtl-iframe-relative.html
               compositing/rtl/rtl-relative.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

2011-06-24  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Enrica Casucci.

        Add BeforeChildren and AfterChildren to the Position's anchor types
        https://bugs.webkit.org/show_bug.cgi?id=63100

        Added PositionIsBeforeChildren and PositionIsAfterChildren to Position::AnchorType and deployed them in
        firstPositionInNode and lastPositionInNode.

        These new types of positions will let us express the first and the last positions in a non-text node in O(1).

        No new tests because there is no new behavior or feature exposed.

        * dom/Position.cpp:
        (WebCore::Position::Position): Assert that the anchor type is not BeforeChildren and AfterChildren for text nodes.
        (WebCore::Position::containerNode): For BeforeChildren and AfterChildren, the anchor node is the container node.
        (WebCore::Position::computeOffsetInContainerNode): The offset in the container node is 0 for BeforeChildren and
        the offset in the anchor node for AfterChildren.
        (WebCore::Position::offsetForPositionAfterAnchor): Called by deprecatedNode; the anchor type could be AfterChildren.
        (WebCore::Position::parentAnchoredEquivalent): If the anchor node is before or after children, then do the trick
        for table and ignored contents like before or after anchor.
        (WebCore::Position::computeNodeBeforePosition): Returns null for BeforeChildren and returns the last child of
        the anchor node for AfterChildren.
        (WebCore::Position::computeNodeAfterPosition): Returns the first child of the anchor node for BeforeChildren
        (WebCore::Position::atFirstEditingPositionForNode): A position is at the last editing position if the anchor type
        is BeforeChildren, or the anchor type is AfterChildren or AfterAnchor and the anchor doesn't have any children.
        (WebCore::Position::atLastEditingPositionForNode): A position is at the last editing position if the anchor type
        is AfterChildren.
        (WebCore::Position::showAnchorTypeAndOffset): Supports BeforeChildren and AfterChildren.
        * dom/Position.h:
        (WebCore::Position::deprecatedEditingOffset): Returns m_offset if the anchor type is BeforeChildren.
        (WebCore::firstPositionInNode): Returns a position in offset for a text node. Otherwise returns BeforeChildren.
        (WebCore::lastPositionInNode): Returns a position in offset for a text node. Otherwise returns AfterChildren.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::positionOutsideTabSpan): Since the anchor node was a text node,
        the anchor type shouldn't be BeforeChildren or AfterChildren.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::updatePositionForNodeRemoval): Supports BeforeChildren and AfterChildren.
        (WebCore::DeleteSelectionCommand::handleGeneralDelete): Calls updatePositionForNodeRemoval on m_downstremEnd
        when its anchor node is removed instead of manually updating the offset; also avoid calling moveToOffset
        on BeforeChildren or AfterChildren position.
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange): Since lastParagraphInBlockNode is used to insert a placeholder
        after paragraphs below the block is moved into, it needs to be the position after the current last child in
        the block instead of after children in the block; otherwise the position will move to the end of block.
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::characterAfter): Since the container node is never a text for position before/after
        children or before/after anchor, just return null for these anchor types.

2011-06-24  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Dimitri Glazkov.

        Convert shadow DOM-related tests to use window.internals
        https://bugs.webkit.org/show_bug.cgi?id=61671

        * WebCore.exp.in: Exports for symbols used by WebCoreTestSupport.
        * testing/Internals.cpp: The new home of shadowRoot and friends.
        (WebCore::Internals::ensureShadowRoot):
        (WebCore::Internals::shadowRoot):
        (WebCore::Internals::removeShadowRoot):
        (WebCore::Internals::shadowPseudoId):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-06-24  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Refactor creation of primitive values in CSSParser
        https://bugs.webkit.org/show_bug.cgi?id=63270

        Covered by existing tests.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createPrimitiveNumericValue): Helper method for creating numeric values
            to keep the cast in one place.
        (WebCore::CSSParser::createPrimitiveStringValue): Helper method for creating string values.
        (WebCore::CSSParser::parseValidPrimitive):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseWCSSInputProperty):
        (WebCore::CSSParser::parsePage):
        (WebCore::CSSParser::parseSizeParameter):
        (WebCore::CSSParser::parseContent):
        (WebCore::CSSParser::parseFillPositionX):
        (WebCore::CSSParser::parseFillPositionY):
        (WebCore::CSSParser::parseFillPositionComponent):
        (WebCore::CSSParser::parseFillSize):
        (WebCore::CSSParser::parseAnimationDelay):
        (WebCore::CSSParser::parseAnimationDuration):
        (WebCore::CSSParser::parseAnimationIterationCount):
        (WebCore::CSSParser::parseAnimationName):
        (WebCore::CSSParser::parseTransformOriginShorthand):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseCounterContent):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseReflect):
        (WebCore::CSSParser::parseBorderRadius):
        (WebCore::CSSParser::parseCounter):
        (WebCore::CSSParser::parseDeprecatedGradient):
        (WebCore::CSSParser::parseLinearGradient):
        (WebCore::CSSParser::parseRadialGradient):
        (WebCore::CSSParser::parseGradientColorStops):
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::parseTransformOrigin):
        (WebCore::CSSParser::parseTextEmphasisStyle):
        * css/CSSParser.h:
        * css/CSSPrimitiveValueCache.h:
        (WebCore::CSSPrimitiveValueCache::createValue): pass String by const reference

2011-06-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fix runtime critical warnings in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=63256

        Check whether there's a view widget before trying to use it in
        PlatformScreenGtk. If there isn't a view widget, which is the case
        in WebKit2, try to use the default GdkScreen and monitor.

        * platform/gtk/PlatformScreenGtk.cpp:
        (WebCore::getToplevel): Helper function to get the toplevel
        widget.
        (WebCore::getVisual): Use getToplevel().
        (WebCore::getScreen): Helper funtion to get the screen of a
        widget.
        (WebCore::screenRect): Use getToplevel() and getScreen().

2011-06-24  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Adam Barth.

        WebSocket: Add run-time flag for new HyBi protocol
        https://bugs.webkit.org/show_bug.cgi?id=60348

        Add a flag in Setting so that WebSocket protocols can be switched
        dynamically. The protocol we have implemented so far is based on
        older Hixie-76 specification. A new protocol is being discussed in
        IETF HyBi working group, and I'm planning to implement the new protocol
        behind this Settings flag.

        I will add a method to LayoutTestController which flips this flag in
        a later patch. In this way, we can put tests for both protocols in
        the same place and test implementation for both protocols at the same time.

        This patch only adds a flag. The flag is not used yet, thus there is
        no change in functionality. Therefore, no tests were added.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setUseHixie76WebSocketProtocol):
        (WebCore::Settings::useHixie76WebSocketProtocol):

2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Shorten DOMWindow URLs in heap profiles.
        https://bugs.webkit.org/show_bug.cgi?id=63238

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
        (WebInspector.HeapSnapshotGenericObjectNode):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.isDOMWindow):
        (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
        (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
        * inspector/front-end/utilities.js:
        ():

2011-06-24  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: HTML preview should delete old iframe on show().
        https://bugs.webkit.org/show_bug.cgi?id=63170

        * inspector/front-end/ResourceHTMLView.js:
        (WebInspector.ResourceHTMLView.prototype._createIFrame):
        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView.prototype.contentLoaded):

2011-06-24  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Convert AnimatedString to SVGAnimatorFactory concept
        https://bugs.webkit.org/show_bug.cgi?id=63296

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGString.

        No new tests added. No change of functionality.

        * CMakeLists.txt: Added new file to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimatedString.cpp: Added. Animator for SVGString.
        (WebCore::SVGAnimatedStringAnimator::SVGAnimatedStringAnimator):
        (WebCore::SVGAnimatedStringAnimator::constructFromString):
        (WebCore::SVGAnimatedStringAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedStringAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedStringAnimator::calculateDistance):
        * svg/SVGAnimatedString.h:
        (WebCore::SVGAnimatedStringAnimator::~SVGAnimatedStringAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createString):
        (WebCore::SVGAnimatedType::string):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):

2011-06-24  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        [GTK] Consider rows being ignored when adding children to tables
        https://bugs.webkit.org/show_bug.cgi?id=62718

        Hide row objects in tables in GTK's accessibility wrapper.

        This is a different approach in the way WebCore's accessible
        rows are exposed to assistive technologies in the GTK port,
        since from now on those objects are kept in WebCore (they do not
        declare to ignore accessibility) and just bypassed in the mapping
        to ATK, allowing to hide them in the ATK hierarchy while, at the
        same time, keeping them internally to be able to provide enough
        information to determine tables related information, such as rows
        counting or finding an cell for specific coordinates.

        * accessibility/gtk/AccessibilityObjectAtk.cpp:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        Do not ignore accessibility for table rows here.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_parent): Bypass rows when needed.
        (getNChildrenForTable): New, find the number of children for a
        table, which will be the addition of all cells for its rows.
        (webkit_accessible_get_n_children): Call to getNChildrenForTable
        for accessibility tables if needed.
        (getChildForTable): New, bypass rows when needed, retrieving
        cells as if they were direct children for tables.
        (webkit_accessible_ref_child): Call to refChildForTable if needed.
        (getIndexInParentForCellInRow): New, get the index for a given
        cell in its parent table, considering other rows' cells.
        (webkit_accessible_get_index_in_parent): Call to
        getIndexInParentForCellInRow if needed.

2011-06-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extension panel iframes do not span entire panel client area
        https://bugs.webkit.org/show_bug.cgi?id=63165

        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onCreatePanel):
        (WebInspector.ExtensionServer.prototype.createClientIframe):
        * inspector/front-end/inspector.css:
        (iframe.extension):
        (iframe.panel.extension):

2011-06-24  David Grogan  <dgrogan@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION r86838] line numbers do not scroll when script paused
        https://bugs.webkit.org/show_bug.cgi?id=61653

        roll out r86838

        No new tests - refactoring.

        * dom/Document.h:
        * dom/EventQueue.cpp:
        (WebCore::EventQueueTimer::EventQueueTimer):
        (WebCore::EventQueueTimer::fired):
        (WebCore::EventQueue::create):
        (WebCore::EventQueue::EventQueue):
        (WebCore::EventQueue::~EventQueue):
        (WebCore::EventQueue::enqueueEvent):
        (WebCore::EventQueue::cancelEvent):
        (WebCore::EventQueue::cancelQueuedEvents):
        (WebCore::EventQueue::pendingEventTimerFired):
        (WebCore::EventQueue::dispatchEvent):
        * dom/EventQueue.h:

2011-06-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89594.
        http://trac.webkit.org/changeset/89594
        https://bugs.webkit.org/show_bug.cgi?id=63316

        It broke 5 tests on the Qt bot (Requested by Ossy_DC on
        #webkit).

        * WebCore.exp.in:
        * icu/unicode/uscript.h:
        * page/Settings.cpp:
        (WebCore::Settings::setStandardFontFamily):
        (WebCore::Settings::setFixedFontFamily):
        (WebCore::Settings::setSerifFontFamily):
        (WebCore::Settings::setSansSerifFontFamily):
        (WebCore::Settings::setCursiveFontFamily):
        (WebCore::Settings::setFantasyFontFamily):
        * page/Settings.h:
        (WebCore::Settings::standardFontFamily):
        (WebCore::Settings::fixedFontFamily):
        (WebCore::Settings::serifFontFamily):
        (WebCore::Settings::sansSerifFontFamily):
        (WebCore::Settings::cursiveFontFamily):
        (WebCore::Settings::fantasyFontFamily):

2011-06-23  Tony Chang  <tony@chromium.org>

        Reviewed by Kent Tamura.

        Pass Strings by const reference in bindings code
        https://bugs.webkit.org/show_bug.cgi?id=63302

        Note that since Strings hold a RefPtr to StringImpl, passing Strings
        by value isn't horrible, but it does cause ref count churn and using
        const references is more consistent with the rest of the code base.

        * bindings/generic/BindingSecurity.h:
        (WebCore::::allowSettingFrameSrcToJavascriptUrl):
        (WebCore::::allowSettingSrcToJavascriptURL):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::serialize):
        (WebCore::SerializedScriptValue::create):
        * bindings/js/SerializedScriptValue.h:
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::createFromWire):
        (WebCore::SerializedScriptValue::create):
        (WebCore::SerializedScriptValue::SerializedScriptValue):
        * bindings/v8/SerializedScriptValue.h:
        * bindings/v8/V8Binding.h:
        (WebCore::V8ParameterBase::setString):

2011-06-23  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [Chromium] Web Inspector: provide context menu item for enabling native worker inspection
        https://bugs.webkit.org/show_bug.cgi?id=63258

        Added context menu checkbox item that allows to enable inspection of
        native workers. The value will be persisted as other inspector settings
        and will be restored after frontend/breowser reopening.

        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didStartWorkerContext):
        * inspector/InspectorWorkerAgent.cpp:
        (WebCore::InspectorWorkerAgent::setFrontend):
        (WebCore::InspectorWorkerAgent::restore):
        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
        * inspector/InspectorWorkerAgent.h:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.reset):
        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
        (WebInspector.ScriptsPanel.prototype._contextMenu.enableWorkerInspection):
        (WebInspector.ScriptsPanel.prototype._contextMenu):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:
        (WebInspector.didCreateWorker):
        (WebInspector.didDestroyWorker):
        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished):

2011-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Need to turn off default animations for anchorPointZ in PlatformCALayer
        https://bugs.webkit.org/show_bug.cgi?id=63159
        
        When the z-component of transform-origin changed, we ran an implicit
        animation of anchorPointZ on the CALayer. Turn this off.

        Test: transforms/3d/general/transform-origin-z-change.html

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (nullActionsDictionary):

2011-06-23  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Limit WebGL internal drawingBuffer size to 4k x 4k
        https://bugs.webkit.org/show_bug.cgi?id=63304

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::reshape): Limit drawing buffer size to 4k x 4k.

2011-06-20  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [ShadowContentElement] should layout child whitespace between span.
        https://bugs.webkit.org/show_bug.cgi?id=62202

        NodeRenderingContext::nextRenderer() and previousRenderer()
        ignored forwarded content tree hierarchies and used render-object
        hierarchies instead, that caused some wrong Text node rendering.
        
        This change uses ShadowContentElement::m_inclusions for the lookup.
        In this way, these methods can reflect hierarchies of forward light tree.
        
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext):
        (WebCore::nextRendererOf): Added. This traverses content element's children for searching neighboring renderer.
        (WebCore::previousRendererOf): Added. This traverses content element's children for searching neighboring renderer.
        (WebCore::NodeRenderingContext::nextRenderer):
        (WebCore::NodeRenderingContext::previousRenderer):
        * dom/NodeRenderingContext.h:
        * dom/ShadowContentElement.h:
        (ShadowContentElement::inclusionIndexOf): Added.
        * dom/ShadowContentSelector.cpp:
        (WebCore::ShadowContentSelector::activeElement):
        * dom/ShadowContentSelector.h:
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::activeContentElement):
        * dom/ShadowRoot.h:
        * rendering/RenderTreeAsText.cpp: 
        (WebCore::externalRepresentation): Fixed an apparent bug introduced at r89230.

2011-05-25  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Fix ownership of PlatformImage for ImageLayerChromiums
        https://bugs.webkit.org/show_bug.cgi?id=61099

        For a composited image, both the ImageLayerChromium and its associated LayerTilerChromium need access to a
        PlatformImage - the ImageLayerChromium has to update the PlatformImage's contents and the LayerTilerChromium has
        to upload pixels from it.  This patch makes the ImageLayerTextureUpdater have exclusive ownership of the
        PlatformImage and moves ownership of the LayerTextureUpdater from the LayerTilerChromium to the owner of the
        tiler.  The updater is passed in as a parameter to the relevant tiler calls.

        Patch also fixes a number of minor style issues (missing explicit keyword on constructor, etc).

        Refactor only, no new tests.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerPainter::create):
        (WebCore::ContentLayerPainter::ContentLayerPainter):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
        (WebCore::ContentLayerChromium::draw):
        (WebCore::ContentLayerChromium::createTilerIfNeeded):
        (WebCore::ContentLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::create):
        (WebCore::ImageLayerTextureUpdater::updateFromImage):
        (WebCore::ImageLayerTextureUpdater::imageSize):
        (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
        (WebCore::ImageLayerChromium::~ImageLayerChromium):
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::updateCompositorResources):
        (WebCore::ImageLayerChromium::setLayerRenderer):
        (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
        (WebCore::ImageLayerChromium::layerBounds):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::updateRootLayerContents):
        (WebCore::LayerRendererChromium::drawRootLayer):
        (WebCore::LayerRendererChromium::updateLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTextureUpdater.h:
        (WebCore::LayerTextureUpdater::LayerTextureUpdater):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::LayerTextureUpdaterBitmap::create):
        (WebCore::LayerTextureUpdaterSkPicture::create):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::create):
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::prepareToUpdate):
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::draw):
        * platform/graphics/chromium/LayerTilerChromium.h:

2011-06-23  Adrienne Walker  <enne@google.com>

        Unreviewed, rolling out r89632 and r89640.
        http://trac.webkit.org/changeset/89632
        http://trac.webkit.org/changeset/89640
        https://bugs.webkit.org/show_bug.cgi?id=60741

        Breaks ancestor-overflow-change unexpectedly

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

2011-06-23  John Bates  <jbates@google.com>

        Reviewed by James Robinson.

        Fix latch deadlock when GPU process crashes or context is lost.
        https://bugs.webkit.org/show_bug.cgi?id=63189
        The main bug fix is to only set/wait latches if the child context has no errors.
        Additionally, the LayerChromium classes needed to be modified to not continue drawing when
        their corresponding contexts have errors. Otherwise, they would draw with invalid texture ids.

        Test: open particles WebGL demo in chrome, kill GPU process from Task Manager; observe no deadlock.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::updateAndDrawLayers):
        (WebCore::LayerRendererChromium::updateLayers):
        (WebCore::LayerRendererChromium::isCompositorContextLost):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::drawsContent):
        (WebCore::WebGLLayerChromium::updateCompositorResources):
        (WebCore::WebGLLayerChromium::setContext):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::drawsContent):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:

2011-06-23  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        [chromium] Red and Blue channels are swapped in images with accelerated drawing
        https://bugs.webkit.org/show_bug.cgi?id=61442

        We were uploading BGRA pixels into RGBA textures and swapping the components in the pixel shader.
        This strategy does not work with accelerated drawing because we are directly rendering to the texture, not uploading pixels.
        This patch uses BGRA textures if available. If not it falls back to the original scheme of swapping the components in the pixel shader. 

        Tests: compositing/color-matching/image-color-matching.html (existing)

        * WebCore.gypi:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::sampledTexelFormat):
        (WebCore::ImageLayerTextureUpdater::updateTextureRect):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::skiaContext):
        (WebCore::LayerRendererChromium::tilerProgram):
        (WebCore::LayerRendererChromium::tilerProgramSwizzle):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTexture.h:
        (WebCore::LayerTexture::format):
        * platform/graphics/chromium/LayerTextureSubImage.cpp:
        (WebCore::LayerTextureSubImage::upload):
        (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
        (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
        * platform/graphics/chromium/LayerTextureSubImage.h:
        * platform/graphics/chromium/LayerTextureUpdater.h:
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
        (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
        (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
        (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
        (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::prepareToUpdate):
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::draw):
        (WebCore::LayerTilerChromium::growLayerToContain):
        (WebCore::LayerTilerChromium::drawTiles):
        (WebCore::LayerTilerChromium::drawTexturedQuad):
        * platform/graphics/chromium/LayerTilerChromium.h:
        * platform/graphics/chromium/PlatformColor.h: Added.
        (WebCore::PlatformColor::format):
        (WebCore::PlatformColor::bestTextureFormat):
        (WebCore::PlatformColor::sameComponentOrder):
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::FragmentShaderRGBATexSwizzleAlpha::getShaderString):
        * platform/graphics/chromium/ShaderChromium.h:
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

2011-06-23  Adrienne Walker  <enne@google.com>

        Reviewed by Simon Fraser.

        Incorrect RenderLayer transforms on overflow RTL pages
        https://bugs.webkit.org/show_bug.cgi?id=60741

        Fix positioning of the root graphics layer for RTL pages.  The fact
        that the left side of the page is negative for pages with overflow is
        not taken into account when calculating the position.  This negative
        value ends up being double-counted for the root graphics layer (once
        in the position and once in the offset) and it shifts child layers
        into the wrong place.

        Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
               compositing/rtl/rtl-absolute-overflow.html
               compositing/rtl/rtl-absolute.html
               compositing/rtl/rtl-fixed-overflow-scrolled.html
               compositing/rtl/rtl-fixed-overflow.html
               compositing/rtl/rtl-fixed.html
               compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
               compositing/rtl/rtl-iframe-absolute-overflow.html
               compositing/rtl/rtl-iframe-absolute.html
               compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
               compositing/rtl/rtl-iframe-fixed-overflow.html
               compositing/rtl/rtl-iframe-fixed.html
               compositing/rtl/rtl-iframe-relative.html
               compositing/rtl/rtl-relative.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

2011-06-23  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        FloatRect should implement the same methods as IntRect
        https://bugs.webkit.org/show_bug.cgi?id=63273
        
        Add missing methods from IntRect to FloatRect in preparation for moving
        the rendering tree over to floats.

        * platform/graphics/FloatPoint.h:
        (WebCore::FloatPoint::expandedTo):
        (WebCore::FloatPoint::transposedPoint):
        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::move):
        (WebCore::FloatRect::expand):
        (WebCore::FloatRect::contract):
        (WebCore::FloatRect::shiftXEdgeTo):
        (WebCore::FloatRect::shiftMaxXEdgeTo):
        (WebCore::FloatRect::shiftYEdgeTo):
        (WebCore::FloatRect::shiftMaxYEdgeTo):
        (WebCore::FloatRect::minXMinYCorner):
        (WebCore::FloatRect::maxXMinYCorner):
        (WebCore::FloatRect::minXMaxYCorner):
        (WebCore::FloatRect::maxXMaxYCorner):
        (WebCore::FloatRect::transposedRect):
        * platform/graphics/FloatSize.h:
        (WebCore::FloatSize::expand):
        (WebCore::FloatSize::transposedSize):

2011-06-23  Emil A Eklund  <eae@chromium.org>

        Reviewed by Darin Adler.

        input/textarea onchange doesn't fire if value is set in key listener
        https://bugs.webkit.org/show_bug.cgi?id=63092

        Change setValue implementation of HTMLInputElement and HTMLTextAreaElement to
        not call setTextAsOfLastFormControlChangeEvent unless the value truly changed.
        Thus element.value = element.value will no longer reset the state 
        m_textAsOfLastFormControlChangeEvent field and suppress the change event.

        Test: fast/events/onchange-setvalue.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::setValue):
        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
        (WebCore::HTMLTextAreaElement::setValueCommon):

2011-06-23  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Eric Carlson.

        [Qt] Implement fullscreen support on Mac with the QuickTime backend.
        https://bugs.webkit.org/show_bug.cgi?id=61728

        Implement fullscreen support for Qt when using the QuickTime backend.
        We mostly use what is already done for the Mac port.

        * DerivedSources.pro: We use the mac files and they have <WebCore/x> type
        of includes. We need to generate those headers.
        * WebCore.pro:
        * platform/mac/WebVideoFullscreenController.h:
        * platform/mac/WebVideoFullscreenController.mm:
        * platform/mac/WebVideoFullscreenHUDWindowController.h:
        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
        * platform/qt/WebCoreSystemInterface.h:
        * platform/qt/WebCoreSystemInterface.mm:

2011-06-23  Darin Adler  <darin@apple.com>

        Reviewed by Ryosuke Niwa.

        RefPtr misused as argument type in a few classes
        https://bugs.webkit.org/show_bug.cgi?id=62955

        * dom/DataTransferItem.cpp:
        (WebCore::DataTransferItem::DataTransferItem):
        * dom/DataTransferItem.h:
        * dom/DataTransferItems.cpp:
        (WebCore::DataTransferItems::DataTransferItems):
        * dom/DataTransferItems.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
        * editing/CompositeEditCommand.h:
        * page/WebKitAnimationList.cpp:
        (WebCore::WebKitAnimationList::append):
        (WebCore::WebKitAnimationList::insertAnimation):
        * page/WebKitAnimationList.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::FEImage):
        (WebCore::FEImage::create):
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
        (WebCore::SVGFilterBuilder::add):
        (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
        * svg/graphics/filters/SVGFilterBuilder.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
        * websockets/WorkerThreadableWebSocketChannel.h:
        Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.

2011-06-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89591 and r89593.
        http://trac.webkit.org/changeset/89591
        http://trac.webkit.org/changeset/89593
        https://bugs.webkit.org/show_bug.cgi?id=63279

        Caused test crashes in SL and Chromium (Requested by dimich_
        on #webkit).

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::AXObjectCache):
        (WebCore::AXObjectCache::remove):
        (WebCore::AXObjectCache::childrenChanged):
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityMenuList.cpp:
        (WebCore::AccessibilityMenuList::childrenChanged):
        * accessibility/AccessibilityMenuList.h:
        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::childrenChanged):
        * accessibility/AccessibilityMenuListPopup.h:
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::childrenChanged):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::startOfContinuations):
        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
        (WebCore::AccessibilityRenderObject::childrenChanged):
        * accessibility/AccessibilityRenderObject.h:

2011-06-23  Andreas Kling  <kling@webkit.org>

        Reviewed by Benjamin Poulain.

        [Qt] Unbreak simple font fast-path after QRawFont API changes.
        https://bugs.webkit.org/show_bug.cgi?id=63272

        In the Qt 4.8 branch, the QGlyphs class has been renamed to
        QGlyphRun, and some other small things have been tweaked.

        * WebCore.pro:
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::rawFontForCharacters):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawGlyphs):

2011-06-23  Tony Chang  <tony@chromium.org>

        Reviewed by Andreas Kling.

        Pass Strings as const references in NetworkResourcesData.h
        https://bugs.webkit.org/show_bug.cgi?id=63271

        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::setFrameId):
        (WebCore::NetworkResourcesData::ResourceData::setUrl):
        (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):

2011-06-23  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Fixing the SharedBufferChunkReader API so it works correctly with
        binary data (non printable characters).
        Also adding a method to peek at the data (this is needed for MHTML
        with binary parts).
        https://bugs.webkit.org/show_bug.cgi?id=63231

        * loader/archive/mhtml/MHTMLParser.cpp:
        (WebCore::skipLinesUntilBoundaryFound):
        (WebCore::MHTMLParser::parseNextPart):
        * loader/archive/mhtml/MHTMLParser.h:
        * platform/SharedBufferChunkReader.cpp:
        (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
        (WebCore::SharedBufferChunkReader::setSeparator):
        (WebCore::SharedBufferChunkReader::nextChunk):
        (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
        (WebCore::SharedBufferChunkReader::peek):
        * platform/SharedBufferChunkReader.h:
        * platform/network/MIMEHeader.cpp:
        (WebCore::retrieveKeyValuePairs):

2011-06-23  Nate Chapin  <japhet@chromium.org>

        Unreviewed.

        Revert production code part of r89503, since it's causing
        crashes on WebKit2/mac and failures on qt.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::dispatchWindowLoadEvent):
        * dom/Document.h:
        (WebCore::Document::processingLoadEvent):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):

2011-06-23  Young Han Lee  <joybro@company100.net>

        Reviewed by Simon Fraser.

        runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count.
        https://bugs.webkit.org/show_bug.cgi?id=63152

        The pausing conditions are modified. Now it accepts the infinite-iteration-count,
        but rejects the zero-iteration-count. There is no reason to consider the zero-count meaning no animation.
        
        Test: animations/keyframes-infinite-iterations.html

        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::pauseAnimationAtTime):

2011-06-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        RefPtr m_style in MediaQueryEvaluator in case of callers like
        MediaQueryMatcher::prepareEvaluator that do not retain its reference.
        https://bugs.webkit.org/show_bug.cgi?id=63264

        Test: fast/css/media-query-evaluator-crash.html

        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryEvaluator.h:

2011-06-23  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Allow generic font family settings per script code.
        https://bugs.webkit.org/show_bug.cgi?id=20797

        Make generic font family getters/setters accept an additional
        argument (script code). It has a default value so that if an embedder
        does not have/want a per-script font family setting, call-sites
        don't have to be changed.
        This is to prepare for fixing bug 10874 (font selection is not
        language-dependent) and bug 18085.

        uscript.h has been updated to that of ICU 3.6 (the version of ICU on
        Mac OS 10.5)

        There should be no change in layout and no new layout test
        is added.

        * WebCore.exp.in:
        * icu/unicode/uscript.h: updated to ICU 4.6
        * page/Settings.cpp:
        (WebCore::setGenericFontFamilyMap): helper to set generic family per script
        (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
        (WebCore::Settings::standardFontFamily):
        (WebCore::Settings::setStandardFontFamily):
        (WebCore::Settings::fixedFontFamily):
        (WebCore::Settings::setFixedFontFamily):
        (WebCore::Settings::serifFontFamily):
        (WebCore::Settings::setSerifFontFamily):
        (WebCore::Settings::sansSerifFontFamily):
        (WebCore::Settings::setSansSerifFontFamily):
        (WebCore::Settings::cursiveFontFamily):
        (WebCore::Settings::setCursiveFontFamily):
        (WebCore::Settings::fantasyFontFamily):
        (WebCore::Settings::setFantasyFontFamily):
        * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.

2011-06-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        Make line breaking obey the -webkit-locale property
        https://bugs.webkit.org/show_bug.cgi?id=63209

        Test: platform/mac/fast/text/line-break-locale.html

        * platform/text/TextBreakIterator.h:
        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Take an optional locale identifier and
        initialize the m_locale member.
        (WebCore::LazyLineBreakIterator::get): Pass the locale to acquireLineBreakIterator().
        (WebCore::LazyLineBreakIterator::reset): Pass the locale to releaseLineBreakIterator() and update
        the m_locale member.
        * platform/text/TextBreakIteratorICU.cpp:
        (WebCore::LineBreakIteratorPool::sharedPool): Return a shared instance.
        (WebCore::LineBreakIteratorPool::take): Returns a text iterator for the given locale, either a newly-
        created one, or an existing one from the pool.
        (WebCore::LineBreakIteratorPool::put): Puts an iterator back into the pool, removing the least-recently used
        one if needed.
        (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
        (WebCore::acquireLineBreakIterator): Changed to take an optional local identifier, and to use the pool.
        (WebCore::releaseLineBreakIterator): Changed to use the pool.
        * platform/text/brew/TextBreakIteratorBrew.cpp:
        (WebCore::acquireLineBreakIterator): Updated for new parameter.
        * platform/text/gtk/TextBreakIteratorGtk.cpp:
        (WebCore::acquireLineBreakIterator): Ditto.
        * platform/text/qt/TextBreakIteratorQt.cpp:
        (WebCore::acquireLineBreakIterator): Ditto.
        * platform/text/wince/TextBreakIteratorWinCE.cpp:
        (WebCore::acquireLineBreakIterator): Ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use the locale from the style for the line break
        iterator.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::computePreferredLogicalWidths): Ditto.

2011-06-23  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        ARIA live regions don't trigger notifications for elements that aren't in the AX tree
        https://bugs.webkit.org/show_bug.cgi?id=62289

        If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
        notification is not sent. To fix this, I think the childrenChanged() method needs to actually create
        the appropriate objects, but since that method gets called during a render tree update, we've learned 
        that it's generally not safe to create objects.
 
        Instead a one shot timer can be fired that will update and create the necessary objects so that the
        correct notification can be sent.

        Test: platform/mac/accessibility/aria-liveregion-without-element-access.html

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::AXObjectCache):
        (WebCore::AXObjectCache::remove):
        (WebCore::AXObjectCache::childrenUpdateTimerFired):
        (WebCore::AXObjectCache::childrenChanged):
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityMenuList.cpp:
        (WebCore::AccessibilityMenuList::childrenChanged):
        * accessibility/AccessibilityMenuList.h:
        * accessibility/AccessibilityMenuListPopup.cpp:
        (WebCore::AccessibilityMenuListPopup::childrenChanged):
        * accessibility/AccessibilityMenuListPopup.h:
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::childrenChanged):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::startOfContinuations):
           This changed exposed a case where an object was inlineElementContinuation, but not renderInlined,
           which led to an assert.
        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
        (WebCore::AccessibilityRenderObject::childrenChanged):
        * accessibility/AccessibilityRenderObject.h:

2011-06-23  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Convert SVGColor to SVGAnimatorFactory concept
        https://bugs.webkit.org/show_bug.cgi?id=63246

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGColor.

        Changed constructors of animators to take the animation element SVGAnimationsElement as new argument. Removed attribute name argument instead.
        This information is already exposed by the animation element. The animators store the pointer of the animation element, so that it is not
        necessary to pass it as argument to the functions calculateDistance, calculateAnimatedValue.
        
        Replace all SVGSMILElement references by SVGAnimationsElement - the common base class of all animation elements.

        Added a new method in SVGAnimateElement to determine the property value type of CSS properties (regular value type, inherit or currentColor).
        The other two new methods fromPropertyValueType() and toPropertyValueType() avoid passing boolean arguments in calculateAnimatedValue().

        No new tests added. Current tests cover the changes.

        * CMakeLists.txt: Added new files to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp:  Ditto.
        * svg/SVGAnimateElement.cpp: Use Animator for SVGColor. 
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::determinePropertyValueTypes):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        (WebCore::SVGAnimateElement::ensureAnimator): Pass the animation element as pointer to animator.
        * svg/SVGAnimateElement.h: Removed unnecessary includes. Some cleanup.
        (WebCore::SVGAnimateElement::fromPropertyValueType): Get property value type of 'from' property.
        (WebCore::SVGAnimateElement::toPropertyValueType): Get property value type of 'to' property.
        * svg/SVGAnimatedAngle.cpp:
        (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator): Added SVGSMILElement as new argument, removed attributeName.
        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues): Determine property value type.
        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues): Ditto.
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): Use new functions of SVGAnimateElement for handling of 'inherit'.
            And removed unnecessary arguments.
        (WebCore::SVGAnimatedAngleAnimator::calculateDistance): Removed animation element argument.
        * svg/SVGAnimatedAngle.h:
        * svg/SVGAnimatedColor.cpp: Added.
        (WebCore::SVGAnimatedColorAnimator::SVGAnimatedColorAnimator): Ditto.
        (WebCore::SVGAnimatedColorAnimator::constructFromString):
        (WebCore::SVGAnimatedColorAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedColorAnimator::calculateDistance):
        * svg/SVGAnimatedColor.h: Added.
        (WebCore::SVGAnimatedColorAnimator::~SVGAnimatedColorAnimator):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator): Ditto.
        (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
        * svg/SVGAnimatedLength.h:
        * svg/SVGAnimatedNumber.cpp:
        (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator): Ditto.
        (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
        * svg/SVGAnimatedNumber.h:
        * svg/SVGAnimatedPointList.cpp:
        (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator): Ditto.
        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
        * svg/SVGAnimatedPointList.h:
        * svg/SVGAnimatedRect.cpp:
        (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator): Ditto.
        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedRectAnimator::calculateDistance):
        * svg/SVGAnimatedRect.h:
        * svg/SVGAnimatedType.cpp: Added handling of Color values.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createColor):
        (WebCore::SVGAnimatedType::color):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatedTypeAnimator.h:
        (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):

2011-06-23  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] [WK2] Add drag and drop support
        https://bugs.webkit.org/show_bug.cgi?id=62838

        Add convenience methods to allow encoding/decoding of DragData.
        Move the call to dragEnded() to DragClient, to make WebKit1 and WebKit2 
        consistent.

        * page/qt/DragControllerQt.cpp:
        (WebCore::DragController::cleanupAfterSystemDrag):
        * platform/DragData.h:
        (WebCore::DragData::flags):
        (WebCore::DragData::DragData):
        (WebCore::DragData::operator =):

2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Show "no content" message in network panel when resource does not have content available.
        https://bugs.webkit.org/show_bug.cgi?id=63007

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView):
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView):
        (WebInspector.CookieItemsView.prototype._updateWithCookies):
        * inspector/front-end/DatabaseTableView.js:
        (WebInspector.DatabaseTableView.prototype._queryFinished):
        * inspector/front-end/EmptyView.js: Added.
        (WebInspector.EmptyView):
        (WebInspector.EmptyView.prototype.show):
        (WebInspector.EmptyView.prototype.set text):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        (WebInspector.ResourceContentView):
        (WebInspector.ResourceContentView.prototype.hasContent):
        (WebInspector.ResourceContentView.prototype.get sourceView):
        (WebInspector.ResourceContentView.prototype.show):
        (WebInspector.ResourceContentView.prototype._ensureInnerViewShown.callback):
        (WebInspector.ResourceContentView.prototype._ensureInnerViewShown):
        (WebInspector.ResourceContentView.prototype.contentLoaded):
        * inspector/front-end/ResourceCookiesView.js:
        (WebInspector.ResourceCookiesView.prototype.show):
        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView):
        (WebInspector.ResourcePreviewView.prototype.contentLoaded):
        (WebInspector.ResourcePreviewView.prototype._createInnerView):
        * inspector/front-end/ResourceResponseView.js: Added.
        (WebInspector.ResourceResponseView):
        (WebInspector.ResourceResponseView.prototype.get sourceView):
        (WebInspector.ResourceResponseView.prototype.contentLoaded):
        * inspector/front-end/ResourceTimingView.js:
        (WebInspector.ResourceTimingView.prototype.show):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.StorageCategoryView):
        (WebInspector.StorageCategoryView.prototype.setText):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-06-23  Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Adam Roben.

        PluginView::dispatchNPEvent is deceptive
        https://bugs.webkit.org/show_bug.cgi?id=63243

        Straighten the inverted logic of dispatchNPEvent
        and it's callers.

        No change in behaviour so no new tests.
        Existing plugin tests cover this.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):

2011-06-23  Tommy Widenflycht  <tommyw@google.com>

        Reviewed by Tony Gentilcore.

        MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
        https://bugs.webkit.org/show_bug.cgi?id=63122

        Fixing broken makefile.

        * GNUmakefile.list.am:

2011-06-23  Tommy Widenflycht  <tommyw@google.com>

        Reviewed by Tony Gentilcore.

        MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
        https://bugs.webkit.org/show_bug.cgi?id=63122

        No new tests since no code has actually changed.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * dom/DOMAllInOne.cpp:
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toMediaStream):
        (WebCore::EventTarget::toLocalMediaStream):
        * dom/EventTarget.h:
        * dom/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/GeneratedStream.cpp.
        (WebCore::LocalMediaStream::DispatchUpdateTask::create):
        (WebCore::LocalMediaStream::DispatchUpdateTask::performTask):
        (WebCore::LocalMediaStream::DispatchUpdateTask::DispatchUpdateTask):
        (WebCore::LocalMediaStream::create):
        (WebCore::LocalMediaStream::LocalMediaStream):
        (WebCore::LocalMediaStream::~LocalMediaStream):
        (WebCore::LocalMediaStream::toLocalMediaStream):
        (WebCore::LocalMediaStream::detachEmbedder):
        (WebCore::LocalMediaStream::streamEnded):
        (WebCore::LocalMediaStream::audioTracks):
        (WebCore::LocalMediaStream::videoTracks):
        (WebCore::LocalMediaStream::stop):
        (WebCore::LocalMediaStream::onStop):
        * dom/LocalMediaStream.h: Renamed from Source/WebCore/dom/GeneratedStream.h.
        * dom/LocalMediaStream.idl: Renamed from Source/WebCore/dom/GeneratedStream.idl.
        * dom/MediaStream.cpp: Renamed from Source/WebCore/dom/Stream.cpp.
        (WebCore::MediaStream::create):
        (WebCore::MediaStream::MediaStream):
        (WebCore::MediaStream::~MediaStream):
        (WebCore::MediaStream::toMediaStream):
        (WebCore::MediaStream::streamEnded):
        (WebCore::MediaStream::scriptExecutionContext):
        (WebCore::MediaStream::eventTargetData):
        (WebCore::MediaStream::ensureEventTargetData):
        * dom/MediaStream.h: Renamed from Source/WebCore/dom/Stream.h.
        (WebCore::MediaStream::readyState):
        (WebCore::MediaStream::label):
        (WebCore::MediaStream::refEventTarget):
        (WebCore::MediaStream::derefEventTarget):
        * dom/MediaStream.idl: Renamed from Source/WebCore/dom/Stream.idl.
        * dom/MediaStreamContainer.h: Renamed from Source/WebCore/dom/StreamContainer.h.
        (WebCore::MediaStreamContainer::create):
        (WebCore::MediaStreamContainer::~MediaStreamContainer):
        (WebCore::MediaStreamContainer::length):
        (WebCore::MediaStreamContainer::item):
        (WebCore::MediaStreamContainer::add):
        (WebCore::MediaStreamContainer::remove):
        (WebCore::MediaStreamContainer::contains):
        (WebCore::MediaStreamContainer::get):
        (WebCore::MediaStreamContainer::MediaStreamContainer):
        * dom/MediaStreamList.cpp: Renamed from Source/WebCore/dom/StreamList.cpp.
        (WebCore::MediaStreamList::create):
        (WebCore::MediaStreamList::MediaStreamList):
        (WebCore::MediaStreamList::~MediaStreamList):
        (WebCore::MediaStreamList::length):
        (WebCore::MediaStreamList::item):
        * dom/MediaStreamList.h: Renamed from Source/WebCore/dom/StreamList.h.
        * dom/MediaStreamList.idl: Renamed from Source/WebCore/dom/StreamList.idl.
        * dom/StreamEvent.cpp:
        (WebCore::StreamEvent::create):
        (WebCore::StreamEvent::StreamEvent):
        (WebCore::StreamEvent::initStreamEvent):
        (WebCore::StreamEvent::stream):
        * dom/StreamEvent.h:
        (WebCore::StreamEvent::isMediaStreamEvent):
        * dom/StreamEvent.idl:
        * page/MediaStreamFrameController.cpp:
        (WebCore::MediaStreamFrameController::unregister):
        (WebCore::MediaStreamFrameController::getStreamFromLabel):
        (WebCore::MediaStreamFrameController::stopGeneratedStream):
        (WebCore::MediaStreamFrameController::streamGenerated):
        (WebCore::MediaStreamFrameController::audioTrackFailed):
        (WebCore::MediaStreamFrameController::videoTrackFailed):
        * page/MediaStreamFrameController.h:
        (WebCore::MediaStreamFrameController::ClientBase::isMediaStream):
        (WebCore::MediaStreamFrameController::ClientBase::isLocalMediaStream):
        (WebCore::MediaStreamFrameController::MediaStreamClient::MediaStreamClient):
        (WebCore::MediaStreamFrameController::MediaStreamClient::~MediaStreamClient):
        (WebCore::MediaStreamFrameController::MediaStreamClient::isMediaStream):
        (WebCore::MediaStreamFrameController::MediaStreamClient::isLocalMediaStream):
        * page/NavigatorUserMediaSuccessCallback.h:
        * page/NavigatorUserMediaSuccessCallback.idl:

2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium] Fix showing dominator leaf nodes after r89457
        https://bugs.webkit.org/show_bug.cgi?id=63250

        * inspector/front-end/DetailedHeapshotView.js:
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get isEmpty):

2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: HTML preview in network panel should take 100% of resource view height.
        https://bugs.webkit.org/show_bug.cgi?id=63167

        * inspector/front-end/inspector.css:
        (.resource-view.html iframe):

2011-06-23  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>

        Reviewed by Pavel Feldman.

        Inspector may close at the start of the next inspector test in DRT
        https://bugs.webkit.org/show_bug.cgi?id=60881

        Add a new function to the inspector, which tests whether the
        dispatch queue is empty.

        * inspector/front-end/inspector.js:
        (WebInspector.dispatchQueueIsEmpty):

2011-06-23  Jeffrey Pfau  <jpfau@apple.com>

        Reviewed by Nikolas Zimmermann.

        Incorrectly placed SVG gradients can cause crashes when referenced
        https://bugs.webkit.org/show_bug.cgi?id=62914

        Added a check for gradient rendering contexts. If the contexts can't be found, the gradient must be in an invalid location, so we use the fallback color instead.

        Tests: svg/custom/invalid-gradient-with-xlink.svg
               svg/custom/xlink-to-invalid-gradient.svg

        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourceLinearGradient.cpp:
        (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes):
        * rendering/svg/RenderSVGResourceLinearGradient.h:
        * rendering/svg/RenderSVGResourceRadialGradient.cpp:
        (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
        * rendering/svg/RenderSVGResourceRadialGradient.h:
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
        * svg/SVGLinearGradientElement.h:
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
        * svg/SVGRadialGradientElement.h:

2011-06-23  Dmitriy Vyukov  <dvyukov@google.com>

        Reviewed by David Levin.

        Fix incorrect usage of a condition variable.
        https://bugs.webkit.org/show_bug.cgi?id=63127

        No new tests. This does not affect existing
        functionality.

        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):

2011-06-23  David Grogan  <dgrogan@chromium.org>

        Reviewed by Eric Seidel.

        IndexedDB: add detail to an ASSERT error message
        https://bugs.webkit.org/show_bug.cgi?id=60407

        No new tests, this is just a debug ASSERT.

        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):

2011-06-22  Dirk Schulze  <krit@webkit.org>

        Reviewed by Rob Buis.

        Convert SVGPointList to SVGAnimatorFactory concept
        https://bugs.webkit.org/show_bug.cgi?id=63171

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGPointList.

        Added support for from-by animations of SVGPointLists.

        Tests: svg/animations/svgpointlist-animation-1.html
               svg/animations/svgpointlist-animation-2.html

        * CMakeLists.txt: Added new files to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Added SVGAnimatedPointList.cpp
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimatedPointList.cpp: Added.
        (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator):
        (WebCore::SVGAnimatedPointListAnimator::constructFromString):
        (WebCore::SVGAnimatedPointListAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedPointListAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
        * svg/SVGAnimatedPointList.h: Added.
        (WebCore::SVGAnimatedPointListAnimator::~SVGAnimatedPointListAnimator):
        * svg/SVGAnimatedType.cpp:
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createPointList):
        (WebCore::SVGAnimatedType::pointList):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):

2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Move file-choosing and icon-loading management to FileInputType
        https://bugs.webkit.org/show_bug.cgi?id=62069

        1) Moved the duties of FileChooserClient and FileIconLoaderClient from
        RenderFileUploadControl to FileInputType, along with all of the
        supporting functions.

        2) Moved Icon ownership to FileInputType and exposed accessor on
        HTMInputElement to allow RenderFileUploadControl to query current icon.

        As a result, RenderFileUploadControl is now completely stateless, which is
        neat and clean.

        Refactoring, covered by existing tests.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent): Moved logic here from RenderFileUploadControl.
        (WebCore::FileInputType::requestIcon): Ditto.
        (WebCore::FileInputType::filesChosen): Ditto.
        (WebCore::FileInputType::receiveDropForDirectoryUpload): Ditto.
        (WebCore::FileInputType::updateRendering): Ditto.
        (WebCore::FileInputType::chrome): Ditto.
        (WebCore::FileInputType::receiveDroppedFiles): Ditto.
        (WebCore::FileInputType::icon): Added.
        * html/FileInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueFromRenderer): Updated comment.
        (WebCore::HTMLInputElement::receiveDroppedFiles): Added to replace setFileListFromRenderer.
        (WebCore::HTMLInputElement::icon): Added.
        * html/HTMLInputElement.h:
        * html/InputType.cpp:
        (WebCore::InputType::receiveDroppedFiles): Added.
        (WebCore::InputType::icon): Added.
        * html/InputType.h:
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Changed to use HTMLInputElement. Ahh, nice and clean!
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed code that is no longer necessary.
        (WebCore::RenderFileUploadControl::updateFromElement): Ditto.
        (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use HTMLInputElement icon accessor.
        (WebCore::RenderFileUploadControl::paintObject): Ditto.
        * rendering/RenderFileUploadControl.h:

2011-06-22  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Darin Adler.

        Add NSError wrapper functions in ResourceError when USE(CFNETWORK) is enabled
        https://bugs.webkit.org/show_bug.cgi?id=63155

        Add wrapper functions to ResourceError when building with USE(CFNETWORK). We need to create
        a new NSError in ResourceError::nsError() since Safari has category methods on NSError and
        passing a CFErrorRef back does not work even though CFErrorRef/NSErrror are toll-free
        bridged.

        No tests because no change in functionality.

        * WebCore.exp.in:
        * platform/network/cf/ResourceError.h:
        * platform/network/mac/ResourceErrorMac.mm:
        (WebCore::ResourceError::ResourceError):
        (WebCore::ResourceError::nsError):
        (WebCore::ResourceError::operator NSError *):

2011-06-22  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Mark Rowe.

        Add window.internals to WebKit2's WebKitTestRunner.
        https://bugs.webkit.org/show_bug.cgi?id=61073

        * Configurations/WebCoreTestSupport.xcconfig:
        * WebCore.xcodeproj/project.pbxproj:

2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Convert FileIconLoaderClient to "smart client" pattern, just like FileChooserClient.
        https://bugs.webkit.org/show_bug.cgi?id=63224

        Refactoring, covered by existing tests.

        * platform/FileIconLoader.cpp:
        (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Changed to discard loader.
        (WebCore::FileIconLoaderClient::newFileIconLoader): Added.
        (WebCore::FileIconLoaderClient::discardLoader): Added.
        * platform/FileIconLoader.h: Updated defs.
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed initialization of icon loader.
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Remove discarding of loader.
        (WebCore::RenderFileUploadControl::requestIcon): Changed to use newFileIconLoader.
        * rendering/RenderFileUploadControl.h: Updated defs.

2011-06-22  Yael Aharon  <yael.aharon@nokia.com>

        Another unreviewed build fix after r89472.

        No new tests, just a build fix.

        * rendering/svg/SVGResources.cpp:

2011-06-22  Yael Aharon  <yael.aharon@nokia.com>

        Unreviewed build fix after r89472.

        No new tests, just a build fix.

        * rendering/InlineBox.cpp:
        * rendering/RenderCounter.cpp:

2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Add a helper function to FileList to retrieve a list of filenames.
        https://bugs.webkit.org/show_bug.cgi?id=63222

        Refactoring, covered by existing tests.

        * fileapi/FileList.cpp:
        (WebCore::FileList::filenames): Added.
        * fileapi/FileList.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use newly added helper.
        (WebCore::RenderFileUploadControl::click): Ditto.
        (WebCore::RenderFileUploadControl::fileTextValue): Ditto.

2011-06-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Barth.

        Lower HTML parser DOM depth limit to 2048
        https://bugs.webkit.org/show_bug.cgi?id=63219

        Lower the default depth limit from 4096 to 2048. There isn't a good
        reason to have such pathologically nested content, and by-and-large,
        the rendering code is not setup to support it that well. Adding this
        aggressive limit now will allow us to see if anything breaks in the
        nightlies.

        * page/Settings.h:

2011-06-22  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Dimitri Glazkov.

        Tighten type usage in the Shadow tree code
        https://bugs.webkit.org/show_bug.cgi?id=63210

        Refactoring only, no new test required.

        * dom/Document.cpp:
        (WebCore::Document::buildAccessKeyMap):
        * dom/Document.h:
        Changed the argument of buildAccessKeyMap to TreeScope.

        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::removeShadowRoot):
        * html/ColorInputType.cpp:
        (WebCore::ColorInputType::shadowColorSwatch):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::shadowSelect):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::sliderThumbElementOf):
        Use ShadowRoot for the previous call sites as this is what is
        returned by shadowRoot().

        * dom/Node.cpp:
        (WebCore::traverseTreeAndMark): Renamed the parameter here as it is not
        expected to be a shadow object. Just the rootNode of our traversal.

        * dom/ShadowRoot.h: Made attach() public as it is public in ContainerNode
        and we would do some casting to avoid the private attribute in ShadowRoot.

2011-06-22  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Remove comment about pages with frames not being page-cachable
        https://bugs.webkit.org/show_bug.cgi?id=63207

        This comment was out of date. Caching pages with Frames in
        the PageCache has worked since 2009:
        <http://webkit.org/b/13631> Page Cache should support pages with frames

        * history/PageCache.cpp:
        (WebCore::PageCache::canCache):

2011-06-22  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Add a build flag for building with libxml2 and libxslt.
        https://bugs.webkit.org/show_bug.cgi?id=63113

        No new tests. If this new flag was set by default, we could unskip
        existing xmlviewer tests.

        * CodeGenerators.pri:
        * WebCore.pri:
        * WebCore.pro:
        * features.pri:

2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>

        Yet another build fix after r89472.

        * html/parser/HTMLFormattingElementList.cpp:

2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>

        Another build fix after r89472.

        * dom/DocumentMarkerController.cpp:

2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix after r89472.

        * css/CSSStyleDeclaration.cpp:

2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        IndexedDB open (database) should NOT throw if name is null
        https://bugs.webkit.org/show_bug.cgi?id=63110

        * storage/IDBFactory.idl: remove ConvertNullToNullString flag on
        name argument, let IDL code generator stringify null value to "null"

2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Add a Position constructor that takes (Text*, unsigned offset)
        https://bugs.webkit.org/show_bug.cgi?id=63181

        Added Position::Position(PassRefPtr<Text*>, unsigned offset) and deployed in a couple of places
        by replacing the calls to the old constructor.

        * dom/Position.cpp:
        (WebCore::Position::Position): Added.
        * dom/Position.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::replaceSelectedTextInNode): Calls new constructor; extracted
        from InsertTextCommand::performTrivialReplace and ReplaceSelectionCommand::performTrivialReplace.
        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Calls new constructor
        * editing/CompositeEditCommand.h:
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
        (WebCore::InsertTextCommand::input): Calls new constructor.
        (WebCore::InsertTextCommand::insertTab): Use RefPtr instead of a raw pointer.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
        * editing/visible_units.cpp:
        (WebCore::startPositionForLine): Calls new constructor.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::visiblePositionForIndex): Calls new constructor; calls endPosition
        on Range instead of avoid manually constructing a VisiblePosition out of endContainer and endOffset.

2011-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Fisher.

        [Chromium] Add WebDocument APIs for the functions moving from WebFrame
        https://bugs.webkit.org/show_bug.cgi?id=62831

        * dom/Document.cpp:
        (WebCore::Document::openSearchDescriptionURL):
            - This function exists to service a Chromium WebKit API, but it's
              generally purpose and might be useful to other ports.  The
              algorithm has some strange early exits, which I've marked with
              FIXME comments.
        * dom/Document.h:

2011-06-22  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Don't let all subresources keep isLoadingInAPISense() from
        returning false, only requests that affect
        CachedResourceRequest::requestCount().

        Also, add a callback to Internals to determine whether
        a resource has been preloaded.

        https://bugs.webkit.org/show_bug.cgi?id=62066

        * WebCore.exp.in:
        * dom/Document.cpp: Add m_loadEventFinished.
        * dom/Document.h:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::isPreloaded):
        * loader/cache/CachedResourceLoader.h:
        * testing/Internals.cpp:
        (WebCore::Internals::isPreloaded):
        * testing/Internals.h:
        * testing/Internals.idl:

2011-06-22  Chris Rogers  <crogers@google.com>

        Reviewed by David Levin.

        Use create() method for AsyncAudioDecoder::DecodingTask
        https://bugs.webkit.org/show_bug.cgi?id=63198

        No new tests.  This doesn't change any JS API.

        * webaudio/AsyncAudioDecoder.cpp:
        (WebCore::AsyncAudioDecoder::decodeAsync):
        (WebCore::AsyncAudioDecoder::DecodingTask::create):
        * webaudio/AsyncAudioDecoder.h:

2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89489.
        http://trac.webkit.org/changeset/89489
        https://bugs.webkit.org/show_bug.cgi?id=63203

        Broke chromium mac build on build.webkit.org (Requested by
        abarth on #webkit).

        * WebCore.gyp/WebCore.gyp:
        * loader/cache/CachedFont.cpp:
        * platform/chromium/DragImageRef.h:
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::hash):
        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        (WebCore::GlyphBuffer::expandLastAdvance):
        * platform/graphics/IntPoint.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/IntSize.h:
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cg/FloatPointCG.cpp:
        * platform/graphics/cg/FloatRectCG.cpp:
        * platform/graphics/cg/FloatSizeCG.cpp:
        * platform/graphics/cg/IntPointCG.cpp:
        * platform/graphics/cg/IntRectCG.cpp:
        * platform/graphics/cg/IntSizeCG.cpp:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):

2011-06-22  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by James Robinson.

        Remove comment that snuck in via copy & paste.
        https://bugs.webkit.org/show_bug.cgi?id=63177

        No new tests / no code changes.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::operator short):
        Removed incorrect comment.

2011-06-22  Annie Sullivan  <sullivan@chromium.org>

        Reviewed by Ryosuke Niwa.

        REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
        https://bugs.webkit.org/show_bug.cgi?id=61594

        When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
        split at to be at the end of a text node. The code assumes the position is at the start of the node, so
        pass the correct node into splitTreeToNode() in that case.

        Tests: editing/inserting/return-key-before-br-in-span.html
               editing/inserting/return-key-middle-of-span.html

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):

2011-06-22  Rob Buis  <rbuis@rim.com>

        Reviewed by Nikolas Zimmermann.

        SVG1.1SE test with pointer-events and invalid gradient fill fails
        https://bugs.webkit.org/show_bug.cgi?id=63109

        Properly detect fill/stroke properties of type SVG_PAINTTYPE_URI_NONE, store it in SVGPaint
        and don't apply the paint if the uri lookup fails.

        Tests: svg/W3C-SVG-1.1-SE/interact-pointer-03-t.svg
               svg/custom/pointer-events-invalid-fill.svg

        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * rendering/svg/RenderSVGResource.cpp:
        (WebCore::requestPaintingResource):
        * svg/SVGPaint.h:
        (WebCore::SVGPaint::createURIAndNone):

2011-06-22  Cary Clark  <caryclark@google.com>

        Reviewed by Darin Fisher.

        Use Skia if Skia on Mac Chrome is enabled
        https://bugs.webkit.org/show_bug.cgi?id=62999

        No new tests. This does not affect existing
        functionality.

        * WebCore.gyp/WebCore.gyp:
        Include Skia and related files and exclude CG
        and related files when building Chromium for Skia
        on the Mac.

        * loader/cache/CachedFont.cpp:
        Rename CHROME to CHROMIUM.

        * platform/chromium/DragImageRef.h:
        * platform/graphics/FloatPoint.h:
        * platform/graphics/FloatRect.h:
        * platform/graphics/FloatSize.h:
        * platform/graphics/FontPlatformData.h:
        (WebCore::FontPlatformData::hash):
        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        (WebCore::GlyphBuffer::expandLastAdvance):
        * platform/graphics/IntPoint.h:
        * platform/graphics/IntRect.h:
        * platform/graphics/IntSize.h:
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/cg/FloatPointCG.cpp:
        * platform/graphics/cg/FloatRectCG.cpp:
        * platform/graphics/cg/FloatSizeCG.cpp:
        * platform/graphics/cg/IntPointCG.cpp:
        * platform/graphics/cg/IntRectCG.cpp:
        * platform/graphics/cg/IntSizeCG.cpp:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
        Ditto.

2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        IndexedDB createIndex should NOT throw if name arg is null
        https://bugs.webkit.org/show_bug.cgi?id=63114

        * storage/IDBObjectStore.idl: remove ConvertNullToNullString flag
        so null values will be stringified as "null", as per WebIDL spec.

2011-06-22  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        AudioContext needs non-blocking call to create AudioBuffer from audio file data
        https://bugs.webkit.org/show_bug.cgi?id=61947

        No new tests since audio API is not yet implemented.

        * DerivedSources.make:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * webaudio/AsyncAudioDecoder.cpp: Added.
        (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
        (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
        (WebCore::AsyncAudioDecoder::decodeAsync):
        (WebCore::AsyncAudioDecoder::threadEntry):
        (WebCore::AsyncAudioDecoder::runLoop):
        (WebCore::AsyncAudioDecoder::DecodingTask::DecodingTask):
        (WebCore::AsyncAudioDecoder::DecodingTask::decode):
        (WebCore::AsyncAudioDecoder::DecodingTask::notifyCompleteDispatch):
        (WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):
        * webaudio/AsyncAudioDecoder.h: Added.
        (WebCore::AsyncAudioDecoder::DecodingTask::audioData):
        (WebCore::AsyncAudioDecoder::DecodingTask::sampleRate):
        (WebCore::AsyncAudioDecoder::DecodingTask::successCallback):
        (WebCore::AsyncAudioDecoder::DecodingTask::errorCallback):
        (WebCore::AsyncAudioDecoder::DecodingTask::audioBuffer):
        * webaudio/AudioBufferCallback.h: Added.
        (WebCore::AudioBufferCallback::~AudioBufferCallback):
        * webaudio/AudioBufferCallback.idl: Added.
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::decodeAudioData):
        * webaudio/AudioContext.h:
        * webaudio/AudioContext.idl:

2011-06-22  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=63174
        Don't draw the borders as one path unless there really are 4 borders
        -and corresponding-
        <rdar://problem/9457997>

        If any of the border edges have no width, then allEdgesVisible should be set to 
        false since borders without width will not be visible.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):

2011-06-22  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Oliver Hunt.

        Canvas in layer obscures overlapping span
        https://bugs.webkit.org/show_bug.cgi?id=63161

        Test: compositing/layer-creation/spanOverlapsCanvas.html

        * rendering/RenderLayer.cpp: Added checks for canvas to be layered properly.
        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
        (WebCore::RenderLayer::isSelfPaintingLayer):

2011-06-22  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        AudioContext noteGrainOn() method should not apply explicit windowing
        https://bugs.webkit.org/show_bug.cgi?id=63005

        No new tests since audio API is not yet implemented.

        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::readFromBuffer):
        * webaudio/AudioBufferSourceNode.h:

2011-06-22  Kentaro Hara  <haraken@google.com>

        Reviewed by Tony Chang.

        Check |keypath| argument of createObjectStore(). Remove storage/indexeddb/keypath-as-array.html.
        https://bugs.webkit.org/show_bug.cgi?id=63054

        At the head of createObjectStore(), we parse |keypath| argument and throw an exception
        if the |keypath| is invalid. With this parsing, we remove keypath-as-array.html because
        the current keypath parser does not support an array of keypath and (more importantly)
        the current implementation of ObjectStore does not support multiple keypaths.
        We added keypath-basics.html that demonstrates that we do not support an array of keypaths.

        Tests: storage/indexeddb/keypath-basics.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBKeyPath.cpp:
        (WebCore::IDBIsValidKeyPath):
        * storage/IDBKeyPath.h:

2011-06-22  Young Han Lee  <joybro@company100.net>

        Reviewed by Simon Fraser.

        animation-timing-function property with a list uses first item for all animations
        https://bugs.webkit.org/show_bug.cgi?id=60303

        When an element has multiple animations that have different timingFunctions,
        the progress of each animation should be calculated using its respective timingFunction.
        But at this point, the timingFunction of the first animation is only used for the
        calculation, regardless of how many animations the element has.

        The code for getting a timingFunction is changed by this patch
        so that the timingFunction of the correct animation searched by its name will be used.

        Test: animations/multiple-animations-timing-function.html

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::getAnimationFromStyleByName):
        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):

2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89407, r89409, r89410, and r89411.
        http://trac.webkit.org/changeset/89407
        http://trac.webkit.org/changeset/89409
        http://trac.webkit.org/changeset/89410
        http://trac.webkit.org/changeset/89411
        https://bugs.webkit.org/show_bug.cgi?id=63168

        Broke Chromium tests for Forms and Autofill (Requested by
        dimich on #webkit).

        * css/html.css:
        (input[type="search"]::-webkit-search-cancel-button):
        (input[type="search"]::-webkit-search-decoration):
        (input[type="search"]::-webkit-search-results-decoration):
        (input[type="search"]::-webkit-search-results-button):
        (input::-webkit-inner-spin-button):
        (input::-webkit-input-speech-button):
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        * html/InputType.h:
        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType):
        (WebCore::SearchInputType::createShadowSubtree):
        (WebCore::SearchInputType::destroyShadowSubtree):
        * html/SearchInputType.h:
        (WebCore::SearchInputType::innerBlockElement):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::TextFieldInputType):
        (WebCore::TextFieldInputType::createShadowSubtree):
        (WebCore::TextFieldInputType::destroyShadowSubtree):
        * html/TextFieldInputType.h:
        (WebCore::TextFieldInputType::innerTextElement):
        (WebCore::TextFieldInputType::innerSpinButtonElement):
        (WebCore::TextFieldInputType::speechButtonElement):
        (WebCore::TextFieldInputType::setInnerTextElement):
        (WebCore::TextFieldInputType::setSpeechButtonElement):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::innerTextElement):
        (WebCore::RenderTextControlSingleLine::layout):
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        (WebCore::RenderTextControlSingleLine::forwardEvent):
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        (WebCore::RenderTextControlSingleLine::hasControlClip):
        (WebCore::RenderTextControlSingleLine::controlClipRect):
        (WebCore::RenderTextControlSingleLine::textBlockWidth):
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
        (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
        * rendering/RenderTextControlSingleLine.h:

2011-06-20  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Improve speed of heap profiles dominators view.
        https://bugs.webkit.org/show_bug.cgi?id=62979

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotArraySlice.prototype.item):
        (WebInspector.HeapSnapshotArraySlice.prototype.slice):
        (WebInspector.HeapSnapshot.prototype.dispose):
        (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
        (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
        (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
        (WebInspector.HeapSnapshot.prototype._buildRetainers):
        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
        (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
        (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
        (WebInspector.HeapSnapshotFilteredOrderedIterator):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get length):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
        (WebInspector.HeapSnapshotNodesProvider):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):

2011-06-22  Sreeram Ramachandran  <sreeram@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Restore console messages when restoring inspector state
        https://bugs.webkit.org/show_bug.cgi?id=63146

        No new tests (no change in functionality, only in display).

        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::restore):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):

2011-06-22  Adam Barth  <abarth@webkit.org>

        Attempt to fix the GTK build after my incomplete rollout of 88332.

        * GNUmakefile.list.am:

2011-06-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Barth.

        HTML parser should limit element depth of produced tree
        https://bugs.webkit.org/show_bug.cgi?id=63082

        Test by:
            fast/parser/block-nesting-cap.html
            fast/parser/element-nesting-cap.html

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):
        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
        * html/parser/HTMLConstructionSite.h:
        Limit the DOM tree depth by turning attempts to add a child passed a certain
        threshold (configurable by Settings::maximumDOMTreeDepth) into a sibling.

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::maximumDOMTreeDepth):
        * html/parser/HTMLDocumentParser.h:
        Pass the maximumDOMTreeDepth to the TreeBuilder.

        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::HTMLElementStack):
        (WebCore::HTMLElementStack::popAll):
        (WebCore::HTMLElementStack::insertAbove):
        (WebCore::HTMLElementStack::pushCommon):
        (WebCore::HTMLElementStack::popCommon):
        (WebCore::HTMLElementStack::removeNonTopCommon):
        * html/parser/HTMLElementStack.h:
        (WebCore::HTMLElementStack::size):
        Keep track of the size of the element stack.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        * html/parser/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::create):
        Pass the maximumDOMTreeDepth to the construction site.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setMaximumHTMLParserDOMTreeDepth):
        (WebCore::Settings::maximumHTMLParserDOMTreeDepth):
        Add a setting to control the maximum DOM tree depth that the parser will produce.

2011-06-22  Adam Barth  <abarth@webkit.org>

        Rollout 88332.  As discussed on webkit-dev, we'd like to iterate on
        both the API and it's implementation a bit.

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::activeMatch):
        * dom/DocumentMarkerController.cpp:
        * dom/DocumentMarkerController.h:
        * html/HTMLDivElement.cpp:
        * html/HTMLDivElement.h:
        * html/HTMLDivElement.idl:
        * html/HTMLInputElement.cpp:
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextAreaElement.idl:
        * html/SpellcheckRange.cpp: Removed.
        * html/SpellcheckRange.h: Removed.
        * html/SpellcheckRange.idl: Removed.
        * html/SpellcheckRangeList.cpp: Removed.
        * html/SpellcheckRangeList.h: Removed.
        * html/SpellcheckRangeList.idl: Removed.
        * rendering/InlineTextBox.cpp:
        (WebCore::textCheckingLineStyleForMarkerType):
        (WebCore::InlineTextBox::paintDocumentMarkers):

2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        IndexedDB: fix multiple issues in IDBDatabase.idl
        https://bugs.webkit.org/show_bug.cgi?id=63140

        Tests: storage/indexeddb/createObjectStore-name-argument-required.html
               storage/indexeddb/createObjectStore-null-name.html
               storage/indexeddb/deleteObjectStore-name-argument-required.html
               storage/indexeddb/deleteObjectStore-null-name.html
               storage/indexeddb/setVersion-null.html
               storage/indexeddb/transaction-storeNames-required.html

        * storage/IDBDatabase.idl: remove LegacyDefaultOptionalArguments so
        all functions will throw TypeError when called with too few arguments,
        as per WebIDL spec. Also remove ConvertNullToNullString flags so null
        values are stringified as "null" (also as per WebIDL spec).

2011-06-22  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
        https://bugs.webkit.org/show_bug.cgi?id=63069

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourceContent):
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::InspectorPageAgent::getResourceContent):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
        (WebInspector.Resource.prototype._innerRequestContent):

2011-06-22  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Support cast from CSSPrimitiveValue to short and use for CSSPropertyWidows and CSSPropertyOrphans.
        https://bugs.webkit.org/show_bug.cgi?id=62964

        No new tests / refactoring only.

        * css/CSSPrimitiveValueMappings.h:
        Support cast to/from short.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use cast to short to allow CSSPropertWidows and CSSPropertyOrphans to use existing macro.

2011-06-22  Eunmi Lee  <eunmi15.lee@samsung.com>

        Reviewed by Martin Robinson.

        Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
        https://bugs.webkit.org/show_bug.cgi?id=62848

        This patch will make GtkWidgetBackingStore shareable with EFL port.
        It is a preparation to integrate WebKit2's BackingStoreGtk.cpp and
        BackingStoreEfl.cpp as a BackingStoreCairo.cpp.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::copyRectFromOneSurfaceToAnother):
        * platform/graphics/cairo/CairoUtilities.h:
        * platform/cairo/WidgetBackingStore.h: Added.
        * platform/gtk/GtkWidgetBackingStore.h: Removed.
        * platform/gtk/GtkWidgetBackingStoreCairo.cpp:
        (WebCore::createSurfaceForBackingStore):
        (WebCore::WidgetBackingStorePrivate::create):
        (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
        (WebCore::WidgetBackingStore::create):
        (WebCore::WidgetBackingStore::WidgetBackingStore):
        (WebCore::WidgetBackingStore::~WidgetBackingStore):
        (WebCore::WidgetBackingStore::cairoSurface):
        (WebCore::WidgetBackingStore::scroll):
        * platform/gtk/GtkWidgetBackingStoreX11.cpp:
        (WebCore::WidgetBackingStorePrivate::create):
        (WebCore::WidgetBackingStorePrivate::~WidgetBackingStorePrivate):
        (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
        (WebCore::WidgetBackingStore::create):
        (WebCore::WidgetBackingStore::WidgetBackingStore):
        (WebCore::WidgetBackingStore::~WidgetBackingStore):
        (WebCore::WidgetBackingStore::cairoSurface):
        (WebCore::WidgetBackingStore::scroll):

2011-06-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Update position, bounds and anchor point in GraphicsLayerCA all at once
        https://bugs.webkit.org/show_bug.cgi?id=63148

        Since position, bounds and anchor point are inter-dependent, avoid
        redundant work by simply updating them all at the same time.
        
        No behavior changes, so no new tests.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setPosition):
        (WebCore::GraphicsLayerCA::setAnchorPoint):
        (WebCore::GraphicsLayerCA::setSize):
        (WebCore::GraphicsLayerCA::setBoundsOrigin):
        (WebCore::GraphicsLayerCA::setAllowTiledLayer):
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::updateGeometry):
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:

2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Make instantiation of legacy editing position more explicit
        https://bugs.webkit.org/show_bug.cgi?id=63037

        Replaced the constructor of Position class that used to instantiate a legacy editing position
        by a function called createLegacyEditingPosition.

        * WebCore.exp.in: Removed the constructor from the list.
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::visiblePositionForTextMarkerData): Calls createLegacyEditingPosition.
        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): No longer uses Positions to instantiate a range.
        * dom/Position.cpp:
        (WebCore::Position::Position): New constructor takes LegacyEditingOffset, which can only be instantiated
        by createLegacyEditingPosition.
        (WebCore::Position::previous): Calls createLegacyEditingPosition.
        (WebCore::Position::next): Ditto.
        (WebCore::Position::upstream): Ditto.
        (WebCore::Position::downstream): Ditto.
        * dom/Position.h: Added new Position::LegacyEditingOffset class to hide the legacy constructor from the world.
        (WebCore::Position::LegacyEditingOffset::value): Added.
        (WebCore::Position::LegacyEditingOffset::LegacyEditingOffset): Added.
        (WebCore::createLegacyEditingPosition): Added.
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::operator Position): Calls createLegacyEditingPosition.
        * dom/RangeBoundaryPoint.h:
        (WebCore::RangeBoundaryPoint::toPosition): Ditto.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::performTrivialReplace): Instantiates new Position instead of old one; this is always
        safe since the anchor node is always a text node.
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Calls createLegacyEditingPosition.
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::renderedText): Ditto.
        * editing/visible_units.cpp:
        (WebCore::previousBoundary): Ditto.
        (WebCore::previousLinePosition): Ditto.
        (WebCore::nextLinePosition): Ditto.
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::collapse): Ditto.
        (WebCore::DOMSelection::setBaseAndExtent): Ditto.
        (WebCore::DOMSelection::setPosition): Ditto.
        (WebCore::DOMSelection::extend): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForBox): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionForPoint): Calls Position() instead of Position(0, 0).
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createVisiblePosition): Calls createLegacyEditingPosition.s

2011-06-22  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: split setAttributes and setAttributeValue.
        https://bugs.webkit.org/show_bug.cgi?id=63138

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttributeValue):
        (WebCore::InspectorDOMAgent::setAttributesText):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.setAttribute):
        (WebInspector.DOMNode.prototype.setAttributeValue):

2011-06-22  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Animate viewBox attribute in SVG
        https://bugs.webkit.org/show_bug.cgi?id=20057

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGRect. With the new animator we support
        interpolation between SVGRects. A feature that can be used to get smooth zooming animations for SVGs.
        
        Added parseRect() to SVGParserUtilities for parsing Strings to FloatRects.

        Tests: svg/animations/svgrect-animation-1.html
               svg/animations/svgrect-animation-2.html

        * CMakeLists.txt: Added new file SVGAnimatedRect.cpp to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * platform/graphics/FloatRect.h: Added new operators + and +=.
        (WebCore::operator+=):
        (WebCore::operator+):
        * svg/SVGAllInOne.cpp: Added SVGAnimatedRect.cpp for Win build.
        * svg/SVGAnimateElement.cpp: Handle AnimatedRect explicitly.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
        (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
        (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
        (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
        (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
        (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
        (WebCore::SVGAnimateElement::calculateDistance): Ditto.
        * svg/SVGAnimatedRect.cpp: Added. The new Animator for SVGRect.
        (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator):
        (WebCore::SVGAnimatedRectAnimator::constructFromString):
        (WebCore::SVGAnimatedRectAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedRectAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedRectAnimator::calculateDistance):
        * svg/SVGAnimatedRect.h:
        (WebCore::SVGAnimatedRectAnimator::~SVGAnimatedRectAnimator):
        * svg/SVGAnimatedType.cpp: Support for FloatRect.
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createRect):
        (WebCore::SVGAnimatedType::rect):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h:
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGParserUtilities.cpp: Parse String as FloatRect.
        (WebCore::parseRect):
        * svg/SVGParserUtilities.h:

2011-06-20  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        FileChooser should be only created when we need to choose files.
        https://bugs.webkit.org/show_bug.cgi?id=63039

        1) Introduce FileChooserSettings to decouple setting querying from
        FileChooser. It's a simple copyable settings object, which allows us
        to capture the settings atomically and treat them as discardable data.

        2) Encapsulate lifetime management of FileChooser entirely in
        FileChooserClient. It's now a "smart" client, and allows us to
        completely remove FileChooser management concerns from a FileChooserClient
        implementor.

        3) Change creation of FileChooser to be on-demand, only when we actually
        need to choose file.

        4) Rearrange calling of dispatchFormControlChangeEvent to be at the end
        of a function and remove "am-I-dead" checks that are now unnecessary.

        5) Clean up directory upload code a bit, and make use of FileChooserSettings
        to pass directory name.

        Refactoring, covered by existing tests.

        * WebCore.exp.in: Removed unneeded export.
        * loader/EmptyClients.h: Removed now-unneded param.
        (WebCore::EmptyChromeClient::enumerateChosenDirectory): Ditto.
        * page/Chrome.cpp:
        (WebCore::Chrome::enumerateChosenDirectory): Ditto.
        * page/Chrome.h: Ditto.
        * page/ChromeClient.h: Ditto.
        * platform/FileChooser.cpp:
        (WebCore::FileChooserClient::~FileChooserClient): Added discarding of chooser.
        (WebCore::FileChooserClient::newFileChooser): Added.
        (WebCore::FileChooserClient::discardChooser): Added.
        (WebCore::FileChooser::FileChooser): Changed to use FileChooserSettings.
        (WebCore::FileChooser::create): Ditto.
        (WebCore::FileChooser::~FileChooser): Removed unneeded code.
        (WebCore::FileChooser::chooseFiles): Changed to pass results to the client.
        * platform/FileChooser.h:
        (WebCore::FileChooser::settings): Added.
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::filenamesFromFileList): Added a helper.
        (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use the helper, removed
            chooser initialization code.
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed disconnection code, now
            handled in FileChooserClient.
        (WebCore::RenderFileUploadControl::filesChosen): Renamed from valueChanged, rearranged to
            fire dispatchFormControlChangeEvent last.
        (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload): Changed to use settings.
        (WebCore::RenderFileUploadControl::click): Ditto.
        (WebCore::RenderFileUploadControl::updateFromElement): Removed now-unneeded check.
        (WebCore::RenderFileUploadControl::receiveDroppedFiles): Changed to avoid using the chooser, since
            it is not necessary.
        (WebCore::RenderFileUploadControl::fileTextValue): Changed to use input data, not chooser data.
        * rendering/RenderFileUploadControl.h: Updated decls.

2011-06-22  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: DOMAgent.resolveNode should receive objectGroup.
        https://bugs.webkit.org/show_bug.cgi?id=63137

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::wrapNode):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::resolveNode):
        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::resume):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        * inspector/front-end/EventListenersSidebarPane.js:
        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
        (WebInspector.EventListenersSidebarPane.prototype.update):
        (.):
        ():
        * inspector/front-end/PropertiesSidebarPane.js:
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.resolveNode):
        (WebInspector.RemoteObjectProperty.fromPrimitiveValue):

2011-06-22  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: fix exceptions in scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=62865

        Resource.requestContent callback may be fired after navigation when scripts panel
        is already reset.

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
        (WebInspector.DebuggerPresentationModel.prototype._addScript):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._showSourceFrameAndAddToHistory):
        (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
        * inspector/front-end/SourceFile.js:
        (WebInspector.SourceFile.prototype.reload):

2011-06-21  Michael Saboff  <msaboff@apple.com>

        Reviewed by Adam Roben.

        REGRESSION (r88260): Assertion failure in FontCache::getCachedFontData when typing in Safari's address field
        https://bugs.webkit.org/show_bug.cgi?id=63078

        Added FontCachePurgePreventer in WebCore::WebCoreTextFloatWidth to handle
        assertion failure when typing in address field on windows.  Investigated
        other possible code paths that need purge prevention.  Added 
        FontCachePurgeProtection to WebCore::createDragImageForLink and
        WebCore::doDrawTextAtPoint.

        No change to functionality, therefore no new tests.

        * platform/win/DragImageWin.cpp:
        (WebCore::createDragImageForLink):
        * platform/win/WebCoreTextRenderer.cpp:
        (WebCore::doDrawTextAtPoint):
        (WebCore::WebCoreTextFloatWidth):

2011-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        A couple setTextAsOfLastFormControlChangeEvent tweaks
        https://bugs.webkit.org/show_bug.cgi?id=63108

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::insertedIntoDocument): Use
        emptyString() instead of String("") because it is better style and faster.

        * html/HTMLFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent
        non-virtual so it actually gets inlined, since there are no overrides of it.
        Also make it take a const String& to avoid unnecessary reference count churn.

2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89402.
        http://trac.webkit.org/changeset/89402
        https://bugs.webkit.org/show_bug.cgi?id=63129

        It made 6 tests crash (Requested by Ossy on #webkit).

        * dom/DataTransferItem.cpp:
        (WebCore::DataTransferItem::DataTransferItem):
        * dom/DataTransferItem.h:
        * dom/DataTransferItems.cpp:
        (WebCore::DataTransferItems::DataTransferItems):
        * dom/DataTransferItems.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
        * editing/CompositeEditCommand.h:
        * page/WebKitAnimationList.cpp:
        (WebCore::WebKitAnimationList::append):
        (WebCore::WebKitAnimationList::insertAnimation):
        * page/WebKitAnimationList.h:
        (WebCore::WebKitAnimationList::create):
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::FEImage):
        (WebCore::FEImage::create):
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
        (WebCore::SVGFilterBuilder::add):
        (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
        * svg/graphics/filters/SVGFilterBuilder.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
        * websockets/WorkerThreadableWebSocketChannel.h:
        (WebCore::WorkerThreadableWebSocketChannel::Peer::create):

2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89368.
        http://trac.webkit.org/changeset/89368
        https://bugs.webkit.org/show_bug.cgi?id=63128

        It made http/tests/inspector/extensions-resources-
        redirect.html crash (Requested by Ossy on #webkit).

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourceContent):
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::InspectorPageAgent::getResourceContent):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
        (WebInspector.Resource.prototype._innerRequestContent):

2011-06-17  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: use stack trace to create anchors for console messages.
        https://bugs.webkit.org/show_bug.cgi?id=62856

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._completions.reportCompletions):
        (WebInspector.ConsoleView.prototype._completions):
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.createAnchor):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.createAnchor):
        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
        (WebInspector.ScriptsPanel.prototype._updateAnchor):
        * inspector/front-end/inspector.js:
        (WebInspector.linkifyResourceAsNode):
        (WebInspector.linkifyCallFrameAsNode):

2011-06-21  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Avoid custom layout code of RenderTextControlSingleLine
        https://bugs.webkit.org/show_bug.cgi?id=61415

        If a text field has a search results button, a search cancel
        button, a speech button, or a spin button, the editable inner text
        element and they are wrapped by a flexible box container, and the
        editable inner text element has flexibility.
        As the result of applying the flexible box, we don't need any
        horizontal layout code in RenderTextControlSingleLine except the
        inner spin button.

        Also, we remove custom hit-testing code in nodeAtPoint(). If a
        user clicks on a position left of the inner editable text but not
        on the search results button, the search results button doesn't
        work though it worked.

        * css/html.css:
        (input::-webkit-textfield-decoration-container):
          New style definition for the "container" element.
        (input[type="search"]::-webkit-search-cancel-button):
          It should be a block element because it's a child of the flexible box.
          Also, this doesn't have flexibility.
        (input[type="search"]::-webkit-search-decoration): ditto.
        (input[type="search"]::-webkit-search-results-decoration): ditto.
        (input[type="search"]::-webkit-search-results-button): ditto.
        (input::-webkit-inner-spin-button): ditto.
        (input::-webkit-input-speech-button): ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::containerElement):
          Add an accessor of the flexible box container.
          It just calls InputType::containerElement().
        * html/HTMLInputElement.h: Declare it.
        * html/InputType.h:
        (WebCore::InputType::containerElement): New accessor for a shadow element.
        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType):
          m_innerBlock is moved to TextFieldInputType.
        (WebCore::SearchInputType::needsContainer):
          A search field always needs the flexible box container because
          of the results button and the cancel button.
        (WebCore::SearchInputType::createShadowSubtree):
          Use TextFieldInputType::createShadowSubtree(), then modify the tree.
        (WebCore::SearchInputType::destroyShadowSubtree):
          m_innerBlock is moved to TextFieldInputType.
        * html/SearchInputType.h:
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::TextFieldInputType):
          Initialize the new members.
        (WebCore::TextFieldInputType::needsContainer):
          Returns true if x-webkit-speech. We check a spin button separately.
        (WebCore::TextFieldInputType::createShadowSubtree):
          Wrap everything with the flexible box container if needsContainer() or we need a spin button.
        (WebCore::TextFieldInputType::containerElement): Added an accessor.
        (WebCore::TextFieldInputType::innerBlockElement): ditto.
        (WebCore::TextFieldInputType::innerTextElement): ditto.
        (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
        (WebCore::TextFieldInputType::speechButtonElement): ditto.
        (WebCore::TextFieldInputType::destroyShadowSubtree):
          Clear references to new shadow nodes.
        * html/TextFieldInputType.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
        (WebCore::RenderTextControlSingleLine::innerTextElement):
        (WebCore::RenderTextControlSingleLine::layout):
         - Correct heights check
          Comparing with height(), not contentHeigth(), was incorrect.
         - Adjust the container height like the editable inner text.
         - Remove width adjustment
         - Remove the speech button layout code
          The flexible box layout is enough.
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
          Remove custom code for results/cancel/speech buttons, and
          Simplify comments.
        (WebCore::RenderTextControlSingleLine::forwardEvent):
          Remove custom forwarding code for results/cancel buttons.
        (WebCore::RenderTextControlSingleLine::styleDidChange):
          Clear the style of the container because we update it in layout().
        (WebCore::RenderTextControlSingleLine::hasControlClip):
          Decoration buttons should be clipped by the container.
        (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
          We don't need to use display:inline-block any more.
        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
          The text wrapper element should have flexibility.
        (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
          Updated for the tree structure change.
        * rendering/RenderTextControlSingleLine.h:

2011-06-21  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r89401 and r89403.
        http://trac.webkit.org/changeset/89401
        http://trac.webkit.org/changeset/89403
        https://bugs.webkit.org/show_bug.cgi?id=62970

        Breaks mac build and mistakenly enables the spellcheck API

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:

2011-06-21  Kent Tamura  <tkent@chromium.org>

        [Mac] Sort Xcode project files.

        * WebCore.xcodeproj/project.pbxproj:

2011-06-21  Darin Adler  <darin@apple.com>

        Reviewed by Ryosuke Niwa.

        RefPtr misused as argument type in a few classes
        https://bugs.webkit.org/show_bug.cgi?id=62955

        * dom/DataTransferItem.cpp:
        (WebCore::DataTransferItem::DataTransferItem):
        * dom/DataTransferItem.h:
        * dom/DataTransferItems.cpp:
        (WebCore::DataTransferItems::DataTransferItems):
        * dom/DataTransferItems.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
        * editing/CompositeEditCommand.h:
        * page/WebKitAnimationList.cpp:
        (WebCore::WebKitAnimationList::append):
        (WebCore::WebKitAnimationList::insertAnimation):
        * page/WebKitAnimationList.h:
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::FEImage):
        (WebCore::FEImage::create):
        * svg/graphics/filters/SVGFEImage.h:
        * svg/graphics/filters/SVGFilterBuilder.cpp:
        (WebCore::SVGFilterBuilder::SVGFilterBuilder):
        (WebCore::SVGFilterBuilder::add):
        (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
        * svg/graphics/filters/SVGFilterBuilder.h:
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
        * websockets/WorkerThreadableWebSocketChannel.h:
        Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.

2011-06-20  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Spellcheck API should be build-able.
        https://bugs.webkit.org/show_bug.cgi?id=62970

        No new tests, changing only build related files

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:

2011-06-21  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        beginTransparencyLayer leaves context color out of sync, bleeds color into text
        https://bugs.webkit.org/show_bug.cgi?id=63093

        Test: fast/css/color-leakage.html

        * platform/graphics/cg/GraphicsContextCG.cpp: Swap out CGContextSave/Restore with
        GraphicsContext::save/restore to keep the context in sync with its CG context
        (WebCore::GraphicsContext::beginTransparencyLayer): Added save(), removed redundant calls.
        (WebCore::GraphicsContext::endTransparencyLayer): Added restore(), removed redundant calls.

2011-06-21  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        add css parsing of flex()
        https://bugs.webkit.org/show_bug.cgi?id=62050

        Test: css3/flexbox/flex-parsing.html

        * CMakeLists.txt: Add CSSFlexValue.*
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * css/CSSFlexValue.cpp: Added.
        (WebCore::CSSFlexValue::~CSSFlexValue):
        (WebCore::CSSFlexValue::cssText):
        * css/CSSFlexValue.h: Added.
        (WebCore::CSSFlexValue::create): Hold positive flex, negative flex and sizing.
        (WebCore::CSSFlexValue::CSSFlexValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValidPrimitive): Pull out code from parseValue.
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFlex): Parse the different version of flex().
        * css/CSSParser.h:

2011-06-21  Adrienne Walker  <enne@google.com>

        Reviewed by Simon Fraser.

        Add child layers to the overlap map if their parent belatedly becomes composited
        https://bugs.webkit.org/show_bug.cgi?id=62181

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        * rendering/RenderLayerCompositor.h:

2011-06-21  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Implement drawingBufferWidth/drawingBufferHeight in WebGL
        https://bugs.webkit.org/show_bug.cgi?id=58497

        * html/canvas/WebGLRenderingContext.cpp: Add drawingBufferWidth/Height method and call getInternalFramebufferSize().
        (WebCore::WebGLRenderingContext::drawingBufferWidth):
        (WebCore::WebGLRenderingContext::drawingBufferHeight):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl: Add readonly attributes drawingBufferWidth/Height.
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Make getInternalFramebufferSize const.
        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
        * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
        (WebCore::GraphicsContext3D::getInternalFramebufferSize):

2011-06-21  Dmitry Lomov  <dslomov@google.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=62653
        [V8][Chromium] Make StringCache in V8 bindings per-isolate
        This moves StringCache into V8BindingPerIsolateData.

        * bindings/v8/V8Binding.cpp:
        (WebCore::cachedStringCallback):
        (WebCore::StringCache::remove):
        (WebCore::StringCache::v8ExternalStringSlow):
        * bindings/v8/V8Binding.h:
        (WebCore::StringCache::StringCache):
        (WebCore::StringCache::v8ExternalString):
        (WebCore::StringCache::clearOnGC):
        (WebCore::V8BindingPerIsolateData::stringCache):
        (WebCore::v8ExternalString):
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcPrologue):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):


2011-06-21  Alexey Proskuryakov  <ap@apple.com>

        Clang build fix.

        * platform/mac/WebCoreSystemInterface.h: Give the enum a name.

2011-06-21  Alexey Proskuryakov  <ap@apple.com>

        Fix Mac build in some configurations.

        * platform/mac/WebCoreSystemInterface.h: Added an enum matching WKSI one, since we cannot use
        WKSI in WebCore.

        * platform/mac/WebVideoFullscreenHUDWindowController.mm: Removed an include of WebKitSystemInterface.h.
        It's not meant to be used from WebCore, and if included, a wrong copy may be used.
        (createControlWithMediaUIControlType): Added a FIXME about problems with Leopard build.
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Ditto. Switched enum values to
        WCSI style (lower level "wk").

2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89354.
        http://trac.webkit.org/changeset/89354
        https://bugs.webkit.org/show_bug.cgi?id=63099

        Broke tests on Mac (Requested by rniwa on #webkit).

        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/front-end/InspectorFrontendAPI.js: Removed.
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._enableProfiling):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._enableDebugging):
        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        IndexedDB: IDBObjectStore methods should throw TypeError if required arguments are missing
        https://bugs.webkit.org/show_bug.cgi?id=63087

        Test: storage/indexeddb/objectStore-required-arguments.html

        * storage/IDBObjectStore.idl: Remove LegacyDefaultOptionalArguments flag
        so missing required arguments will throw TypeError, as per WebIDL spec.

2011-06-21  Rob Buis  <rbuis@rim.com>

        Reviewed by Dirk Schulze.

        All pointer-events fail if text has visibility="hidden"
        https://bugs.webkit.org/show_bug.cgi?id=62209

        Use PointerEventsHitRules to make hit-testing for SVG text inline boxes work.

        No new tests; covered by existing test pointer-events-text.svg.

        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::nodeAtPoint):
        * rendering/svg/SVGInlineTextBox.h:

2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        IndexedDB: keyrange methods should throw TypeError if required arguments are missing
        https://bugs.webkit.org/show_bug.cgi?id=63085

        Test: storage/indexeddb/keyrange-required-arguments.html

        * storage/IDBKeyRange.idl: remove LegacyDefaultOptionalArguments flag
        so missing required arguments throw TypeError, as per WebIDL spec.

2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: should throw TypeError when indexedDB.open() name argument is missing
        https://bugs.webkit.org/show_bug.cgi?id=63065

        * storage/IDBFactory.idl: remove LegacyDefaultOptionalArguments flag
        and fix function argument flags

2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: should throw TypeError when index .get() key argument is missing
        https://bugs.webkit.org/show_bug.cgi?id=63079

        Test: storage/indexeddb/index-get-key-argument-required.html

        * storage/IDBIndex.idl: remove LegacyDefaultOptionalArguments flag
        so missing required arguments throw a TypeError as per WebIDL spec.

2011-06-21  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: cursor update() value argument is required
        https://bugs.webkit.org/show_bug.cgi?id=63032

        Test: storage/indexeddb/cursor-update-value-argument-required.html

        * storage/IDBCursor.idl: remove LegacyDefaultOptionalArguments flag so
          calling functions with missing required arguments will raise a TypeError

2011-06-21  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [GTK] r89314 caused several shadow tests to start failing
        https://bugs.webkit.org/show_bug.cgi?id=63045

        Use prepareForFilling and prepareForStroking when rendering the shadowed
        image of a path. This ensures that the shadowed image has the proper alpha.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow): Properly prepare the shadow image.

2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Remove old (aggregating) heap profiler.
        https://bugs.webkit.org/show_bug.cgi?id=63049

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::takeHeapSnapshot):
        * inspector/Inspector.json:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
        * inspector/InspectorProfilerAgent.h:
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype.get profile):
        (WebInspector.DetailedHeapshotView.prototype.get baseProfile):
        (WebInspector.DetailedHeapshotView.prototype._profiles):
        (WebInspector.DetailedHeapshotProfileType):
        (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
        * inspector/front-end/HeapSnapshotView.js: Removed.
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/heapProfiler.css:
        * inspector/front-end/inspector.html:

2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Move logic for deciding whether resource content should be base64 encoded on backend.
        https://bugs.webkit.org/show_bug.cgi?id=63069

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourceContent):
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::InspectorPageAgent::getResourceContent):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
        (WebInspector.Resource.prototype._innerRequestContent):

2011-06-21  Dirk Schulze  <krit@webkit.org>

        Reviewed by Rob Buis.

        SVG no fallback to discrete animation on attribute 'values' for SVGString
        https://bugs.webkit.org/show_bug.cgi?id=57085

        Check for AnimatedString, AnimatedBoolean and AnimatedEnumeration on 'values' calculation.
        If the property type matches one of the above values, fallback to discrete animation.

        The patch also changes behavior for String animation. The animation code doesn't handle inheritance
        for strings anymore. This is done by the CSS parser itself now, we just need to handle inheritance
        on animations that interpolate between two values like for calcMode="linear".

        Test: svg/animations/svgstring-animation-fallback-to-discrete.html

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):

2011-06-21  Cary Clark  <caryclark@google.com>

        Reviewed by Eric Seidel.

        Update GraphicsContextSkia when the Chromium platform is Mac
        https://bugs.webkit.org/show_bug.cgi?id=62867

        No new tests. This does not modify existing code;
        there is no change in functionality.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::drawOuterPath):
        (WebCore::drawInnerPath):
        (WebCore::getFocusRingOutset):
        (WebCore::GraphicsContext::drawFocusRing):
        The OS X framework draws a fatter focus ring than the
        Chromium port. Increase the diameter, and add an inner
        stroke with more transparency, to match the look of
        Chromium on Mac when Skia is the rendering engine.

        (WebCore::deviceRGBColorSpaceRef):
        Add deviceRGBColorSpaceRef, a static cache of
        CGColorSpaceCreateDeviceRGB(). This is called by
        the Mac-specific UI when Skia is the rendering engine.

2011-06-21  Tony Chang  <tony@chromium.org>

        Try to fix WinCE build.  Replace cat with perl -ne "print".

        * CMakeLists.txt:

2011-06-21  Alexandru Chiculita  <achicu@adobe.com>

        Reviewed by Tony Chang.

        "WebCore/css/makeprop.pl" and "WebCore/css/makevalues.pl" should take ENABLE_ flags into account
        https://bugs.webkit.org/show_bug.cgi?id=62114
        
        Changed the line commenting style in WebCore/css/*.in files from "#" prefixed to "//" prefixed.
        That's needed because we now pre-process the files with the C++ pre-processor. Also, there's 
        no need to manually strip the comments anymore.
        
        Moved the duplication checks from project files to makeprop.pl and makevalues.pl.
        In addition makevalues.pl will also lower case the values.

        This is a build script refactoring, so no tests are provided.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gyp/scripts/action_csspropertynames.py:
        * WebCore.gyp/scripts/action_cssvaluekeywords.py:
        * css/CSSPropertyNames.in: comment style only
        * css/CSSValueKeywords.in: comment style only
        * css/SVGCSSPropertyNames.in: comment style only
        * css/SVGCSSValueKeywords.in: comment style only
        * css/WCSSValueKeywords.in: comment style only
        * css/makeprop.pl:
        * css/makevalues.pl:

2011-06-21  Peter Varga  <pvarga@webkit.org>

        Reviewed by Andreas Kling.

        [Qt][V8] Enable ScriptController::disableEval functionality in QtWebkit-V8 build
        https://bugs.webkit.org/show_bug.cgi?id=61187

        No new tests needed.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::disableEval):

2011-06-21  Peter Varga  <pvarga@webkit.org>

        Reviewed by Andreas Kling.

        [Qt][V8] Enable marking objects with complex GC rules
        https://bugs.webkit.org/show_bug.cgi?id=61291

        No new tests needed.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::wrapSlow):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::wrapSlow):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::V8TestObj::wrapSlow):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

2011-06-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
        https://bugs.webkit.org/show_bug.cgi?id=62985

        Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
        methods for plumbing the menu action handlers through the WebKit and WebCore.
        I intend to remove this menu support from the protocol and WebCore/InspectorController API.
        I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
        WebKit/win and WebKit2 to follow.

        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
        (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
        (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
        (WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
        (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
        (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
        (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/front-end/InspectorFrontendAPI.js: Added.
        (InspectorFrontendAPI.isDebuggingEnabled):
        (InspectorFrontendAPI.setDebuggingEnabled):
        (InspectorFrontendAPI.isJavaScriptProfilingEnabled):
        (InspectorFrontendAPI.setJavaScriptProfilingEnabled):
        (InspectorFrontendAPI.isTimelineProfilingEnabled):
        (InspectorFrontendAPI.setTimelineProfilingEnabled):
        (InspectorFrontendAPI.isProfilingJavaScript):
        (InspectorFrontendAPI.startProfilingJavaScript):
        (InspectorFrontendAPI.stopProfilingJavaScript):
        (InspectorFrontendAPI.setAttachedWindow):
        * inspector/front-end/ProfileView.js:
        (WebInspector.CPUProfileType):
        (WebInspector.CPUProfileType.prototype.isRecordingProfile):
        (WebInspector.CPUProfileType.prototype.startRecordingProfile):
        (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.get profilerEnabled):
        (WebInspector.ProfilesPanel.prototype.enableProfiler):
        (WebInspector.ProfilesPanel.prototype.disableProfiler):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
        (WebInspector.ScriptsPanel.prototype.enableDebugging):
        (WebInspector.ScriptsPanel.prototype.disableDebugging):
        (WebInspector.ScriptsPanel.prototype.toggleDebugging):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
        (WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:

2011-06-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89185.
        http://trac.webkit.org/changeset/89185
        https://bugs.webkit.org/show_bug.cgi?id=63068

        For breaking navigation with inspector opened. (Requested by
        pfeldman on #webkit).

        * bindings/v8/V8Binding.cpp:
        (WebCore::enableStringImplCache):
        (WebCore::getStringCache):
        (WebCore::cachedStringCallback):
        (WebCore::v8ExternalStringSlow):
        * bindings/v8/V8Binding.h:
        (WebCore::v8ExternalString):
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcPrologue):

2011-06-21  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: rename editScriptSource to setScriptSource.
        https://bugs.webkit.org/show_bug.cgi?id=63059

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setScriptSource):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setScriptSource):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.setScriptSource):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didReceiveSource):
        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.editSource):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.editContent):
        (WebInspector.SourceFrameDelegate.prototype.setScriptSource):

2011-06-21  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Show content in network panel correctly when two resources were loaded from the same url with different content.
        https://bugs.webkit.org/show_bug.cgi?id=62992

        Test: http/tests/inspector/network/network-cachedresources-with-same-urls.html

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::cachedResourceContent):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::addCachedResource):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::cachedResource):
        (WebCore::NetworkResourcesData::ResourceData::setCachedResource):

2011-06-21  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Attached state changes do not affect the drawer height
        https://bugs.webkit.org/show_bug.cgi?id=63061

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.enterPanelMode):
        (WebInspector.Drawer.prototype.exitPanelMode):
        (WebInspector.Drawer.prototype.updateHeight):
        * inspector/front-end/inspector.js:
        (WebInspector.set attached):

2011-06-17  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: can't set breakpoint on the last script line.
        https://bugs.webkit.org/show_bug.cgi?id=62861

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):

2011-06-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: console messages shouldn't prevent garbage collection of iframes
        https://bugs.webkit.org/show_bug.cgi?id=62996

        When DOMWindow is detached from its frame run through all console messages and clear
        their arguments and ScriptState references. The message text in this case will be
        the first argument serialized to string.

        Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-remove.html

        * bindings/js/ScriptState.cpp:
        (WebCore::domWindowFromScriptState):
        * bindings/js/ScriptState.h:
        * bindings/v8/ScriptState.cpp:
        (WebCore::ScriptState::domWindow):
        (WebCore::domWindowFromScriptState):
        * bindings/v8/ScriptState.h:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::windowCleared):
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptManager.cpp:
        (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
        * inspector/InjectedScriptManager.h:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::domWindowCleared):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::pageDestroyedImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::pageDestroyed):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::pageDestroyed):

2011-06-21  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium] Fix path finding to window objects.
        https://bugs.webkit.org/show_bug.cgi?id=63051

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):

2011-06-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: hovering over linkified nodes
        in the UI does not highlight elements on the page.
        https://bugs.webkit.org/show_bug.cgi?id=60630

        * inspector/front-end/inspector.js:
        (WebInspector.wireElementWithDOMNode):

2011-06-20  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Kent Tamura.

        Fix for Bug 62975 - Refactor local variable usage in CSSFontFaceSource::getFontData
        https://bugs.webkit.org/show_bug.cgi?id=62975

        No new tests because no behavioral changes.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Remove one of fontData variable.

2011-06-20  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        KURL::protocolIs(const char* protocol) asserts in Debug builds with
        valid protocols
        https://bugs.webkit.org/show_bug.cgi?id=61572

        No new tests. No code currently calls protocolIs() with a protocol that
        contains a non-letter character.

        * platform/KURL.cpp:
        (WebCore::isSchemeCharacterMatchIgnoringCase): A helper function that
        compares two characters ignoring case. It assumes (and asserts) that
        both characters are valid scheme characters, and that if the second
        argument is a letter that it is lowercase.
        (WebCore::KURL::protocolIs): Call isSchemeCharacterMatchIgnoringCase()
        instead of isLetterMatchIgnoringCase().

2011-06-20  Dai Mikurube  <dmikurube@chromium.org>

        Reviewed by Kent Tamura.

        Webkit allows disabled option as value of "required" select
        https://bugs.webkit.org/show_bug.cgi?id=62668

        * html/HTMLSelectElement.cpp: Removed "disabled" checking due to spec change.
        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption):

2011-06-20  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Update ANGLE to r696.
        https://bugs.webkit.org/show_bug.cgi?id=56396

        * platform/graphics/ANGLEWebKitBridge.cpp:
        (WebCore::ANGLEWebKitBridge::validateShaderSource): Specify backend.

2011-06-20  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Group load-initiating and stopping functions in FrameLoader.h
        https://bugs.webkit.org/show_bug.cgi?id=63030

        No function change, thus no tests.

        * loader/FrameLoader.h:

2011-06-20  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by Mihai Parparita.

        [Chromium] Draw search tickmarks on overlay scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=62783

        This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.

        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
        (wkScrollbarPainterPaint):
        (wkScrollbarPainterPaintTrack):
        (wkScrollbarPainterPaintKnob):
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
        (WebCore::ScrollbarThemeChromiumMac::paint):
        (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):

2011-06-20  Adam Barth  <abarth@webkit.org>

        Mac build fix.  In addition to adding the files to the project, we need
        to add them to the WebCore target.

        * WebCore.xcodeproj/project.pbxproj:

2011-06-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove numRequests
        https://bugs.webkit.org/show_bug.cgi?id=63028

        numRequests exists just to cargo-cult null-check m_frame->document(),
        which is always non-null.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkCompleted):
        (WebCore::FrameLoader::numPendingOrLoadingRequests):

2011-06-20  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        startWordBoundary() in visible_units.cpp assumes that all characters are 16 bit
        https://bugs.webkit.org/show_bug.cgi?id=63027

        No new tests, because I don't see this affect any webkit.org ports.

        * editing/visible_units.cpp: (WebCore::startWordBoundary): Previous offset is not just minus
        one - we need to use a proper macro to iterate.

2011-06-20  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Making SharedBufferCRLFLineReader more generic, so it can be used to read MHTML
        file with binary parts.
        https://bugs.webkit.org/show_bug.cgi?id=62966

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/archive/mhtml/MHTMLParser.cpp:
        (WebCore::skipLinesUntilBoundaryFound):
        (WebCore::MHTMLParser::MHTMLParser):
        (WebCore::MHTMLParser::parseNextPart):
        * loader/archive/mhtml/MHTMLParser.h:
        * platform/SharedBufferChunkReader.cpp: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.cpp.
        (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
        (WebCore::SharedBufferChunkReader::setSeparator):
        (WebCore::SharedBufferChunkReader::nextChunk):
        * platform/SharedBufferChunkReader.h: Renamed from Source/WebCore/platform/SharedBufferCRLFLineReader.h.
        * platform/network/MIMEHeader.cpp:
        (WebCore::retrieveKeyValuePairs):
        (WebCore::MIMEHeader::parseHeader):
        * platform/network/MIMEHeader.h:

2011-06-20  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Windowless plugins sometimes crash with a BadMatch error
        https://bugs.webkit.org/show_bug.cgi?id=63020

        Do not try to create an XPixmap with any of the dimensions as zero.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::updatePluginWidget): Guard against and empty window rect
        before trying to create a windowless plugin pixmap.

2011-06-20  Antonio Gomes  <agomes@rim.com>

        Reviewed by Ryosuke Niwa.

        Stop adding empty rects in FrameSelection::getClippedVisibleTextRectangles
        https://bugs.webkit.org/show_bug.cgi?id=63018

        No new tests needed, since it causes no behavioral change.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::getClippedVisibleTextRectangles):

2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        Web Inspector: CRASH if Expanding Event Listener on document
        https://bugs.webkit.org/show_bug.cgi?id=61834

        Node::ownerDocument returns null for a document node. So, in
        the case of a document node in resolveNode, use Node::document
        which returns the node, as a document.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::resolveNode):

2011-06-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Simon Fraser.

        Minimize memory due to layer backing stores for pages in the Page Cache
        https://bugs.webkit.org/show_bug.cgi?id=62675

        When a page enters the page cache there is now an option on
        the PageCache singleton to clear the backing stores and layers
        of the cached page. This can be useful to minimize the amount
        of memory the stored page consumes.

        This only affects memory usage and is disabled by default, so no test.

        * history/CachedFrame.h:
        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::CachedFrameBase):
        Save whether or not the page had composited content or not
        in a new instance variable, m_isComposited.

        (WebCore::CachedFrameBase::restore):
        When restoring, rebuild the compositing tree if it may have
        been destroyed.

        (WebCore::CachedFrame::CachedFrame):
        When saving, clear the backing stores if the page is in
        compositing mode, and the PageCache setting is enabled.
        
        * history/PageCache.cpp:
        (WebCore::PageCache::PageCache):
        * history/PageCache.h:
        (WebCore::PageCache::shouldClearBackingStores):
        (WebCore::PageCache::setShouldClearBackingStores):
        A setting to opt-in to the new behavior of clearing
        the backing stores.

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::clearBackingStores):
        (WebCore::FrameView::restoreBackingStores):
        To clear all backing stores we disable compositing
        for the frame, to detach the root platform layer,
        and recursively clear backing stores from the root
        layer of the FrameView.

        * rendering/RenderLayer.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::clearBackingIncludingDescendants):
        Recursively call clearBacking.

2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        IDL generator should throw TypeError instead of SyntaxError on not enough arguments
        https://bugs.webkit.org/show_bug.cgi?id=63011

        To align with WebIDL, we should throw TypeError whenever a function
        is called with missing required arguments.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):

2011-05-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        REGRESSION: [CAIRO] wrong drawing of Gradients and Patterns on texts
        https://bugs.webkit.org/show_bug.cgi?id=31507

        When painting text, be sure to set the pattern fill or gradient before modifying the Cairo
        context CTM. This ensures that gradients and patterns are scaled and positioned properly in
        the coordinate system of the page. Abstract out the fill preparation to avoid repeating this
        logic and perform a bit of cleanup.

        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::prepareContextForGlyphDrawing): Now set the x and y position of the text using the glyph
        offsets. This avoids having to set a transformation matrix when there is no synthetic oblique.
        (WebCore::drawGlyphsToContext): Add a newline as part of cleanup. Call prepareContextForGlyphDrawing from here
        and restor the original CTM when exiting.
        (WebCore::drawGlyphsShadow): Use drawGlyphsToContext here to ensure that all glyph drawing goes through
        the same path.
        (WebCore::Font::drawGlyphs): Fix a C-style cast and use the glyph offsets to position the glyphs instead
        of adjusting the transformation matrix. Use GC::prepareForFilling and GC::prepareForStroking instead of
        setting up the fill and stroke manually.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::fillRectWithColor): Renamed fillRectSourceOver to fillRectWithColor to make it clearer
        why this is different than the slower fill method. Moved the no transparency early return here.
        (WebCore::drawPathShadow): Instead of calling setPlatformFill, just perform a cheap fill and stroke
        with red color. Since the shadow is used as a mask, the actual fill shouldn't matter.
        (WebCore::reduceSourceByAlpha): Added this helper.
        (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
        correctly handles the transformation matrix.
        (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
        (WebCore::shadowAndFillCurrentCairoPath): Adapted from fillCurrentCairoPath, but renamed to clarify
        what it does and no uses prepareForFilling.
        (WebCore::shadowAndStrokeCurrentCairoPath): Ditto for stroking.
        (WebCore::GraphicsContext::drawRect): Update for new method names.
        (WebCore::GraphicsContext::drawLine): Ditto.
        (WebCore::GraphicsContext::fillPath): Ditto.
        (WebCore::GraphicsContext::strokePath): Ditto.
        (WebCore::GraphicsContext::fillRect): Ditto. Remove the unnecessary save/restore pair here.
        (WebCore::GraphicsContext::strokeRect): Update to reflect new method names.
        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::reduceSourceByAlpha): Added this helper.
        (WebCore::GraphicsContext::prepareForFilling): Added this method adapted from setPlatformFill, which
        correctly handles the transformation matrix.
        (WebCore::GraphicsContext::prepareForStroking): Ditto for stroking.
        (WebCore::reduceSourceByAlpha):
        * platform/graphics/cairo/PlatformContextCairo.h: Added new method declarations.

2011-06-20  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Darin Adler.

        Incorrect clamping on SVG masks when root element is not located at (0,0)
        https://bugs.webkit.org/show_bug.cgi?id=63019

        We should be using frameRect(), not contentBoxRect() for the rect to
        clamp to when creating an SVG mask image.

        Test: svg/custom/absolute-root-position-masking.xhtml

        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer):

2011-06-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove FrameLoader::m_workingURL
        https://bugs.webkit.org/show_bug.cgi?id=63021

        FrameLoader shouldn't keep the working URL in separate state.  It's
        just a function of other state.  m_workingURL exists only to create
        bugs and confusion.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::documentURL):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::willSetEncoding):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::finishedLoadingDocument):
        * loader/FrameLoader.h:

2011-06-20  Kenneth Russell  <kbr@google.com>

        Unreviewed.

        Rolled out r89233 and r89235 because of crashes in http/tests/misc/acid3.html on Snow Leopard and other platforms
        https://bugs.webkit.org/show_bug.cgi?id=63022

        * features.pri:
        * page/DOMWindow.idl:
        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText):
        (WebCore::Font::drawEmphasisMarks):
        (WebCore::Font::width):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        (WebCore::Font::codePath):
        * platform/graphics/Font.h:
        * platform/graphics/FontFallbackList.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter):
        (WebCore::Font::getEmphasisMarkGlyphData):
        (WebCore::Font::drawGlyphBuffer):
        * platform/graphics/FontMetrics.h:
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::fill):
        * platform/graphics/SVGGlyph.h:
        (WebCore::SVGGlyph::SVGGlyph):
        (WebCore::SVGGlyph::operator==):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::widthForGlyph):
        * platform/graphics/TextRun.h:
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance):
        * platform/graphics/WidthIterator.h:
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::scaleEmToUnits):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::scaleEmToUnits):
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        (WebCore::scaleEmToUnits):
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::SVGTextMetrics::SVGTextMetrics):
        (WebCore::constructTextRun):
        (WebCore::SVGTextMetrics::measureCharacterRange):
        * rendering/svg/SVGTextMetrics.h:
        * rendering/svg/SVGTextRunRenderingContext.cpp:
        (WebCore::convertEmUnitToPixel):
        (WebCore::isVerticalWritingMode):
        (WebCore::firstParentRendererForNonTextNode):
        (WebCore::referencingRenderObjectFromRun):
        (WebCore::SVGTextRunWalker::SVGTextRunWalker):
        (WebCore::SVGTextRunWalker::walk):
        (WebCore::floatWidthUsingSVGFontCallback):
        (WebCore::floatWidthMissingGlyphCallback):
        (WebCore::floatWidthOfSubStringUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont):
        (WebCore::drawTextUsingSVGFontCallback):
        (WebCore::drawTextMissingGlyphCallback):
        (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::selectionRectForTextUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::offsetForPositionForTextUsingSVGFont):
        * rendering/svg/SVGTextRunRenderingContext.h:
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::glyphElement):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::initializeFontData):
        * svg/SVGFontData.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
        (WebCore::SVGFontElement::ensureGlyphCache):
        * svg/SVGGlyphMap.h:
        (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
        * svg/svgtags.in:

2011-06-20  Scott Byer  <scottbyer@chromium.org>

        Reviewed by Adam Barth.

        Smooth scrolling for Chromium, initial patch.
        https://bugs.webkit.org/show_bug.cgi?id=61878

        Add in a default scrolling animator in the platform directory, with a run time enable switch, to provide
        animated / smooth scrolling on platforms and for input devices where it's not provided by the platform, and to
        be easily configurable to what situatuations the animations are provided for. The smooth scrolling code is
        compiled out by default.

        Unit tests in chromium/ScrollAnimatorNoneTest.cpp

        * WebCore.gypi:
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollAnimatorEnabled):
        * page/FrameView.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setEnableScrollAnimator):
        (WebCore::Settings::scrollAnimatorEnabled):
        * platform/ScrollAnimatorNone.cpp: Added.
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorNone::Parameters::Parameters):
        (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
        (WebCore::ScrollAnimatorNone::PerAxisData::attackCurve):
        (WebCore::ScrollAnimatorNone::PerAxisData::releaseCurve):
        (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
        (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
        (WebCore::ScrollAnimatorNone::PerAxisData::reset):
        (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
        (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
        (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
        (WebCore::ScrollAnimatorNone::scroll):
        (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorNone::animationTimerFired):
        (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
        * platform/ScrollAnimatorNone.h: Added.
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::scrollAnimatorEnabled):

2011-06-20  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Remove some unsafe static_cast in rendering/
        https://bugs.webkit.org/show_bug.cgi?id=63014

        Mechanical refactoring, no test needed.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::getEmphasisMarkPosition):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::destroyScrollbar):
        * rendering/RenderRuby.cpp:
        (WebCore::rubyBeforeBlock):
        (WebCore::rubyAfterBlock):
        (WebCore::lastRubyRun):
        (WebCore::findRubyRunParent):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::rubyRun):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):
        Use the proper conversion methods at the previous call-sites.

2011-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Web archive resource loads are scheduled together with network loads
        https://bugs.webkit.org/show_bug.cgi?id=63024
        <rdar://problem/9508564>

        If the resource being loaded is loaded from a web archive we don't need to schedule the load
        since it won't touch the network.

        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::scheduleLoad):

2011-06-20  Pratik Solanki  <psolanki@apple.com>

        Reviewed by David Kilzer.

        HTTP pipelining functions on mac should match windows
        https://bugs.webkit.org/show_bug.cgi?id=63012

        Use a CFURLRequestRef instead of NSURLRequest for the HTTP pipelining functions.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):

2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>

        Fix bit flag collision.

        * editing/FrameSelection.h:

2011-06-20  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix; Fix Leopard WebCore build.

        * platform/mac/WebVideoFullscreenHUDWindowController.mm: On Leopard, NSWindowDelegate
            is a category, not a protocol.

2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Various editing functions take boolean userTriggered but should be replaced by an enum
        https://bugs.webkit.org/show_bug.cgi?id=62933

        Replaced boolean userTriggered in many functions by new EUserTriggered enum.

        * WebCore.exp.in: FrameSelection::modify's signature changed.
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): Calls FrameSelection::moveTo.
        * editing/EditorCommand.cpp:
        (WebCore::executeMoveBackward): Calls FrameSelection::modify.
        (WebCore::executeMoveBackwardAndModifySelection): Ditto.
        (WebCore::executeMoveDown): Ditto.
        (WebCore::executeMoveDownAndModifySelection): Ditto.
        (WebCore::executeMoveForward): Ditto.
        (WebCore::executeMoveForwardAndModifySelection): Ditto.
        (WebCore::executeMoveLeft): Ditto.
        (WebCore::executeMoveLeftAndModifySelection): Ditto.
        (WebCore::executeMovePageDown): Ditto.
        (WebCore::executeMovePageDownAndModifySelection): Ditto.
        (WebCore::executeMovePageUp): Ditto.
        (WebCore::executeMovePageUpAndModifySelection): Ditto.
        (WebCore::executeMoveRight): Ditto.
        (WebCore::executeMoveRightAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfDocument): Ditto.
        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfLine): Ditto.
        (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfParagraph): Ditto.
        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfSentence): Ditto.
        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfDocument): Ditto.
        (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfSentence): Ditto.
        (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfLine): Ditto.
        (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfParagraph): Ditto.
        (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
        (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
        (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
        (WebCore::executeMoveUp): Ditto.
        (WebCore::executeMoveUpAndModifySelection): Ditto.
        (WebCore::executeMoveWordBackward): Ditto.
        (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
        (WebCore::executeMoveWordForward): Ditto.
        (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
        (WebCore::executeMoveWordLeft): Ditto.
        (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
        (WebCore::executeMoveWordRight): Ditto.
        (WebCore::executeMoveWordRightAndModifySelection): Ditto.
        (WebCore::executeMoveToLeftEndOfLine): Ditto.
        (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
        (WebCore::executeMoveToRightEndOfLine): Ditto.
        (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::moveTo): Takes EUserTriggered instead of a boolean.
        (WebCore::FrameSelection::setSelection): Ditto.
        (WebCore::FrameSelection::modify): Ditto.
        (WebCore::FrameSelection::setStart): Ditto.
        (WebCore::FrameSelection::setEnd): Ditto.
        (WebCore::FrameSelection::setBase): Ditto.
        (WebCore::FrameSelection::setExtent): Ditto.
        (WebCore::FrameSelection::selectAll): Ditto.
        (WebCore::FrameSelection::notifyRendererOfSelectionChange): Ditto.
        * editing/FrameSelection.h: Extracted EUserTriggered out of SetSelectionOption; SetSelectionOptions
        now takes the union of values of SetSelectionOption and EUserTriggered.
        (WebCore::FrameSelection::selectionOptionsToUserTriggered): Converts SetSelectionOptions to
        EUserTriggered. 
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::modify): Calls FrameSelection::modify.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
        (WebCore::handleKeyboardSelectionMovement): Ditto.

2011-06-20  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix; Fix 32-bit build.

        Code recently moved from WebKit -> WebCore does not pass WebCore's more strict compiler warnings.  Use 
        CGFloat, and float constants wherever possible, and use narrowPrecisionToFloat() where not.

        * WebCore.xcodeproj/project.pbxproj: Add '-Wno-undef' flag for WebVideoFullScreenController.mm 
        * platform/mac/WebVideoFullscreenController.mm:
        (constrainFrameToRatioOfFrame): Use CGFloat instead of Double.
        (-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Use float constant.
        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController updateVolume]): Use float for volume.
        (-[WebVideoFullscreenHUDWindowController maxVolume]): Ditto.
        (-[WebVideoFullscreenHUDWindowController volumeChanged:]): Ditto.
        (-[WebVideoFullscreenHUDWindowController decrementVolume]): Ditto.
        (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
        (-[WebVideoFullscreenHUDWindowController volume]): Ditto.
        (-[WebVideoFullscreenHUDWindowController setVolume:]): Ditto. 
        (timeToString): Narrow precision to float when converting to seconds.
        * platform/mac/WebWindowAnimation.mm:
        (scaledRect): Use CGFloat.
        (-[WebWindowScaleAnimation init]): Use float constant.
        (-[WebWindowScaleAnimation currentValue]): Ditto.
        (-[WebWindowScaleAnimation additionalDurationNeededToReachFinalFrame]): Ditto.
        (-[WebWindowFadeAnimation currentAlpha]): Ditto.

2011-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Disallow assigning into PassOwnArrayPtr, PassOwnPtr and PassRefPtr
        https://bugs.webkit.org/show_bug.cgi?id=62940

        Make sure that we never assign into any already existing PassRefPtr.

        * accessibility/AccessibilityMediaControls.cpp:
        (WebCore::AccessibilityMediaControl::create):
        Remove local PassRefPtr variable.

        * dom/Document.cpp:
        (WebCore::Document::setBody):
        Rename the PassRefPtr parameter and create a RefPtr variable.

        (WebCore::Document::setFocusedNode):
        Ditto.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        There's no reason to use a PassRefPtr here. Use a RefPtr, and don't initialize it since it's implicitly initialized.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::prune):
        Rename the PassRefPtr parameter and create a RefPtr variable.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::insertAsListItems):
        Ditto.

        * editing/htmlediting.cpp:
        (WebCore::createTabSpanElement):
        Ditto.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setStrokeStyle):
        (WebCore::CanvasRenderingContext2D::setFillStyle):
        Ditto.

        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::formFinalize):
        Ditto.

        (WebCore::setHTTPBody):
        Use an OwnPtr instead of explicitly deleting the form variable.

2011-06-20  Alex Milowski  <alex@milowski.com>

        Reviewed by Darin Adler.

        This patch addresses handling wrapping of child properly to maintain the layout regardless of whether 
        this is the initial build of the render tree or the result of DOM manipulation.
        https://bugs.webkit.org/show_bug.cgi?id=62098

        Tests: mathml/presentation/msub-base-changed.xhtml
               mathml/presentation/msub-sub-changed.xhtml
               mathml/presentation/msubsup-base-changed.xhtml
               mathml/presentation/msubsup-sub-changed.xhtml
               mathml/presentation/msubsup-sup-changed.xhtml
               mathml/presentation/msup-base-changed.xhtml
               mathml/presentation/msup-sup-changed.xhtml

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::addChild):
        (WebCore::RenderMathMLSubSup::stretchToHeight):
        (WebCore::RenderMathMLSubSup::baselinePosition):

2011-06-01  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Move Full Screen Controllers into WebCore.

        Remove dependency on QTKit from wekitExitFullscreen()
        https://bugs.webkit.org/show_bug.cgi?id=61843

        No new tests; the existing media full screen tests are sufficient.

        * WebCore.exp.in: Add new exports.
        * WebCore.xcodeproj/project.pbxproj: Add references to moved files.
        * platform/mac/WebCoreSystemInterface.h: Add new WCSI interfaces to WKSI functions.
        * platform/mac/WebCoreSystemInterface.mm:
        * platform/mac/WebVideoFullscreenController.h: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.h.
        * platform/mac/WebVideoFullscreenController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenController.mm.
        
        The following functions have had UNUSED_PARAM added:
        (-[WebVideoFullscreenController applicationDidResignActive:]):
        (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):
        (-[WebVideoFullscreenWindow mouseMoved:]):

Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.h.
        * platform/mac/WebVideoFullscreenHUDWindowController.mm: Renamed from Source/WebKit/mac/WebView/WebVideoFullscreenHUDWindowController.mm.
        
        The following functions have had UNUSED_PARAM added:
        (-[WebVideoFullscreenHUDWindow cancelOperation:]):
        (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
        (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]):
        (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]):
        (-[WebVideoFullscreenHUDWindowController togglePlaying:]):
        (-[WebVideoFullscreenHUDWindowController mouseEntered:]):
        (-[WebVideoFullscreenHUDWindowController mouseExited:]):
        (-[WebVideoFullscreenHUDWindowController rewind:]):
        (-[WebVideoFullscreenHUDWindowController fastForward:]):
        (-[WebVideoFullscreenHUDWindowController windowDidExpose:]):
        (-[WebVideoFullscreenHUDWindowController windowDidClose:]):

        The following functions have had WKSI calls converted to WCSI ones:
        (createControlWithMediaUIControlType):
        (createTimeTextField):
        
        * platform/mac/WebWindowAnimation.h: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.h.
        * platform/mac/WebWindowAnimation.mm: Renamed from Source/WebKit/mac/WebView/WebWindowAnimation.m.
        (WebWindowAnimationDurationFromDuration):

        The following functions have had WKSI calls converted to WCSI ones:
        (-[WebWindowScaleAnimation setCurrentProgress:]):
        (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):

2011-06-20  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
        https://bugs.webkit.org/show_bug.cgi?id=62904

        After bug 62750, there are many IDL files that contain the new
        LegacyDefaultOptionalArguments flag that don't actually need it.
        Some examples:

            - the IDL file contains no functions
            - the IDL file contains only functions with no arguments
            - the IDL file contains functions, *all* of which use the
              [RequiresAllArguments=raise] extended attribute

        This patch simplifies such IDL files by removing the
        LegacyDefaultOptionalArguments flag and (if needed) removing the
        [RequiresAllArguments=raise] extended attribute from each function
        declaration. This patch does not make any required arguments optional
        or any optional arguments required. It changes no behavior at all.

        No new tests needed, all existing tests pass.

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleRule.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValue.idl:
        * css/Counter.idl:
        * css/RGBColor.idl:
        * css/Rect.idl:
        * css/StyleSheet.idl:
        * css/WebKitCSSKeyframeRule.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/Attr.idl:
        * dom/CDATASection.idl:
        * dom/ClientRect.idl:
        * dom/Comment.idl:
        * dom/DOMCoreException.idl:
        * dom/DOMStringMap.idl:
        * dom/DocumentType.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/EventException.idl:
        * dom/GeneratedStream.idl:
        * dom/MessageChannel.idl:
        * dom/NodeIterator.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/RangeException.idl:
        * dom/Touch.idl:
        * dom/TreeWalker.idl:
        * fileapi/DOMFileSystem.idl:
        * fileapi/DOMFileSystemSync.idl:
        * fileapi/DirectoryReaderSync.idl:
        * fileapi/File.idl:
        * fileapi/FileEntrySync.idl:
        * fileapi/FileError.idl:
        * fileapi/FileException.idl:
        * fileapi/Metadata.idl:
        * fileapi/OperationNotAllowedException.idl:
        * fileapi/WebKitFlags.idl:
        * html/DOMSettableTokenList.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDataListElement.idl:
        * html/HTMLDetailsElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMarqueeElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLMeterElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLProgressElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSourceElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLTrackElement.idl:
        * html/HTMLUListElement.idl:
        * html/ImageData.idl:
        * html/MediaError.idl:
        * html/SpellcheckRange.idl:
        * html/TextMetrics.idl:
        * html/ValidityState.idl:
        * html/VoidCallback.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/CanvasPattern.idl:
        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/DataView.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/WebGLActiveInfo.idl:
        * html/canvas/WebGLBuffer.idl:
        * html/canvas/WebGLContextAttributes.idl:
        * html/canvas/WebGLFramebuffer.idl:
        * html/canvas/WebGLProgram.idl:
        * html/canvas/WebGLRenderbuffer.idl:
        * html/canvas/WebGLShader.idl:
        * html/canvas/WebGLTexture.idl:
        * html/canvas/WebGLUniformLocation.idl:
        * html/canvas/WebGLVertexArrayObjectOES.idl:
        * html/canvas/WebKitLoseContext.idl:
        * inspector/ScriptProfile.idl:
        * inspector/ScriptProfileNode.idl:
        * page/AbstractView.idl:
        * page/BarInfo.idl:
        * page/Coordinates.idl:
        * page/Geoposition.idl:
        * page/MemoryInfo.idl:
        * page/NavigatorUserMediaError.idl:
        * page/Performance.idl:
        * page/PerformanceNavigation.idl:
        * page/PerformanceTiming.idl:
        * page/PositionError.idl:
        * page/Screen.idl:
        * page/SpeechInputEvent.idl:
        * page/SpeechInputResult.idl:
        * page/WebKitAnimation.idl:
        * page/WebKitPoint.idl:
        * page/WorkerNavigator.idl:
        * plugins/DOMMimeType.idl:
        * storage/Database.idl:
        * storage/DatabaseSync.idl:
        * storage/IDBAny.idl:
        * storage/IDBCursorWithValue.idl:
        * storage/IDBDatabaseError.idl:
        * storage/IDBDatabaseException.idl:
        * storage/IDBKey.idl:
        * storage/IDBVersionChangeEvent.idl:
        * storage/IDBVersionChangeRequest.idl:
        * storage/SQLError.idl:
        * storage/SQLException.idl:
        * storage/SQLResultSet.idl:
        * svg/SVGAElement.idl:
        * svg/SVGAltGlyphElement.idl:
        * svg/SVGAngle.idl:
        * svg/SVGAnimateColorElement.idl:
        * svg/SVGAnimateElement.idl:
        * svg/SVGAnimateMotionElement.idl:
        * svg/SVGAnimateTransformElement.idl:
        * svg/SVGAnimatedAngle.idl:
        * svg/SVGAnimatedBoolean.idl:
        * svg/SVGAnimatedEnumeration.idl:
        * svg/SVGAnimatedInteger.idl:
        * svg/SVGAnimatedLength.idl:
        * svg/SVGAnimatedLengthList.idl:
        * svg/SVGAnimatedNumber.idl:
        * svg/SVGAnimatedNumberList.idl:
        * svg/SVGAnimatedPreserveAspectRatio.idl:
        * svg/SVGAnimatedRect.idl:
        * svg/SVGAnimatedString.idl:
        * svg/SVGAnimatedTransformList.idl:
        * svg/SVGCircleElement.idl:
        * svg/SVGClipPathElement.idl:
        * svg/SVGColor.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGCursorElement.idl:
        * svg/SVGDefsElement.idl:
        * svg/SVGDescElement.idl:
        * svg/SVGElement.idl:
        * svg/SVGEllipseElement.idl:
        * svg/SVGExternalResourcesRequired.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFEComponentTransferElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDiffuseLightingElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEDistantLightElement.idl:
        * svg/SVGFEFloodElement.idl:
        * svg/SVGFEFuncAElement.idl:
        * svg/SVGFEFuncBElement.idl:
        * svg/SVGFEFuncGElement.idl:
        * svg/SVGFEFuncRElement.idl:
        * svg/SVGFEImageElement.idl:
        * svg/SVGFEMergeElement.idl:
        * svg/SVGFEMergeNodeElement.idl:
        * svg/SVGFEOffsetElement.idl:
        * svg/SVGFEPointLightElement.idl:
        * svg/SVGFESpecularLightingElement.idl:
        * svg/SVGFESpotLightElement.idl:
        * svg/SVGFETileElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGFilterPrimitiveStandardAttributes.idl:
        * svg/SVGFitToViewBox.idl:
        * svg/SVGFontElement.idl:
        * svg/SVGFontFaceElement.idl:
        * svg/SVGFontFaceFormatElement.idl:
        * svg/SVGFontFaceNameElement.idl:
        * svg/SVGFontFaceSrcElement.idl:
        * svg/SVGFontFaceUriElement.idl:
        * svg/SVGForeignObjectElement.idl:
        * svg/SVGGElement.idl:
        * svg/SVGGlyphElement.idl:
        * svg/SVGGradientElement.idl:
        * svg/SVGHKernElement.idl:
        * svg/SVGImageElement.idl:
        * svg/SVGLangSpace.idl:
        * svg/SVGLength.idl:
        * svg/SVGLengthList.idl:
        * svg/SVGLineElement.idl:
        * svg/SVGLinearGradientElement.idl:
        * svg/SVGMPathElement.idl:
        * svg/SVGMaskElement.idl:
        * svg/SVGMatrix.idl:
        * svg/SVGMetadataElement.idl:
        * svg/SVGMissingGlyphElement.idl:
        * svg/SVGNumber.idl:
        * svg/SVGNumberList.idl:
        * svg/SVGPaint.idl:
        * svg/SVGPathSeg.idl:
        * svg/SVGPathSegArcAbs.idl:
        * svg/SVGPathSegArcRel.idl:
        * svg/SVGPathSegClosePath.idl:
        * svg/SVGPathSegCurvetoCubicAbs.idl:
        * svg/SVGPathSegCurvetoCubicRel.idl:
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticRel.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * svg/SVGPathSegLinetoAbs.idl:
        * svg/SVGPathSegLinetoHorizontalAbs.idl:
        * svg/SVGPathSegLinetoHorizontalRel.idl:
        * svg/SVGPathSegLinetoRel.idl:
        * svg/SVGPathSegLinetoVerticalAbs.idl:
        * svg/SVGPathSegLinetoVerticalRel.idl:
        * svg/SVGPathSegList.idl:
        * svg/SVGPathSegMovetoAbs.idl:
        * svg/SVGPathSegMovetoRel.idl:
        * svg/SVGPatternElement.idl:
        * svg/SVGPoint.idl:
        * svg/SVGPointList.idl:
        * svg/SVGPolygonElement.idl:
        * svg/SVGPolylineElement.idl:
        * svg/SVGPreserveAspectRatio.idl:
        * svg/SVGRadialGradientElement.idl:
        * svg/SVGRect.idl:
        * svg/SVGRectElement.idl:
        * svg/SVGRenderingIntent.idl:
        * svg/SVGScriptElement.idl:
        * svg/SVGSetElement.idl:
        * svg/SVGStopElement.idl:
        * svg/SVGStringList.idl:
        * svg/SVGSwitchElement.idl:
        * svg/SVGSymbolElement.idl:
        * svg/SVGTRefElement.idl:
        * svg/SVGTSpanElement.idl:
        * svg/SVGTextElement.idl:
        * svg/SVGTextPathElement.idl:
        * svg/SVGTextPositioningElement.idl:
        * svg/SVGTitleElement.idl:
        * svg/SVGTransform.idl:
        * svg/SVGTransformList.idl:
        * svg/SVGTransformable.idl:
        * svg/SVGURIReference.idl:
        * svg/SVGUnitTypes.idl:
        * svg/SVGUseElement.idl:
        * svg/SVGVKernElement.idl:
        * svg/SVGViewElement.idl:
        * svg/SVGViewSpec.idl:
        * svg/SVGZoomAndPan.idl:
        * svg/SVGZoomEvent.idl:
        * testing/Internals.idl:
        * webaudio/AudioChannelMerger.idl:
        * webaudio/AudioChannelSplitter.idl:
        * webaudio/AudioDestinationNode.idl:
        * webaudio/AudioGain.idl:
        * webaudio/AudioGainNode.idl:
        * webaudio/AudioProcessingEvent.idl:
        * webaudio/AudioSourceNode.idl:
        * webaudio/BiquadFilterNode.idl:
        * webaudio/ConvolverNode.idl:
        * webaudio/DelayNode.idl:
        * webaudio/DynamicsCompressorNode.idl:
        * webaudio/HighPass2FilterNode.idl:
        * webaudio/JavaScriptAudioNode.idl:
        * webaudio/LowPass2FilterNode.idl:
        * webaudio/OfflineAudioCompletionEvent.idl:
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.idl:
        * workers/WorkerLocation.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XMLHttpRequestProgressEvent.idl:
        * xml/XPathException.idl:

2011-06-20  Alex Milowski  <alex@milowski.com>

        Reviewed by Darin Adler.

        A change to mark wrapping blocks created by the renderer as anonymous to fix the crash for:
        https://bugs.webkit.org/show_bug.cgi?id=57901

        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::addChild):
        (WebCore::RenderMathMLUnderOver::nonOperatorHeight):

2011-06-20  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        buildbots should run run-bindings-tests
        https://bugs.webkit.org/show_bug.cgi?id=63001

        The test results were out of date, so I'm updating them.
        (This is exactly the problem that making the buildbots run them will solve.)

        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithStringList):
        * bindings/scripts/test/V8/V8TestCallback.h:
        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::V8TestInterface::GetRawTemplate):
        (WebCore::V8TestInterface::GetTemplate):
        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
        (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
        (WebCore::V8TestMediaQueryListListener::GetTemplate):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
        (WebCore::V8TestObj::GetRawTemplate):
        (WebCore::V8TestObj::GetTemplate):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
        (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):

2011-06-20  Cary Clark  <caryclark@google.com>

        Reviewed by Eric Seidel.

        Add Font interface to support Skia on Mac Chrome port
        https://bugs.webkit.org/show_bug.cgi?id=62889

        No new tests. This combination (using Skia as the
        WebCore renderer on Chrome for Mac) is not yet
        enabled, so adding this file has no functional
        change. The corresponding changes to the gyp files
        exclude FontSkia for all current builds.

        * WebCore.gyp/WebCore.gyp:
        Exclude FontSkia for all non-mac builds. An existing
        rule excludes *Skia for mac builds.

        * WebCore.gypi:
        Add FontSkia to the list of files.

        * platform/graphics/skia/FontSkia.cpp: Added.
        (WebCore::Font::canReturnFallbackFontsForComplexText):
        (WebCore::Font::canExpandAroundIdeographsInComplexText):
        (WebCore::isCanvasMultiLayered):
        (WebCore::adjustTextRenderMode):
        (WebCore::setupPaint):
        (WebCore::Font::drawGlyphs):
        These functions are similar to their counterparts in
        platform/graphics/chromium/FontLinux.cpp.
        The differences are: 
        The setupPaint uses CTFont instead of FreeType.
        The width/height font metrics have different accessors.
        Harfbuzz is not needed in the Mac port. 

2011-06-20  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        make-hash-tools.pl: Perl 5.14 compatibility
        https://bugs.webkit.org/show_bug.cgi?id=61890

        No new tests needed.

        * make-hash-tools.pl: Use if/elsif instead of switch/case.

2011-06-20  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix, fix the codepaths run under each CPU type.

        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::ImageFrame::asNewNativeImage):

2011-06-20  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Ojan Vafai.

        FrameSelection::modify should take verticalDisplacement instead of verticalDistance
        https://bugs.webkit.org/show_bug.cgi?id=62932

        Added new VerticalDirection enum to the argument list of FrameSelection::modify that takes
        verticalDistance.  Also changed the type of verticalDistance from int to unsigned int
        to accidentally pass a negative distance in the future.

        * editing/EditorCommand.cpp:
        (WebCore::verticalScrollDistance): Returns unsigned int instead of int.
        (WebCore::executeMovePageDown): Calls FrameSelection::modify.
        (WebCore::executeMovePageDownAndModifySelection): Ditto.
        (WebCore::executeMovePageUp): Ditto.
        (WebCore::executeMovePageUpAndModifySelection): Ditto.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modify): Takes VerticalDirection as an argument.
        * editing/FrameSelection.h:

2011-06-20  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Barth.

        Don't use PassRefPtr variables in the V8 bindings generator
        https://bugs.webkit.org/show_bug.cgi?id=62947

        * bindings/scripts/CodeGeneratorV8.pm:

2011-06-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        ASSERT in WebCore::HTMLToken::appendToAttributeName when visiting www.nba.com
        https://bugs.webkit.org/show_bug.cgi?id=61774

        This ASSERT triggers for the same underlying issue that causes
        Bug 62971: When we tokenize a </script> tag, we don't realize that
        we've already consumed the "</script>" from the input stream when we
        extracted the previous token.  That causes the source tracker to be
        out-of-sync, triggering the incorrect view-source highlighting and this
        ASSERT.

        For now, let's just silence the assert while we work on Bug 62971.

        Test: fast/parser/attributes-on-close-script.html

        * html/parser/HTMLToken.h:
        (WebCore::HTMLToken::appendToAttributeName):
        (WebCore::AtomicHTMLToken::initializeAttributes):

2011-06-20  Andras Becsi  <abecsi@webkit.org>

        Unreviewed build fix.

        [Qt][V8] Include missing UnusedParam.h.

        No new tests needed.

        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:

2011-06-20  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Csaba Osztrogonác.

        [Qt][V8] Remove non-existing headers from project file.

        No new tests needed.

        * WebCore.pro: Remove ChildThreadDOMData.h and MainThreadDOMData.h,
        since they have been already removed earlier from tree.

2011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
        https://bugs.webkit.org/show_bug.cgi?id=60539

        libWebCore contains all the webcore files except the ones actually
        using gtk while libWebCoreGtk contains only the files using
        gtk. It allows us to build a common WebCore lib and two different
        gtk WebCore libs depending on the gtk version. In WeKit2 gtk2 is
        not supported, but the plugin process needs to be built using gtk2
        because plugins like flash still use gtk2. For WebKit2, we build
        the common libWebCore and two libWebCoreGtk, one using gtk3 and
        the other one using gtk2.

        * GNUmakefile.am:
        * GNUmakefile.list.am:

2011-06-20  Mike Reed  <reed@google.com>

        Reviewed by Stephen White.

        [Skia] remove repeated calls to setColor, which ignored global-alpha (previous setupPaintFor... already set the color+alpha)
        https://bugs.webkit.org/show_bug.cgi?id=62988

        No new tests. removing redundant calls

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):

2011-06-19  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
        https://bugs.webkit.org/show_bug.cgi?id=62942

        Fix the == operator overload of the FreeType FontPlatformData to properly make the
        distinction between the hash table deleted value and the hash table empty value.

        No new tests. This is covered by existing tests, which should no longer
        hit assertions.

        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::operator==): Reorder the logic for determining if two
        FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns,
        instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers
        they were created at different times and the overload should return false.

2011-06-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: It would be useful to be able to pause on element's style change.
        https://bugs.webkit.org/show_bug.cgi?id=62982

        Current workaround is to use mutation events but it's awkward and doesn't
        compare _usability-wise_ to what could be implemented as native support in web inspector.
        In complex applications, being able to see which code causes element to change its style is indispensable.

        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
        * inspector/InspectorDOMDebuggerAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):

2011-06-19  Mads Ager  <ager@chromium.org>

        Reviewed by Adam Barth.

        [V8] Fix WebGL bindings for subarrays
        https://bugs.webkit.org/show_bug.cgi?id=62864

        Mark WebGL subarrays as independent of other DOM objects in the
        V8 bindings. This allows us to clean them up independently which
        greatly improves performance.

        * bindings/v8/V8Proxy.h:
        (WebCore::toV8Independent):
        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
        (WebCore::constructWebGLArrayWithArrayBufferArgument):
        (WebCore::constructWebGLArray):

2011-06-20  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed build fix for Chromium Clang builders.

        * platform/graphics/FontFallbackList.h: Declare SVGTextRunRenderingContext as class, not struct.

2011-06-20  MORITA Hajime <morrita@google.com>

        Unreviewed GTK build fix.
        This change touched the file to make the build happen.

        * dom/EventTarget.cpp:

2011-06-20  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
        https://bugs.webkit.org/show_bug.cgi?id=59085

        font substitution doesn't work for HTML text using SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=17608

        Selection rects are wrong for text with SVG fonts
        https://bugs.webkit.org/show_bug.cgi?id=25460

        With @font-face, SVG fonts only work as primary, non-segmented
        https://bugs.webkit.org/show_bug.cgi?id=32227

        When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
        https://bugs.webkit.org/show_bug.cgi?id=34236

        SVG @font-face breaks text-overflow: ellipsis
        https://bugs.webkit.org/show_bug.cgi?id=36840

        REGRESSION: SVG Font selection problems
        https://bugs.webkit.org/show_bug.cgi?id=41934

        Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
               svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
               svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
               svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
               svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)

        Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
        That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
        There's no difference anymore between using a native font or a SVG Font, in terms of these operations.

        This makes text selection using SVG Fonts possible again.

        * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
        * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
        * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
        (WebCore::Font::drawText):
        (WebCore::Font::drawEmphasisMarks):
        (WebCore::Font::width):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):
        (WebCore::Font::codePath):
        * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
                                    std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
                                    handle font fallback glyph matching for SVG Fonts..
        (WebCore::Font::fontList): Add FontFallbackList accessor.
        * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
        (WebCore::FontFallbackList::glyphPageZero):
        (WebCore::FontFallbackList::glyphPages):
        (WebCore::FontFallbackList::setGlyphPageZero):
        (WebCore::FontFallbackList::setGlyphPages):
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
        (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
        (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
        (WebCore::Font::drawGlyphBuffer): Ditto.
        * platform/graphics/FontMetrics.h:
        (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
        * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
        (WebCore::SVGGlyph::SVGGlyph):
        (WebCore::SVGGlyph::operator==):
        * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
        (WebCore::SimpleFontData::SimpleFontData):
        * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
        (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
        * platform/graphics/TextRun.h: 
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::glyphDataForCharacter):
        (WebCore::WidthIterator::advance):
        * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
                                             and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
        (WebCore::WidthIterator::run):
        (WebCore::WidthIterator::runWidthSoFar):
        (WebCore::WidthIterator::lastGlyphName):
        (WebCore::WidthIterator::setLastGlyphName):
        (WebCore::WidthIterator::arabicForms):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
        * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
        * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::SVGTextMetrics::SVGTextMetrics):
        (WebCore::constructTextRun):
        (WebCore::SVGTextMetrics::measureCharacterRange):
        * rendering/svg/SVGTextMetrics.h:
        * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
        (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
        (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
        (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
        (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
        (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
        (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
        * rendering/svg/SVGTextRunRenderingContext.h:
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
        * svg/SVGAltGlyphElement.h:
        * svg/SVGFontData.cpp:
        (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
        (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
        (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
        (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
        (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
        * svg/SVGFontData.h:
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
        (WebCore::SVGFontElement::ensureGlyphCache):
        * svg/SVGGlyphMap.h:
        (WebCore::SVGGlyphMap::addGlyphByUnicodeString): Remove setting isValid, it's not needed anymore and gone.
        * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.

2011-06-19  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        The internals object should have createShadowContentElement()
        https://bugs.webkit.org/show_bug.cgi?id=62432

        This change:
        - added Internals::createShadowContentElement(), which creates,
          ShadowContentElement instance which includes all host children,
        - added Internals::elementRenderTreeAsText() to help content layout testing, and
        - Unabstracted ShadowContentElement by giving a default shouldInclude() implementation.
        
        Test: fast/dom/shadow/create-content-element.html

        * WebCore.exp.in:
        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowContentElement::create): Added.
        (WebCore::ShadowContentElement::ShadowContentElement):
        (WebCore::ShadowContentElement::~ShadowContentElement):
        (WebCore::ShadowContentElement::shouldInclude): Gave a default implementation which always returns true.
        * dom/ShadowContentElement.h:
        * html/HTMLSummaryElement.cpp:
        (WebCore::SummaryContentElement::SummaryContentElement):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::externalRepresentation): Factored out for supportin per-element render tree dump.
        * rendering/RenderTreeAsText.h:
        * testing/Internals.cpp:
        (WebCore::Internals::createShadowContentElement): Added.
        (WebCore::Internals::elementRenderTreeAsText): dded.
        * testing/Internals.h:
        * testing/Internals.idl:

2011-06-19  Keishi Hattori  <keishi@webkit.org>

        Reviewed by Kent Tamura.

        Clicking indeterminate checkbox should flip checkedness state
        https://bugs.webkit.org/show_bug.cgi?id=62262

        Test: fast/forms/checkbox-click-indeterminate.html

        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::willDispatchClick): Changed to flip checked flag when indeterminate.

2011-06-19  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Martin Robinson.

        [GTK] Enable Media Stream feature and make it default on
        https://bugs.webkit.org/show_bug.cgi?id=60394

        * GNUmakefile.am:

2011-06-19  Una Sabovic  <una.sabovic@palm.com>

        Reviewed by Darin Adler.

        Optimization: avoid call to clearRect() when bgColor is valid when painting the root background in RenderBoxModelObject::paintFillLayerExtended
        https://bugs.webkit.org/show_bug.cgi?id=62908

        When root layers base color is fully transparent backgroundRect was cleared before bgColor is applied.
        Instead of clearing the rect we apply CompositeCopy operation when painting the background color.

        No new tests. This is an optimization, it doesn't change any existing functionality.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/GraphicsContext.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2011-06-19  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimatorFactory does not support SVGNumber
        https://bugs.webkit.org/show_bug.cgi?id=62938

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumber. With the new animator for the
        With the new animator for SVGNumber we also support the scientific notation, and everything else that's supported by
        the SVGNumber parsing, removing the SVGAnimate* specific number parsing functionality.

        Moving the content of SVGAnimatedType header into its own cpp.
        
        Changed behavior of parseNumberFromString(). It checks if the String simply consits of a number now. parseNumberFromString()
        is using genericParseNumber() for parsing numbers. But this method just stops at the first char that does not belong to a number and
        returns true. I added a check if the current char pointer is at the last char of the String and return false if not.

        Tests: svg/animations/svgnumber-animation-1.html
               svg/animations/svgnumber-animation-2.html
               svg/animations/svgnumber-animation-3.html

        * CMakeLists.txt: Added new files to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Use SVGAnimatedNumberAnimator for animations of SVGNumbers.
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateFromAndToValues):
        (WebCore::SVGAnimateElement::calculateFromAndByValues):
        (WebCore::SVGAnimateElement::resetToBaseValue):
        (WebCore::SVGAnimateElement::applyResultsToTarget):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimateElement.h: Remove floats for value storage. This is done by SVGAnimatedTypes now.
        * svg/SVGAnimatedNumber.cpp: Added. Animator for SVGNumbers.
        (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator):
        (WebCore::SVGAnimatedNumberAnimator::constructFromString):
        (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
        * svg/SVGAnimatedNumber.h:
        (WebCore::SVGAnimatedNumberAnimator::~SVGAnimatedNumberAnimator):
        * svg/SVGAnimatedType.cpp: Added. Moved content from header to cpp.
        (WebCore::SVGAnimatedType::SVGAnimatedType):
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::createAngle):
        (WebCore::SVGAnimatedType::createLength):
        (WebCore::SVGAnimatedType::createNumber):
        (WebCore::SVGAnimatedType::angle):
        (WebCore::SVGAnimatedType::length):
        (WebCore::SVGAnimatedType::number):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        * svg/SVGAnimatedType.h: Removed method create(). Allways call type specific create funtcions.
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGParserUtilities.cpp:
        (WebCore::parseNumberFromString): Check if String simply consits of a number. Return false otherwise.

2011-06-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Separate concerns of loading file icons and choosing files.
        https://bugs.webkit.org/show_bug.cgi?id=62931

        Loading an icon and choosing files have similar async nature, but completely different
        lifetimes: FileChooser should only exist when we are actually attempting to choose a file,
        not anytime we need to render an input with a proper icon.

        This patch introduces FileIconLoader, a separate abstraction for loading an icon, and removes
        any notion of an icon from the FileChooser.

        Also, the loaded icon is now stored on the RenderFileUploadControl, which better matches its
        purpose.

        Refactoring, covered by existing tests.

        * CMakeLists.txt: Added FileIconLoader to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.exp.in: Updated.
        * WebCore.gypi: Added FileIconLoader to build system.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * loader/EmptyClients.h: Updated.
        (WebCore::EmptyChromeClient::loadIconForFiles): Renamed function to better reflect what it does.
        * page/Chrome.cpp:
        (WebCore::Chrome::loadIconForFiles): Ditto.
        * page/Chrome.h: Ditto.
        * page/ChromeClient.h: Ditto.
        * platform/FileChooser.cpp:
        (WebCore::FileChooser::FileChooser): Removed now-unnecessary bool.
        (WebCore::FileChooser::create): Removed the tangled web.
        (WebCore::FileChooser::clear): Removed icon-related code.
        (WebCore::FileChooser::chooseFiles): Ditto.
        * platform/FileChooser.h:
        * platform/FileIconLoader.cpp: Copied from Source/WebCore/platform/FileChooser.cpp.
        (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Added.
        (WebCore::FileIconLoader::create): Added.
        (WebCore::FileIconLoader::disconnectClient): Added.
        (WebCore::FileIconLoader::notifyFinished): Added.
        (WebCore::FileIconLoader::FileIconLoader): Added.
        * platform/FileIconLoader.h: Copied from Source/WebCore/platform/FileChooser.cpp.
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl): Added new member initializations.
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Added FileIconLoader disconnect.s
        (WebCore::RenderFileUploadControl::requestIcon): Added a helper.
        (WebCore::RenderFileUploadControl::valueChanged): Changed to request an icon load.
        (WebCore::RenderFileUploadControl::updateRendering): Added implementation of FileIconLoaderClient func.
        (WebCore::RenderFileUploadControl::updateFromElement): Added clearing of icon.
        (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use new member directly.
        (WebCore::RenderFileUploadControl::paintObject): Ditto.
        (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
        * rendering/RenderFileUploadControl.h: Updated decls.

2011-06-19  Michael Saboff  <msaboff@apple.com>

        Reviewed by Darin Adler.

        Add notify handler to trigger MemoryPressureHandler in all builds
        https://bugs.webkit.org/show_bug.cgi?id=62679

        Removed SIGUSR2 trigger and added a notify trigger for the
        MemoryPressureHandler.  The notify trigger is enabled for all builds.

        No test added as only added new memory pressure trigger.

        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::install):

2011-06-19  Robert Hogan  <robert@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
        https://bugs.webkit.org/show_bug.cgi?id=62514

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::willSendRequest):

2011-06-18  Yufeng Shen  <miletus@chromium.org>

        Reviewed by Darin Fisher.

        Adding "force" filed to Touch Event
        https://bugs.webkit.org/show_bug.cgi?id=62766

        * dom/Document.cpp:
        (WebCore::Document::createTouch):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/Touch.cpp:
        (WebCore::Touch::Touch):
        * dom/Touch.h:
        (WebCore::Touch::create):
        (WebCore::Touch::webkitForce):
        * dom/Touch.idl:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):
        * platform/PlatformTouchPoint.h:
        (WebCore::PlatformTouchPoint::force):

2011-06-18  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Rename Document::setContainsFullScreenElementRecursively
        https://bugs.webkit.org/show_bug.cgi?id=62528

        No new tests; no net change in functionality, so this is covered by existing tests.

        The name of setContainsFullScreenElementRecursively is confusing, since it doesn't actually use
        recursion, and it walks the ancestor tree instead of the descendent tree (as recursive might
        otherwise imply).  Move the function into Element, turn it into a member function, and change 
        the behavior so that the function operates on the called object's parents (as opposed to the 
        object itself).

        * dom/Element.h:
        * dom/Element.cpp:
        (WebCore::parentCrossingFrameBoundaries): Added.
        (WebCore::Element::setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries): Renamed and 
            moved from Document.
        (WebCore::Element::willRemove): Use the newly renamed function.
        (WebCore::Element::insertedIntoTree): Ditto.
        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
        (WebCore::Document::fullScreenElementRemoved): Ditto.

2011-06-18  Alice Boxhall  <aboxhall@chromium.org>

        Reviewed by Chris Fleizach.

        Accessibility description for an element should make use of aria-labelledby.
        https://bugs.webkit.org/show_bug.cgi?id=61995

        Tests: accessibility/aria-labelledby-overrides-aria-label.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::title): Don't return value from aria-labelledby.
        (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription): Return value from aria-labelledby in preference to value from aria-label.

2011-06-18  Christoph Mende  <mende.christoph@gmail.com>

        Reviewed by Darin Adler.

        compilation fails with libpng-1.5
        https://bugs.webkit.org/show_bug.cgi?id=61738

        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::writeOutput): Use getter function instead of direct access

2011-06-18  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Eric Seidel.

        Set text-align:-webkit-match-parent for li elements in the default style sheet.
        https://bugs.webkit.org/show_bug.cgi?id=57232

        Test: fast/css/list-item-text-align.html

        * css/html.css:
        (li): Specify text-align:-webkit-match-parent .

2011-06-18  Holger Hans Peter Freyther  <holger@moiji-mobile.com>

        Reviewed by Brent Fulgham.

        [misc] JSC/wtf/text/*.h should not be included via #include ""
        https://bugs.webkit.org/show_bug.cgi?id=60836

        Adam Barth pointed out that one should not include files from
        JavaScriptCore/wtf/text using #include "File.h". This change
        is addressing it.

        * CMakeListsEfl.txt: Remove JavaScriptCore/wtf/text.
        * CMakeListsWinCE.txt: Remove JavaScriptCore/wtf/text.
        * platform/graphics/freetype/FontCacheFreeType.cpp: Change CString.h include.
        * platform/graphics/pango/FontCachePango.cpp: Change CString.h include.
        * platform/graphics/wx/FontPlatformData.h: Change StringImpl.h include.
        * platform/network/soup/ResourceHandleSoup.cpp: Change CString.h include.
        * platform/network/soup/SocketStreamHandleSoup.cpp: Change CString.h include.

2011-06-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION (r63854-63958): placeholder not shown for number inputs
        https://bugs.webkit.org/show_bug.cgi?id=61095

        Refactor HTMLInputElement supportsPlaceholder support to delegate to the
        InputType. Make BaseTextInputType and NumberInputType return true, matching
        the current HTML5 spec.

        * html/BaseTextInputType.cpp:
        (WebCore::BaseTextInputType::supportsPlaceholder):
        * html/BaseTextInputType.h:
        Add override implementation of supportsPlaceholder that returns true.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::supportsPlaceholder):
        Delegate to the InputType.

        * html/InputType.cpp:
        (WebCore::InputType::supportsPlaceholder):
        * html/InputType.h:
        Add base implementation of supportsPlaceholder that returns false.

        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::supportsPlaceholder):
        * html/NumberInputType.h:
        Add override implementation of supportsPlaceholder that returns true.

2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89154.
        http://trac.webkit.org/changeset/89154
        https://bugs.webkit.org/show_bug.cgi?id=62926

        It broke debug build on Qt (Requested by Ossy_weekend on
        #webkit).

        * platform/network/qt/ResourceHandleQt.cpp:

2011-06-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89189.
        http://trac.webkit.org/changeset/89189
        https://bugs.webkit.org/show_bug.cgi?id=62925

        It broke Qt build (Requested by Ossy_weekend on #webkit).

        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleRule.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValue.idl:
        * css/Counter.idl:
        * css/RGBColor.idl:
        * css/Rect.idl:
        * css/StyleSheet.idl:
        * css/WebKitCSSKeyframeRule.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/Attr.idl:
        * dom/CDATASection.idl:
        * dom/ClientRect.idl:
        * dom/Comment.idl:
        * dom/DOMCoreException.idl:
        * dom/DOMStringMap.idl:
        * dom/DocumentType.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/EventException.idl:
        * dom/GeneratedStream.idl:
        * dom/MessageChannel.idl:
        * dom/NodeIterator.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/RangeException.idl:
        * dom/Touch.idl:
        * dom/TreeWalker.idl:
        * fileapi/DOMFileSystem.idl:
        * fileapi/DOMFileSystemSync.idl:
        * fileapi/DirectoryReaderSync.idl:
        * fileapi/File.idl:
        * fileapi/FileEntrySync.idl:
        * fileapi/FileError.idl:
        * fileapi/FileException.idl:
        * fileapi/Metadata.idl:
        * fileapi/OperationNotAllowedException.idl:
        * fileapi/WebKitFlags.idl:
        * html/DOMSettableTokenList.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDataListElement.idl:
        * html/HTMLDetailsElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMarqueeElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLMeterElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLProgressElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSourceElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLTrackElement.idl:
        * html/HTMLUListElement.idl:
        * html/ImageData.idl:
        * html/MediaError.idl:
        * html/SpellcheckRange.idl:
        * html/TextMetrics.idl:
        * html/ValidityState.idl:
        * html/VoidCallback.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/CanvasPattern.idl:
        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/DataView.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/WebGLActiveInfo.idl:
        * html/canvas/WebGLBuffer.idl:
        * html/canvas/WebGLContextAttributes.idl:
        * html/canvas/WebGLFramebuffer.idl:
        * html/canvas/WebGLProgram.idl:
        * html/canvas/WebGLRenderbuffer.idl:
        * html/canvas/WebGLShader.idl:
        * html/canvas/WebGLTexture.idl:
        * html/canvas/WebGLUniformLocation.idl:
        * html/canvas/WebGLVertexArrayObjectOES.idl:
        * html/canvas/WebKitLoseContext.idl:
        * inspector/ScriptProfile.idl:
        * inspector/ScriptProfileNode.idl:
        * page/AbstractView.idl:
        * page/BarInfo.idl:
        * page/Coordinates.idl:
        * page/Geoposition.idl:
        * page/MemoryInfo.idl:
        * page/NavigatorUserMediaError.idl:
        * page/Performance.idl:
        * page/PerformanceNavigation.idl:
        * page/PerformanceTiming.idl:
        * page/PositionError.idl:
        * page/Screen.idl:
        * page/SpeechInputEvent.idl:
        * page/SpeechInputResult.idl:
        * page/WebKitAnimation.idl:
        * page/WebKitPoint.idl:
        * page/WorkerNavigator.idl:
        * plugins/DOMMimeType.idl:
        * storage/Database.idl:
        * storage/DatabaseSync.idl:
        * storage/IDBAny.idl:
        * storage/IDBCursorWithValue.idl:
        * storage/IDBDatabaseError.idl:
        * storage/IDBDatabaseException.idl:
        * storage/IDBKey.idl:
        * storage/IDBVersionChangeEvent.idl:
        * storage/IDBVersionChangeRequest.idl:
        * storage/SQLError.idl:
        * storage/SQLException.idl:
        * storage/SQLResultSet.idl:
        * svg/SVGAElement.idl:
        * svg/SVGAltGlyphElement.idl:
        * svg/SVGAngle.idl:
        * svg/SVGAnimateColorElement.idl:
        * svg/SVGAnimateElement.idl:
        * svg/SVGAnimateMotionElement.idl:
        * svg/SVGAnimateTransformElement.idl:
        * svg/SVGAnimatedAngle.idl:
        * svg/SVGAnimatedBoolean.idl:
        * svg/SVGAnimatedEnumeration.idl:
        * svg/SVGAnimatedInteger.idl:
        * svg/SVGAnimatedLength.idl:
        * svg/SVGAnimatedLengthList.idl:
        * svg/SVGAnimatedNumber.idl:
        * svg/SVGAnimatedNumberList.idl:
        * svg/SVGAnimatedPreserveAspectRatio.idl:
        * svg/SVGAnimatedRect.idl:
        * svg/SVGAnimatedString.idl:
        * svg/SVGAnimatedTransformList.idl:
        * svg/SVGCircleElement.idl:
        * svg/SVGClipPathElement.idl:
        * svg/SVGColor.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGCursorElement.idl:
        * svg/SVGDefsElement.idl:
        * svg/SVGDescElement.idl:
        * svg/SVGElement.idl:
        * svg/SVGEllipseElement.idl:
        * svg/SVGExternalResourcesRequired.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFEComponentTransferElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDiffuseLightingElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEDistantLightElement.idl:
        * svg/SVGFEFloodElement.idl:
        * svg/SVGFEFuncAElement.idl:
        * svg/SVGFEFuncBElement.idl:
        * svg/SVGFEFuncGElement.idl:
        * svg/SVGFEFuncRElement.idl:
        * svg/SVGFEImageElement.idl:
        * svg/SVGFEMergeElement.idl:
        * svg/SVGFEMergeNodeElement.idl:
        * svg/SVGFEOffsetElement.idl:
        * svg/SVGFEPointLightElement.idl:
        * svg/SVGFESpecularLightingElement.idl:
        * svg/SVGFESpotLightElement.idl:
        * svg/SVGFETileElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGFilterPrimitiveStandardAttributes.idl:
        * svg/SVGFitToViewBox.idl:
        * svg/SVGFontElement.idl:
        * svg/SVGFontFaceElement.idl:
        * svg/SVGFontFaceFormatElement.idl:
        * svg/SVGFontFaceNameElement.idl:
        * svg/SVGFontFaceSrcElement.idl:
        * svg/SVGFontFaceUriElement.idl:
        * svg/SVGForeignObjectElement.idl:
        * svg/SVGGElement.idl:
        * svg/SVGGlyphElement.idl:
        * svg/SVGGradientElement.idl:
        * svg/SVGHKernElement.idl:
        * svg/SVGImageElement.idl:
        * svg/SVGLangSpace.idl:
        * svg/SVGLength.idl:
        * svg/SVGLengthList.idl:
        * svg/SVGLineElement.idl:
        * svg/SVGLinearGradientElement.idl:
        * svg/SVGMPathElement.idl:
        * svg/SVGMaskElement.idl:
        * svg/SVGMatrix.idl:
        * svg/SVGMetadataElement.idl:
        * svg/SVGMissingGlyphElement.idl:
        * svg/SVGNumber.idl:
        * svg/SVGNumberList.idl:
        * svg/SVGPaint.idl:
        * svg/SVGPathSeg.idl:
        * svg/SVGPathSegArcAbs.idl:
        * svg/SVGPathSegArcRel.idl:
        * svg/SVGPathSegClosePath.idl:
        * svg/SVGPathSegCurvetoCubicAbs.idl:
        * svg/SVGPathSegCurvetoCubicRel.idl:
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticRel.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * svg/SVGPathSegLinetoAbs.idl:
        * svg/SVGPathSegLinetoHorizontalAbs.idl:
        * svg/SVGPathSegLinetoHorizontalRel.idl:
        * svg/SVGPathSegLinetoRel.idl:
        * svg/SVGPathSegLinetoVerticalAbs.idl:
        * svg/SVGPathSegLinetoVerticalRel.idl:
        * svg/SVGPathSegList.idl:
        * svg/SVGPathSegMovetoAbs.idl:
        * svg/SVGPathSegMovetoRel.idl:
        * svg/SVGPatternElement.idl:
        * svg/SVGPoint.idl:
        * svg/SVGPointList.idl:
        * svg/SVGPolygonElement.idl:
        * svg/SVGPolylineElement.idl:
        * svg/SVGPreserveAspectRatio.idl:
        * svg/SVGRadialGradientElement.idl:
        * svg/SVGRect.idl:
        * svg/SVGRectElement.idl:
        * svg/SVGRenderingIntent.idl:
        * svg/SVGScriptElement.idl:
        * svg/SVGSetElement.idl:
        * svg/SVGStopElement.idl:
        * svg/SVGStringList.idl:
        * svg/SVGSwitchElement.idl:
        * svg/SVGSymbolElement.idl:
        * svg/SVGTRefElement.idl:
        * svg/SVGTSpanElement.idl:
        * svg/SVGTextElement.idl:
        * svg/SVGTextPathElement.idl:
        * svg/SVGTextPositioningElement.idl:
        * svg/SVGTitleElement.idl:
        * svg/SVGTransform.idl:
        * svg/SVGTransformList.idl:
        * svg/SVGTransformable.idl:
        * svg/SVGURIReference.idl:
        * svg/SVGUnitTypes.idl:
        * svg/SVGUseElement.idl:
        * svg/SVGVKernElement.idl:
        * svg/SVGViewElement.idl:
        * svg/SVGViewSpec.idl:
        * svg/SVGZoomAndPan.idl:
        * svg/SVGZoomEvent.idl:
        * testing/Internals.idl:
        * webaudio/AudioChannelMerger.idl:
        * webaudio/AudioChannelSplitter.idl:
        * webaudio/AudioDestinationNode.idl:
        * webaudio/AudioGain.idl:
        * webaudio/AudioGainNode.idl:
        * webaudio/AudioProcessingEvent.idl:
        * webaudio/AudioSourceNode.idl:
        * webaudio/BiquadFilterNode.idl:
        * webaudio/ConvolverNode.idl:
        * webaudio/DelayNode.idl:
        * webaudio/DynamicsCompressorNode.idl:
        * webaudio/HighPass2FilterNode.idl:
        * webaudio/JavaScriptAudioNode.idl:
        * webaudio/LowPass2FilterNode.idl:
        * webaudio/OfflineAudioCompletionEvent.idl:
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.idl:
        * workers/WorkerLocation.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XMLHttpRequestProgressEvent.idl:
        * xml/XPathException.idl:

2011-06-17  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Darin Adler.

        Remove LegacyDefaultOptionalArguments flag from IDL files where it would not change behavior
        https://bugs.webkit.org/show_bug.cgi?id=62904

        After bug 62750, there are many IDL files that contain the new
        LegacyDefaultOptionalArguments flag that don't actually need it.
        Some examples:

            - the IDL file contains no functions
            - the IDL file contains only functions with no arguments
            - the IDL file contains functions, *all* of which use the
              [RequiresAllArguments=raise] extended attribute

        This patch simplifies such IDL files by removing the
        LegacyDefaultOptionalArguments flag and (if needed) removing the
        [RequiresAllArguments=raise] extended attribute from each function
        declaration. This patch does not make any required arguments optional
        or any optional arguments required. It changes no behavior at all.

        No new tests needed, all existing tests pass.

        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleRule.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValue.idl:
        * css/Counter.idl:
        * css/RGBColor.idl:
        * css/Rect.idl:
        * css/StyleSheet.idl:
        * css/WebKitCSSKeyframeRule.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/Attr.idl:
        * dom/CDATASection.idl:
        * dom/ClientRect.idl:
        * dom/Comment.idl:
        * dom/DOMCoreException.idl:
        * dom/DOMStringMap.idl:
        * dom/DocumentType.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/EventException.idl:
        * dom/GeneratedStream.idl:
        * dom/MessageChannel.idl:
        * dom/NodeIterator.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/RangeException.idl:
        * dom/Touch.idl:
        * dom/TreeWalker.idl:
        * fileapi/DOMFileSystem.idl:
        * fileapi/DOMFileSystemSync.idl:
        * fileapi/DirectoryReaderSync.idl:
        * fileapi/File.idl:
        * fileapi/FileEntrySync.idl:
        * fileapi/FileError.idl:
        * fileapi/FileException.idl:
        * fileapi/Metadata.idl:
        * fileapi/OperationNotAllowedException.idl:
        * fileapi/WebKitFlags.idl:
        * html/DOMSettableTokenList.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDataListElement.idl:
        * html/HTMLDetailsElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMarqueeElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLMeterElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLProgressElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSourceElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLTrackElement.idl:
        * html/HTMLUListElement.idl:
        * html/ImageData.idl:
        * html/MediaError.idl:
        * html/SpellcheckRange.idl:
        * html/TextMetrics.idl:
        * html/ValidityState.idl:
        * html/VoidCallback.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/CanvasPattern.idl:
        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/DataView.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/WebGLActiveInfo.idl:
        * html/canvas/WebGLBuffer.idl:
        * html/canvas/WebGLContextAttributes.idl:
        * html/canvas/WebGLFramebuffer.idl:
        * html/canvas/WebGLProgram.idl:
        * html/canvas/WebGLRenderbuffer.idl:
        * html/canvas/WebGLShader.idl:
        * html/canvas/WebGLTexture.idl:
        * html/canvas/WebGLUniformLocation.idl:
        * html/canvas/WebGLVertexArrayObjectOES.idl:
        * html/canvas/WebKitLoseContext.idl:
        * inspector/ScriptProfile.idl:
        * inspector/ScriptProfileNode.idl:
        * page/AbstractView.idl:
        * page/BarInfo.idl:
        * page/Coordinates.idl:
        * page/Geoposition.idl:
        * page/MemoryInfo.idl:
        * page/NavigatorUserMediaError.idl:
        * page/Performance.idl:
        * page/PerformanceNavigation.idl:
        * page/PerformanceTiming.idl:
        * page/PositionError.idl:
        * page/Screen.idl:
        * page/SpeechInputEvent.idl:
        * page/SpeechInputResult.idl:
        * page/WebKitAnimation.idl:
        * page/WebKitPoint.idl:
        * page/WorkerNavigator.idl:
        * plugins/DOMMimeType.idl:
        * storage/Database.idl:
        * storage/DatabaseSync.idl:
        * storage/IDBAny.idl:
        * storage/IDBCursorWithValue.idl:
        * storage/IDBDatabaseError.idl:
        * storage/IDBDatabaseException.idl:
        * storage/IDBKey.idl:
        * storage/IDBVersionChangeEvent.idl:
        * storage/IDBVersionChangeRequest.idl:
        * storage/SQLError.idl:
        * storage/SQLException.idl:
        * storage/SQLResultSet.idl:
        * svg/SVGAElement.idl:
        * svg/SVGAltGlyphElement.idl:
        * svg/SVGAngle.idl:
        * svg/SVGAnimateColorElement.idl:
        * svg/SVGAnimateElement.idl:
        * svg/SVGAnimateMotionElement.idl:
        * svg/SVGAnimateTransformElement.idl:
        * svg/SVGAnimatedAngle.idl:
        * svg/SVGAnimatedBoolean.idl:
        * svg/SVGAnimatedEnumeration.idl:
        * svg/SVGAnimatedInteger.idl:
        * svg/SVGAnimatedLength.idl:
        * svg/SVGAnimatedLengthList.idl:
        * svg/SVGAnimatedNumber.idl:
        * svg/SVGAnimatedNumberList.idl:
        * svg/SVGAnimatedPreserveAspectRatio.idl:
        * svg/SVGAnimatedRect.idl:
        * svg/SVGAnimatedString.idl:
        * svg/SVGAnimatedTransformList.idl:
        * svg/SVGCircleElement.idl:
        * svg/SVGClipPathElement.idl:
        * svg/SVGColor.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGCursorElement.idl:
        * svg/SVGDefsElement.idl:
        * svg/SVGDescElement.idl:
        * svg/SVGElement.idl:
        * svg/SVGEllipseElement.idl:
        * svg/SVGExternalResourcesRequired.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFEComponentTransferElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDiffuseLightingElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEDistantLightElement.idl:
        * svg/SVGFEFloodElement.idl:
        * svg/SVGFEFuncAElement.idl:
        * svg/SVGFEFuncBElement.idl:
        * svg/SVGFEFuncGElement.idl:
        * svg/SVGFEFuncRElement.idl:
        * svg/SVGFEImageElement.idl:
        * svg/SVGFEMergeElement.idl:
        * svg/SVGFEMergeNodeElement.idl:
        * svg/SVGFEOffsetElement.idl:
        * svg/SVGFEPointLightElement.idl:
        * svg/SVGFESpecularLightingElement.idl:
        * svg/SVGFESpotLightElement.idl:
        * svg/SVGFETileElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGFilterPrimitiveStandardAttributes.idl:
        * svg/SVGFitToViewBox.idl:
        * svg/SVGFontElement.idl:
        * svg/SVGFontFaceElement.idl:
        * svg/SVGFontFaceFormatElement.idl:
        * svg/SVGFontFaceNameElement.idl:
        * svg/SVGFontFaceSrcElement.idl:
        * svg/SVGFontFaceUriElement.idl:
        * svg/SVGForeignObjectElement.idl:
        * svg/SVGGElement.idl:
        * svg/SVGGlyphElement.idl:
        * svg/SVGGradientElement.idl:
        * svg/SVGHKernElement.idl:
        * svg/SVGImageElement.idl:
        * svg/SVGLangSpace.idl:
        * svg/SVGLength.idl:
        * svg/SVGLengthList.idl:
        * svg/SVGLineElement.idl:
        * svg/SVGLinearGradientElement.idl:
        * svg/SVGMPathElement.idl:
        * svg/SVGMaskElement.idl:
        * svg/SVGMatrix.idl:
        * svg/SVGMetadataElement.idl:
        * svg/SVGMissingGlyphElement.idl:
        * svg/SVGNumber.idl:
        * svg/SVGNumberList.idl:
        * svg/SVGPaint.idl:
        * svg/SVGPathSeg.idl:
        * svg/SVGPathSegArcAbs.idl:
        * svg/SVGPathSegArcRel.idl:
        * svg/SVGPathSegClosePath.idl:
        * svg/SVGPathSegCurvetoCubicAbs.idl:
        * svg/SVGPathSegCurvetoCubicRel.idl:
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticRel.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * svg/SVGPathSegLinetoAbs.idl:
        * svg/SVGPathSegLinetoHorizontalAbs.idl:
        * svg/SVGPathSegLinetoHorizontalRel.idl:
        * svg/SVGPathSegLinetoRel.idl:
        * svg/SVGPathSegLinetoVerticalAbs.idl:
        * svg/SVGPathSegLinetoVerticalRel.idl:
        * svg/SVGPathSegList.idl:
        * svg/SVGPathSegMovetoAbs.idl:
        * svg/SVGPathSegMovetoRel.idl:
        * svg/SVGPatternElement.idl:
        * svg/SVGPoint.idl:
        * svg/SVGPointList.idl:
        * svg/SVGPolygonElement.idl:
        * svg/SVGPolylineElement.idl:
        * svg/SVGPreserveAspectRatio.idl:
        * svg/SVGRadialGradientElement.idl:
        * svg/SVGRect.idl:
        * svg/SVGRectElement.idl:
        * svg/SVGRenderingIntent.idl:
        * svg/SVGScriptElement.idl:
        * svg/SVGSetElement.idl:
        * svg/SVGStopElement.idl:
        * svg/SVGStringList.idl:
        * svg/SVGSwitchElement.idl:
        * svg/SVGSymbolElement.idl:
        * svg/SVGTRefElement.idl:
        * svg/SVGTSpanElement.idl:
        * svg/SVGTextElement.idl:
        * svg/SVGTextPathElement.idl:
        * svg/SVGTextPositioningElement.idl:
        * svg/SVGTitleElement.idl:
        * svg/SVGTransform.idl:
        * svg/SVGTransformList.idl:
        * svg/SVGTransformable.idl:
        * svg/SVGURIReference.idl:
        * svg/SVGUnitTypes.idl:
        * svg/SVGUseElement.idl:
        * svg/SVGVKernElement.idl:
        * svg/SVGViewElement.idl:
        * svg/SVGViewSpec.idl:
        * svg/SVGZoomAndPan.idl:
        * svg/SVGZoomEvent.idl:
        * testing/Internals.idl:
        * webaudio/AudioChannelMerger.idl:
        * webaudio/AudioChannelSplitter.idl:
        * webaudio/AudioDestinationNode.idl:
        * webaudio/AudioGain.idl:
        * webaudio/AudioGainNode.idl:
        * webaudio/AudioProcessingEvent.idl:
        * webaudio/AudioSourceNode.idl:
        * webaudio/BiquadFilterNode.idl:
        * webaudio/ConvolverNode.idl:
        * webaudio/DelayNode.idl:
        * webaudio/DynamicsCompressorNode.idl:
        * webaudio/HighPass2FilterNode.idl:
        * webaudio/JavaScriptAudioNode.idl:
        * webaudio/LowPass2FilterNode.idl:
        * webaudio/OfflineAudioCompletionEvent.idl:
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.idl:
        * workers/WorkerLocation.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XMLHttpRequestProgressEvent.idl:
        * xml/XPathException.idl:

2011-06-17  Dirk Schulze  <krit@webkit.org>

        Reviewed by Rob Buis.

        SVGAnimation should use direct unit animation for SVGAngle
        https://bugs.webkit.org/show_bug.cgi?id=62807

        Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
        This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAngle. We can animate the SVG primitive datatype SVGAngle
        with different unit types now.
        Removed number and unit parser from SVGAnimateElement. This is not needed anymore.

        Tests: svg/animations/svgangle-animation-deg-to-grad.html
               svg/animations/svgangle-animation-deg-to-rad.html
               svg/animations/svgangle-animation-grad-to-deg.html
               svg/animations/svgangle-animation-grad-to-rad.html
               svg/animations/svgangle-animation-rad-to-deg.html
               svg/animations/svgangle-animation-rad-to-grad.html

        * CMakeLists.txt: Added SVGAnimatedAngle.cpp.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Ditto.
        * svg/SVGAnimateElement.cpp: Make use of SVGAnimator for AnimatedAngle.
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType): Ditto.
        (WebCore::SVGAnimateElement::calculateAnimatedValue): Ditto.
        (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
        (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
        (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
        (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
        (WebCore::SVGAnimateElement::calculateDistance): Ditto.
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimatedAngle.cpp: Added. Added SVGAnimatedAngleAnimator for animation of SVGAngles.
        (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator):
        (WebCore::sharedSVGAngle):
        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
        * svg/SVGAnimatedAngle.h:
        (WebCore::SVGAnimatedAngleAnimator::~SVGAnimatedAngleAnimator):
        * svg/SVGAnimatedLength.cpp:
        (WebCore::sharedSVGLength): Use an ExceptionCode for SVGLength::setValueAsString.
        * svg/SVGAnimatedType.h:
        (WebCore::SVGAnimatedType::create):
        (WebCore::SVGAnimatedType::createAngle):
        (WebCore::SVGAnimatedType::createLength):
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::angle):
        (WebCore::SVGAnimatedType::valueAsString):
        (WebCore::SVGAnimatedType::setValueAsString):
        (WebCore::SVGAnimatedType::SVGAnimatedType):
        * svg/SVGAnimatorFactory.h:
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::setValueAsString): Added an ExceptionCode for consistency reasons and as preparation for future error handling.
        * svg/SVGLength.h:
        * svg/SVGParserUtilities.cpp:
        (WebCore::parseNumberFromString): Added number parser for String objects.
        * svg/SVGParserUtilities.h:

2011-06-17  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Adding initial interfaces and stubs for track
        https://bugs.webkit.org/show_bug.cgi?id=60379

        This marks the first patch of a series to implement out-of-band
        <track> support in WebKit. This patch adds some of the core header files
        and their corresponding stub .cpp files.
 
        No new tests because feature is hidden behind VIDEO_TRACK feature
        define, which is turned off.

        * CMakeLists.txt:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * html/CueIndex.cpp: Added.
        * html/CueIndex.h: Added.
        * html/LoadableTextTrack.cpp: Added.
        * html/LoadableTextTrack.h: Added.
        * html/LoadableTextTrackImpl.cpp: Added.
        * html/LoadableTextTrackImpl.h: Added.
        * html/MutableTextTrack.cpp: Added.
        * html/MutableTextTrack.h: Added.
        * html/MutableTextTrackImpl.cpp: Added.
        * html/MutableTextTrackImpl.h: Added.
        * html/TextTrack.cpp: Added.
        * html/TextTrack.h: Added.
        * html/TextTrackCue.cpp: Added.
        * html/TextTrackCue.h: Added.
        * html/TextTrackCueList.cpp: Added.
        * html/TextTrackCueList.h: Added.
        * html/TextTrackPrivate.h: Added.
        * loader/CueLoader.cpp: Added.
        * loader/CueLoader.h: Added.
        * platform/track/CueParser.cpp: Added.
        * platform/track/CueParser.h: Added.
        * platform/track/CueParserPrivate.h: Added.

2011-06-17  Dmitry Lomov  <dslomov@google.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=62653
        [V8][Chromium] Make StringCache in V8 bindings per-isolate
        This moves StringCache into V8BindingPerIsolateData.

        * bindings/v8/V8Binding.cpp:
        (WebCore::cachedStringCallback):
        (WebCore::StringCache::remove):
        (WebCore::StringCache::v8ExternalStringSlow):
        * bindings/v8/V8Binding.h:
        (WebCore::StringCache::StringCache):
        (WebCore::StringCache::v8ExternalString):
        (WebCore::StringCache::clearOnGC):
        (WebCore::V8BindingPerIsolateData::stringCache):
        (WebCore::v8ExternalString):
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcPrologue):

2011-06-17  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Assertion failure in SVGTextLayoutEngine constructor (!m_layoutAttributes.isEmpty())
        https://bugs.webkit.org/show_bug.cgi?id=62884

        Test: svg/custom/assert-empty-layout-attributes.svg

        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Added a early return here.
        It is not needed to do the text layout algorithm if you don't have any layout information as
        your size is (0, 0) anyway.

2011-06-17  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=62913
        Use ICU search collator when available

        <rdar://problem/8830218> Search on a webpage in Safari conflates some Czech characters
        <rdar://problem/8468873> Safari search doesn't strip Hamza

        This changes behaviors that depend on system language, and isn't practically testable.

        * editing/TextIterator.cpp: (WebCore::createSearcher): Ask ICU for search collator, if available.

2011-06-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89143.
        http://trac.webkit.org/changeset/89143
        https://bugs.webkit.org/show_bug.cgi?id=62912

        Possible Chromeos test breakage (Requested by senorblanco on
        #webkit).

        * platform/KURLGoogle.cpp:
        (WebCore::encodeWithURLEscapeSequences):

2011-06-17  Jer Noble  <jer.noble@apple.com>

        Reviewed by Ada Chan.

        Playing video from the manifest crashes on Windows
        https://bugs.webkit.org/show_bug.cgi?id=62901

        No new tests. This will be covered by existing App Cache tests.

        Two related fixes.  1) Null-check the CFStringRef and CFURLRef created in QTMovie::load() before
        passing them to CFRelease().  2) Use CFURL to create an appropriate file-URL on windows in 
        createFileURLForApplicationCacheResource.

        * html/HTMLMediaElement.cpp:
        (WebCore::createFileURLForApplicationCacheResource):
        * platform/graphics/win/QTMovie.cpp:
        (QTMovie::load):

2011-06-17  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        When we lose ability to propagate floats, need to find topmost
        parent with that overhanging float, and then iterate over its
        sibling blocks to remove the float.
        https://bugs.webkit.org/show_bug.cgi?id=62875

        Test: fast/block/float/float-not-removed-from-next-sibling5.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::hasOverhangingFloat):
        * rendering/RenderBlock.h:

2011-06-17  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Network panel does not show main resource content for iframes deleted from the document
        https://bugs.webkit.org/show_bug.cgi?id=62810

        Test: http/tests/inspector/network/network-iframe-load-and-delete.html

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didFinishLoading):
        (WebCore::InspectorInstrumentation::didFailLoading):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::cachedResourceContent):
        (WebCore::mainResourceContent):
        (WebCore::InspectorPageAgent::sharedBufferContent):
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::InspectorPageAgent::getResourceContent):
        (WebCore::InspectorPageAgent::searchInResources):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didFinishLoading):
        (WebCore::InspectorResourceAgent::didFailLoading):
        (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
        (WebCore::InspectorResourceAgent::getResourceContent):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/NetworkResourcesData.cpp:
        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
        (WebCore::NetworkResourcesData::setResourceType):
        (WebCore::NetworkResourcesData::resourceType):
        (WebCore::NetworkResourcesData::addResourceSharedBuffer):
        * inspector/NetworkResourcesData.h:
        (WebCore::NetworkResourcesData::ResourceData::type):
        (WebCore::NetworkResourcesData::ResourceData::setType):
        (WebCore::NetworkResourcesData::ResourceData::buffer):
        (WebCore::NetworkResourcesData::ResourceData::setBuffer):
        (WebCore::NetworkResourcesData::ResourceData::textEncodingName):
        (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::didFailToLoad):
        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):

2011-06-17  Darin Adler  <darin@apple.com>

        Fix clang build.

        * loader/LinkLoader.h: Use struct, not class, to forward-declare struct.

2011-06-17  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Detect mixed-scripting involving https -> http redirects
        https://bugs.webkit.org/show_bug.cgi?id=62846

        Test: http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::checkInsecureContent):
        (WebCore::CachedResourceLoader::canRequest): break out insecure content logic.
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::willSendRequest): check the redirect target for possible insecure content issues.

2011-06-12  Robert Hogan  <robert@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [Qt] Qt Counterpart for http://trac.webkit.org/changeset/42078
        https://bugs.webkit.org/show_bug.cgi?id=62514

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::WebCoreSynchronousLoader::willSendRequest):

2011-06-17  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Adam Barth.

        Change IDL code generator to require all arguments by default
        https://bugs.webkit.org/show_bug.cgi?id=62750

        As per discussion on public-webapps, WebIDL is changing the default
        behavior to require all function arguments by default and raise an
        exception when an argument is missing. (This behavior is currently
        opt-in in WebKit's IDL system, on a function-by-function basis, with
        the "RequiresAllArguments=Raise" flag.) To order to match WebIDL as
        closely as possible, this patch adds an interface-level
        "LegacyDefaultOptionalArguments" flag and sets it on all existing IDL
        files (500+), then changes the code generator Perl scripts to behave
        the old way in the presence of the flag.

        No new tests required, all existing tests still pass.

        * bindings/scripts/CodeGeneratorJS.pm: 
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/TestCallback.idl:
        * bindings/scripts/test/TestInterface.idl:
        * bindings/scripts/test/TestMediaQueryListListener.idl:
        * bindings/scripts/test/TestObj.idl:
        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValue.idl:
        * css/CSSValueList.idl:
        * css/Counter.idl:
        * css/MediaList.idl:
        * css/MediaQueryList.idl:
        * css/MediaQueryListListener.idl:
        * css/RGBColor.idl:
        * css/Rect.idl:
        * css/StyleMedia.idl:
        * css/StyleSheet.idl:
        * css/StyleSheetList.idl:
        * css/WebKitCSSKeyframeRule.idl:
        * css/WebKitCSSKeyframesRule.idl:
        * css/WebKitCSSMatrix.idl:
        * css/WebKitCSSTransformValue.idl:
        * dom/Attr.idl:
        * dom/BeforeLoadEvent.idl:
        * dom/BeforeProcessEvent.idl:
        * dom/CDATASection.idl:
        * dom/CharacterData.idl:
        * dom/ClientRect.idl:
        * dom/ClientRectList.idl:
        * dom/Clipboard.idl:
        * dom/Comment.idl:
        * dom/CompositionEvent.idl:
        * dom/CustomEvent.idl:
        * dom/DOMCoreException.idl:
        * dom/DOMImplementation.idl:
        * dom/DOMStringList.idl:
        * dom/DOMStringMap.idl:
        * dom/DataTransferItem.idl:
        * dom/DataTransferItems.idl:
        * dom/DeviceMotionEvent.idl:
        * dom/DeviceOrientationEvent.idl:
        * dom/Document.idl:
        * dom/DocumentFragment.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/EntityReference.idl:
        * dom/ErrorEvent.idl:
        * dom/Event.idl:
        * dom/EventException.idl:
        * dom/EventListener.idl:
        * dom/EventTarget.idl:
        * dom/ExclusiveTrackList.idl:
        * dom/GeneratedStream.idl:
        * dom/HashChangeEvent.idl:
        * dom/KeyboardEvent.idl:
        * dom/MessageChannel.idl:
        * dom/MessageEvent.idl:
        * dom/MessagePort.idl:
        * dom/MouseEvent.idl:
        * dom/MultipleTrackList.idl:
        * dom/MutationEvent.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeFilter.idl:
        * dom/NodeIterator.idl:
        * dom/NodeList.idl:
        * dom/Notation.idl:
        * dom/OverflowEvent.idl:
        * dom/PageTransitionEvent.idl:
        * dom/PopStateEvent.idl:
        * dom/ProcessingInstruction.idl:
        * dom/ProgressEvent.idl:
        * dom/Range.idl:
        * dom/RangeException.idl:
        * dom/RequestAnimationFrameCallback.idl:
        * dom/Stream.idl:
        * dom/StreamEvent.idl:
        * dom/StreamList.idl:
        * dom/StringCallback.idl:
        * dom/Text.idl:
        * dom/TextEvent.idl:
        * dom/Touch.idl:
        * dom/TouchEvent.idl:
        * dom/TouchList.idl:
        * dom/TrackList.idl:
        * dom/TreeWalker.idl:
        * dom/UIEvent.idl:
        * dom/WebKitAnimationEvent.idl:
        * dom/WebKitTransitionEvent.idl:
        * dom/WheelEvent.idl:
        * fileapi/Blob.idl:
        * fileapi/DOMFileSystem.idl:
        * fileapi/DOMFileSystemSync.idl:
        * fileapi/DirectoryEntry.idl:
        * fileapi/DirectoryEntrySync.idl:
        * fileapi/DirectoryReader.idl:
        * fileapi/DirectoryReaderSync.idl:
        * fileapi/EntriesCallback.idl:
        * fileapi/Entry.idl:
        * fileapi/EntryArray.idl:
        * fileapi/EntryArraySync.idl:
        * fileapi/EntryCallback.idl:
        * fileapi/EntrySync.idl:
        * fileapi/ErrorCallback.idl:
        * fileapi/File.idl:
        * fileapi/FileCallback.idl:
        * fileapi/FileEntry.idl:
        * fileapi/FileEntrySync.idl:
        * fileapi/FileError.idl:
        * fileapi/FileException.idl:
        * fileapi/FileList.idl:
        * fileapi/FileReader.idl:
        * fileapi/FileReaderSync.idl:
        * fileapi/FileSystemCallback.idl:
        * fileapi/FileWriter.idl:
        * fileapi/FileWriterCallback.idl:
        * fileapi/FileWriterSync.idl:
        * fileapi/Metadata.idl:
        * fileapi/MetadataCallback.idl:
        * fileapi/OperationNotAllowedException.idl:
        * fileapi/WebKitBlobBuilder.idl:
        * fileapi/WebKitFlags.idl:
        * html/DOMFormData.idl:
        * html/DOMSettableTokenList.idl:
        * html/DOMTokenList.idl:
        * html/DOMURL.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLAudioElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLCanvasElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDListElement.idl:
        * html/HTMLDataListElement.idl:
        * html/HTMLDetailsElement.idl:
        * html/HTMLDirectoryElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFieldSetElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLKeygenElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMarqueeElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLMenuElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLMeterElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLOutputElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLProgressElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLSourceElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLTrackElement.idl:
        * html/HTMLUListElement.idl:
        * html/HTMLVideoElement.idl:
        * html/ImageData.idl:
        * html/MediaError.idl:
        * html/SpellcheckRange.idl:
        * html/SpellcheckRangeList.idl:
        * html/TextMetrics.idl:
        * html/TimeRanges.idl:
        * html/ValidityState.idl:
        * html/VoidCallback.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/ArrayBufferView.idl:
        * html/canvas/CanvasGradient.idl:
        * html/canvas/CanvasPattern.idl:
        * html/canvas/CanvasPixelArray.idl:
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/DataView.idl:
        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/WebGLActiveInfo.idl:
        * html/canvas/WebGLBuffer.idl:
        * html/canvas/WebGLContextAttributes.idl:
        * html/canvas/WebGLContextEvent.idl:
        * html/canvas/WebGLFramebuffer.idl:
        * html/canvas/WebGLProgram.idl:
        * html/canvas/WebGLRenderbuffer.idl:
        * html/canvas/WebGLRenderingContext.idl:
        * html/canvas/WebGLShader.idl:
        * html/canvas/WebGLTexture.idl:
        * html/canvas/WebGLUniformLocation.idl:
        * html/canvas/WebGLVertexArrayObjectOES.idl:
        * html/canvas/WebKitLoseContext.idl:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorFrontendHost.idl:
        * inspector/JavaScriptCallFrame.idl:
        * inspector/ScriptProfile.idl:
        * inspector/ScriptProfileNode.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * notifications/Notification.idl:
        * notifications/NotificationCenter.idl:
        * page/AbstractView.idl:
        * page/BarInfo.idl:
        * page/Console.idl:
        * page/Coordinates.idl:
        * page/Crypto.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/EventSource.idl:
        * page/Geolocation.idl:
        * page/Geoposition.idl:
        * page/History.idl:
        * page/Location.idl:
        * page/MemoryInfo.idl:
        * page/Navigator.idl:
        * page/NavigatorUserMediaError.idl:
        * page/NavigatorUserMediaErrorCallback.idl:
        * page/NavigatorUserMediaSuccessCallback.idl:
        * page/Performance.idl:
        * page/PerformanceNavigation.idl:
        * page/PerformanceTiming.idl:
        * page/PositionCallback.idl:
        * page/PositionError.idl:
        * page/PositionErrorCallback.idl:
        * page/Screen.idl:
        * page/SpeechInputEvent.idl:
        * page/SpeechInputResult.idl:
        * page/SpeechInputResultList.idl:
        * page/WebKitAnimation.idl:
        * page/WebKitAnimationList.idl:
        * page/WebKitPoint.idl:
        * page/WorkerNavigator.idl:
        * plugins/DOMMimeType.idl:
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPlugin.idl:
        * plugins/DOMPluginArray.idl:
        * storage/Database.idl:
        * storage/DatabaseCallback.idl:
        * storage/DatabaseSync.idl:
        * storage/IDBAny.idl:
        * storage/IDBCursor.idl:
        * storage/IDBCursorWithValue.idl:
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseError.idl:
        * storage/IDBDatabaseException.idl:
        * storage/IDBFactory.idl:
        * storage/IDBIndex.idl:
        * storage/IDBKey.idl:
        * storage/IDBKeyRange.idl:
        * storage/IDBObjectStore.idl:
        * storage/IDBRequest.idl:
        * storage/IDBTransaction.idl:
        * storage/IDBVersionChangeEvent.idl:
        * storage/IDBVersionChangeRequest.idl:
        * storage/SQLError.idl:
        * storage/SQLException.idl:
        * storage/SQLResultSet.idl:
        * storage/SQLResultSetRowList.idl:
        * storage/SQLStatementCallback.idl:
        * storage/SQLStatementErrorCallback.idl:
        * storage/SQLTransaction.idl:
        * storage/SQLTransactionCallback.idl:
        * storage/SQLTransactionErrorCallback.idl:
        * storage/SQLTransactionSync.idl:
        * storage/SQLTransactionSyncCallback.idl:
        * storage/Storage.idl:
        * storage/StorageEvent.idl:
        * storage/StorageInfo.idl:
        * storage/StorageInfoErrorCallback.idl:
        * storage/StorageInfoQuotaCallback.idl:
        * storage/StorageInfoUsageCallback.idl:
        * svg/ElementTimeControl.idl:
        * svg/SVGAElement.idl:
        * svg/SVGAltGlyphElement.idl:
        * svg/SVGAngle.idl:
        * svg/SVGAnimateColorElement.idl:
        * svg/SVGAnimateElement.idl:
        * svg/SVGAnimateMotionElement.idl:
        * svg/SVGAnimateTransformElement.idl:
        * svg/SVGAnimatedAngle.idl:
        * svg/SVGAnimatedBoolean.idl:
        * svg/SVGAnimatedEnumeration.idl:
        * svg/SVGAnimatedInteger.idl:
        * svg/SVGAnimatedLength.idl:
        * svg/SVGAnimatedLengthList.idl:
        * svg/SVGAnimatedNumber.idl:
        * svg/SVGAnimatedNumberList.idl:
        * svg/SVGAnimatedPreserveAspectRatio.idl:
        * svg/SVGAnimatedRect.idl:
        * svg/SVGAnimatedString.idl:
        * svg/SVGAnimatedTransformList.idl:
        * svg/SVGAnimationElement.idl:
        * svg/SVGCircleElement.idl:
        * svg/SVGClipPathElement.idl:
        * svg/SVGColor.idl:
        * svg/SVGComponentTransferFunctionElement.idl:
        * svg/SVGCursorElement.idl:
        * svg/SVGDefsElement.idl:
        * svg/SVGDescElement.idl:
        * svg/SVGDocument.idl:
        * svg/SVGElement.idl:
        * svg/SVGElementInstance.idl:
        * svg/SVGElementInstanceList.idl:
        * svg/SVGEllipseElement.idl:
        * svg/SVGException.idl:
        * svg/SVGExternalResourcesRequired.idl:
        * svg/SVGFEBlendElement.idl:
        * svg/SVGFEColorMatrixElement.idl:
        * svg/SVGFEComponentTransferElement.idl:
        * svg/SVGFECompositeElement.idl:
        * svg/SVGFEConvolveMatrixElement.idl:
        * svg/SVGFEDiffuseLightingElement.idl:
        * svg/SVGFEDisplacementMapElement.idl:
        * svg/SVGFEDistantLightElement.idl:
        * svg/SVGFEDropShadowElement.idl:
        * svg/SVGFEFloodElement.idl:
        * svg/SVGFEFuncAElement.idl:
        * svg/SVGFEFuncBElement.idl:
        * svg/SVGFEFuncGElement.idl:
        * svg/SVGFEFuncRElement.idl:
        * svg/SVGFEGaussianBlurElement.idl:
        * svg/SVGFEImageElement.idl:
        * svg/SVGFEMergeElement.idl:
        * svg/SVGFEMergeNodeElement.idl:
        * svg/SVGFEMorphologyElement.idl:
        * svg/SVGFEOffsetElement.idl:
        * svg/SVGFEPointLightElement.idl:
        * svg/SVGFESpecularLightingElement.idl:
        * svg/SVGFESpotLightElement.idl:
        * svg/SVGFETileElement.idl:
        * svg/SVGFETurbulenceElement.idl:
        * svg/SVGFilterElement.idl:
        * svg/SVGFilterPrimitiveStandardAttributes.idl:
        * svg/SVGFitToViewBox.idl:
        * svg/SVGFontElement.idl:
        * svg/SVGFontFaceElement.idl:
        * svg/SVGFontFaceFormatElement.idl:
        * svg/SVGFontFaceNameElement.idl:
        * svg/SVGFontFaceSrcElement.idl:
        * svg/SVGFontFaceUriElement.idl:
        * svg/SVGForeignObjectElement.idl:
        * svg/SVGGElement.idl:
        * svg/SVGGlyphElement.idl:
        * svg/SVGGradientElement.idl:
        * svg/SVGHKernElement.idl:
        * svg/SVGImageElement.idl:
        * svg/SVGLangSpace.idl:
        * svg/SVGLength.idl:
        * svg/SVGLengthList.idl:
        * svg/SVGLineElement.idl:
        * svg/SVGLinearGradientElement.idl:
        * svg/SVGLocatable.idl:
        * svg/SVGMPathElement.idl:
        * svg/SVGMarkerElement.idl:
        * svg/SVGMaskElement.idl:
        * svg/SVGMatrix.idl:
        * svg/SVGMetadataElement.idl:
        * svg/SVGMissingGlyphElement.idl:
        * svg/SVGNumber.idl:
        * svg/SVGNumberList.idl:
        * svg/SVGPaint.idl:
        * svg/SVGPathElement.idl:
        * svg/SVGPathSeg.idl:
        * svg/SVGPathSegArcAbs.idl:
        * svg/SVGPathSegArcRel.idl:
        * svg/SVGPathSegClosePath.idl:
        * svg/SVGPathSegCurvetoCubicAbs.idl:
        * svg/SVGPathSegCurvetoCubicRel.idl:
        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticRel.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * svg/SVGPathSegLinetoAbs.idl:
        * svg/SVGPathSegLinetoHorizontalAbs.idl:
        * svg/SVGPathSegLinetoHorizontalRel.idl:
        * svg/SVGPathSegLinetoRel.idl:
        * svg/SVGPathSegLinetoVerticalAbs.idl:
        * svg/SVGPathSegLinetoVerticalRel.idl:
        * svg/SVGPathSegList.idl:
        * svg/SVGPathSegMovetoAbs.idl:
        * svg/SVGPathSegMovetoRel.idl:
        * svg/SVGPatternElement.idl:
        * svg/SVGPoint.idl:
        * svg/SVGPointList.idl:
        * svg/SVGPolygonElement.idl:
        * svg/SVGPolylineElement.idl:
        * svg/SVGPreserveAspectRatio.idl:
        * svg/SVGRadialGradientElement.idl:
        * svg/SVGRect.idl:
        * svg/SVGRectElement.idl:
        * svg/SVGRenderingIntent.idl:
        * svg/SVGSVGElement.idl:
        * svg/SVGScriptElement.idl:
        * svg/SVGSetElement.idl:
        * svg/SVGStopElement.idl:
        * svg/SVGStringList.idl:
        * svg/SVGStylable.idl:
        * svg/SVGStyleElement.idl:
        * svg/SVGSwitchElement.idl:
        * svg/SVGSymbolElement.idl:
        * svg/SVGTRefElement.idl:
        * svg/SVGTSpanElement.idl:
        * svg/SVGTests.idl:
        * svg/SVGTextContentElement.idl:
        * svg/SVGTextElement.idl:
        * svg/SVGTextPathElement.idl:
        * svg/SVGTextPositioningElement.idl:
        * svg/SVGTitleElement.idl:
        * svg/SVGTransform.idl:
        * svg/SVGTransformList.idl:
        * svg/SVGTransformable.idl:
        * svg/SVGURIReference.idl:
        * svg/SVGUnitTypes.idl:
        * svg/SVGUseElement.idl:
        * svg/SVGVKernElement.idl:
        * svg/SVGViewElement.idl:
        * svg/SVGViewSpec.idl:
        * svg/SVGZoomAndPan.idl:
        * svg/SVGZoomEvent.idl:
        * testing/Internals.idl:
        * webaudio/AudioBuffer.idl:
        * webaudio/AudioBufferSourceNode.idl:
        * webaudio/AudioChannelMerger.idl:
        * webaudio/AudioChannelSplitter.idl:
        * webaudio/AudioContext.idl:
        * webaudio/AudioDestinationNode.idl:
        * webaudio/AudioGain.idl:
        * webaudio/AudioGainNode.idl:
        * webaudio/AudioListener.idl:
        * webaudio/AudioNode.idl:
        * webaudio/AudioPannerNode.idl:
        * webaudio/AudioParam.idl:
        * webaudio/AudioProcessingEvent.idl:
        * webaudio/AudioSourceNode.idl:
        * webaudio/BiquadFilterNode.idl:
        * webaudio/ConvolverNode.idl:
        * webaudio/DelayNode.idl:
        * webaudio/DynamicsCompressorNode.idl:
        * webaudio/HighPass2FilterNode.idl:
        * webaudio/JavaScriptAudioNode.idl:
        * webaudio/LowPass2FilterNode.idl:
        * webaudio/OfflineAudioCompletionEvent.idl:
        * webaudio/RealtimeAnalyserNode.idl:
        * websockets/CloseEvent.idl:
        * websockets/WebSocket.idl:
        * workers/AbstractWorker.idl:
        * workers/DedicatedWorkerContext.idl:
        * workers/SharedWorker.idl:
        * workers/SharedWorkerContext.idl:
        * workers/Worker.idl:
        * workers/WorkerContext.idl:
        * workers/WorkerLocation.idl:
        * xml/DOMParser.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XMLHttpRequestException.idl:
        * xml/XMLHttpRequestProgressEvent.idl:
        * xml/XMLHttpRequestUpload.idl:
        * xml/XMLSerializer.idl:
        * xml/XPathEvaluator.idl:
        * xml/XPathException.idl:
        * xml/XPathExpression.idl:
        * xml/XPathNSResolver.idl:
        * xml/XPathResult.idl:
        * xml/XSLTProcessor.idl:

2011-06-17  Cary Clark  <caryclark@google.com>

        Reviewed by Mihai Parparita.

        Exclude isCALayerContext check if building Chrome to use Skia on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=62859

        No new tests. This change does not affect existing functionality.

        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint):
        Add a conditional to always set drawing into layer to false if
        Skia is the WebKit rendering engine. Once USE(SKIA) is enabled,
        this condition can be removed.

2011-06-17  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        refactor HTMLLinkElement to allow Link header implementation
        https://bugs.webkit.org/show_bug.cgi?id=51941

        This change moves the LinkRelAttribute helper struct into its own
        file in html/, since the LinkRelAttribute is used by the LinkLoader,
        and leaving it in HTMLLinkElement would have been too circular for
        my tastes.

        The new LinkLoader class contains the loader code for icons, dns
        prefetching and prefetch/prerender/subresource into a common
        LinkLoader.  This is a step in getting the Link header working in
        WebKit, as discussed in webkit-dev For more information, see
        thread "beforeload & link
        (esp rel prefetch)".

        No new tests, since this is a refactoring.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::~HTMLLinkElement):
        (WebCore::HTMLLinkElement::parseMappedAttribute):
        (WebCore::HTMLLinkElement::shouldLoadLink):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::linkLoaded):
        (WebCore::HTMLLinkElement::linkLoadingErrored):
        * html/HTMLLinkElement.h:
        * html/LinkRelAttribute.cpp: Added.
        (WebCore::LinkRelAttribute::LinkRelAttribute):
        * html/LinkRelAttribute.h: Added.
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
        * loader/LinkLoader.cpp: Added.
        (WebCore::LinkLoader::LinkLoader):
        (WebCore::LinkLoader::~LinkLoader):
        (WebCore::LinkLoader::linkLoadedTimerFired):
        (WebCore::LinkLoader::notifyFinished):
        (WebCore::LinkLoader::loadLink):
        * loader/LinkLoader.h: Added.
        * loader/LinkLoaderClient.h: Added.
        (WebCore::LinkLoaderClient::~LinkLoaderClient):

2011-06-17  Annie Sullivan  <sullivan@chromium.org>

        Reviewed by Ryosuke Niwa.

        div can be a child of span on InsertParagraph
        https://bugs.webkit.org/show_bug.cgi?id=62687

        Handle the special case where the insertion point is the first position in the enclosing block node.
        The div for the new paragraph should be inserted as a child of the enclosing block node, otherwise
        it could be inserted as a child of a span or other inline element.

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):

2011-06-17  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Adam Barth.

        [filesystem/Chromium] Filesystem paths need proper URL escaping
        https://bugs.webkit.org/show_bug.cgi?id=62811

        Fix http://code.google.com/p/chromium/issues/detail?id=78860 by making
        KURLChromium.cpp's escaping code actually work.

        Make encodeWithURLEscapeSequences call into googleurl to do proper
        escaping.  Tested in WebKit/chromium/tests/KURLTest.cpp.
        * platform/KURLGoogle.cpp:
        (WebCore::encodeWithURLEscapeSequences):

2011-06-17  Julien Chaffraix  <jchaffraix@google.com>

        Reviewed by Darin Adler.

        Avoid extra work in RenderStyle::visitedDependentColor
        https://bugs.webkit.org/show_bug.cgi?id=62868

        Refactoring only, no new test required.

        The code used to cache the result of borderStyleForColorProperty. However
        the value was either overwritten inside colorIncludingFallback or there was
        not border. Thus I removed borderStyleForColorProperty and inlined the logic in
        colorIncludingFallback.

        This shows some nice performance improvements on the bug page (table of 22k rows with a link
        for each row). Using pprof, the time spend in RenderStyle::visitedDependentColor is reduced
        by ~10%, mostly due to removing the call to borderStyleForColorProperty.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::colorIncludingFallback): We now calculate the borderStyle
        inside this function (which was already the case I just made it explicit). Also
        simplified the final 'if' as the border will be set only for the right CSS border
        properties.

        (WebCore::RenderStyle::visitedDependentColor): Removed the |borderStyle| variable
        as it was never read.

        * rendering/style/RenderStyle.h: Removed the parameter.

2011-06-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: breakpointsWithoutSourceFile values should be a maps, not arrays.
        https://bugs.webkit.org/show_bug.cgi?id=62714

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
        (WebInspector.DebuggerPresentationModel.prototype._reset):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        (WebInspector.Settings.prototype._set):

2011-06-17  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Replace GdkRectangle by cairo_rectangle_int_t
        https://bugs.webkit.org/show_bug.cgi?id=60687

        Replace GdkRectangle by cairo_rectangle_int_t.

        * GNUmakefile.list.am: Added IntRectCairo.cpp instead of IntRectGtk.cpp
        * platform/graphics/IntRect.h: IntRect class can be instantiated through the given cairo_rectangle_int_t 
        instead of GdkRectangle.
        * platform/graphics/cairo/IntRectCairo.cpp: Add the constructor and operator for handling cairo_rectangle_int_t.
        (WebCore::IntRect::IntRect): 
        (WebCore::IntRect::operator cairo_rectangle_int_t):
        * platform/graphics/gtk/IntRectGtk.cpp: Include this file only for Gtk+2.
        * platform/gtk/GtkPluginWidget.cpp: Replace GdkRectangle by cairo_rectangle_int_t.
        (WebCore::GtkPluginWidget::invalidateRect):

2011-06-17  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by David Hyatt.

        Web Inspector: support for emulating element's pseudo class state in styleRulesForElement()
        https://bugs.webkit.org/show_bug.cgi?id=61070

        This patch is a slight rework of a solution by Alexander Udalov.
        It is supposed to help implement a feature in Web Inspector to examine
        style rules matched for different states of a given element.
        Web Inspector is supposed to pass a mask of ForcePseudoClassFlags to
        styleRulesForElement(), so that it will filter only the rules whose state
        (a set of pseudo classes in their selectors) matches a given
        mask, ignoring the state of the element itself.
        DoNotForcePseudoClassMask is the default behaviour; it always examines
        the state of a given element to make a match.

        Tests will be provided in a subsequent Web Inspector change employing this functionality.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::CSSStyleSelector::styleRulesForElement):
        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
        (WebCore::CSSStyleSelector::checkSelector):
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * css/CSSStyleSelector.h:

2011-06-17  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: support preview mode for live edit changes
        https://bugs.webkit.org/show_bug.cgi?id=62851

        Debugger.editScriptSource command now supports preview flag.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::editScriptSource):
        * inspector/InspectorDebuggerAgent.h:

2011-06-09  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Gentilcore.

        IndexedDB: backingStoreMap is per backing store, not per database
        https://bugs.webkit.org/show_bug.cgi?id=62382

        IDBFactoryBackendImpl::m_backingStoreMap should contain an entry per
        backing store, not per database. Otherwise, we might accidentally open
        the same backing store more than once, which is dangerous.

        Also tweak the code that chooses backing store type. It should be
        simple: we default to SQLite; if LevelDB is specifically requested, we
        use that. If LevelDB is requested and there is a SQLite database, we
        migrate.

        No new tests, just cleaning up the code.

        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
        (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
        (WebCore::IDBFactoryBackendImpl::open):
        (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
        * storage/IDBFactoryBackendImpl.h:

2011-06-17  Andrey Adaikin  <aandrey@google.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Source code which includes non-Latin character does not correspond to line number field on Inspector
        https://bugs.webkit.org/show_bug.cgi?id=62845

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._syncLineHeight):
        (WebInspector.TextEditorGutterPanel):
        (WebInspector.TextEditorGutterChunk.prototype.set expanded):

2011-06-16  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: return description of the changes applied in response to editScriptSource command
        https://bugs.webkit.org/show_bug.cgi?id=62801

        Return description of the changes made in response to Debugger.editScriptSource command.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.json:

2011-06-16  Gabor Loki  <loki@webkit.org>

        [Qt] Unreviewed, build fix after r89118.

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::initializeParserContext):

2011-06-16  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed, rolling out r89073.
        http://trac.webkit.org/changeset/89073
        https://bugs.webkit.org/show_bug.cgi?id=62783

        Broke Chromium Clang build.

        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
        (wkScrollbarPainterPaint):
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint):

2011-06-16  Jeffrey Pfau  <jpfau@apple.com>

        Reviewed by Alexey Proskuryakov.

        Using null bytes when setting innerHTML in XTHML results in assertion and a crash due to null-pointer dereference
        https://bugs.webkit.org/show_bug.cgi?id=61053

        XML parsing in-memory XML chunks now passes around a string object instead of a C string, ensuring null characters are properly handled.

        Tests: fast/parser/xhtml-innerhtml-null-byte-first.xhtml
               fast/parser/xhtml-innerhtml-null-byte.xhtml

        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLParserContext::createMemoryParser):
        (WebCore::XMLDocumentParser::initializeParserContext):
        (WebCore::XMLDocumentParser::appendFragmentSource):

2011-06-16  Robin Dunn  <robin@alldunn.com>

        Reviewed by Kevin Ollivier.

        [wx] Account for differing byte order when decoding images in the PPC build.
        
        https://bugs.webkit.org/show_bug.cgi?id=62830

        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::ImageFrame::asNewNativeImage):

2011-06-16  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        REGRESSION (r89035): HTMLTableRowsCollection constructor crashes; depends on compiler order of evaluation
        https://bugs.webkit.org/show_bug.cgi?id=62836

        Covered by existing tests on platforms where it occurs.

        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Add a call to get()
        to prevent the passing behavior of PassRefPtr from kicking in and changing the
        table pointer to 0, possibly before it is dereferenced.

2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89055.
        http://trac.webkit.org/changeset/89055
        https://bugs.webkit.org/show_bug.cgi?id=62835

        Caused failures on all ports except GTK (Requested by
        mrobinson on #webkit).

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::statusWillBeHandledBySoup):
        (WebCore::soupErrorShouldCauseLoadFailure):
        (WebCore::convertSoupErrorToResourceError):
        (WebCore::sendRequestCallback):

2011-06-16  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Support logical line movement in vertical writing mode
        https://bugs.webkit.org/show_bug.cgi?id=62743

        Fixed the bug by making xOffsetForVerticalNavigation (now called lineDirectionPointForVerticalNavigation)
        aware of writing modes. Also extracted absoluteLineDirectionPointToLocalPointInBlock from previousLinePosition
        and nextLinePosition to convert a line direction point to a physical point relative to a root inline box.

        Tests: editing/selection/vertical-lr-ltr-extend-line-backward-br.html
               editing/selection/vertical-lr-ltr-extend-line-forward-br.html
               editing/selection/vertical-rl-ltr-extend-line-backward-br.html
               editing/selection/vertical-rl-ltr-extend-line-backward-p.html
               editing/selection/vertical-rl-ltr-extend-line-backward-wrap.html
               editing/selection/vertical-rl-ltr-extend-line-forward-br.html
               editing/selection/vertical-rl-ltr-extend-line-forward-p.html
               editing/selection/vertical-rl-ltr-extend-line-forward-wrap.html
               editing/selection/vertical-rl-rtl-extend-line-backward-br.html
               editing/selection/vertical-rl-rtl-extend-line-backward-p.html
               editing/selection/vertical-rl-rtl-extend-line-forward-br.html
               editing/selection/vertical-rl-rtl-extend-line-forward-p.html

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::modifyExtendingForward): Calls lineDirectionPointForBlockDirectionNavigation.
        (WebCore::FrameSelection::modifyMovingForward): Ditto.
        (WebCore::FrameSelection::modifyExtendingBackward): Ditto.
        (WebCore::FrameSelection::modifyMovingBackward): Ditto.
        (WebCore::FrameSelection::modify): Ditto.
        (WebCore::FrameSelection::lineDirectionPointForBlockDirectionNavigation): Renamed from
        xPosForVerticalArrowNavigation; calls VisiblePosition::lineDirectionPointForVerticalNavigation.
        * editing/FrameSelection.h:
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Renamed from
        xOffsetForVerticalNavigation. Returns line direction point instead of visual x coordinate.
        * editing/VisiblePosition.h:
        * editing/visible_units.cpp:
        (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Extracted from previousLinePosition and
        nextLinePosition. Takes care or writing modes.
        (WebCore::previousLinePosition): Calls absoluteLineDirectionPointToLocalPointInBlock.
        (WebCore::nextLinePosition): Ditto.
        * editing/visible_units.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::closestLeafChildForPoint): Added; takes a physical point and calls
        closestLeafChildForLogicalLeftPosition with logical x.
        * rendering/RootInlineBox.h:

2011-06-16  Nate Chapin  <japhet@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Set the referrer on a ResourceRequest from a WorkerThreadableLoader
        as soon as the request reaches the main thread and remove the
        optionalOutgoingReferrer parameter from some functions.
        https://bugs.webkit.org/show_bug.cgi?id=62806

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
        (WebCore::DocumentThreadableLoader::create):
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
        * loader/ResourceLoadScheduler.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * loader/SubresourceLoader.h:
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):

2011-06-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        FrameLoader doesn't need completeURL or baseURL
        https://bugs.webkit.org/show_bug.cgi?id=62818

        No functional change, thus no tests.

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::isImageType):
        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::open):
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/NavigationScheduler.cpp:
        (WebCore::NavigationScheduler::scheduleLocationChange):
        * page/History.cpp:
        (WebCore::History::urlForState):

2011-06-16  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Antonio Gomes.

        Support for gnash flash player plugin in QtWebKit

        [Qt] Support for the gnash flash player plugin
        https://bugs.webkit.org/show_bug.cgi?id=62283

        No new tests needed. Existing nsplugin tests are sufficient.

        * plugins/qt/PluginPackageQt.cpp:
        (WebCore::PluginPackage::load):

2011-06-16  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by Mihai Parparita.

        [Chromium] Draw search tickmarks on overlay scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=62783

        This change adds search tickmark support for overlay scrollbars. Tickmarks are only drawn when the scroll track is visible.

        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:Split the scrollbar drawing code into a track and knob version.
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
        (wkScrollbarPainterPaint):
        (wkScrollbarPainterPaintTrack):
        (wkScrollbarPainterPaintKnob):
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        * platform/chromium/ScrollbarThemeChromiumMac.mm:Factor out the paint tickmark code and call it from the overlay scrollbar drawing code.
        (WebCore::ScrollbarThemeChromiumMac::paint):
        (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):

2011-06-16  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Introduced SlotVisitor into the project
        https://bugs.webkit.org/show_bug.cgi?id=62820

        This resolves a class vs typedef forward declaration issue, and gives all
        exported symbols the correct names.

        * dom/EventListener.h:
        * dom/Node.h:
        * dom/NodeFilterCondition.h:

2011-06-16  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        RefPtr frame since it can get removed in
        FrameLoader::finishedParsing.
        https://bugs.webkit.org/show_bug.cgi?id=62812

        Tests: already tested by fast/parser/document-write-into-initial-document.html.

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

2011-06-16  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by Mihai Parparita.

        [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
        https://bugs.webkit.org/show_bug.cgi?id=62779

        Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h

        * platform/chromium/ScrollAnimatorChromiumMac.h:
        (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
        (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
        * platform/chromium/ScrollAnimatorChromiumMac.mm:
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::scroll):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
        (WebCore::isScrollingLeftAndShouldNotRubberBand):
        (WebCore::isScrollingRightAndShouldNotRubberBand):
        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::setIsActive):
        (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
        (wkScrollbarPainterControllerStyle):

2011-06-16  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by Mihai Parparita.

        [Chromium] Overlay scrollbars leave glitches on web content
        https://bugs.webkit.org/show_bug.cgi?id=62383

        Enable overlay scrollbars on Chromium Mac.

        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
        (preferredScrollerStyle):

2011-06-16  una sabovic  <una.sabovic@palm.com>

        Reviewed by Simon Fraser.

        Optimization: do a single fillRect when painting the root background in RenderBoxModelObject::paintFillLayerExtended
        https://bugs.webkit.org/show_bug.cgi?id=62593

        When painting the root background, instead of doing two fillRects blend the base with background color and do a single fillRect.
        
        No new tests. This is an optimization and it doesn't change any existing functionality.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2011-06-16  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Consider padding and border when looking for the next/previous line position
        https://bugs.webkit.org/show_bug.cgi?id=55481

        The bug was caused by previousLinePosition and nextLinePosition passing y coordinate
        above the line in some cases. Fixed the bug by passing the larger of selectionTop and logicalTop.

        This patch is based on a patch originally written by Mario Sanchez Prada <msanchez@igalia.com>.

        Test: editing/selection/move-vertically-with-paddings-borders.html

        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::blockDirectionPointInLine):

2011-06-16  Keunsoon Lee  <keunsoon.lee@samsung.com>

        Reviewed by Martin Robinson.

        [SOUP] Abnormal operation if server sends 5xx status code without HTTP body
        https://bugs.webkit.org/show_bug.cgi?id=60875

        Handle status code 4xx and 5xx after receiving HTTP body

        Webkit soup port premises that server always sends error page
        in case server sends error code, 4xx and 5xx.
        But, sometimes there is no HTTP body for error page.
        In that case, Webkit does nothing or tries to download the HTTP response
        according to received MIME Type even if there is no HTTP body. (abnormal operation)

        With this modification,
        Browser will show received error page if server sends error page.
        Or it will show its own error page from each port if server sends nothing.

        Modified algorithm
        1) libsoup sends status code 4xx or 5xx (client error or server error)
        2) Webkit soup port orders to accumulate HTTP body chunks to libsoup.
        3) Webkit soup port ignores gotHeadersCallback, contentSniffedCallback and gotChunkCallback.
        4) Webkit soup port checks there is HTTP body or not on sendRequestCallback and;
             4-1) if there is HTTP body, calls didReceiveResponse()
             4-2) if there is no HTTP body, calls didFail() - prevent the abnormal operation

        Test: http/tests/loading/status-code-error-without-response-body.html

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::statusWillBeHandledBySoup):
            Add a new condition, SOUP_STATUS_IS_CLIENT_ERROR() and SOUP_STATUS_IS_SERVER_ERROR()
        (WebCore::soupErrorAndHaveNotReceivedBody):
            Add a new helper function, it checks received body is exist if soup sends error code
        (WebCore::soupErrorShouldCauseLoadFailure):
           Add a new condition, soupErrorAndHaveNotReceivedBody()
        (WebCore::convertSoupErrorToResourceError):
           Add a new condition, soupErrorAndHaveNotReceivedBody()
        (WebCore::sendRequestCallback):
           Check handle->client() again, because didReceiveResponse() can make it zero

2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Network panel shows incorrect query parameters when url has fragment.
        https://bugs.webkit.org/show_bug.cgi?id=62723

        * English.lproj/localizedStrings.js:
        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildRequestURL):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get queryParameters):
        * inspector/front-end/ResourceHeadersView.js:
        (WebInspector.ResourceHeadersView):
        (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):

2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>

        Clang fix after r89039.

        * rendering/RenderThemeMac.h: Removed spurious constipation.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.

2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89026.
        http://trac.webkit.org/changeset/89026
        https://bugs.webkit.org/show_bug.cgi?id=62804

        These patches were likely correct.  I'll investigate the
        browser_test failures. (Requested by abarth on #webkit).

        * WebCore.exp.in:
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::processingUserGesture):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::processingUserGesture):
        * bindings/v8/ScriptController.h:
        * dom/Event.cpp:
        * dom/Event.h:
        * dom/UserGestureIndicator.cpp:
        (WebCore::isDefinite):
        (WebCore::UserGestureIndicator::UserGestureIndicator):
        (WebCore::UserGestureIndicator::~UserGestureIndicator):
        * dom/UserGestureIndicator.h:
        (WebCore::UserGestureIndicator::processingUserGesture):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::removedFromDocument):
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::play):
        (WebCore::HTMLMediaElement::pause):
        (WebCore::HTMLMediaElement::beginScrubbing):
        (WebCore::HTMLMediaElement::resume):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
        * html/HTMLVideoElement.h:
        (WebCore::HTMLVideoElement::webkitEnterFullScreen):
        * html/HTMLVideoElement.idl:
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::defaultEventHandler):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>

        [Qt] Build fix after r89039.

        * WebCore.pro: Added StringTruncator to build system.
        * platform/qt/RenderThemeQt.cpp: Reverted previous change.

2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>

        [Qt] Build fix after r89039.

        * platform/qt/RenderThemeQt.cpp: Added StringTruncator include.

2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>

        [Qt] Build fix after r89039.

        * platform/qt/RenderThemeQt.h: Renamed local variable f to font.

2011-06-16  Dimitri Glazkov  <dglazkov@chromium.org>

        [Qt] Build fix after r89039.

        * platform/qt/RenderThemeQt.h: Move decl out of ENABLE(VIDEO) ifdef.

2011-06-15  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Move FileChooser::basenameForWidth to RenderTheme::fileListNameForWidth, eliminate gnarly FileChooserFoo proliferation.
        https://bugs.webkit.org/show_bug.cgi?id=62748

        Refactoring, covered by existing tests.

        * CMakeListsEfl.txt: Removed FileChooserFoo from build system.
        * CMakeListsWinCE.txt: Ditto.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.order: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * platform/FileChooser.h: Removed baseNameForWidth decl.
        * platform/FileSystem.h: Removed now-unnecessary Chromium-specific cruft.
        * platform/android/FileChooserAndroid.cpp: Removed.
        * platform/brew/FileChooserBrew.cpp: Removed.
        * platform/chromium/FileChooserChromium.cpp: Removed.
        * platform/chromium/FileSystemChromiumLinux.cpp: Removed now-unnecessary code.
        * platform/chromium/FileSystemChromiumMac.mm: Ditto.
        * platform/chromium/FileSystemChromiumWin.cpp: Ditto.
        * platform/efl/FileChooserEfl.cpp: Removed.
        * platform/gtk/FileChooserGtk.cpp: Removed.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::stringByAdoptingFileSystemRepresentation): Moved from FileChooserGtk.
        (WebCore::RenderThemeGtk::fileListNameForWidth): Ditto.
        * platform/gtk/RenderThemeGtk.h: Added decl.
        * platform/haiku/FileChooserHaiku.cpp: Removed.
        * platform/mac/FileChooserMac.mm: Removed.
        * platform/qt/FileChooserQt.cpp: Removed.
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt): Moved from FileChooserQt.
        (WebCore::RenderThemeQt::fileListNameForWidth): Ditto.
        * platform/qt/RenderThemeQt.h: Adde decl.
        * platform/win/FileChooserWin.cpp: Removed.
        * platform/wx/FileChooserWx.cpp: Removed.
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::fileTextValue): Changed to use RenderTheme.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::fileListNameForWidth): Added default impl.
        * rendering/RenderTheme.h: Added decl.
        * rendering/RenderThemeMac.h: Ditto.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::fileListNameForWidth): Added default Mac impl.

2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
        https://bugs.webkit.org/show_bug.cgi?id=61205

        Added inspector backend cache for XHR content.

        Tests: http/tests/inspector/network/network-xhr-async.html
               http/tests/inspector/network/network-xhr-sync.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/FileReaderLoader.cpp:
        (WebCore::FileReaderLoader::didReceiveResponse):
        * fileapi/FileReaderLoader.h:
        * inspector/Inspector.json:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
        (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
        (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
        (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
        (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
        (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
        (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
        (WebCore::InspectorResourceAgent::getResourceContent):
        (WebCore::InspectorResourceAgent::mainFrameNavigated):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        * inspector/NetworkResourcesData.cpp: Added.
        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
        (WebCore::NetworkResourcesData::ResourceData::content):
        (WebCore::NetworkResourcesData::ResourceData::appendContent):
        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
        (WebCore::NetworkResourcesData::NetworkResourcesData):
        (WebCore::NetworkResourcesData::~NetworkResourcesData):
        (WebCore::NetworkResourcesData::resourceCreated):
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::didReceiveXHRResponse):
        (WebCore::NetworkResourcesData::addResourceContent):
        (WebCore::NetworkResourcesData::isXHR):
        (WebCore::NetworkResourcesData::data):
        (WebCore::NetworkResourcesData::clear):
        (WebCore::NetworkResourcesData::ensureNoDataForIdentifier):
        (WebCore::NetworkResourcesData::ensureFreeSpace):
        * inspector/NetworkResourcesData.h: Added.
        (WebCore::NetworkResourcesData::ResourceData::identifier):
        (WebCore::NetworkResourcesData::ResourceData::loaderId):
        (WebCore::NetworkResourcesData::ResourceData::frameId):
        (WebCore::NetworkResourcesData::ResourceData::setFrameId):
        (WebCore::NetworkResourcesData::ResourceData::url):
        (WebCore::NetworkResourcesData::ResourceData::setUrl):
        (WebCore::NetworkResourcesData::ResourceData::isXHR):
        (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
        (WebCore::NetworkResourcesData::ResourceData::hasContent):
        (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
        (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._appendResource):
        (WebInspector.NetworkPanel.prototype._frameNavigated):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::receivedCancellation):
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoaderClient.h:
        (WebCore::ThreadableLoaderClient::didReceiveResponse):
        (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
        * loader/ThreadableLoaderClientWrapper.h:
        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::workerContextDidReceiveResponse):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
        (WebCore::workerContextDidReceiveAuthenticationCancellation):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.h:
        * notifications/Notification.cpp:
        (WebCore::Notification::didReceiveResponse):
        (WebCore::Notification::didReceiveAuthenticationCancellation):
        * notifications/Notification.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse):
        * page/EventSource.h:
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::didReceiveResponse):
        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
        * workers/WorkerScriptLoader.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
        * xml/XMLHttpRequest.h:

2011-06-16  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        HTMLTable should cache its 'rows' collection results
        https://bugs.webkit.org/show_bug.cgi?id=62800

        Test: perf/table-rows-length-caching.html

        Currently all our HTMLCollection's are recreated on call. This means that
        we don't cache the information about the collection between calls to, for
        example, table.rows.

        This change adds a CollectionCache to HTMLTableElement. It is similar to what
        is done for HTMLFormElement.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::collectionCache): This method does
        lazy initialization of the table's collectionCache.
        * html/HTMLTableElement.h: Added a new member and the previous
        method.

        * html/HTMLTableRowsCollection.cpp:
        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Pass
        the HTMLTableElement's CollectionCache so that we reuse the cached
        results.

2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89025.
        http://trac.webkit.org/changeset/89025
        https://bugs.webkit.org/show_bug.cgi?id=62799

        "Some layout tests fail" (Requested by yurys on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/FileReaderLoader.cpp:
        (WebCore::FileReaderLoader::didReceiveResponse):
        * fileapi/FileReaderLoader.h:
        * inspector/Inspector.json:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        * inspector/NetworkResourcesData.cpp: Removed.
        * inspector/NetworkResourcesData.h: Removed.
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._appendResource):
        (WebInspector.NetworkPanel.prototype._frameNavigated):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::receivedCancellation):
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoaderClient.h:
        (WebCore::ThreadableLoaderClient::didReceiveResponse):
        (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
        * loader/ThreadableLoaderClientWrapper.h:
        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::workerContextDidReceiveResponse):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
        (WebCore::workerContextDidReceiveAuthenticationCancellation):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.h:
        * notifications/Notification.cpp:
        (WebCore::Notification::didReceiveResponse):
        (WebCore::Notification::didReceiveAuthenticationCancellation):
        * notifications/Notification.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse):
        * page/EventSource.h:
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::didReceiveResponse):
        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
        * workers/WorkerScriptLoader.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
        * xml/XMLHttpRequest.h:

2011-06-16  Vitaly Repeshko  <vitalyr@chromium.org>

        Unreviewed.

        Revert Adam's user gesture patch series r89002, r89005, r89007, r89018
        https://bugs.webkit.org/show_bug.cgi?id=62796

        The patches broke chromium browser tests.

        * WebCore.exp.in:
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::ScriptController::isJavaScriptAnchorNavigation):
        * bindings/js/ScriptController.h:
        (WebCore::ScriptController::setProcessingTimerCallback):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::processingUserGesture):
        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::setProcessingTimerCallback):
        * dom/Event.cpp:
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/UserGestureIndicator.cpp:
        (WebCore::UserGestureIndicator::UserGestureIndicator):
        (WebCore::UserGestureIndicator::~UserGestureIndicator):
        * dom/UserGestureIndicator.h:
        (WebCore::UserGestureIndicator::processingUserGesture):
        (WebCore::UserGestureIndicator::getUserGestureState):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::removedFromDocument):
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::play):
        (WebCore::HTMLMediaElement::pause):
        (WebCore::HTMLMediaElement::beginScrubbing):
        (WebCore::HTMLMediaElement::resume):
        (WebCore::HTMLMediaElement::processingUserGesture):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
        * html/HTMLVideoElement.h:
        (WebCore::HTMLVideoElement::webkitEnterFullScreen):
        * html/HTMLVideoElement.idl:
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::defaultEventHandler):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

2011-06-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Cache XHR content in backend, do not use initialContentSet for XHRs.
        https://bugs.webkit.org/show_bug.cgi?id=61205

        Added inspector backend cache for XHR content.

        Tests: http/tests/inspector/network/network-xhr-async.html
               http/tests/inspector/network/network-xhr-sync.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/FileReaderLoader.cpp:
        (WebCore::FileReaderLoader::didReceiveResponse):
        * fileapi/FileReaderLoader.h:
        * inspector/Inspector.json:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didReceiveXHRResponseImpl):
        (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl):
        (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
        (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
        (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::didReceiveXHRResponse):
        (WebCore::InspectorResourceAgent::willLoadXHRSynchronously):
        (WebCore::InspectorResourceAgent::didLoadXHRSynchronously):
        (WebCore::InspectorResourceAgent::getResourceContent):
        (WebCore::InspectorResourceAgent::mainFrameNavigated):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        * inspector/NetworkResourcesData.cpp: Added.
        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
        (WebCore::NetworkResourcesData::ResourceData::content):
        (WebCore::NetworkResourcesData::ResourceData::appendContent):
        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
        (WebCore::NetworkResourcesData::NetworkResourcesData):
        (WebCore::NetworkResourcesData::~NetworkResourcesData):
        (WebCore::NetworkResourcesData::resourceCreated):
        (WebCore::NetworkResourcesData::responseReceived):
        (WebCore::NetworkResourcesData::didReceiveXHRResponse):
        (WebCore::NetworkResourcesData::addResourceContent):
        (WebCore::NetworkResourcesData::isXHR):
        (WebCore::NetworkResourcesData::data):
        (WebCore::NetworkResourcesData::clear):
        (WebCore::NetworkResourcesData::ensureFreeSpace):
        * inspector/NetworkResourcesData.h: Added.
        (WebCore::NetworkResourcesData::ResourceData::identifier):
        (WebCore::NetworkResourcesData::ResourceData::loaderId):
        (WebCore::NetworkResourcesData::ResourceData::frameId):
        (WebCore::NetworkResourcesData::ResourceData::setFrameId):
        (WebCore::NetworkResourcesData::ResourceData::url):
        (WebCore::NetworkResourcesData::ResourceData::setUrl):
        (WebCore::NetworkResourcesData::ResourceData::isXHR):
        (WebCore::NetworkResourcesData::ResourceData::setIsXHR):
        (WebCore::NetworkResourcesData::ResourceData::hasContent):
        (WebCore::NetworkResourcesData::ResourceData::isContentPurged):
        (WebCore::NetworkResourcesData::ResourceData::setIsContentPurged):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._appendResource):
        (WebInspector.NetworkPanel.prototype._frameNavigated):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::receivedCancellation):
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoaderClient.h:
        (WebCore::ThreadableLoaderClient::didReceiveResponse):
        (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
        * loader/ThreadableLoaderClientWrapper.h:
        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::workerContextDidReceiveResponse):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
        (WebCore::workerContextDidReceiveAuthenticationCancellation):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.h:
        * notifications/Notification.cpp:
        (WebCore::Notification::didReceiveResponse):
        (WebCore::Notification::didReceiveAuthenticationCancellation):
        * notifications/Notification.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse):
        * page/EventSource.h:
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::didReceiveResponse):
        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
        * workers/WorkerScriptLoader.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
        * xml/XMLHttpRequest.h:

2011-06-16  Hayato Ito  <hayato@chromium.org>

        Reviewed by Hajime Morita.

        Show child elements of a shadow host in Node::showTreeForThisAcrossFrame.
        https://bugs.webkit.org/show_bug.cgi?id=62782

        To make an implementation simple, get rid of traverseNextNodeAcrossFrame
        and traverse each Node recursively.

        No new tests since the function is only available in debug builds.

        * dom/Node.cpp:
        (WebCore::showSubTreeAcrossFrame):
        (WebCore::Node::showTreeForThisAcrossFrame):

2011-06-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kent Tamura.

        [EFL] Move Initialization of defaultFontSize to top of file.
        https://bugs.webkit.org/show_bug.cgi?id=62787

        * platform/efl/RenderThemeEfl.cpp: Move Initialize code of defaultFontSize to top.

2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88796.
        http://trac.webkit.org/changeset/88796
        https://bugs.webkit.org/show_bug.cgi?id=62790

        It made fast/dom/nodesFromRect-basic.html time out on Qt,
        64-bit, debug mode (Requested by Ossy on #webkit).

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::convertValueToQVariant):

2011-06-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove HTMLVideoElement::processingUserGesture
        https://bugs.webkit.org/show_bug.cgi?id=62784

        HTMLMediaElement shouldn't have its own notion of the user gesture
        state.  It should just use the normal user gesture state.  Also,
        there's no point in having the bindings send the user gesture state in
        a boolean parameter.

        * WebCore.exp.in:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::removedFromDocument):
        (WebCore::HTMLMediaElement::load):
        (WebCore::HTMLMediaElement::play):
        (WebCore::HTMLMediaElement::pause):
        (WebCore::HTMLMediaElement::beginScrubbing):
        (WebCore::HTMLMediaElement::resume):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
        * html/HTMLVideoElement.h:
        (WebCore::HTMLVideoElement::webkitEnterFullScreen):
        * html/HTMLVideoElement.idl:
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::defaultEventHandler):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):

2011-06-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r89011.
        http://trac.webkit.org/changeset/89011
        https://bugs.webkit.org/show_bug.cgi?id=62789

        Broke mac build (Requested by vitalyr_ on #webkit).

        * platform/chromium/ScrollAnimatorChromiumMac.h:
        * platform/chromium/ScrollAnimatorChromiumMac.mm:
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::scroll):
        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:

2011-06-16  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by James Robinson.

        [Chromium] Update forked ScrollAnimatorChromiumMac.mm/h
        https://bugs.webkit.org/show_bug.cgi?id=62779

        Updated ScrollAnimatorChromiumMac.mm/h with the latest code in WebCore/platform/mac/ScrollAnimatorMac.mm/h

        * platform/chromium/ScrollAnimatorChromiumMac.h:
        (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
        (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
        * platform/chromium/ScrollAnimatorChromiumMac.mm:
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::scroll):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
        (WebCore::isScrollingLeftAndShouldNotRubberBand):
        (WebCore::isScrollingRightAndShouldNotRubberBand):
        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::setIsActive):
        (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
        (wkScrollbarPainterControllerStyle):

2011-06-15  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector [Chromium]: Make heap snapshots UI more responsive.
        https://bugs.webkit.org/show_bug.cgi?id=62360

        Two changes have been made:
          - when we request elements, sort array only partially;
          - when populating children, do it in batches;

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotFilteredOrderedIterator):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
        (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
        * inspector/front-end/HeapSnapshotWorker.js:
        * inspector/front-end/PartialQuickSort.js: Added.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove Event::fromUserGesture
        https://bugs.webkit.org/show_bug.cgi?id=62778

        This function is a remnant from the old user-gesture design.  The list
        of events here is redundant with our selection of call sites for
        setting the user gesture indicator.

        As part of this patch, I've also cleaned up the implementation of
        UserGestureIndicator itself to always be definite about whether we're
        processing a user gesture.  We now start out in a definite state (no
        user gesture) and inductively state in a definite state.

        * WebCore.exp.in:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * dom/Event.cpp:
        * dom/Event.h:
        * dom/UserGestureIndicator.cpp:
        (WebCore::isDefinite):
        (WebCore::UserGestureIndicator::UserGestureIndicator):
        (WebCore::UserGestureIndicator::~UserGestureIndicator):
        * dom/UserGestureIndicator.h:
        (WebCore::UserGestureIndicator::processingUserGesture):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::defaultEventHandler):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):

2011-06-08  Keishi Hattori  <keishi@webkit.org>

        Reviewed by Kent Tamura.

        Fix range element not updating when value attribute is set with JS
        https://bugs.webkit.org/show_bug.cgi?id=61857

        Test: fast/forms/range-set-attribute.html

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::minOrMaxAttributeChanged): Changed to only sanitize the value when the dirty value flag is true.

2011-06-15  Adam Barth  <abarth@webkit.org>

        Unreviewed.  (Technically I should get this reviewed, but I
        accidentally committed part of this patch in my previous commit,
        causing a build break.)

        Remove ScriptController::m_processingTimerCallback
        https://bugs.webkit.org/show_bug.cgi?id=62776

        This variable is unused.  (It used to be used in a user gesture detection hack.)

        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        * bindings/v8/ScriptController.h:

2011-06-15  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium][Qt] Some slider clicking tests fail.
        https://bugs.webkit.org/show_bug.cgi?id=62683

        When we pressed a mouse button on a slider thumb,
        SliderThumbElement::startDragging() were called twice.
         - From SliderThumbElement::defaultEventHandler(), and
         - from RangeInputType::handleMouseDownEvent()
        The latter is not needed. We should call setDefaultHandled() correctly.

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent): Calls setDefaultHandled()
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::setPositionFromPoint): Remove FIXME comments.
        (WebCore::SliderThumbElement::defaultEventHandler): Calls setDefaultHandled()

2011-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Anders Carlsson.

        Remove ScriptController::isJavaScriptAnchorNavigation
        https://bugs.webkit.org/show_bug.cgi?id=62775

        This function no longer plays a role in the user gesture code now that
        we're not encoding the user gesture state into the ScriptSourceCode
        URL.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        * bindings/js/ScriptController.h:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):

2011-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove ScriptController::setAllowPopupsFromPlugin
        https://bugs.webkit.org/show_bug.cgi?id=62706

        This API is just a poor man's UserGestureIndicator.  We should use the
        real deal.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::processingUserGesture):
        * bindings/js/ScriptController.h:
        * bindings/v8/NPV8Object.cpp:
        (_NPN_EvaluateHelper):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::processingUserGesture):
        * bindings/v8/ScriptController.h:

2011-06-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove forceUserGesture bool in favor of UserGestureIndicator
        https://bugs.webkit.org/show_bug.cgi?id=62702

        This patch is an intermediate step towards removing the
        forceUserGesture bool.  In this patch, we use the user gesture
        indicator to store the gesture state instead of encoding it in the URL
        of the script source code.  In a future patch, we'll push the indicator
        higher up the stack, closer to the reason for setting it.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeScript):
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::executeScriptInWorld):

2011-06-15  Rob Buis  <rbuis@rim.com>

        Reviewed by Darin Adler.

        Try to use fastGetAttribute where possible
        https://bugs.webkit.org/show_bug.cgi?id=62747

        Use the fast versions of get/hasAttribute where we can.

        No new tests since this is a simple cleanup.

        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::title):
        (WebCore::SVGAElement::defaultEventHandler):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::glyphRef):
        (WebCore::SVGAltGlyphElement::format):
        (WebCore::SVGAltGlyphElement::glyphElement):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::rotateMode):
        (WebCore::SVGAnimateMotionElement::animationPath):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::animationMode):
        (WebCore::SVGAnimationElement::calcMode):
        (WebCore::SVGAnimationElement::attributeType):
        (WebCore::SVGAnimationElement::toValue):
        (WebCore::SVGAnimationElement::byValue):
        (WebCore::SVGAnimationElement::fromValue):
        (WebCore::SVGAnimationElement::isAdditive):
        (WebCore::SVGAnimationElement::isAccumulated):
        (WebCore::SVGAnimationElement::startedActiveInterval):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::xmlbase):
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::ensureGlyphCache):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::unitsPerEm):
        (WebCore::SVGFontFaceElement::xHeight):
        (WebCore::SVGFontFaceElement::horizontalOriginX):
        (WebCore::SVGFontFaceElement::horizontalOriginY):
        (WebCore::SVGFontFaceElement::horizontalAdvanceX):
        (WebCore::SVGFontFaceElement::verticalOriginX):
        (WebCore::SVGFontFaceElement::verticalOriginY):
        (WebCore::SVGFontFaceElement::verticalAdvanceY):
        (WebCore::SVGFontFaceElement::ascent):
        (WebCore::SVGFontFaceElement::descent):
        * svg/SVGFontFaceNameElement.cpp:
        (WebCore::SVGFontFaceNameElement::srcValue):
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::srcValue):
        (WebCore::SVGFontFaceUriElement::loadFont):
        * svg/SVGGlyphElement.cpp:
        (WebCore::parseSVGGlyphAttribute):
        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::buildHorizontalKerningPair):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::contentScriptType):
        (WebCore::SVGSVGElement::contentStyleType):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::type):
        (WebCore::SVGStyleElement::media):
        (WebCore::SVGStyleElement::title):
        * svg/SVGVKernElement.cpp:
        (WebCore::SVGVKernElement::buildVerticalKerningPair):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::insertedIntoDocument):
        (WebCore::SVGSMILElement::parseMappedAttribute):
        (WebCore::SVGSMILElement::restart):
        (WebCore::SVGSMILElement::fill):
        (WebCore::SVGSMILElement::xlinkHref):
        (WebCore::SVGSMILElement::dur):
        (WebCore::SVGSMILElement::repeatDur):
        (WebCore::SVGSMILElement::repeatCount):
        (WebCore::SVGSMILElement::maxValue):
        (WebCore::SVGSMILElement::minValue):

2011-06-15  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Antti Koivisto.

        Revert speculative fix in r84151. It caused some issues with
        stylesheet lifetimes.
        https://bugs.webkit.org/show_bug.cgi?id=62586

        Tests: fast/dom/body-clone-link-decl-parent-crash.html
               fast/dom/styled-clone-inline-style-decl-parent-crash.html
               fast/dom/styled-not-in-document-clone-inline-style-decl-parent-crash.html

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

2011-06-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kent Tamura.

        [EFL] Implement animationXXX functions for Progress Tag
        https://bugs.webkit.org/show_bug.cgi?id=62713

        Progress tag need to implement acnimationXXX functions in order to show animation of 
        progress tag. Because, RenderProgress decides to show update progress bar's animation
        according to the functions.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
        (WebCore::RenderThemeEfl::animationDurationForProgressBar):
        * platform/efl/RenderThemeEfl.h:

2011-06-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
        https://bugs.webkit.org/show_bug.cgi?id=62764

        This is an non-reproducible high volume crash, so no test :(. 

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::detachFromFrame):
        Be conservative and stop loading when we detach a document loader from a frame.

2011-06-15  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=62746
        Crash possible when switching scrollbar appearance preference on Mac
        -and corresponding-
        <rdar://problem/9323983>
        
        This crash happens because the current mechanism that is intended to flag 
        ScrollAnimators as being in the page cache or not does not work correctly. 
        Long-term the fix for this is to move the ScrollableArea HashSet to a more 
        appropriate place. In the meantime, this patch addresses the crash by getting 
        rid of the m_isActive bool on ScrollAnimator that was intended to represent 
        whether or not the ScrollableArea is in the page cache. Instead, ScrollableArea 
        implementations now have their own functions to compute whether they are in 
        active pages. ScrollAnimator::setIsActive() needs to be kept around even though 
        there is no bool to flip anymore because scrollbars may need to be properly 
        updated if the appearance was switched while the document was in the page cache.

        No longer call FrameView::setAnimatorsAreActive() from 
        Document::setIsInPageCache(), instead call it in 
        Document::documentDidBecomeActive()
        * dom/Document.cpp:
        (WebCore::Document::setInPageCache):
        (WebCore::Document::documentDidBecomeActive):

        ScrollableAreas can now assess whether or not they are on active pages (ie, not 
        in the page cache).
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::isOnActivePage):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::isOnActivePage):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isOnActivePage):
        * rendering/RenderListBox.h:

        A FrameView cannot access its Document when it's in the page cache, so it 
        usually determines whether it's in the page cache by checking if its frame 
        points to a FrameView other than itself.
        * page/FrameView.cpp:
        (WebCore::FrameView::isOnActivePage):
        
        Make sure ScrollableAreas are on active pages before setting them as 
        active. This will not be necessary when the HashSet become a per-web page 
        HashSet.
        (WebCore::FrameView::setAnimatorsAreActive):
        * page/FrameView.h:
        
        ScrollAnimator no longer tracks the m_isActive bool. 
        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::ScrollAnimator):
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::setIsActive):
        
        setIsActive() now exclusively calls updateScrollStyle() if there is a pending 
        need to do so.
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::setIsActive):
        
        Return early if the ScrollableArea is in the page cache. 
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-06-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Have Document keep track of whether scroll listeners are registered
        https://bugs.webkit.org/show_bug.cgi?id=62757
        
        To avoid extra work dispatching scroll events when there are no listeners,
        have Document keep track of whether any scroll listeners are registered,
        just like it does for some other event types.

        * dom/Document.cpp:
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        * dom/EventQueue.cpp:
        (WebCore::EventQueue::enqueueOrDispatchScrollEvent):

2011-06-15  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        Clarify FileChooser creation code.
        https://bugs.webkit.org/show_bug.cgi?id=62756

        initialize() method is only used once and that is not obvious, so just fold it into the create method.

        Refactoring, no change in behavior.

        * platform/FileChooser.cpp:
        (WebCore::FileChooser::create): Folded initialize() code there.
        * platform/FileChooser.h: Removed decl.

2011-06-15  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Alexey Proskuryakov.

        MediaPlayerPrivate should not know about application cache
        https://bugs.webkit.org/show_bug.cgi?id=62648

        Test: http/tests/appcache/video.html

        * html/HTMLMediaElement.cpp:
        (WebCore::createFileURLForApplicationCacheResource): Create a url for a file
            in the application cache folder.
        (WebCore::HTMLMediaElement::loadResource): Change url to point to file in the application
            cache if necessary.
        (WebCore::HTMLMediaElement::mediaLoadingFailed): Split failure logic out of setNetworkState
            so it can be called when asked to load a file that is not in the application cache.
        (WebCore::HTMLMediaElement::setNetworkState): Move failure logic out to mediaLoadingFailed.
        * html/HTMLMediaElement.h:

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Remove app cache logic.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::loadInternal): Ditto.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Ditto.

2011-06-15  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: indexedDB.open() name argument is required
        https://bugs.webkit.org/show_bug.cgi?id=62398

        Test: storage/indexeddb/database-name-undefined.html

        * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments

2011-06-15  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        Rename RenderFlexibleBox to RenderDeprecatedFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=62670

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/shadow/MediaControlElements.cpp:
        (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
        (WebCore::RenderMediaControlTimeDisplay::layout):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::RenderSliderContainer::RenderSliderContainer):
        (WebCore::RenderSliderContainer::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createAnonymousBlock):
        * rendering/RenderBox.cpp:
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::RenderButton):
        (WebCore::RenderButton::addChild):
        (WebCore::RenderButton::removeChild):
        * rendering/RenderButton.h:
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::FlexBoxIterator):
        (WebCore::FlexBoxIterator::reset):
        (WebCore::FlexBoxIterator::first):
        (WebCore::FlexBoxIterator::next):
        (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
        (WebCore::RenderDeprecatedFlexibleBox::~RenderDeprecatedFlexibleBox):
        (WebCore::marginWidthForChild):
        (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
        (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
        (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        (WebCore::gatherFlexChildrenInfo):
        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
        (WebCore::RenderDeprecatedFlexibleBox::placeChild):
        (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
        (WebCore::RenderDeprecatedFlexibleBox::renderName):
        * rendering/RenderDeprecatedFlexibleBox.h:
        (WebCore::RenderDeprecatedFlexibleBox::avoidsFloats):
        (WebCore::RenderDeprecatedFlexibleBox::isFlexibleBox):
        (WebCore::RenderDeprecatedFlexibleBox::isFlexingChildren):
        (WebCore::RenderDeprecatedFlexibleBox::isStretchingChildren):
        (WebCore::RenderDeprecatedFlexibleBox::hasMultipleLines):
        (WebCore::RenderDeprecatedFlexibleBox::isVertical):
        (WebCore::RenderDeprecatedFlexibleBox::isHorizontal):
        * rendering/RenderDetails.h: Removed the header since it wasn't actually
              needed.  Looks like a copy/paste error from RenderButton.h.
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::RenderFullScreen):
        (RenderFullScreen::destroy):
        * rendering/RenderFullScreen.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList):
        (WebCore::RenderMenuList::createInnerBlock):
        (WebCore::RenderMenuList::removeChild):
        * rendering/RenderMenuList.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        * rendering/RenderingAllInOne.cpp:

2011-06-15  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Serious performance regression during continuous focused element style updates
        https://bugs.webkit.org/show_bug.cgi?id=61038

        Inline style invalidation events are coalesced in the backend and sent over the wire on timer.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::RevalidateStyleAttributeTask::onTimer):
        (WebCore::InspectorDOMAgent::getAttributes):
        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
        (WebCore::InspectorStyleSheetForInlineStyle::text):
        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
        (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
        * inspector/InspectorStyleSheet.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent):
        (WebInspector.DOMAgent.prototype._attributesUpdated):
        (WebInspector.DOMAgent.prototype._loadNodeAttributesSoon):
        (WebInspector.DOMAgent.prototype._loadNodeAttributes):
        (WebInspector.DOMDispatcher.prototype.attributesUpdated):
        (WebInspector.DOMDispatcher.prototype.inlineStyleInvalidated):

2011-06-15  Jer Noble  <jer.noble@apple.com>

        Reviewed by Timothy Hatcher.

        Full-screen live streams have status text in wrong location
        https://bugs.webkit.org/show_bug.cgi?id=62733

        Fix a misspelling in the user-agent stylesheet for full-screen mode.

        * css/fullscreenQuickTime.css:
        (video:-webkit-full-screen::-webkit-media-controls-status-display):

2011-06-14  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        (AVFoundation) Apple event video appears as live stream and is not seekable
        https://bugs.webkit.org/show_bug.cgi?id=62694

        No new tests; There are no media-player port specific tests yet.

        Work around a bug in apple.com live stream javascript controller library.  When an AVAsset returns an indefinite time
        for its duration, return 0 if the asset has no tracks, and infinity otherwise.  This keeps the apple.com controller 
        from identifying the stored stream as a live stream.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):

2011-06-15  Andrey Kosyakov  <caseq@chromium.org>

       Unreviewed, rolled out r88937 (broke build on mac)

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * fileapi/FileReaderLoader.cpp:
        (WebCore::FileReaderLoader::didReceiveResponse):
        * fileapi/FileReaderLoader.h:
        * inspector/Inspector.json:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        * inspector/NetworkResourcesData.cpp: Removed.
        * inspector/NetworkResourcesData.h: Removed.
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._appendResource):
        (WebInspector.NetworkPanel.prototype._frameNavigated):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::didReceiveResponse):
        (WebCore::DocumentThreadableLoader::receivedCancellation):
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoaderClientWrapper.h:
        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::workerContextDidReceiveResponse):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
        (WebCore::workerContextDidReceiveAuthenticationCancellation):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
        * loader/WorkerThreadableLoader.h:
        * notifications/Notification.cpp:
        (WebCore::Notification::didReceiveResponse):
        (WebCore::Notification::didReceiveAuthenticationCancellation):
        * notifications/Notification.h:
        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse):
        * page/EventSource.h:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
        * xml/XMLHttpRequest.h:

2011-06-15  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: introduce context menu on ImageView with Copy and Open in new tab actions.
        https://bugs.webkit.org/show_bug.cgi?id=62727

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype._base64ToSize):
        (WebInspector.ImageView.prototype._contextMenu):
        (WebInspector.ImageView.prototype._copyImageURL):
        (WebInspector.ImageView.prototype._openInNewTab):

2011-06-15  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: provide unique identifiers for frames
        https://bugs.webkit.org/show_bug.cgi?id=62721

        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::frameDestroyedImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::frameDestroyed):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::frameForId):
        (WebCore::InspectorPageAgent::frameId):
        (WebCore::InspectorPageAgent::frameDestroyed):
        * inspector/InspectorPageAgent.h:
        * page/Frame.cpp:
        (WebCore::Frame::~Frame):

2011-06-15  Andrey Kosyakov  <caseq@chromium.org>

        Unreviewed build fix: comment unused parameter names.

        * loader/ThreadableLoaderClient.h:
        (WebCore::ThreadableLoaderClient::didReceiveResponse):
        (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):

2011-06-15  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: script select can be too wide.
        https://bugs.webkit.org/show_bug.cgi?id=62701

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        (WebInspector.SourceFrameDelegateForScriptsPanel):
        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
        * inspector/front-end/SourceFile.js:

2011-06-15  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Eric Seidel.

        Draw CSS outline style for render widgets: iframe, embed, object, applet.
        https://bugs.webkit.org/show_bug.cgi?id=57439

        Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can
        be focused (via clicks or tabIndex) but should not have a visible focus ring by default.

        Tests: fast/replaced/no-focus-ring-embed.html
               fast/replaced/no-focus-ring-iframe.html
               fast/replaced/no-focus-ring-object.html
               fast/replaced/outline-replaced-elements.html

        * css/html.css:
        (applet:focus, embed:focus, iframe:focus, object:focus): Default to no focus ring.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint): Paint the render widget CSS outline style.

2011-06-15  Steve Block  <steveblock@google.com>

        Reviewed by Tony Gentilcore.

        V8PerformanceCustom.cpp lacks WEB_TIMING guards
        https://bugs.webkit.org/show_bug.cgi?id=62689

        No new tests, build fix only.

        * bindings/v8/custom/V8PerformanceCustom.cpp:

2011-06-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88916.
        http://trac.webkit.org/changeset/88916
        https://bugs.webkit.org/show_bug.cgi?id=62728

        Broke a bunch of layout tests on chromium (Requested by
        podivilov on #webkit).

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        (WebInspector.SourceFrameDelegateForScriptsPanel):
        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
        * inspector/front-end/SourceFile.js:
        (WebInspector.SourceFile.prototype.get displayName):

2011-06-15  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: script links are displayed with original line number in pretty-print mode.
        https://bugs.webkit.org/show_bug.cgi?id=62282

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype.registerAnchor):
        (WebInspector.DebuggerPresentationModel.prototype._updateAnchor.didGetUILocation):
        (WebInspector.DebuggerPresentationModel.prototype._updateAnchor):
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.showAnchorLocation):
        (WebInspector.NetworkPanel.prototype._showResource):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.createAnchor):
        (WebInspector.Panel.prototype.formatAnchorText):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.createAnchor.):
        (WebInspector.ScriptsPanel.prototype.createAnchor):
        (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
        * inspector/front-end/inspector.js:
        (WebInspector._showAnchorLocation):
        (WebInspector.linkifyResourceAsNode):

2011-06-14  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Gentilcore.

        IndexedDB: Use fileExists() first when checking if SQLite db exists
        https://bugs.webkit.org/show_bug.cgi?id=62638

        In IDBSQLiteBackingStore::backingStoreExists(), which is used to check
        if a SQLite database exists and should be considered for migration,
        check if the file exists first.

        Trying to open a SQLite database for a non-existing file prints a
        noisy error message in debug builds.

        No new functionality, no new tests.

        * storage/IDBSQLiteBackingStore.cpp:
        (WebCore::IDBSQLiteBackingStore::backingStoreExists):

2011-06-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: "data" URLs not detected in CSS url(...) values properly
        https://bugs.webkit.org/show_bug.cgi?id=62643

        * inspector/front-end/inspector.js:
        (WebInspector.completeURL):

2011-06-15  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] errors in watches and in console are not rendered in red.
        https://bugs.webkit.org/show_bug.cgi?id=62708

        Test: inspector/debugger/error-in-watch-expressions.html

        * inspector/front-end/RemoteObject.js:
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
        (WebInspector.WatchExpressionsSection.prototype.update):
        (WebInspector.WatchExpressionTreeElement.prototype.update):
        * inspector/front-end/inspector.css:
        (.console-error-level .console-message-text, .console-error-level .section .header .title):
        (.console-formatted-object, .console-formatted-node):

2011-06-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Remove unneeded constructor declaration added by mistake in r88800.

        * platform/gtk/GtkAuthenticationDialog.h:

2011-06-15  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: script select can be too wide.
        https://bugs.webkit.org/show_bug.cgi?id=62701

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._displayNameForScriptURL):
        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
        (WebInspector.SourceFrameDelegateForScriptsPanel):
        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
        * inspector/front-end/SourceFile.js:

2011-06-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by David Hyatt.

        CSS 2.1: Support replaced elements with relative intrinsic sizes
        https://bugs.webkit.org/show_bug.cgi?id=15849

        CSS 2.1 failure: html4/replaced-intrinsic-ratio-001
        https://bugs.webkit.org/show_bug.cgi?id=53099

        Generalize the recently added SVG specific host <-> embedded document size-negotiation used
        to support embedding SVGs with intrinsic ratio/size via <iframe>/<object>/<embed> from 
        RenderPart right into RenderReplaced. It will be used to share the size-negotiation logic
        with RenderImage, which still has its own way to negotiate with the embedded SVG to figure
        out its size (and it's broken in several ways).

        This fully implements intrinsic size/ratio support for replaced elements, as specified in:
        http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width
        http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height

        RenderImage has not yet been converted to use the new size negotiation logic, this is just
        the ground work. As soon as this is done all ways of embedding SVG is unified in a single
        way: the same size negotiation logic used for object/embed/iframe/img for SVG documents.

        To use it for non-SVG target documents, it's just a matter of implementing
        "RenderBox* embeddedContentBox()" which needs to return the root renderer of the embedded document.
        For SVG it's the embedded document RenderSVGRoot renderer, associated with the outermost <svg> element.
        It's easy to implement this for embedded MathML documents or PDF documents now, if needed.

        Imported all CSS 2.1 tests named *replaced* and *intrinsic* tests, except the still failing background-intrinsic-*
        which embed SVGs through background-image or <img>, which still use the old size-negotiation logic.

        Tests: css2.1/20110323/* (203 tests + support files)
               svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm (same as replaced-intrinsic-ratio-001.htm, but zooms in a few times, to see whether all boxes react properly)
               http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm (same as replaced-intrinsic-ratio-001.htm, but with delayed loading of the SVG to test late-size-negotiation)

        This fixes:
        css2.1/20110323/replaced-intrinsic-ratio-001.htm
        css2.1/20110323/replaced-intrinsic-003.htm
        css2.1/20110323/block-replaced-height-007.htm
        css2.1/20110323/float-replaced-height-007.htm
        css2.1/20110323/inline-block-replaced-height-007.htm
        css2.1/20110323/inline-replaced-height-007.htm

        We're now the first to properly handle replaced-intrinsic-ratio-001.htm out of Opera/FF/IE9 :-)
        This is an important piece of embedding SVGs though, so glad that we finally have it.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren): Use new helper needsPreferredWidthsRecalculation() to figure out whether pref widths need to be calculated.
        (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::needsPreferredWidthsRecalculation): Refactored and extended from RenderBlock*. We have to recalculate pref widths upon layout
                                                                 if we embed a document with an intrinsic ratio/size, extensively covered by
                                                                 svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm
        * rendering/RenderBox.h:
        (WebCore::RenderBox::computeIntrinsicRatioInformation): New virtual function, only implemented in RenderPart so far. This generalizes the existing method from RenderPart.
        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::needsPreferredWidthsRecalculation): Always recompute pref widths of we have an embeddedContentBox() - it may depend on our size.
        (WebCore::RenderPart::embeddedContentBox): Return the RenderSVGRoot box of the embedded SVG document, if we're embedded through object/embed/iframe (soon img as well).
        * rendering/RenderPart.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): New helper function, that either returns a fixed intrinsic size (set by a class inheriting from us) or the embedded target document size.
        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Full implementation of: 10.3.2 Inline, replaced elements: http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width.
        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Full implementation of: 10.6.2 Inline, replaced elements: http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height
        * rendering/RenderReplaced.h:
        (WebCore::RenderReplaced::embeddedContentBox):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix problem when zooming replaced-intrinsic-ratio-001.htm: if ownerWidth is auto, don't apply style()->effectiveZoom() twice.
        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto for ownerHeight auto.
        * rendering/svg/RenderSVGRoot.h: Mark 'computeIntrinsicRatioInformation' virtual.
        
2011-06-09  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        ShadowContentElement should detach its inclusions before attaching them.
        https://bugs.webkit.org/show_bug.cgi?id=62428

        - On ShadowContentElement::attach(), changed inclusion attach scheme
          from per-node reattach() to detach()-all-and-attach()-them.  This
          eliminates attach() order problems which ShadowContentElement
          possibly has.
        - Changed ShadowContentElement to have m_inclusions as a member variable,
          which will be used by upcoming changes.
        - Moved attach() code from ShadowContentSelector to ShadowContentElement
          because the element now owns the inclusion list.
        
        No new tests. No visible behavioral change yet.

        * dom/ShadowContentElement.cpp:
        (WebCore::ShadowContentElement::attach):
        (WebCore::ShadowContentElement::detach): Added.
        * dom/ShadowContentElement.h:
        (WebCore::ShadowContentElement::inclusionAt): Added.
        (WebCore::ShadowContentElement::inclusionCount): Added.
        (WebCore::toShadowContentElement):
        * dom/ShadowContentSelector.cpp: Removed attachChildrenFor()
        (WebCore::ShadowContentSelector::selectInclusion): Extracted from attachChildrenFor()
        (WebCore::ShadowContentSelector::willAttachContentFor): Extracted from attachChildrenFor()
        (WebCore::ShadowContentSelector::didAttachContent): Extracted from attachChildrenFor()
        (WebCore::ShadowContentSelector::activeElement):
        * dom/ShadowContentSelector.h:

2011-06-14  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/62677> Part 2/2: Remove duplicate header entries in WebCore project file

        Reviewed by Darin Adler.

        Most of the DOMSVG*.h headers were added in late 2006, and then
        duplicated by late 2007.  They've been in the tree a long time.

        * WebCore.xcodeproj/project.pbxproj: Let Xcode 4 remove
        duplicate header entries.

2011-06-14  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/62677> Part 1/2: Remove duplicate header entries in WebCore project file

        Reviewed by Darin Adler.

        These headers were added as duplicates in r83256:

            DefaultAudioDestinationNode.h
            JSOfflineAudioCompletionEvent.h
            OfflineAudioCompletionEvent.h
            OfflineAudioDestinationNode.h

        The following duplicates were introduced in r84053 (after having
        been originally added in r83729):

            StorageInfo.h
            StorageInfoErrorCallback.h
            StorageInfoQuotaCallback.h
            StorageInfoUsageCallback.h

        * WebCore.xcodeproj/project.pbxproj: Remove duplicates using
        'uniq' since sort-Xcode-project-file did most of the work.

2011-06-14  Kent Tamura  <tkent@chromium.org>

        Reviewed by Hajime Morita.

        REGRESSION(r88757): [Chromium] Vertical position of media slider thumb is wrong.
        https://bugs.webkit.org/show_bug.cgi?id=62685

        No new tests. Covered by existing tests.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout): Center the thumb position.
        * rendering/RenderSlider.h:

2011-06-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kent Tamura.

        [EFL] Change color initialization with clear color constant
        https://bugs.webkit.org/show_bug.cgi?id=62691

        Some color values are initialized by rbg value. Color constant value is more clear than
        rgb value.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::RenderThemeEfl):

2011-06-14  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by James Robinson.

        Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-in.html
        https://bugs.webkit.org/show_bug.cgi?id=48293

        And

        Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.html
        https://bugs.webkit.org/show_bug.cgi?id=48303

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationIn
        as this is the only one that needs a specific treatment.

2011-06-14  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Kent Tamura.

        [Chromium] Forward modifiers + up/down key events to text field when autofill popup window is shown.
        https://bugs.webkit.org/show_bug.cgi?id=62350
        http://code.google.com/p/chromium/issues/detail?id=61349

        Manual test: autofill-popup-shiftupdown.html

        * manual-tests/chromium/autofill-popup-shiftupdown.hml: Added to check modifier + up/down key is working correctly for text area in autofill popup is shown.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::handleKeyEvent): Check modifier key and menu style to decide if the event should be forwarded or not.

2011-06-14  Annie Sullivan  <sullivan@chromium.org>
        
        Reviewed by Ryosuke Niwa.

        Span ID duplicated when pressing enter at beginning of span
        https://bugs.webkit.org/show_bug.cgi?id=62621

        Strip id from cloned span, so that it is not duplicated.
        
        Test: editing/inserting/return-key-span-start.html
        
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):

2011-06-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by David Hyatt.

        Trailing tabs in a textarea become unselectable under certain conditions
        https://bugs.webkit.org/show_bug.cgi?id=54598

        The bug was caused by WebKit's erroneously collapsing leading whitespace when white-space is
        set to pre-wrap. Per CSS 2.1 spec section 16.1.1, leading whitespace should not be removed
        in this case.

        See also: http://www.w3.org/TR/CSS2/text.html#white-space-model

        Fixed the bug by adding an extra argument to shouldCollapseWhiteSpace, indicating whether
        whitespace is leading or trailing. It defaults to leading because 16.1.1 does not allow allow
        collapsing of whitespace anywhere but at the end of each line.

        Test: fast/text/pre-wrap-trailing-tab.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::shouldCollapseWhiteSpace): Added WhitespacePosition as an argument. Returns false
        when whitespacePosition is not TrailingWhitespace even if white-space is pre-wrap.
        (WebCore::requiresLineBox): Takes WhitespacePosition as an argument and passes it to
        shouldCollapseWhiteSpace.
        (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Calls requiresLineBox.
        (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace): Ditto.
        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): Ditto.

2011-06-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=62678
        When the window is small enough, the scrollbars are misplaced with painting 
        artifacts, after changing the scrollbar appearance
        -and corresponding-
        <rdar://problem/9414015>

        Get rid of the FrameView implementation of scrollbarStyleChanged(). Its approach 
        is just not good.
        * page/FrameView.cpp:
        * page/FrameView.h:

        Implement scrollbarStyleChanged() on ScrollView instead. And just call 
        updatedScrollbars().
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollbarStyleChanged):
        * platform/ScrollView.h:

        Invalidate the old scrollbar before changing it to the new scrollbar. This way 
        when the scrollbar gets smaller, the older, larger pieces still repaint properly.
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-06-14  Michael Saboff  <msaboff@apple.com>

        Reviewed by Joseph Pecoraro.

        Incorrect #if[n]def for building without DISPATCH_VM_PRESSURE
        https://bugs.webkit.org/show_bug.cgi?id=62649

        Take 2.
        The #ifdef DISPATCH_VM_PRESSURE doesn't work.  Combined the code
        inside this #ifdef with the prior #ifndef DISPATCH_SOURCE_TYPE_VM.

        No functional changes, fixing build issue therefore no tests.

        * platform/mac/MemoryPressureHandlerMac.mm:

2011-06-14  Jeffrey Pfau  <jpfau@apple.com>

        Reviewed by David Hyatt.

        Null dereference in WebCore::RenderBlock::splitFlow regarding use of multicol, inline-block, and spanning elements
        https://bugs.webkit.org/show_bug.cgi?id=60028

        Ensure that the parent block of a spanning element, if it is not itself
        a multicol element, is not inline.

        Test: fast/multicol/span/span-as-nested-inline-block-child.html

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

2011-06-14  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        REGRESSION: Drawing video into canvas gets about one frame every 5 seconds (AVFoundation)
        https://bugs.webkit.org/show_bug.cgi?id=62655

        No new tests; we don't have any media-engine specific tests.

        AVAssetImageGenerator will, by default, return the nearest keyframe.  To get the generator to return
        the image from the current time instead of the nearest keyframe, set the requested time tolerance to 
        zero (which defaults to infinity).

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):

2011-06-14  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Darin Fisher.

        Clean up filesystem base path code.
        https://bugs.webkit.org/show_bug.cgi?id=60218

        Change a bunch of url-held-in-a-string parameters into real KURLS and
        WebURLs.

        No new tests--no change in functionality.

        * fileapi/DOMFileSystem.cpp:
        (WebCore::DOMFileSystem::createWriter):
        (WebCore::DOMFileSystem::createFile):
        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::getMetadata):
        (WebCore::DOMFileSystemBase::move):
        (WebCore::DOMFileSystemBase::copy):
        (WebCore::DOMFileSystemBase::remove):
        (WebCore::DOMFileSystemBase::removeRecursively):
        (WebCore::DOMFileSystemBase::getParent):
        (WebCore::DOMFileSystemBase::getFile):
        (WebCore::DOMFileSystemBase::getDirectory):
        (WebCore::DOMFileSystemBase::readDirectory):
        * fileapi/DOMFileSystemSync.cpp:
        (WebCore::DOMFileSystemSync::createFile):
        (WebCore::DOMFileSystemSync::createWriter):
        * platform/AsyncFileSystem.cpp:
        (WebCore::AsyncFileSystem::openFileSystem):
        * platform/AsyncFileSystem.h:
        (WebCore::AsyncFileSystem::AsyncFileSystem):

2011-06-14  James Robinson  <jamesr@chromium.org>

        Reviewed by Stephen White.

        [chromium] Compositor shader initialization is inefficient
        https://bugs.webkit.org/show_bug.cgi?id=62618

        This fixes several issues causing slowdowns in compositor shader initialization, mostly due to lack of
        parallelism:

        - Avoid initializing all programs eagerly. We only use two programs on every page, the other programs depend on
        content and are constructed on demand.

        - Defer querying uniform locations until draw time.  For the eagerly constructed programs (render surface +
        tiler) this means that the GPU process has a chance to compile the shader while the renderer is busy
        painting+uploading instead of blocking on shader compilation in order to get uniform locations.

        - Calls to query COMPILE_STATUS/LINK_STATUS moved behind #ifndef NDEBUG guards since these should never fail in
        release builds and force synchronous compilation/linking.

        This also adds a number of TRACE_EVENT()s to make analysing the performance of this bit of code easier.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayers):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::borderProgram):
        (WebCore::LayerRendererChromium::headsUpDisplayProgram):
        (WebCore::LayerRendererChromium::renderSurfaceProgram):
        (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
        (WebCore::LayerRendererChromium::tilerProgram):
        (WebCore::LayerRendererChromium::canvasLayerProgram):
        (WebCore::LayerRendererChromium::pluginLayerProgram):
        (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
        (WebCore::LayerRendererChromium::videoLayerYUVProgram):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTextureSubImage.cpp:
        (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
        (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
        * platform/graphics/chromium/ProgramBinding.cpp:
        (WebCore::ProgramBindingBase::init):
        (WebCore::ProgramBindingBase::loadShader):
        (WebCore::ProgramBindingBase::createShaderProgram):
        * platform/graphics/chromium/ProgramBinding.h:
        (WebCore::ProgramBinding::ProgramBinding):
        (WebCore::ProgramBinding::initialize):
        * platform/graphics/chromium/ShaderChromium.cpp:
        (WebCore::VertexShaderPosTex::init):
        (WebCore::VertexShaderPosTexYUVStretch::init):
        (WebCore::VertexShaderPos::init):
        (WebCore::VertexShaderPosTexTransform::init):
        (WebCore::FragmentTexAlphaBinding::init):
        (WebCore::FragmentShaderRGBATexAlphaMask::init):
        (WebCore::FragmentShaderYUVVideo::init):
        (WebCore::FragmentShaderColor::init):
        * platform/graphics/chromium/ShaderChromium.h:

2011-06-14  Stephanie Lewis  <slewis@apple.com>

        Rubber stamped by Oliver Hunt.

        <rdar://problem/9511169>
        Update order files.

        Build system change, no change in functionality so no new tests.

        * WebCore.order:

2011-06-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        VoiceOver cannot navigate the iTunes album view table
        https://bugs.webkit.org/show_bug.cgi?id=62335

        This is a regression from https://bugs.webkit.org/show_bug.cgi?id=57463.
        Part of that patch made a change so that an ARIA table will only look at it's children and grandchildren
        for possible rows. That however, doesn't allow arbitrary hierarchies to work with ARIA, like in iTunes album view.

        Test: platform/mac/accessibility/aria-grid-with-strange-hierarchy.html

        * accessibility/AccessibilityARIAGrid.cpp:
        (WebCore::AccessibilityARIAGrid::addChild):
        (WebCore::AccessibilityARIAGrid::addChildren):
        * accessibility/AccessibilityARIAGrid.h:

2011-06-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88823.
        http://trac.webkit.org/changeset/88823
        https://bugs.webkit.org/show_bug.cgi?id=62652

        Broke the Lion build (Requested by estes on #webkit).

        * platform/mac/MemoryPressureHandlerMac.mm:

2011-06-14  Michael Saboff  <msaboff@apple.com>

        Reviewed by Joseph Pecoraro.

        Incorrect #if[n]def for building without DISPATCH_VM_PRESSURE
        https://bugs.webkit.org/show_bug.cgi?id=62649

        The #ifdef DISPATCH_VM_PRESSURE actually needs to be #ifndef
        to handle when DISPATCH_VM_PRESSURE is NOT defined in the
        system header files.

        No functional changes, fixing build issue therefore no tests.

        * platform/mac/MemoryPressureHandlerMac.mm:

2011-06-13  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Disable drawing for huge mask layers
        https://bugs.webkit.org/show_bug.cgi?id=62607

        Because masks have a different layer size than the layer they are
        masking, they are untiled.  If they are too large to be contained
        within a single texture, then they should just be disabled.

        Test: platform/chromium/compositing/huge-mask-layer.html

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::drawsContent):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::getSingleTexture):
        (WebCore::LayerTilerChromium::numTiles):

2011-06-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] [Symbian] GraphicsLayer: support plugins on symbian
        https://bugs.webkit.org/show_bug.cgi?id=57418

        Implement graphics layer for plugins on Symbian.

        * plugins/PluginView.h:
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::shouldUseAcceleratedCompositing):
        (WebCore::PluginView::platformStart):
        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt):
        (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt):
        (WebCore::PluginGraphicsLayerQt::paint):
        (WebCore::PluginView::shouldUseAcceleratedCompositing):
        (WebCore::PluginView::paint):
        (WebCore::PluginView::invalidateRect):
        (WebCore::PluginView::platformStart):
        (WebCore::PluginView::platformLayer):

2011-06-14  Sreeram Ramachandran  <sreeram@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Allow the console to persist on page refresh or navigation
        https://bugs.webkit.org/show_bug.cgi?id=53359

        Adds a context menu checkbox to preserve the console log across
        navigations. However, the underlying messages and objects are actually
        deleted from the backend, so they are not expandable; their continued
        display in the console frontend is merely cosmetic.

        Test: inspector/console/console-preserve-log.html

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
        (WebInspector.ConsoleView.prototype.requestClearMessages):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.preserveLogItemAction):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:
        (WebInspector.reset):

2011-06-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: add tooltip to file select options in scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=62537

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.compare):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):

2011-06-14  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Implement CSS border radius properies in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=62265

        No new tests / refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        Implement new class to culculate border radius, initialize for appropriate properties.
        (WebCore::ApplyPropertyBorderRadius::ApplyPropertyBorderRadius):
        (WebCore::ApplyPropertyBorderRadius::applyValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        * css/CSSStyleSelector.cpp:
        Remove old implementations.
        (WebCore::CSSStyleSelector::applyProperty):
        * page/animation/AnimationBase.cpp:
        Pass LengthSize by value.
        (WebCore::AnimationBase::ensurePropertyMap):
        * rendering/style/RenderStyle.h:
        Pass LengthSize by value consistently.

2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
        https://bugs.webkit.org/show_bug.cgi?id=62626

        The method actually converts coordinates, the rectangle size is
        not affected, so it can be modified to return a point
        instead. Fix also a bug in the implementation, it was translating
        the coordinates twice returning the wrong position when the given
        rectangle was not at 0,0.

        * platform/gtk/GtkUtilities.cpp:
        (WebCore::convertWidgetPointToScreenPoint):
        * platform/gtk/GtkUtilities.h:
        * platform/gtk/PopupMenuGtk.cpp:
        (WebCore::PopupMenuGtk::show): Use
        convertWidgetPointToScreenPoint().

2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Support authentication dialogs in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=62366

        Add a new class to show an authentication dialog that is used by
        both WebKit1 and WebKit2.

        * GNUmakefile.list.am: Add new files to compilation.
        * platform/gtk/GtkAuthenticationDialog.cpp: Added.
        (WebCore::addEntryToTable):
        (WebCore::sessionCanSavePasswords):
        (WebCore::GtkAuthenticationDialog::~GtkAuthenticationDialog):
        (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog):
        (WebCore::getSavedLogin):
        (WebCore::GtkAuthenticationDialog::show):
        (WebCore::GtkAuthenticationDialog::destroy):
        (WebCore::GtkAuthenticationDialog::savePasswordCallback):
        (WebCore::GtkAuthenticationDialog::savePassword):
        (WebCore::GtkAuthenticationDialog::authenticate):
        (WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback):
        * platform/gtk/GtkAuthenticationDialog.h: Added.

2011-06-14  Tommy Widenflycht  <tommyw@google.com>

        Reviewed by Tony Gentilcore.

        Media Stream PeerConnection API: adding the StreamList and supporting classes.
        https://bugs.webkit.org/show_bug.cgi?id=61539

        * dom/StreamContainer.h: Added.
        (WebCore::StreamContainer::create):
        (WebCore::StreamContainer::~StreamContainer):
        (WebCore::StreamContainer::length):
        (WebCore::StreamContainer::item):
        (WebCore::StreamContainer::add):
        (WebCore::StreamContainer::remove):
        (WebCore::StreamContainer::contains):
        (WebCore::StreamContainer::get):
        (WebCore::StreamContainer::StreamContainer):
        * dom/StreamList.cpp: Added.
        (WebCore::StreamList::create):
        (WebCore::StreamList::StreamList):
        (WebCore::StreamList::~StreamList):
        (WebCore::StreamList::length):
        (WebCore::StreamList::item):
        * dom/StreamList.h: Added.
        * dom/StreamList.idl: Added.

2011-06-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] tst_QWebFrame::overloadedSlots() fails
        https://bugs.webkit.org/show_bug.cgi?id=37319

        Increase the likeness that JSElements are converted to QWebElements. When hinted
        with QWebElement metatype, we qualify the conversion from JSElement as a "perfect
        match".

        The test was failing because the wrong slot was called, since the QWebElement
        match was taken as equal to the others and not chosen when the metacall happened.

        We also remove the implicit conversion between JSDocument (which is not an
        element) to QWebElement. The conversion only worked for calling slots, while
        without hint it returned a QVariantMap (as can be seen in domCycles test). It was
        added for supporting DRT, but since this change we can use it as QVariantMap and
        get the value for "documentElement".

        This patch is based on Noam Rosenthal original patch in the same bug.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::hintForRealType):
        Extracted function to choose the metatype hint based on the JSValue type.  Add
        QWebElement metatype as a hint for JSElement objects, this way if no hint is
        provided, JSElement objects will always be converted to QWebElements.

        (JSC::Bindings::convertValueToQVariant):
        Use previous function. Identify the conversion between JSElement to QWebElement
        as a "perfect match" (dist = 0). And remove the implicit conversion when the hint
        is QWebElement metatype and we have a JSDocument.  Changed from JSHTMLElement to
        JSElement to cover the 'documentElement'.

2011-06-14  Andreas Kling  <kling@webkit.org>

        Reviewed by Benjamin Poulain.

        Remove some unnecessary includes.

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:

2011-06-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kent Tamura.

        <progress> should support :indeterminate pseudo-class
        https://bugs.webkit.org/show_bug.cgi?id=62430

        Add support for :indeterminate pseudo class for progress element.

        Tests: fast/dom/HTMLProgressElement/indeterminate-progress-001.html
               fast/dom/HTMLProgressElement/indeterminate-progress-002.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithControl):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::isDeterminate):
        (WebCore::HTMLProgressElement::didElementStateChange):
        * html/HTMLProgressElement.h:

2011-06-14  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: use ew-resize instead of col-resize for non-columns.
        https://bugs.webkit.org/show_bug.cgi?id=62640

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragStart):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype._startSidebarDragging):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._startSidebarResizeDrag):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
        (WebInspector.TimelineOverviewPane.prototype._dragWindow):
        * inspector/front-end/inspector.css:
        (body.attached #toolbar):
        (body.drawer-visible #main-status-bar):
        (#scripts-sidebar-resizer-widget):
        (.sidebar-resizer-vertical):
        (.timeline-window-resizer):

2011-06-14  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: reload from within inspector window does not work while debugger is paused.
        https://bugs.webkit.org/show_bug.cgi?id=62631

        Test: inspector/debugger/debugger-reload-on-pause.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

2011-06-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kent Tamura.

        [EFL] Support for painting thumb of media slider
        https://bugs.webkit.org/show_bug.cgi?id=62174

        Replace RenderObject parameter with RenderStyle's in adjustSliderThumbSize.
        Because, parameter of the function was changed. And, add constant variable to
        paintMediaSliderThumb().

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::RenderThemeEfl):
        (WebCore::RenderThemeEfl::adjustSliderThumbSize):
        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
        * platform/efl/RenderThemeEfl.h:

2011-06-14  Kent Tamura  <tkent@chromium.org>

        [Qt] Attempt to fix a build break by r88757.
        https://bugs.webkit.org/show_bug.cgi?id=52920

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintSliderTrack):

2011-06-13  Kent Tamura  <tkent@chromium.org>

        [EFL] The second try to fix a build break.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintThemePart):

2011-06-13  Kent Tamura  <tkent@chromium.org>

        [EFL] Fix a typo.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintThemePart):

2011-06-13  Kent Tamura  <tkent@chromium.org>

        [EFL] Try to fix a build break by r88757.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::paintThemePart):

2011-06-10  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Use CSS machinery to position slider thumb.
        https://bugs.webkit.org/show_bug.cgi?id=52920

        Remove RenderSlider::layout().
        In order to remove it, we introduce new three shadow nodes:
         - A flex box container occupying the whole box
         - A flex box item representing a movable area of the thumb
         - A flex box item limiting the movable area of the thumb
        The thumb position is specified by percentage position in the second element.

        This change also fixes Bug 60353.

        Tests: fast/forms/input-appearance-range.html
               fast/forms/validation-message-on-range.html

        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySliderThumb::elementRect):
          Use Node::getRect() for the thumb element.
        * css/html.css: Add new style definitions for the new node layout.
        (input[type="range"]::-webkit-slider-container):
        (input[type="range"]::-webkit-slider-runnable-track):
        (input[type="range"]::-webkit-slider-thumb):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent):
          Accepts events on shadow nodes, use sliderThumbElementOf().
        (WebCore::RangeInputType::createShadowSubtree):
          Creates new nodes layout.
        (WebCore::RangeInputType::valueChanged): Use sliderThumbElementOf().
        * html/RangeInputType.h: Remove shadowSliderThumb().
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::sliderPosition): Moved from RenderSlider.cpp.
        (WebCore::hasVerticalAppearance): New utility function.
        (WebCore::sliderThumbElementOf): New utility function.
        (WebCore::RenderSliderThumb::layout):
          Sets CSS top/left values.
        (WebCore::RenderSliderContainer::RenderSliderContainer):
        (WebCore::RenderSliderContainer::layout):
          Add some adjustment code.
          - Setting box-orient
          - Adjust heights of some nodes. It is required to pass existing tests.
        (WebCore::SliderThumbElement::setPositionFromValue):
          Update comments.
        (WebCore::SliderThumbElement::setPositionFromPoint):
          Calculate the current position from absolute positions.
        (WebCore::SliderThumbElement::hostInput):
          Removed unnecessary variable.
        (WebCore::TrackLimiterElement::TrackLimiterElement):
        (WebCore::TrackLimiterElement::create): Adjust style.
        (WebCore::TrackLimiterElement::createRenderer):
          This node uses RenderSliderThumb.
        (WebCore::TrackLimiterElement::shadowPseudoId):
          This node also uses -webkit-slider-thumb.
        (WebCore::SliderContainerElement::SliderContainerElement):
        (WebCore::SliderContainerElement::create):
        (WebCore::SliderContainerElement::createRenderer):
          Uses RenderSliderContainer.
        (WebCore::SliderContainerElement::shadowPseudoId):
        * html/shadow/SliderThumbElement.h:
          Make hostInput() public, add declarations of TrackLimiterElement
          and SliderContainerElement.
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::RenderSlider): Added an assertion.
        (WebCore::RenderSlider::inDragMode): Uses sliderThumbElementOf().
        * rendering/RenderSlider.h: Remove declarations of removed functions.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustSliderThumbStyle):
          Calls adjustSliderThumbSize().

2011-06-13  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Add configure option to enable/disable register protocol handler
        https://bugs.webkit.org/show_bug.cgi?id=62534

        * GNUmakefile.am: Add ENABLE_REGISTER_PROTOCOL_HANDLER.

2011-06-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kent Tamura.

        [EFL] Support for painting thumb of media slider
        https://bugs.webkit.org/show_bug.cgi?id=62174

        Implement paintMediaSliderThumb() function to show thumb of media slider.
        adjustSliderThumbSize() should be implemented in order to call paintMediaSliderThumb().

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::RenderThemeEfl):
        (WebCore::RenderThemeEfl::adjustSliderThumbSize):
        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
        * platform/efl/RenderThemeEfl.h:

2011-06-13  Keishi Hattori  <keishi@webkit.org>

        Sort WebCore.xcodeproj
        Accomplished using sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2011-06-13  James Simonsen  <simonjam@chromium.org>

        Reviewed by James Robinson.

        [Chromium] Implement monotonicallyIncreasingClock()
        https://bugs.webkit.org/show_bug.cgi?id=62162

        * platform/chromium/PlatformBridge.h:
        * platform/chromium/SystemTimeChromium.cpp:
        (WebCore::monotonicallyIncreasingTime): Use Chrome's implementation.

2011-06-13  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Remove Android defines from WebCore/config.h
        https://bugs.webkit.org/show_bug.cgi?id=62602

        No new tests, build cleanup only.

        * config.h:

2011-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Remove redundant "true" parameter to scheduleLocationChange
        https://bugs.webkit.org/show_bug.cgi?id=62612

        This parameter defaults to true anyway.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):

2011-06-13  Kentaro Hara  <haraken@google.com>

        Reviewed by Alexey Proskuryakov.

        Add resizePageRectsKeepingRatio(), which expands/shrinks a page, keeping the ratio of the original page
        https://bugs.webkit.org/show_bug.cgi?id=61256

        In order to prevent rounding error caused by expanding/shrinking a page
        using different calculation here and there, I added a common calculation
        method, resizePageRectsKeepingRatio(), which expands/shrinks a page,
        keeping the ratio of width and height of the original page.
        PrintContext::computePageRects() and PrintContext::begin()
        use resizePageRectsKeepingRatio() to expand/shrink a page.

        Test: printing/page-count-with-one-word.html

        * WebCore.exp.in:
        * page/Frame.cpp:
        (WebCore::Frame::resizePageRectsKeepingRatio):
        * page/Frame.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRects):
        (WebCore::PrintContext::begin):

2011-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        anyPageIsProcessingUserGesture is not longer needed because user gesture state is static
        https://bugs.webkit.org/show_bug.cgi?id=62601

        Previously, our user-gesture state was per-frame.  Code needed to check
        the "global" user gesture state called anyPageIsProcessingUserGesture()
        to iterate through all the frames and look for one that was processing
        a user gesture.  Since we changed the user gesture state to be static,
        iterating over every frame in existence isn't needed.

        This patch also cleans up a couple other user-gesture callsites I saw
        while I was in this code.  Code should just call
        ScriptController::processingUserGesture directly instead of
        trampolining through other functions.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeScript):
        * bindings/generic/BindingSecurity.h:
        (WebCore::::allowPopUp):
        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation):
        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::setProcessingTimerCallback):
        * bindings/v8/V8Utilities.cpp:
        * bindings/v8/V8Utilities.h:
        * bindings/v8/specialization/V8BindingState.cpp:
        * bindings/v8/specialization/V8BindingState.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submitFromJavaScript):
        (WebCore::HTMLFormElement::submit):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setLocation):
        (WebCore::DOMWindow::createWindow):
        (WebCore::DOMWindow::open):

2011-06-13  Jeffrey Pfau  <jpfau@apple.com>

        Reviewed by Darin Adler.

        Crash in WebCore::RenderMathMLUnderOver::layout()
        https://bugs.webkit.org/show_bug.cgi?id=57900

        Add more null checks so that removing children in MathML elements does not cause crashes.
        Note that this only half fixes the third repro in the Bugzilla bug, as another bug will
        still crash that repro.

        Test: mathml/munderover-remove-children.html

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::stretchToHeight):
        * rendering/mathml/RenderMathMLUnderOver.cpp:
        (WebCore::RenderMathMLUnderOver::layout):
        (WebCore::RenderMathMLUnderOver::nonOperatorHeight):

2011-06-13  Dmitry Lomov  <dslomov@google.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=62345
        Use per-isolate embedder data instead of statics for caches in bindings.
        This is a prerequisite for more than one v8 isolate per process.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
        (WebCore::injectIDBKeyIntoSerializedValue):
        * bindings/v8/V8Binding.cpp:
        (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
        (WebCore::V8BindingPerIsolateData::~V8BindingPerIsolateData):
        (WebCore::V8BindingPerIsolateData::create):
        (WebCore::V8BindingPerIsolateData::ensureInitialized):
        (WebCore::V8BindingPerIsolateData::dispose):
        (WebCore::getToStringName):
        (WebCore::getToStringTemplate):
        * bindings/v8/V8Binding.h:
        (WebCore::V8BindingPerIsolateData::get):
        (WebCore::V8BindingPerIsolateData::current):
        (WebCore::V8BindingPerIsolateData::rawTemplateMap):
        (WebCore::V8BindingPerIsolateData::templateMap):
        (WebCore::V8BindingPerIsolateData::toStringName):
        (WebCore::V8BindingPerIsolateData::toStringTemplate):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8Utilities.cpp:
        (WebCore::V8LocalContext::V8LocalContext):
        (WebCore::V8LocalContext::~V8LocalContext):
        * bindings/v8/V8Utilities.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):

2011-06-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Reviewed by Adam Barth.

        Simplify logic in ProgressTracker::progressCompleted()
        https://bugs.webkit.org/show_bug.cgi?id=62598

        Testing for "m_numProgressTrackedFrames != 0" is unnecessary because it is
        always true, otherwise we would entered in the first part of the conditional.

        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::progressCompleted):

2011-06-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r88704.
        http://trac.webkit.org/changeset/88704
        https://bugs.webkit.org/show_bug.cgi?id=62466

        Caused layout test failures on Chromium Mac.

        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::declareAndWriteDragImage):

2011-06-13   Morgan Winer  <mwiner@apple.com>

        Reviewed by Enrica Casucci.

        Frame::visiblePositionForPoint returns null position if the point is over an imagemap.
        https://bugs.webkit.org/show_bug.cgi?id=62562
        <rdar://problem/9313885>

        The innerNode() of an imageMap is an area, and doesn't have a renderer and
        therefore can't report a position.
        Every result's innerNonSharedNode() should be the same as the innerNode(),
        except for imageMaps, which will have the actual image as its innerNonSharedNode(),
        and will therefore have a renderer and can report a position.

        There are no layout tests for this, since it can be tested only at API level.

        * page/Frame.cpp:
        (WebCore::Frame::visiblePositionForPoint): Changing innerNode() to innerNonSharedNode().

2011-06-13  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Eric Seidel.

        [CMAKE] Conditionally generate DerivedSources
        https://bugs.webkit.org/show_bug.cgi?id=62277

        Speedup build by not generating DerivedSources of features that are
        disabled. This was already been done for some features like ENABLE_SVG
        and now it's extended the following features: ENABLE_DATABASE,
        ENABLE_INDEXED_DATABASE, ENABLE_DOM_STORAGE, ENABLE_XPATH,
        ENABLE_OFFLINE_WEB_APPLICATIONS, ENABLE_WEB_SOCKETS,
        ENABLE_DATA_TRANSFER_ITEMS.

        No change in functionality so no new tests.

        * CMakeLists.txt: move .idl files to be conditionally generated.

2011-06-13  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Eric Seidel.

        [CMake] Allow building with ENABLE_NETSCAPE_PLUGIN_API on platforms
        without plugin support
        https://bugs.webkit.org/show_bug.cgi?id=62394

        No behaviour changes, so no new tests.

        * CMakeLists.txt: Remove references to Plugin{Package,View}.cpp and
        Plugin{Package,View}None.cpp and move them to CMakeListWinCE and
        CMakeListsEfl, respectively.
        * CMakeListsEfl.txt:
        * CMakeListsWinCE.txt:

2011-06-13  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Eric Seidel.

        Web Inspector: [refactoring] remove dead code from NetworkPanel
        https://bugs.webkit.org/show_bug.cgi?id=62481

        * inspector/front-end/NetworkPanel.js:

2011-06-13  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] Dragging images to Mail.app results in broken attachments
        https://bugs.webkit.org/show_bug.cgi?id=62466

        No new tests.

        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::declareAndWriteDragImage):

2011-06-13  Adrienne Walker  <enne@google.com>

        Reviewed by Simon Fraser.

        Overlap test needs to consider children of composited layers
        https://bugs.webkit.org/show_bug.cgi?id=62465

        Any child layer with a compositing ancestor will be put into a
        composited layer even though they themselves don't need compositing.
        As layer bounds aren't hierarchical, these layer bounds themselves
        need to be put into the overlap map because the composited layer
        itself is not sufficient.

        Test: compositing/layer-creation/overlap-animated-layer.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2011-06-13  Xan Lopez  <xlopez@igalia.com>

        Unreviewed build fix.

        Touch this to try to fix the build...

        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::~Widget):

2011-06-13  Xan Lopez  <xlopez@igalia.com>

        Try to fix GTK+ build.

        * GNUmakefile.list.am: remove CredentialStorage.cpp

2011-06-13  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        Improve GPU canvas startup time on the SkiaGPU path.
        https://bugs.webkit.org/show_bug.cgi?id=62594
        
        Fixed by skipping creation of shaders used only by the legacy path.

        Covered by existing canvas tests.

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):

2011-06-13  Michael Saboff  <msaboff@apple.com>

        Reviewed by Oliver Hunt.

        Additional FontCache::FontCachePurgePreventer instances needed
        https://bugs.webkit.org/show_bug.cgi?id=62498

        Added some needed and speculative FontCachePurgePreventer objects.
        Built and ran Safari with debug version of webkit that purges all
        purgeable fonts in FontCache::purgeInactiveFontDataIfNeeded in order
        to find system fallback fonts access via code paths that aren't
        protected with FontCachePurgePreventer objects.  Also examined
        platform specific code that calls either Font::drawText() or
        Canvas::drawText().  For those methods that may be called from currently
        unprotected paths, added FontCachePurgePreventer objects.

        No new functionality so no new tests.

        * inspector/DOMNodeHighlighter.cpp:
        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
        (PlatformCALayerWinInternal::displayCallback):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::drawHudContents):
        * platform/mac/DragImageMac.mm:
        (WebCore::widthWithFont):
        (WebCore::drawAtPoint):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateOptionsWidth):

2011-06-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Dan Bernstein.

        REGRESSION (r81518): Crash in makeRange() when invoking the dictionary panel over a file input
        https://bugs.webkit.org/show_bug.cgi?id=62544

        Fixed the crash by adding null pointer checks.

        No new tests since there's no way to open dictionary panel.

        * dom/Position.cpp:
        (WebCore::Position::parentAnchoredEquivalent):
        * editing/VisiblePosition.cpp:
        (WebCore::makeRange):
        * page/Frame.cpp:
        (WebCore::Frame::rangeForPoint):

2011-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Nate Chapin.

        Factor IconController out of FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=62509

        This new class contains all the icon-related logic from FrameLoader.
        The icon-related logic and state has almost zero interaction with the
        rest of FrameLoader and is better handled as a separate concern.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        (WebCore::Document::setIconURL):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::iconLoadDecisionAvailable):
        (WebCore::DocumentLoader::continueIconLoadWithDecision):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::stop):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::icon):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::startLoading):
        (WebCore::IconLoader::finishLoading):
        * loader/icon/IconLoader.h:

2011-06-13  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Cache V8NPObjects so that we don't create multiple
        NPObjects for the same v8::Object.
        https://bugs.webkit.org/show_bug.cgi?id=61482

        Test: plugins/npruntime/embed-property-equality.html

        * bindings/v8/NPV8Object.cpp:
        (WebCore::freeV8NPObject):
        (WebCore::npCreateV8ScriptObject):

2011-06-13  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Distcheck fixes.

        * GNUmakefile.am:
        * GNUmakefile.list.am:

2011-06-13  Dirk Schulze  <krit@webkit.org>

        Reviewed build fix of mac.

        SVGAnimation should use direct unit animation for SVGLength
        https://bugs.webkit.org/show_bug.cgi?id=61368

        Forgot to add SVGAnimatedLength.cpp. 

        * WebCore.xcodeproj/project.pbxproj:

2011-06-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGAnimation should use direct unit animation for SVGLength
        https://bugs.webkit.org/show_bug.cgi?id=61368

        When running SMIL animations  within SVG, we unnecessarily transform the underlying SVG primitive datatype to strings, number+units, and back. As first step the target element
        gets asked for its current value. This value gets transformed to a string. In SVGAnimateElement we try to parse this string again and
        split it into a number and its unit. In the further steps we just animate the number. This number gets transformed back to a string
        together with the parsed unit. The string gets passed back to the target element, which is responsible for parsing the passed string back
        to a value as a SVG primitive datatype (like SVGLength, SVGNumber, SVGAngle, SVGColor, ...), relayout and rerendering.

        In short: SVG primitive datatype -> string -> number + unit animation -> string -> SVG primitive datatype.

        This patch does not attempt to change the string transformations, but addresses the parsing of the string back to a number and unit in the
        SVG animation code. There's no need to write a new parser in SVGAnimateElement to parse SVG primitive datatypes, we can instead reuse the existing ones.
        Also the current parser of SVGAnimateElement does not handle most unit types, nor is it possible to animate lists like SVGLengthList with the
        parsed content. An animation of values with different unit types is not possible:

        <rect width="20" height="20">
            <animate animateAttribute="width" from="20px" to="10%" dur="4s"/>
        </rect>

        For the example above we would animate the rect width from 20px to 10px in 4 seconds and jump to the 10% of the viewport at the end of the
        animation.
        With using the parsers of SVG primitive datatypes we will also use the SVG primitive datatypes in the animation code itself. And that makes
        it possible to do such animations.

        In short: SVG primitive datatype -> string -> SVG primitive datatype animation -> string -> SVG primitive datatype.

        It will be easier to avoid the string transformation once all SVG primitive datatypes are supported.

        To hide the complexity of the animation code, the actual calculations of SVG animation specific values was moved to the corresponding
        SVGAnimated* files (SVGAnimatedLength.cpp for SVGLength). SVGAnimateElement itself just works with the new added generic datatype SVGAnimationType.
        SVGAnimatorFactory creates the SVG primitive datatype specific animators. This makes the main animation code a lot more readable and 
        maintainable.

        With this patch I add the SVGAnimatorFactory and convert SVGLength animation to the new concept.

        Tests: svg/animations/svglength-animation-LengthModeHeight.html
               svg/animations/svglength-animation-LengthModeOther.html
               svg/animations/svglength-animation-LengthModeWidth.html
               svg/animations/svglength-animation-invalid-value-1.html
               svg/animations/svglength-animation-invalid-value-2.html
               svg/animations/svglength-animation-invalid-value-3.html
               svg/animations/svglength-animation-number-to-number.html
               svg/animations/svglength-animation-px-to-cm.html
               svg/animations/svglength-animation-px-to-ems.html
               svg/animations/svglength-animation-px-to-exs.html
               svg/animations/svglength-animation-px-to-in.html
               svg/animations/svglength-animation-px-to-number.html
               svg/animations/svglength-animation-px-to-pc.html
               svg/animations/svglength-animation-px-to-percentage.html
               svg/animations/svglength-animation-px-to-pt.html
               svg/animations/svglength-animation-px-to-px.html
               svg/animations/svglength-animation-values.html

        * CMakeLists.txt: Added new files to build system.
        * GNUmakefile.list.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * svg/SVGAllInOne.cpp: Added SVGAnimatedLength.cpp for Win and other build systems.
        * svg/SVGAnimateElement.cpp:
        (WebCore::parseNumberValueAndUnit): Remove parsing code for SVGLength. Use SVGLength parser directly.
        (WebCore::SVGAnimateElement::adjustForCurrentColor): Made adjustForCurrentColor public as preperation for SVGAnimatedColor.
        (WebCore::getPropertyValue): Inline function to get computedStyle of CSS property.
        (WebCore::SVGAnimateElement::adjustForInheritance): Made adjustForInheritance as preperation for SVGAnimated* files.
        (WebCore::SVGAnimateElement::determineAnimatedAttributeType): SVGLength need special handling via SVGAnimator now.
        (WebCore::SVGAnimateElement::calculateAnimatedValue): Cleanup. Make use of SVGAnimator for SVGLength.
        (WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
        (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
        (WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
        (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
        (WebCore::SVGAnimateElement::calculateDistance): Ditto.
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimatedLength.cpp: Added.
        (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator):
        (WebCore::sharedSVGLength):
        (WebCore::SVGAnimatedLengthAnimator::constructFromString):
        (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
        (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
        (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
        * svg/SVGAnimatedLength.h: Added new class SVGAnimatedLengthAnimator which is responsible for the actual animation.
        (WebCore::SVGAnimatedLengthAnimator::~SVGAnimatedLengthAnimator):
        * svg/SVGAnimatedType.h: Added. Generic SVG unit type for animations in SVGAnimateElement.
        (WebCore::SVGAnimatedType::createLength):
        (WebCore::SVGAnimatedType::~SVGAnimatedType):
        (WebCore::SVGAnimatedType::type):
        (WebCore::SVGAnimatedType::length):
        (WebCore::SVGAnimatedType::SVGAnimatedType):
        * svg/SVGAnimatedTypeAnimator.h: Added. Base class for SVGAnimatedLengthAnimator and future SVG unit animators.
        (WebCore::SVGAnimatedTypeAnimator::~SVGAnimatedTypeAnimator):
        (WebCore::SVGAnimatedTypeAnimator::setContextElement):
        (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::parseMappedAttribute): We do not use parseNumberValueAndUnit for SVGLength now. Have to strip white spaces here. Whitespaces shouldn't
          be stripped on the following attributes: 'from', 'to' and 'by'. This is not the case for SVGLength anymore. Added new tests to check this behavior.
        (WebCore::SVGAnimationElement::animationMode): Enum is accessible in WebCore namespace now.
        (WebCore::SVGAnimationElement::calcMode): Ditto.
        * svg/SVGAnimationElement.h:
        * svg/SVGAnimatorFactory.h: Added.
        (WebCore::SVGAnimatorFactory::create):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::setValueAsString): New setter with string and SVGLengthMode.
        (WebCore::SVGLength::lengthModeForAnimatedLengthAttribute): Get LengthMode for SVGLength depending on the attribute name.
        * svg/SVGLength.h:

2011-06-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        r87539 broke HTMLMediaElement url logging
        https://bugs.webkit.org/show_bug.cgi?id=62551

        Returning pointers to temporaries is bad times!

        * html/HTMLMediaElement.cpp:
        (WebCore::urlForLogging):
        (WebCore::HTMLMediaElement::loadResource):
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        (WebCore::HTMLMediaElement::sourceWasAdded):
        (WebCore::HTMLMediaElement::sourceWillBeRemoved):

2011-06-13  Tony Chang  <tony@chromium.org>

        Reviewed by Dimitri Glazkov.

        rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
        https://bugs.webkit.org/show_bug.cgi?id=62578

        * Configurations/FeatureDefines.xcconfig:

2011-06-13  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: setVersion() version argument is required
        https://bugs.webkit.org/show_bug.cgi?id=62401

        Test: storage/indexeddb/setVersion-undefined.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setVersion): check for null version
        * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments

2011-06-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        Print out bounds origin in layer dump
        https://bugs.webkit.org/show_bug.cgi?id=62583

        Include m_boundsOrigin in the layer dump, which is used by layerTreeAsText().

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::dumpProperties):

2011-06-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        Add utility method to report whether a RenderLayer has any scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=62579
        
        New method that returns true with either scrollbar is present.

        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasScrollbars):

2011-06-11  Jer Noble  <jer.noble@apple.com>

        Reviewed by Anders Carlsson.

        Avoid flashing when exiting full-screen mode.
        https://bugs.webkit.org/show_bug.cgi?id=62338

        No new tests; covered by the existing full-screen tests.

        Now that we are forcing a repaint inside of setRootFullScreenLayer() instead of during
        the next run loop, make sure that we have disabled animation before calling 
        setRootFullScreenLayer() so that the RenderFullScreen renderer and its contents are
        painted.

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

2011-06-10  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Flash of white on left and right edges of screen when showing fullscreen controller when movie doesn't fill the entire screen
        https://bugs.webkit.org/show_bug.cgi?id=62491
        <rdar://problem/9584427>

        No new tests; should be covered by existing fullscreen pixel tests.

        On certain displays, when a RenderFullScreen renderer is created, it is large enough to trigger the 
        creation of a tiled CALayer (instead of a normal CALayer).  Painting in these layers necessarily
        happens asynchronously, so the flash is occurring because of the async painting of the RenderFullScreen
        renderer's background color.  Since we know the RenderFullScreen does not otherwise paint its contents,
        we can add a special case in the RenderLayerBacking to set the GraphicsLayer contents to be the
        renderer's background color.  Fill in support for creating a contentLayer to contain the background 
        color inside GraphicsLayerCA.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsToBackgroundColor): Renamed from setContentsBackgroundColor to match
            the other setContentsTo... functions.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setContentsToBackgroundColor): Added. Creates a contentsLayer to host the 
            background color.
        (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Removed a comment only.
        * platform/graphics/ca/GraphicsLayerCA.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Special case the RenderFullScreen
            renderer to call updateBackgroundColor.
        (WebCore::RenderLayerBacking::updateBackgroundColor): Added.
        (WebCore::RenderLayerBacking::containsPaintedContent): Tell the backing that the RenderFullScreen
            renderer does not paint its contents.
        * rendering/RenderLayerBacking.h:

2011-06-13  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION(87152): Crash on page with svg fonts
        https://bugs.webkit.org/show_bug.cgi?id=61556

        We can't assume that the parent of a SVG-font-styled
        text node won't be an anonymous block.

        Test: svg/text/text-font-anonymous-parent.xhtml

        * rendering/svg/SVGTextRunRenderingContext.cpp:
        (WebCore::firstParentRendererForNonTextNode):
        (WebCore::SVGTextRunWalker::walk):
        (WebCore::floatWidthOfSubStringUsingSVGFont):
        (WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):

2011-06-13  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
        https://bugs.webkit.org/show_bug.cgi?id=62545

        * Configurations/FeatureDefines.xcconfig:

2011-06-13  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Some distcheck fixes. Still broken, but this is moves us closer to
        the target.

        * GNUmakefile.am: fix vpath syntax and add missing files to
        EXTRA_DIST.
        * GNUmakefile.list.am: add missing files and remove dead files.
        * bindings/gobject/GNUmakefile.am: fix comment.

2011-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Add layer factory to GraphicsLayer for creating non-default layer type.
        https://bugs.webkit.org/show_bug.cgi?id=61925

        Use the new factory function in TextureMapper.

        No new functionality so no new tests.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayer::create):

2011-06-13  Young Han Lee  <joybro@company100.net>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Accelerated animation is repeating as if its direction property is always 'alternate'.
        https://bugs.webkit.org/show_bug.cgi?id=62281

        syncAnimations() has miscalculated a normalized progress value as if the animation always has alternate direction property.

        Test: animations/animation-direction-normal.html

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncAnimations):

2011-06-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Rob Buis.

        SVG patternTransform not animatable
        https://bugs.webkit.org/show_bug.cgi?id=62538

        SVG animation did not take attribute 'patternTransform' into account. Added support for combination of
        SVGPatternElement and attribute 'patternTransform' to SVGAnimateTransformElement.

        Tests: svg/animations/animateTransform-pattern-transform.html
               svg/animations/animateTransform-transformable-transform.html

        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::transformListFor):
        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):

2011-06-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] JSC Bridge: convert QtConnectionObject to use JSC API
        https://bugs.webkit.org/show_bug.cgi?id=62330

        This patch is based on the draft patch by Noam Rosenthal in bug 60842.
        Qt API autotests cover the bridge behavior and pass after this patch.

        * bridge/qt/qt_runtime.h: Change QtConnectionObject to use JSC API types. In
        particular, we got rid of Strong<JSObject> members. Renamed some members and
        arguments to follow existing naming in QObject::connect().

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeConnectionMethod::call): Use a new helper function
        to create a connection, passing the ExecState* that will be used when the
        connection is activated (signal emitted). Use JSC API types when looking up
        the matching signal to disconnect.

        (JSC::Bindings::QtConnectionObject::QtConnectionObject): Use JSC API to
        protect the receiver and receiverFunction from being garbage
        collected. Removed the ASSERT() since we don't hold ProtectedPtrs (in current
        code were Strong<>) anymore.

        (JSC::Bindings::QtConnectionObject::~QtConnectionObject): Explain why is safe
        to use m_originalSender here. Unprotect values that we protected in constructor.

        (JSC::Bindings::isJavaScriptFunction): Helper function to identify whether a
        JSObjectRef is a JS function (in contrast to a native function exposed to JS).

        (JSC::Bindings::QtConnectionObject::execute):
        (JSC::Bindings::QtConnectionObject::match):
        Both updated to use JSC API when appliable. Note that convertQVariantToValue
        still returns JSC internal types, will be handled in a different patch.

        (JSC::Bindings::QtConnectionObject::createWithInternalJSC):
        Convenince for the existing caller until it is converted to JSC as well.

2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Add context menu support for Webkit2
        https://bugs.webkit.org/show_bug.cgi?id=54827

        * platform/ContextMenuItem.h: Add gtkAction().
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::ContextMenu): Implement constructor that
        receives a platform menu.
        (WebCore::ContextMenu::setPlatformDescription): Make sure we don't
        destroy the menu if the new context menu is the current one.
        (WebCore::contextMenuItemVector): Implement this method to return
        the list of menu items in the given context menu, required by WebKit2.
        (WebCore::platformMenuDescription): Implement this method to
        return a platform menu for the given menu items.
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::createPlatformMenuItemDescription): Helper function to
        create a platform context menu item.
        (WebCore::ContextMenuItem::ContextMenuItem): Use
        createPlatformMenuItemDescription().
        (WebCore::ContextMenuItem::title): Convert the title from UTF-8.
        (WebCore::ContextMenuItem::setTitle): Use gtkAction().
        (WebCore::ContextMenuItem::setSubMenu): Implement setSubMenu()
        that receives a list of items.
        (WebCore::ContextMenuItem::setChecked): Use gtkAction().
        (WebCore::ContextMenuItem::checked): Implement this, required by WebKit2.
        (WebCore::ContextMenuItem::enabled): Ditto.
        (WebCore::ContextMenuItem::setEnabled): Use gtkAction().
        (WebCore::ContextMenuItem::gtkAction): Return the GtkAction
        associated to the context menu item.

2011-06-13  Keishi Hattori  <keishi@webkit.org>

        Sort WebCore.xcodeproj

        Accomplished using sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2011-06-12  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (full screen video): Watch Again button is obscured after full screen playback ends at Apple trailers page
        https://bugs.webkit.org/show_bug.cgi?id=62507

        No new tests; DRT would have to be modified to delay between receiving exitFullScreenForElement() and calling 
        webkitWillExitFullScreenForElement() to be able to test this.

        If the full-screen element is removed, and webkitWillExitFullScreenForElement() is not called before
        fullScreenElementRemoved() returns, then ancestors of the full-screen element will not have their
        containsFullScreenElement property removed.  To protect against this, reset the property by calling 
        setContainsFullScreenElementRecursively() from within fullScreenElementRemoved().

        * dom/Document.cpp:
        (WebCore::Document::fullScreenElementRemoved): Added call to setContainsFullScreenElementRecursively.

2011-06-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
        https://bugs.webkit.org/show_bug.cgi?id=62516

        As requested by Alexey in https://bugs.webkit.org/show_bug.cgi?id=62510.

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::interruptedForPolicyChangeError):
        * loader/FrameLoaderClient.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::interruptedForPolicyChangeError):
        (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/MainResourceLoader.h:

2011-06-12  Hironori Bono  <hbono@chromium.org>

        Reviewed by Hajime Morita.

        Add null checks to HTMLTextAreaElement::removeSpellcheckRange().
        https://bugs.webkit.org/show_bug.cgi?id=62526

        This change adds null checks to the following function to prevent crashes
        when calling removeSpellcheckRange() with null:
        HTMLTextAreaElement::removeSpellcheckRange(),
        HTMLInputElement::removeSpellcheckRange(), and
        HTMLDivElement::removeSpellcheckRange().

        Test: editing/spelling/spellcheck-api-crash.html

        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::removeSpellcheckRange):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::removeSpellcheckRange):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::removeSpellcheckRange):

2011-06-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        DocumentParser::appendBytes should use size_t for length instead of int
        https://bugs.webkit.org/show_bug.cgi?id=62508

        size_t is the proper type for distances in memory, especially on 64 bit
        machines.

        * dom/DecodedDataDocumentParser.cpp:
        (WebCore::DecodedDataDocumentParser::appendBytes):
        * dom/DecodedDataDocumentParser.h:
        * dom/DocumentParser.h:
        * html/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::appendBytes):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::appendBytes):
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes):
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::appendBytes):

2011-06-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove FrameLoader::isProcessingUserGesture
        https://bugs.webkit.org/show_bug.cgi?id=62519

        This function is a remnant of the old user gesture design, which
        involved per-frame state stored on FrameLoader.  Now that we're using
        static state, we don't need this function anymore.

        This function used to check whether JavaScript was enabled for the
        top-level frame, but that check doesn't make any sense (like much of
        the old user gesture code).

        * WebCore.exp.in:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::processingUserGesture):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):
        * loader/FrameLoader.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::click):

2011-06-12  Adam Barth  <abarth@webkit.org>

        Fix fullscreen/full-screen-iframe-legacy.html.

        * html/HTMLVideoElement.idl:

2011-06-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Remove trival "forward-to-client" member functions from FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=62510

        Originally, FrameLoader was supposed to abstract FrameLoaderClient, but
        we lost that battle log ago.  Nowadays, it's easier if folks just call
        into FrameLoaderClient directly.  Many of these functions have direct
        callers already anyway.

        * WebCore.exp.in:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::createRenderer):
        (WebCore::HTMLMediaElement::attach):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::setRequest):
        (WebCore::DocumentLoader::setMainDocumentError):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didFirstLayout):
        * loader/FrameLoader.h:
            - cancelledError is slightly more delicate, so I'm going to move it in
              a separate patch.
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::interruptForPolicyChangeError):
        (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::handleEmptyLoad):
        (WebCore::MainResourceLoader::loadNow):
        * loader/MainResourceLoader.h:
        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::PingLoader):
        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::continueAfterNavigationPolicy):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::blockedError):
        (WebCore::ResourceLoader::cannotShowURLError):
        (WebCore::ResourceLoader::shouldUseCredentialStorage):
        (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::populate):

2011-06-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9513180> REGRESSION (r84166): recalcStyle for display:inline to display:none transition has complexity N^2 where N is the number of child Text nodes
        https://bugs.webkit.org/show_bug.cgi?id=61557

        Replaced the fix for bug 58500 with a refined version.

        * rendering/RenderText.cpp:
        (WebCore::RenderText::clippedOverflowRectForRepaint): Use the containing block unless it is
        across a layer boundary.

2011-06-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Andreas Kling.

        Minor user-gesture related cleanup
        https://bugs.webkit.org/show_bug.cgi?id=62511

        In reading the user gesture code, I noticed that these lines of code
        should be deleted because they don't do anything.

        * bindings/v8/NPV8Object.cpp:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLVideoElement.idl:

2011-06-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Add TextRun charactersLength member
        https://bugs.webkit.org/show_bug.cgi?id=62501

        Preparation patch 2: Propagate the maximum length of the characters buffer the TextRun operates on, even when we're only measuring a substring.
        For example: In RenderText when we're measuring 'len' characters starting from "text()->characters() + start", there's a portion
        of "textLength() - start" characters that we're not processing. In order to support ligatures when integrating SVG Fonts
        within the GlyphPage concept, we need this extra information, to lookup ligatures even when single chars are measured.
        If a font defines an eg "ffl" ligature, and we're measuring the "f" of "ffl", it shall looukp the "ffl" glyph from the font,
        and skip the next two characters (this will be done in WidthIterator).

        This doesn't yet affect any test, the new SVG Fonts code is not merged yet, this is the preparaion patch 2.

        * platform/graphics/Font.h: Add yet-unused "const TextRun&" parameter to drawGlyphBuffer/drawEmphasisMarks.
        * platform/graphics/FontFastPath.cpp: Ditto. This parameter will be used to looukp the TextRunRenderingContext in a follow-up patch.
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawEmphasisMarksForSimpleText):
        (WebCore::Font::drawGlyphBuffer):
        (WebCore::Font::drawEmphasisMarks):
        * platform/graphics/TextRun.h: Add "int m_charactersLength", similar to "int m_len". It denotes the maximum length of the characters buffer
                                       that we're holding. It defaults to the passed "len" value, but is overriden by explicit setCharactersLength calls.
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::charactersLength):
        (WebCore::TextRun::setCharactersLength):
        * platform/graphics/mac/FontComplexTextMac.cpp: Pass TextRun do drawGlyphBuffer/drawEmphasisMarks.
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawEmphasisMarksForComplexText):
        * platform/graphics/win/FontWin.cpp: Ditto.
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawEmphasisMarksForComplexText):
        * platform/graphics/wx/FontWx.cpp: Ditto.
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawEmphasisMarksForComplexText):
        * rendering/InlineTextBox.cpp: Call setCharactersLength on the processed TextRun.
        (WebCore::InlineTextBox::constructTextRun):
        * rendering/RenderBlockLineLayout.cpp: Ditto.
        (WebCore::textWidth):
        (WebCore::tryHyphenating):
        * rendering/RenderText.cpp: Ditto.
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::computePreferredLogicalWidths):
        (WebCore::RenderText::width):
        * rendering/svg/SVGInlineTextBox.cpp: Ditto.
        (WebCore::SVGInlineTextBox::constructTextRun):

2011-06-12  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Fix methods.html and methods-lower-case.html
        https://bugs.webkit.org/show_bug.cgi?id=62221

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::clearContentsHeaders): Refactor code from sendNetworkRequest
        (WebCore::QNetworkReplyHandler::getIODevice): ditto
        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
            - Remove ContentType and ContentLength headers from GET, DELETE and HEAD requests since
              we do not send data with any of these requests.
            - If a custom HTTP operation contains data, send it.
        * platform/network/qt/QNetworkReplyHandler.h:

2011-06-11  Michael Saboff  <msaboff@apple.com>

        Reviewed by James Robinson.

        REGRESSION(88260): 10-50% performance regression across many page cyclers
        https://bugs.webkit.org/show_bug.cgi?id=62349

        Made CHROMIUM platform specific values for cMaxInactiveFontData and
        cTargetInactiveFontData to mitigate the current performance issue on Chromium
        page cycler tests.  Made the chromium value for cMaxInactiveFontData 250 based
        on recommendation from James Robinson.  Changed cTargetInactiveFontData to 200
        so that 50 inactive fonts will be cleaned up at a time.

        Change made to address existing Chromium performance test regression.

        * platform/graphics/FontCache.cpp:

2011-06-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove unnecessary strlen from DocumentWriter
        https://bugs.webkit.org/show_bug.cgi?id=62505

        This ugly piece of code appears not to be needed.  Rejoice.

        * WebCore.exp.in:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitData):
        * loader/DocumentLoader.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::addData):
        * loader/DocumentWriter.h:

2011-06-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        DocumentParser::appendBytes shouldn't have a "flush" boolean parameter
        https://bugs.webkit.org/show_bug.cgi?id=62499

        This patch removes the "flush" Boolean parameter from
        DocumentParser::appendBytes in favor of a new flush method.  This makes
        some code in DocumentWriter look less ridiculous.

        There's still lots of on contorting to do here, but it's a start.

        * dom/DecodedDataDocumentParser.cpp:
        (WebCore::DecodedDataDocumentParser::appendBytes):
        (WebCore::DecodedDataDocumentParser::flush):
        * dom/DecodedDataDocumentParser.h:
        * dom/DocumentParser.h:
        * dom/RawDataDocumentParser.h:
        (WebCore::RawDataDocumentParser::flush):
        * html/ImageDocument.cpp:
        (WebCore::ImageDocumentParser::appendBytes):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::appendBytes):
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::reportDataReceived):
        (WebCore::DocumentWriter::addData):
        (WebCore::DocumentWriter::endIfNotLoadingMainResource):
        * loader/DocumentWriter.h:
        * loader/SinkDocument.cpp:
        (WebCore::SinkDocumentParser::appendBytes):

2011-06-11  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r88569.
        http://trac.webkit.org/changeset/88569
        https://bugs.webkit.org/show_bug.cgi?id=62398

        Broke Chromium browser test:
        IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest

        * storage/IDBFactory.idl:

2011-06-11  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r88565.
        http://trac.webkit.org/changeset/88565
        https://bugs.webkit.org/show_bug.cgi?id=62401

        Broke Chromium browser test:
        IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setVersion):
        * storage/IDBDatabase.idl:

2011-06-10  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Simon Fraser.

        Null parent element sheet pointers in CSSMutableStyleDeclaration consumers
        when removed from document, set them when reinserted into document.
        https://bugs.webkit.org/show_bug.cgi?id=62230

        When a HTMLBodyElement, StyledElement are removed from document,
        we didn't clear out the parent pointers from their link, style declarations.
        These parent pointers pointed to the document's element sheet which will
        get removed when document is getting destroyed. It does make sense to
        clear out parent pointers when we are getting removed from document and
        readd them when we get inserted again.

        Tests: fast/dom/body-link-decl-parent-crash.html
               fast/dom/styled-inline-style-decl-parent-crash.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::insertedIntoDocument):
        (WebCore::StyledElement::removedFromDocument):
        * dom/StyledElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        (WebCore::HTMLBodyElement::insertedIntoDocument):
        (WebCore::HTMLBodyElement::removedFromDocument):
        (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
        * html/HTMLBodyElement.h:

2011-06-10  Adam Barth  <abarth@webkit.org>

        Remove bogus ASSERTs.  These ASSERTs used to be correct before I
        changed DocumentWriter to put the onus for ignoring empty writes onto
        the parser.

        This patch should stop these test from triggering ASSERTs:

        plugins/plugin-document-back-forward.html
        plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
        userscripts/user-script-plugin-document.html

        * html/MediaDocument.cpp:
        (WebCore::MediaDocumentParser::appendBytes):
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::appendBytes):

2011-06-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: End of apple.com video in full-screen mode leads to unusable page.
        https://bugs.webkit.org/show_bug.cgi?id=62411
        
        Test: fullscreen/full-screen-remove-ancestor-after.html

        The placeholder for RenderFullScreen was being created as a non-anonymous object, which led
        to the document's renderer being set to 0 when the placeholder was removed due to its parent
        being removed. Setting the placeholder to be anonymous, however, means that it will be
        coalesced with sibling anonymous blocks, so added the RenderFullScreenPlaceholder to the
        list of anonymous objects that are not considered anonymous blocks, to avoid the placeholder
        being so coalesced. To do so, made the placeholder object a true subclass, and add and
        override its destroy() function to notify the RenderFullScreen object that it has been
        destroyed.

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder): Added.
        (RenderFullScreenPlaceholder::~RenderFullScreenPlaceholder): Added.
        (RenderFullScreenPlaceholder::isRenderFullScreenPlaceholder): Added.
        (RenderFullScreenPlaceholder::destroy): Notify the owner renderer that its placeholder
            has been destroyed.
        (RenderFullScreen::destroy): Assert that the m_placeholder ivar is 0 after destroying it.
        (RenderFullScreen::setPlaceholder): Added.
        (RenderFullScreen::createPlaceholder): Do not make the placeholder anonymous.
        * rendering/RenderFullScreen.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderFullScreenPlaceholder): Added.
        (WebCore::RenderObject::isAnonymousBlock): Added the placeholder class to the list of
            objects which are not anonymous blocks.

2011-06-10  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=16777
        Eliminate JSC::NaN and JSC::Inf

        There's no good reason for -K-J-S- JSC to have its own NAN and infinity constants.
        The ones in std::numeric_limits are perfectly good.
        Remove JSC::Inf, JSC::NaN, switch some cases of (isnan || isinf) to !isfinite.

        * bindings/js/JSDataViewCustom.cpp:
        (WebCore::getDataViewMember):

2011-06-10  James Simonsen  <simonjam@chromium.org>

        Reviewed by Eric Seidel.

        <script> inside <svg> should be executed
        https://bugs.webkit.org/show_bug.cgi?id=62412

        Tests: svg/in-html/script-external.html
               svg/in-html/script-nested.html
               svg/in-html/script-write.html
               svg/in-html/script.html

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndTag):

2011-06-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Script-created parsers should ignore data from the network
        https://bugs.webkit.org/show_bug.cgi?id=62336

        If the network packet boundaries line up just right, we can end up
        feeding network data to a parser created by document.write (or
        document.open).  That's incorrect.

        This patch causes DocumentWriter to grab hold of the original parser
        and direct all input to that parser.

        Test: fast/parser/document-write-ignores-later-network-bytes.html

        * dom/Document.cpp:
        (WebCore::Document::explicitClose):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        (WebCore::DocumentWriter::addData):
        (WebCore::DocumentWriter::endIfNotLoadingMainResource):
        (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
        * loader/DocumentWriter.h:

2011-06-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Keep overlap testing logic until real 3d transforms are being used
        https://bugs.webkit.org/show_bug.cgi?id=49857
        
        For pages that use the translateZ(0) hack to force compositing layers, it's
        advantageous to keep overlap testing, to avoid putting too many other
        elements into layers.
        
        Only turn off overlap testing if non-identity 3D transforms are used.

        Tests: compositing/layer-creation/rotate3d-overlap.html
               compositing/layer-creation/translatez-overlap.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::hasNonIdentity3DTransform):
        * rendering/RenderLayerCompositor.h:

2011-06-10  David Levin  <levin@chromium.org>

        Reviewed by Dmitry Titov.

        Web Worker fails to fire error event when a resource fetch fails.
        https://bugs.webkit.org/show_bug.cgi?id=62475

        Test: http/tests/workers/worker-workerScriptNotThere.html

        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::didFinishLoading): Ensure that
        the client is notified of the error when it happens during loading.

2011-06-10  David Levin  <levin@chromium.org>

        Reviewed by Dmitry Titov.

        Fetching a Worker with url that isn't allowed from a file based test causes DRT to crash.
        https://bugs.webkit.org/show_bug.cgi?id=62469

        Test: fast/workers/worker-crash-with-invalid-location.html

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerScriptLoader::load): Changed to using the RefCounted version of WorkerScriptLoader.
        * workers/Worker.cpp:
        (WebCore::Worker::create): Ditto.
        * workers/Worker.h: Ditto.
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):  Ditto.
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::~WorkerScriptLoader): Created to
        allow removing some header includes in WorkerScriptLoader.h.
        (WebCore::WorkerScriptLoader::loadAsynchronously): Fix the ordering
        of setPendingActivity and keep WorkerScriptLoader alive during a
        potential callback.
        * workers/WorkerScriptLoader.h: Made this RefCounted to allow for
        keeping it alive during callbacks. Also, removed unnecessary header
        inclusions (and added a destructor to facilitate that).
        (WebCore::WorkerScriptLoader::create):

2011-06-10  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        [chromium] Top portion of page is rendered messed up with accelerated drawing
        https://bugs.webkit.org/show_bug.cgi?id=62484

        Fixed the math in flipping the texture from bottom-up to top-down.
        Test: compositing/repaint/shrink-layer.html (existing)

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::draw):

2011-06-10  Tony Chang  <tony@chromium.org>

        Reviewed by Ojan Vafai.

        add a compile guard ENABLE(FLEXBOX)
        https://bugs.webkit.org/show_bug.cgi?id=62049

        * Configurations/FeatureDefines.xcconfig:

2011-06-10  Sam Weinig  <sam@webkit.org>

        Roll out r88568. It is not the right fix for the problem.

        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):

2011-06-10  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dimitri Glazkov.

        <rdar://problem/9562114> Fix DumpRenderTree build for production configuration.

        Rename the built WebCoreTestSupport dylib to libWebCoreTestSupport.dylib so
        that it can be found via the library search path rather than requiring an
        absolute path be passed to the linker.

        Install the library and its associated header file in a more appropriate location
        for the production configuration.

        * Configurations/WebCoreTestSupport.xcconfig:

2011-06-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Add a scheduleSetNeedsStyleRecalc() method to ContainerNode for use by RenderLayerCompositor
        https://bugs.webkit.org/show_bug.cgi?id=62471

        RenderLayerCompositor had some code that did a setNeedsStyleRecalc(), but
        in a way that was safe to call during existing style recalc or layout.
        
        Move this code to ContainerElement so it can be called elsewhere.
        Also add a param to the node callback so we can pass the style change type.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::queuePostAttachCallback):
        (WebCore::ContainerNode::dispatchPostAttachCallbacks):
        (WebCore::needsStyleRecalcCallback):
        (WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
        * dom/ContainerNode.h:
        * dom/Node.h:
        (WebCore::Node::scheduleSetNeedsStyleRecalc):
        * html/HTMLFormControlElement.cpp:
        (WebCore::focusPostAttach):
        (WebCore::updateFromElementCallback):
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
        * html/HTMLPlugInImageElement.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
        * rendering/RenderLayerCompositor.h:
        * svg/SVGUseElement.cpp:
        (WebCore::updateFromElementCallback):

2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: indexedDB.open() name argument is required
        https://bugs.webkit.org/show_bug.cgi?id=62398

        Test: storage/indexeddb/database-name-undefined.html

        * storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments

2011-06-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Common crash in ApplicationCacheHost::isApplicationCacheEnabled
        <rdar://problem/9328684>

        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
        Speculative fix for a null frame on ApplicationCacheHost's DocumentLoader.

2011-06-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove Document::finishParsing
        https://bugs.webkit.org/show_bug.cgi?id=62474

        This function appears to exist only to confuse and befuddle us.  This
        patch prepares for DocumentWriter to grab hold of the parser.

        This patch removes one of the print statements from
        INSTRUMENT_LAYOUT_SCHEDULING, but I'm not sure
        INSTRUMENT_LAYOUT_SCHEDULING works anymore anyway.

        * dom/Document.cpp:
        * dom/Document.h:
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::finish):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::finish):
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::addData):
        (WebCore::DocumentWriter::endIfNotLoadingMainResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stop):

2011-06-10  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB: setVersion() version argument is required
        https://bugs.webkit.org/show_bug.cgi?id=62401

        Test: storage/indexeddb/setVersion-undefined.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::setVersion): check for null version
        * storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments

2011-06-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Null-check the layer owner again when painting layers
        https://bugs.webkit.org/show_bug.cgi?id=62473

        Speculative fix for a crash that occurs when the layer's owner
        gets destroyed during painting.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2011-06-08  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Lighten the --no-svg build a little
        https://bugs.webkit.org/show_bug.cgi?id=62314

        Only generate source from SVG*.idl if the build is svg-enabled.

        * CodeGenerators.pri:

2011-06-10  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Rob Buis.

        Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
        https://bugs.webkit.org/show_bug.cgi?id=59085

        Add glyph table to SVGFontElement mapping between SVGGlyph <-> Glyph
        https://bugs.webkit.org/show_bug.cgi?id=62441

        Preparation patch 1: Introduce the internal glyph table in SVGGlyphMap that will be used to identify each
        SVGGlyph identifier with a Glyph (which is just an ushort). It will be used by follow-up patches.

        Doesn't affect any test so far.

        * platform/graphics/SVGGlyph.h:
        (WebCore::SVGGlyph::SVGGlyph):
        (WebCore::SVGGlyph::operator==):
        * rendering/svg/SVGTextRunRenderingContext.cpp:
        (WebCore::SVGTextRunWalker::walk):
        * svg/SVGFontData.cpp:
        (WebCore::SVGFontData::initializeFontData):
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::SVGFontElement):
        (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
        (WebCore::SVGFontElement::ensureGlyphCache):
        (WebCore::kerningForPairOfStringsAndGlyphs):
        (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
        (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
        (WebCore::SVGFontElement::collectGlyphsForString):
        (WebCore::SVGFontElement::collectGlyphsForGlyphName):
        (WebCore::SVGFontElement::svgGlyphForGlyph):
        (WebCore::SVGFontElement::missingGlyph):
        * svg/SVGFontElement.h:
        (WebCore::SVGKerningPair::SVGKerningPair):
        * svg/SVGGlyphMap.h:
        (WebCore::SVGGlyphMap::addGlyphByUnicodeString):
        (WebCore::SVGGlyphMap::addGlyphByName):
        (WebCore::SVGGlyphMap::appendToGlyphTable):
        (WebCore::SVGGlyphMap::collectGlyphsForString):
        (WebCore::SVGGlyphMap::clear):
        (WebCore::SVGGlyphMap::svgGlyphForGlyph):
        (WebCore::SVGGlyphMap::glyphIdentifierForGlyphName):

2011-06-10  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Regression r85573: Blank pages appear at the end of some wikipedia documents.
        https://bugs.webkit.org/show_bug.cgi?id=62343

        Fix regression caused by r85573. Cached document size not updated after layout.

        Test: printing/page-count-relayout-shrink.html

        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutForPagination):

2011-06-10  Rob Buis  <rbuis@rim.com>

        Reviewed by Nikolas Zimmermann.

        amation event handling broken: focusin
        https://bugs.webkit.org/show_bug.cgi?id=12894

        focusin, focusout, activate not implemented in SVG
        https://bugs.webkit.org/show_bug.cgi?id=40545

        Make elements that should support GraphicalEventAttribute handle focussing, since focusin, focusout is part of that:

        http://www.w3.org/TR/SVG11/intro.html#TermGraphicalEventAttribute

        Match Opera behaviour ; elements that support GraphicalEventAttribute can receive visual mouse focus when having either a focusin or focusout event handler. Elements that support GraphicalEventAttribute can receive visual keyboard focus when having either a focusin or focusout event handler. Keyboard focus does not advance to SVG elements that are not focusable at the time.

        Tests: svg/custom/focus-event-handling-keyboard.xhtml
               svg/custom/focus-event-handling.xhtml

        * rendering/svg/SVGRenderSupport.cpp:
        (WebCore::SVGRenderSupport::computeRectForRepaint):
        * svg/SVGCircleElement.h:
        (WebCore::SVGCircleElement::supportsFocus):
        * svg/SVGEllipseElement.h:
        (WebCore::SVGEllipseElement::supportsFocus):
        * svg/SVGGElement.h:
        (WebCore::SVGGElement::supportsFocus):
        * svg/SVGImageElement.h:
        (WebCore::SVGImageElement::supportsFocus):
        * svg/SVGLineElement.h:
        (WebCore::SVGLineElement::supportsFocus):
        * svg/SVGPathElement.h:
        (WebCore::SVGPathElement::supportsFocus):
        * svg/SVGPolyElement.h:
        (WebCore::SVGPolyElement::supportsFocus):
        * svg/SVGRectElement.h:
        (WebCore::SVGRectElement::supportsFocus):
        * svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::supportsFocus):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::isMouseFocusable):
        (WebCore::SVGStyledElement::isKeyboardFocusable):
        * svg/SVGStyledElement.h:
        * svg/SVGSwitchElement.h:
        (WebCore::SVGSwitchElement::supportsFocus):
        * svg/SVGSymbolElement.h:
        (WebCore::SVGSymbolElement::supportsFocus):
        * svg/SVGTextElement.h:
        (WebCore::SVGTextElement::supportsFocus):
        * svg/SVGUseElement.h:
        (WebCore::SVGUseElement::supportsFocus):

2011-06-10  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Clean up CSSPrimitiveValue::computeLength*
        https://bugs.webkit.org/show_bug.cgi?id=61612

        No new tests as no functionality changed.

        * css/CSSGradientValue.cpp:
        Use new computeLength functions.
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
        Reduce to a single function using default parameter values.
        (WebCore::CSSPrimitiveValue::computeLength):
        Redefine existing functions with separate names as a single function using templated function specialization.
        * css/CSSPrimitiveValue.h:
        Prototypes for computeLengthIntForLength and computeLength.
        * css/CSSStyleApplyProperty.cpp:
        Use new computeLength functions.
        * css/CSSStyleSelector.cpp:
        Use new computeLength functions.
        * css/MediaQueryEvaluator.cpp:
        Use new computeLength functions.
        * css/SVGCSSStyleSelector.cpp:
        Use new computeLength functions.

2011-06-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        Add utility to RenderLayer to determine if the layer is scrollable
        https://bugs.webkit.org/show_bug.cgi?id=62467

        New method that returns true if either scrollbar is present and enabled.
        Not called anywhere yet.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::allowsScrolling):
        * rendering/RenderLayer.h:

2011-06-10  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Tony Chang.

        REGRESSION (r88332): prototype-inheritance-2 ASSERTS attempting to enumerate spellCheckRanges
        https://bugs.webkit.org/show_bug.cgi?id=62460

        Test: fast/dom/prototype-inheritance-2.html

        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::userSpellingMarkersForNode): Added an extra 0-check.

2011-06-10  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Gentilcore.

        Don't execute scripts in shadow SVG.
        https://bugs.webkit.org/show_bug.cgi?id=62225

        Test: svg/dom/use-style-recalc-script-execute-crash.html

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::prepareScript):

2011-06-10  Konstantin Tokarev  <ktokarev@smartlabs.tv>

        Reviewed by Joseph Pecoraro.

        Fixed build with enabled workers and disabled inspector
        https://bugs.webkit.org/show_bug.cgi?id=62461

        * inspector/InspectorWorkerAgent.cpp: Added inspector guard

2011-06-10  Darin Adler  <darin@apple.com>

        Reviewed by Eric Carlson.

        REGRESSION: Fullscreen video controller can't be dragged
        https://bugs.webkit.org/show_bug.cgi?id=62462

        No regression test because we don't have machinery for testing the fullscreen
        mode. We may find a way to add this in the future.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
        booleans related to dragging.
        (WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
        is allowed and a drag isn't already in progress.
        (WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
        dragging is already in progress.
        (WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
        done during the dragging process.
        (WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
        using explicit top/left.
        (WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
        done by setPosition.
        (WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
        continueDrag, and endDrag in response to mouse events.
        (WebCore::MediaControlPanelElement::setCanBeDragged): Added.
        * html/shadow/MediaControlElements.h: Added new function and data members
        as mentioned above.

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
        so you can drag the panel while in fullscreen.
        (WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
        so you can't drag the panel while not in fullscreen. Also call resetPosition so
        position changes from dragging don't affect the panel in other contexts.

2011-06-10  Darin Adler  <darin@apple.com>

        Reviewed by Eric Carlson.

        REGRESSION: Full screen video HUD is positioned too low for standalone video documents
        https://bugs.webkit.org/show_bug.cgi?id=62463

        No test because we don't currently have machinery for testing fullscreen.

        * css/fullscreen.css: Removed rule that said bottom: 0px for the control panel
        for full page media in full screen mode. This is not needed because the control
        panel for full screen mode already has style rules to set its vertical position.
        (:-webkit-full-screen-ancestor:not(iframe)): Fixed typo where it said
        -webkit-tranform. This will fix a potential problem where fullscreen would
        malfunction on a page that had a media element inside a transform.

2011-06-10  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Add support for non-ASCII filenames in Content-Disposition header
        https://bugs.webkit.org/show_bug.cgi?id=62454

        Try latin1 as fallback for header parameter values as some servers
        do not follow RFC 2045 for example with filename parameter in
        Content-Disposition.

        No new tests required as no functionality changed.

        * platform/network/soup/ResourceResponseSoup.cpp:
        (WebCore::ResourceResponse::updateFromSoupMessage):

2011-06-10  No'am Rosenthal  <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Add layer factory to GraphicsLayer for creating non-default layer type.
        https://bugs.webkit.org/show_bug.cgi?id=61925

        Added a static factory protected member to GraphicsLayer, which should be accessed from
        a port-specific implementation of GraphicsLayer::create. For now this is enabled for Qt only.

        This is needed for accelerated compositing across processes in WebKit2, since WebCore
        doesn't know in compile time whether it's in WebKit or WebKit2, which makes having two
        different implementations of GraphicsLayer coexist impossible without some runtime
        factory that can be overridden by the web process.

        Note that the use of the factory would be optional, and the port-specific GraphicsLayer::create
        would have to explicitly call it, in order to be unintrusive with current implementations.

        No new functionality, so no new tests.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::setGraphicsLayerFactory):
        * platform/graphics/GraphicsLayer.h:

2011-06-10  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [CMAKE] Add generic support for building with WebGL
        https://bugs.webkit.org/show_bug.cgi?id=62376

        Set new THIRDPARTY_DIR variable to compile sources under ThirdParty.

        No change in functionality so no new tests.

        * CMakeLists.txt:

2011-06-10  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Andreas Kling.

        [GTK][EFL] m_imageInterpolationQuality is not initialized in PlatformContextCairo::PlatformContextCairo.
        https://bugs.webkit.org/show_bug.cgi?id=62435

        No new tests required as just fixed warning.

        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::PlatformContextCairo::PlatformContextCairo):

2011-06-11-06-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
        https://bugs.webkit.org/show_bug.cgi?id=62377

        * inspector/InspectorValues.cpp:

2011-06-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88530.
        http://trac.webkit.org/changeset/88530
        https://bugs.webkit.org/show_bug.cgi?id=62440

        qt build was broken (Requested by loislo on #webkit).

        * inspector/InspectorValues.cpp:

2011-06-09  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
        https://bugs.webkit.org/show_bug.cgi?id=62377

        * inspector/InspectorValues.cpp:

2011-06-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: Vertical scroll bar appears when taking videos into full screen at jerryseinfeld.com
        https://bugs.webkit.org/show_bug.cgi?id=62402

        Sites are able to override the "overflow:hidden" rule for root full-screen nodes
        simply by adding a "html {}" rule.  Make this rule !important, and also make it apply
        to root nodes who are merely ancestors of full-screen elements, to cover the case of
        a root node containing an <iframe> whose contents have gone full-screen.

        * css/fullscreen.css:
        (:root:-webkit-full-screen-document:not(:-webkit-full-screen),
            :root:-webkit-full-screen-ancestor): Apply the overflow rule to root elements
            who are full-screen ancestors, and make them !important.

2011-06-09  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Rename RenderStyle visuallyOrdered property and use an enum instead of a bool.
        https://bugs.webkit.org/show_bug.cgi?id=61495

        No new tests required as no functionality changed.

        * css/CSSPrimitiveValueMappings.h:
        Support cast to/from Order
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        Convert from bool to enum type.
        (WebCore::CSSStyleSelector::applyProperty):
        Convert to macro that uses the cast defined in CSSPrimitiveValueMappings.
        * dom/Document.cpp:
        (WebCore::Document::setVisuallyOrdered):
        Change call to RenderStyle::setRTLOrdering using enum parameter.
        * rendering/style/RenderStyle.h:
        rename visuallyOrdered proerties rtlOrdering and use appropriate enum types.
        * rendering/style/RenderStyleConstants.h:
        Define enum type.

2011-06-09  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Implement CSSPropertyOutlineStyle handler in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=61601

        No new tests. No new functionality added / covered by existing tests.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::operator EBorderStyle):
        Support CSSValueAuto as required by outline-style property.
        (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
        Add cast to new OutlineIsAuto enum.
        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Initialize handler for CSSPropertyOutlineStyle.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove old handler for CSSPropertyOutlineStyle.
        * rendering/style/OutlineValue.h:
        Use new OutlineIsAuto enum instead of bool.
        * rendering/style/RenderStyle.h:
        Split existing two-parameter setter setOutlineStyle into separate setters for style and auto properties.
        Use new OutlineIsAuto enum type.
        * rendering/style/RenderStyleConstants.h:
        Define new enum OutlineIsAuto.

2011-06-09  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Code cleanup - add wrappers for function pointer dereferences to improve readability in ApplyPropertyDefaultBase and derived classes.
        https://bugs.webkit.org/show_bug.cgi?id=62418

        No new tests / cleanup only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
        Use new wrapper functions.
        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
        Use new wrapper functions.
        (WebCore::ApplyPropertyDefaultBase::setValue):
        Wrapper for calling m_setter function pointer.
        (WebCore::ApplyPropertyDefaultBase::value):
        Wrapper for calling m_getter function pointer.
        (WebCore::ApplyPropertyDefaultBase::initial):
        Wrapper for calling m_initial function pointer.
        (WebCore::ApplyPropertyDefault::applyValue):
        Use new setValue function.
        (WebCore::ApplyPropertyLength::applyValue):
        Use new setValue function.
        (WebCore::ApplyPropertyWidth::applyValue):
        Use new setValue function.

2011-06-09  Hyowon Kim  <hw1008.kim@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Make accelerated compositing build in Webkit-EFL
        https://bugs.webkit.org/show_bug.cgi?id=62361

        Add a new class, GraphicsLayerEfl - not yet implemented.
        Add ACCELERATED_COMPOSITING related files to CMakeLists.

        * CMakeLists.txt:
        * CMakeListsEfl.txt:
        * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
        (WebCore::GraphicsLayer::create):
        (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
        (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
        (WebCore::GraphicsLayerEfl::setNeedsDisplay):
        (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
        * platform/graphics/efl/GraphicsLayerEfl.h: Added.

2011-06-09  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Calling WebKitBlobBuilder.append with null argument should not crash
        https://bugs.webkit.org/show_bug.cgi?id=62419

        Test: fast/files/blob-builder-crash.html

        * fileapi/WebKitBlobBuilder.cpp:
        (WebCore::WebKitBlobBuilder::append):

2011-06-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by David Hyatt.

        Roll out r88468, and fix bug #61911 without making Element::offset functions virtual.
        https://bugs.webkit.org/show_bug.cgi?id=62400

        No new tests; covered by existing fullscreen/full-screen-video-offset.html test.

        * rendering/RenderVideo.cpp:
        (WebCore::rendererPlaceholder): Added; returns the placeholder block, if it exists.
        (WebCore::RenderVideo::offsetLeft): Pass the offset request to the placeholder block.
        (WebCore::RenderVideo::offsetTop): Ditto.
        (WebCore::RenderVideo::offsetWidth): Ditto.
        (WebCore::RenderVideo::offsetHeight): Ditto.
        * rendering/RenderVideo.h: Added virtual overrides for the offset functions.

2011-06-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Scissor rect not set for clipping layers set offscreen
        https://bugs.webkit.org/show_bug.cgi?id=62339

        We set a scissorRect on each layer, but only layers with masksToBounds and their descendants should actually set
        a scissor.  Layers that didn't need to scissor had empty scissorRects.  Unfortunately layers with masksToBounds
        and their descendants that are scrolled offscreen also end up with an empty clipped scissor rect.

        This patch sets an explicit bit on each layer that should scissor and then checks that bit instead of checking
        for an empty scissor rect at draw time.  RenderSurfaceChromiums have different requirements for
        setScissorToRect, so the old behavior is still available with a flag.  This can probably be cleaned up more.

        Test: platform/chromium/compositing/scissor-out-of-viewport.html

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::setScissorToRect):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::draw):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::setUsesLayerScissor):
        (WebCore::CCLayerImpl::usesLayerScissor):

2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88468.
        http://trac.webkit.org/changeset/88468
        https://bugs.webkit.org/show_bug.cgi?id=62408

        It broke build if !ENABLE(FULLSCREEN_API) (Requested by Ossy
        on #webkit).

        * dom/Element.cpp:
        (WebCore::adjustForLocalZoom):
        * dom/Element.h:
        * html/HTMLMediaElement.cpp:
        * html/HTMLMediaElement.h:

2011-06-09  Kenneth Russell  <kbr@google.com>

        Reviewed by Adam Barth.

        Disallow use of cross-domain media (images, video) in WebGL
        https://bugs.webkit.org/show_bug.cgi?id=62257

        Updated WebGL implementation to track recent spec updates in this area.

        Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
               http/tests/security/webgl-remote-read-remote-image-allowed.html
               http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html

        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::wouldTaintOrigin):
        (WebCore::CanvasRenderingContext::checkOrigin):
        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::checkOrigin):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::videoFrameToImage):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        * html/canvas/WebGLRenderingContext.h:

2011-06-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add an ASSERT to HTMLTreeBuilder
        https://bugs.webkit.org/show_bug.cgi?id=62403

        This ASSERT was useful in investigating a re-entrancy bug.  We should
        keep it.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processEndOfFile):

2011-06-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Fix a regression from r88478.

        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Add the runs
        in reverse order in the RTL case here, since the whole vector is reversed by collectComplexTextRuns()
        afterwards.

2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Antti Koivisto.

        REGRESSION(84329): Stylesheets on some pages do not load
        https://bugs.webkit.org/show_bug.cgi?id=61400

        Test: fast/css/link-disabled-attr.html

        Fixed r84329: the change did not take into account the fact
        that HTMLLinkElement did already contain the disabled information
        and the 2 information were not linked as they should have!

        The new logic pushes the information to the stylesheet as this
        is what the spec mandates and what FF is doing. Also it keeps
        one bit of information (that JS enabled the stylesheet) as it
        is needed for the recalcStyleSelector logic.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyleSelector): s/isDisabled/disabled.

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement): Removed m_disabledState,
        replaced by m_isEnabledViaScript.
        (WebCore::HTMLLinkElement::setDisabled): Updated the logic after
        m_disabledState removal. It also matches the spec by forwarding
        the disabled state to our stylesheet if we have one.
        (WebCore::HTMLLinkElement::parseMappedAttribute): Removed harmful
        handling of the disabledAttr.
        (WebCore::HTMLLinkElement::process): Updated after m_disabledState removal.
        * html/HTMLLinkElement.h:
        (WebCore::HTMLLinkElement::isEnabledViaScript): Ditto.
        (WebCore::HTMLLinkElement::isAlternate): Ditto.

2011-06-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Simplify ComplexTextController::collectComplexTextRuns()
        https://bugs.webkit.org/show_bug.cgi?id=62387

        No new test, since functionality is unchanged.

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::collectComplexTextRuns): Always iterate characters in logical order,
        then reverse the run vector for RTL.

2011-06-09  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Kent Tamura.

        Fold isShadowBoundary into isShadowRoot.
        https://bugs.webkit.org/show_bug.cgi?id=62317

        Since there are no longer cases where Node::isShadowBoundary() != Node::isShadowRoot, we can remove this function.

        In one case where isShadowBoundary was also tested to find ShadowContentElemnt, added a new isContentElement function.

        Refactoring, covered by existing tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::isAtShadowBoundary): Changed to use isShadowRoot.
        * dom/Element.cpp:
        (WebCore::Element::isSpellCheckingEnabled): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
        (WebCore::Node::nonShadowBoundaryParentNode): Ditto.
        * dom/Node.h:
        (WebCore::Node::isContentElement): Added.
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::NodeRenderingContext): Changed to use isShadowRoot.
        * dom/Position.cpp:
        (WebCore::Position::Position): Ditto.
        * dom/ShadowContentElement.h:
        (WebCore::ShadowContentElement::isContentElement): Added.
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::hasContentElement): Changed to use isContentElement.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertNodeAfter): Changed to use isShadowRoot.
        * editing/htmlediting.cpp:
        (WebCore::visiblePositionBeforeNode): Ditto.
        (WebCore::visiblePositionAfterNode): Ditto.
        * page/DragController.cpp:
        (WebCore::asFileInput): Ditto.
        * rendering/RenderTreeAsText.cpp:
        (WebCore::nodePosition): Ditto.

2011-06-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Crashes in RenderLayerBacking::paintingGoesToWindow
        https://bugs.webkit.org/show_bug.cgi?id=61159

        Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
        finds a repaintContainer that is not the RenderView, but that is also not
        composited (for unknown reasons), by checking to see if the layer is
        compositing before using backing(). An assertion remains to try to catch
        this in debug builds.

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

2011-06-09  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        WebCore::WebKitCSSKeyframesRuleInternal::nameAttrSetter() - crash
        https://bugs.webkit.org/show_bug.cgi?id=62384

        Test: fast/css/webkit-keyframes-crash.html

        * css/WebKitCSSKeyframesRule.cpp:
        (WebCore::WebKitCSSKeyframesRule::setName): stylesheet() is never garanteed
        to return a non-null pointer. Thus null-check here like the rest of the code.

2011-06-09  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by David Hyatt.

        chrome.dll!WebCore::RenderStyle::fontMetrics ReadAV@NULL (two crashes)
        https://bugs.webkit.org/show_bug.cgi?id=57756

        Tests: fast/css/fontMetric-border-radius-null-crash.html
               fast/css/fontMetric-webkit-border-end-width-null-crash.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement): Added a call to Font::update
        so that our FontFallbackList is allocated if we ever need it when applying our
        style rules.

2011-06-09  Cary Clark  <caryclark@google.com>

        Reviewed by Eric Seidel.

        Create local CG context for Mac UI elements when Skia is renderer
        https://bugs.webkit.org/show_bug.cgi?id=62213

        When building Mac Chrome using Skia as the WebKit renderer,
        add state to LocalCurrentGraphicsContext to convert the SkCanvas
        context passed by WebKit into the CGContext needed by UI
        rendering.

        No new tests.  The define typo in question is
        not yet enabled, so this change has no functional
        impact.

        * platform/mac/LocalCurrentGraphicsContext.h:
        Add SkiaBitLocker to create and release the converted CGContext.
        Add ContextContainer, a class for Skia to create and release
        the converted CGContext. If Skia is not used, the class has no effect.

        * platform/mac/LocalCurrentGraphicsContext.mm:
        (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
        When building with Skia, create the CGContext before passing it on.

        (WebCore::LocalCurrentGraphicsContext::cgContext):
        Get the CGContext from the SkiaBitLocker, or the saved context,
        as appropriate.

        * rendering/RenderThemeMac.mm:
        Get the CGContext from Skia conversion or native, as appropriate.
        Use the LocalCurrentGraphicsContext if there is one. Otherwise,
        add a ContextContainer to house the SkCanvas to CGContext conversion.

        (WebCore::RenderThemeMac::paintCapsLockIndicator):
        (WebCore::RenderThemeMac::paintProgressBar):
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintSliderTrack):
        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeMac::paintMediaMuteButton):
        (WebCore::RenderThemeMac::paintMediaPlayButton):
        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        (WebCore::RenderThemeMac::paintMediaSliderThumb):
        (WebCore::RenderThemeMac::paintMediaRewindButton):
        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
        (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
        (WebCore::RenderThemeMac::paintMediaControlsBackground):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
        (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer):
        (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb):

2011-06-02  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        REGRESSION: Page layout messed up after exiting full screen after video ends at jerryseinfeld.com
        https://bugs.webkit.org/show_bug.cgi?id=61911
        <rdar://problem/9523017>

        Test: fullscreen/full-screen-video-offset.html

        When the video element is taken full-screen in the new element full-screen API, return the
        offset width and height of the placeholder renderer which is filling in for the full-screen
        element.  To do so, override offsetWidth, Height, Left, and Top from Element.  These are
        non-virtual functions, so make them virtual.

        * dom/Element.cpp:
        (WebCore::Element::adjustForLocalZoom): Made into a class-static function.
        * dom/Element.h: Made offset functions virtual.
        * html/HTMLMediaElement.cpp:
        (WebCore::elementPlaceholder): Added; utility function.
        (WebCore::HTMLMediaElement::offsetLeft): Added; virtual override of the 
            Element function. Will be called directly via javascript.
        (WebCore::HTMLMediaElement::offsetTop): Ditto.
        (WebCore::HTMLMediaElement::offsetWidth): Ditto.
        (WebCore::HTMLMediaElement::offsetHeight): Ditto.
        * html/HTMLMediaElement.h:

2011-06-09  Dave Tapuska  <dtapuska@rim.com>

        Reviewed by Daniel Bates.

        PingLoader destructor could dereference 0 if the Resource
        Handle creation failed.

        https://bugs.webkit.org/show_bug.cgi?id=62304

        * loader/PingLoader.cpp:
        (WebCore::PingLoader::~PingLoader):

2011-06-08  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Ryosuke Niwa.

        Make indexForVisiblePosition and isSelectableElement static.
        https://bugs.webkit.org/show_bug.cgi?id=62329

        This protects us when converting frame->selection->start() or end()
        to VisiblePosition which blows away the RenderTextControl from
        underneath (due to layout update).

        Test: fast/forms/text-control-selection-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::selectionStart):
        (WebCore::RenderTextControl::selectionEnd):
        (WebCore::RenderTextControl::isSelectableElement):
        (WebCore::RenderTextControl::indexForVisiblePosition):
        * rendering/RenderTextControl.h:

2011-06-09  Ben Murdoch  <benm@google.com>

        Reviewed by Yury Semikhatsky.

        Build break in ScriptProfile.cpp and inspector disabled.
        https://bugs.webkit.org/show_bug.cgi?id=62373

        No new tests - build fix only.

        * bindings/v8/ScriptProfile.cpp: Add necessary guards.
        * bindings/v8/ScriptProfile.h: ditto.

2011-06-09  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Network panel preview tab does not reattach SourceFrame when switching between preview and response tabs.
        https://bugs.webkit.org/show_bug.cgi?id=62298

        * inspector/front-end/ResourcePreviewView.js:
        (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
        (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):

2011-06-09  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt][Mac] Speculative buildfix after r88286.

        * platform/graphics/IntPoint.h:

2011-06-09  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by Kent Tamura.

        Parsing issue with -webkit-calc
        https://bugs.webkit.org/show_bug.cgi?id=62276

        Set the CSSParserString for the calc functions.

        Test: css3/calc/regression-62276.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::lex):

2011-06-09  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        Teach Qt about window.internals
        https://bugs.webkit.org/show_bug.cgi?id=61074

        A weakness of the Qt DRT setup is that things like JSContextRef are abstracted
        away from the QtWebKit API so we need DumpRenderTreeSupportQt to access WebCore internals.
        Since the window.internals object requires JSContextRef we need to implement it in DumpRenderTreeSupportQt
        where we can access it. DumpRenderTreeSupportQt cannot be compiled outside Qt's WebCore and as it
        is our only possible route into the WebCoreTestSupport class neither can the new window.internals plumbing.
        Likewise we can't put the accessor in WebCoreTestSupport because it would then need to know about QWebFrame
        and others. The only alternative seems like a compile time guard which we would have to teach the bots about.

        * CodeGenerators.pri:
        * WebCore.pri:
        * WebCore.pro:

2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
        https://bugs.webkit.org/show_bug.cgi?id=52791

        No new tests. The problem can be reproduced by trying to create InspectorValue
        from 1.0e-100 and call ->toJSONString() on this.

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):
        Added checking the predicted buffer size and choosing exponential format, or
        eventually "NaN" if the buffer is too small for decimal format.

2011-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88387.
        http://trac.webkit.org/changeset/88387
        https://bugs.webkit.org/show_bug.cgi?id=62368

        New tests introduced in 88387 fail on Leopard,GTK,Qt bots
        (Requested by Ossy on #webkit).

        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::checkOrigin):
        * html/canvas/CanvasRenderingContext.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::videoFrameToImage):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        * html/canvas/WebGLRenderingContext.h:

2011-06-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Running script from attach can remove elements from the stack of open elements
        https://bugs.webkit.org/show_bug.cgi?id=62160

        When the tree build runs script synchronously, that script can remove
        arbitrary elements from the stack of open elements.  We need to hold a
        reference to |parent| in attach instead of rely upon the reference in
        the stack of open elements.

        Test: fast/parser/document-write-onload-clear.html

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attach):

2011-06-08  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Make CSSPrimitiveValue support cast to EVerticalAlign.
        https://bugs.webkit.org/show_bug.cgi?id=62356

        No new tests / refactoring only.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2011-06-08  Justin Novosad  <junov@chromium.org>

        Reviewed by James Robinson.

        [Chromium] Crash when closing a tab with accelerated 2d canvas
        https://bugs.webkit.org/show_bug.cgi?id=62324
        Upon graphics context destruction, it is important to signal skia
        to abandon all of its resource handles.  This prevents a crash caused
        by skia attempting to release resources that were in the destroyed
        graphics context.

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):

2011-06-08  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        REGRESSION(88260): 10-50% performance regression across many page cyclers
        https://bugs.webkit.org/show_bug.cgi?id=62349

        r88260 fixed a font cache resource leak and lowered the inactive font cache threshold.  The latter caused a
        significant performance regression across many chromium page cyclers, for example
        http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/moz/report.html?history=50&rev=88279.

        This restores the previous inactive font size thresholds to their previous values, but retains the font cleanup
        logic.

        * platform/graphics/FontCache.cpp:

2011-06-08  Hayato Ito  <hayato@chromium.org>

        Reviewed by Dimitri Glazkov.

        A forward/backward tab traversal now visits focusable elements in a shadow root.
        https://bugs.webkit.org/show_bug.cgi?id=61410

        Test: fast/dom/shadow/tab-order-iframe-and-shadow.html

        Like a iframe element, a shadow host becomes a scope of
        tabindex. That means all descendant elements in a shadow root are
        skipped if the host node of the shadow root is not focusable.

        The patch doesn't affect HTMLInputElement and HTMLTextAreaElement,
        which uses a shadow root and do extra works in their focus()
        method.

        A shadow root's <content> is not considered in this patch.
        That will be addressed in a following patch.

        * page/FocusController.cpp:
        (WebCore::shadowRoot):
        (WebCore::isTreeScopeOwner):
        (WebCore::FocusController::deepFocusableNode):
        (WebCore::FocusController::advanceFocusInDocumentOrder):
        (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
        (WebCore::FocusController::findFocusableNode):
        (WebCore::FocusController::nextFocusableNode):
        (WebCore::FocusController::previousFocusableNode):
        (WebCore::FocusController::ownerOfTreeScope):
        * page/FocusController.h:

2011-06-08  Hayato Ito  <hayato@chromium.org>

        Reviewed by Hajime Morita.

        Makes sure that document.activeElement won't be an element in shadow root.

        https://bugs.webkit.org/show_bug.cgi?id=61413

        Test: fast/dom/shadow/activeelement-should-be-shadowhost.html

        * html/HTMLDocument.cpp:
        (WebCore::focusedFrameOwnerElement):
        (WebCore::HTMLDocument::activeElement):

2011-06-08  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Allow drawing a slider thumb for any nodes.
        https://bugs.webkit.org/show_bug.cgi?id=62196

        RenderObject::node() should provide various information which is
        necessary for rendering. We don't need to refer the parent renderer.

        * dom/Node.cpp:
        (WebCore::Node::focusDe1egate): Added.
        * dom/Node.h: Added a declaration.
        * html/shadow/MediaControlElements.cpp:
        (WebCore::toParentMediaElement):
          Added an overload of toParentMediaElement() with Node* parameter.
        * html/shadow/MediaControlElements.h:
        (WebCore::toParentMediaElement): ditto.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::isEnabledFormControl):
          Returns the status of the host node.
        (WebCore::SliderThumbElement::isReadOnlyFormControl): ditto.
        (WebCore::SliderThumbElement::focusDe1egate):
          Returns the host node so that RenderTheme::isFocused() returns true.
        (WebCore::SliderThumbElement::detach): Style nit.
        (WebCore::SliderThumbElement::hostInput):
          Make it const because it is called by const functions.
        * html/shadow/SliderThumbElement.h:
          - Remove inDragMode()
          - Update declarations
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMediaSliderThumb):
          Use Node::shadowAncestorNode() instead of RenderObject::parent() to
          support deeper thumb nodes.
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::paintMediaSliderThumb): ditto.
        (WebCore::paintMediaVolumeSliderThumb): Remove isSlider() check.
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::inDragMode):
          SliderThumbElement::inDragMode() was removed, and Node::active() has
          the same information.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint): Remove isSlider() checks.
        (WebCore::RenderTheme::isFocused): Apply Node::focusDelegate().
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
          isPressed() is enough.
        * rendering/RenderThemeChromiumWin.cpp:
          isEnabled(), isFocused(), and isPressed() are enough.
        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
        (WebCore::RenderThemeChromiumWin::determineClassicState):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb):
          - Remove isSlider() check.
          - Passing 'o' to udpateFooState functions is enough.
          - isPressed() is enough.
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintSliderThumb):
          We don't need special handling anymore.
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::determineSliderThumbState):
          isEnabled(), isFocused(), and isPressed() are enough.

2011-06-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        constructTreeFromToken can re-enter parser, causing ASSERTs
        https://bugs.webkit.org/show_bug.cgi?id=62160

        This patch clears the HTMLToken before constructing the tree from the
        token, putting the HTMLDocumentParser in a good state to be re-entered.

        Tests: fast/parser/document-write-onload-nesting.html
               fast/parser/document-write-onload-ordering.html

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        * html/parser/HTMLToken.h:
        (WebCore::HTMLToken::isUninitialized):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::constructTreeFromToken):

2011-06-08  Kent Tamura  <tkent@chromium.org>

        Fix Qt build for r88405.
        https://bugs.webkit.org/show_bug.cgi?id=62208

        * platform/qt/RenderThemeQt.h:

2011-06-08  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Change the argument of RenderTheme::adjustSliderThumbSize(): RenderObject* -> RenderStyle*
        https://bugs.webkit.org/show_bug.cgi?id=62208

        Change the argument type of RenderTheme::adjustSliderThumbSize() and
        RenderMediaControls::adjustMediaSliderThumbSize() from RenderObject* to RenderStyle*.

        Also, each of adjustSliderThumbStyle() overrides calls RenderTheme::
        adjustSliderThumbStyle() for future changes.

        No new tests. This is a refactoring and should not change any behavior.

        * html/shadow/SliderThumbElement.cpp:
        (WebCore::RenderSliderThumb::layout): Passing RenderStyle* and remove a FIXME comment.
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustSliderThumbStyle): ditto.
        (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustSliderThumbStyle): ditto.
        (WebCore::RenderThemeQt::adjustSliderThumbSize):
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
        * rendering/RenderMediaControls.h:
        * rendering/RenderMediaControlsChromium.cpp:
        (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
        * rendering/RenderMediaControlsChromium.h:
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout): Passing RenderStyle* and remove a FIXME comment.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustSliderThumbStyle): Add a comment.
        (WebCore::RenderTheme::adjustSliderThumbSize):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
        * rendering/RenderThemeChromiumLinux.h:
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
        * rendering/RenderThemeChromiumWin.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
        (WebCore::RenderThemeMac::adjustSliderThumbSize):
        (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
        (WebCore::RenderThemeSafari::adjustSliderThumbSize):
        * rendering/RenderThemeSafari.h:
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::adjustSliderThumbSize):
        * rendering/RenderThemeWin.h:
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
        * rendering/RenderThemeWinCE.h:

2011-06-08  Brian Salomon  <bsalomon@google.com>

        Reviewed by James Robinson.

        Avoid always binding FBO 0 implicitly when deleting FBO in DrawingBuffer code because it invalidates Ganesh's cache of the current FBO.
        https://bugs.webkit.org/show_bug.cgi?id=62318

        Chromium-only crash
        Failures takes multiple seconds to occur, relying on JS garbage-collection to occur 
        http://www.hotbazooka.com/privatejoe-large

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):

2011-06-08  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        RenderEmbeddedObject::getReplacementTextGeometry
        https://bugs.webkit.org/show_bug.cgi?id=62313

        Replace the last use of tx, ty with IntPoint.

        Covered by existing tests.

        * platform/graphics/FloatRect.h:
        (WebCore::FloatRect::move):
        (WebCore::FloatRect::moveBy):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintReplaced):
        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
        (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator):
        * rendering/RenderEmbeddedObject.h:

2011-06-08  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Ryosuke Niwa.

        Use correct CFURLStorageSessionRef definition on Leopard, as
        we created an inconsistency in const-ness between
        WebCoreSystemInterface.h and these two files in the case
        of Leopard only.
        https://bugs.webkit.org/show_bug.cgi?id=62223

        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceRequest.h:

2011-06-08  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by Mihai Parparita.

        Chromium Mac: Enable overlay scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=59756

        Sync ScrollbarThemeChromiumMac.mm/.h with ScrollbarThemeMac.mm to pick up support for overlay scrollbars. The only changes are renaming ScrollbarThemeMac to ScrollbarThemeChromiumMac and using runtime checks instead of #ifdef's.

        No new tests, since this code is only enabled on future versions of Mac OS X.

        * platform/chromium/ScrollAnimatorChromiumMac.mm: All changes to this file except in scroll() were to swap #if USE(WK_SCROLLBAR_PAINTER) with runtime checks.
        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentsResized):
        (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
        (preferredScrollerStyle): Disabled overlay scrollbar styles due to trailing artifacts.
        (wkScrollbarPainterPaint): Fixed a problem where the scrollbar track wasn't being drawn.
        (wkScrollbarPainterKnobRect): Implemented a previously unimplemented function.
        (wkSetScrollbarPainterKnobStyle): Implemented a function that's now supported by the latest Mac OS X seeds.
        (isScrollbarOverlayAPIAvailable): Enabled new scrollbar code.
        * platform/chromium/ScrollbarThemeChromiumMac.h:
        * platform/chromium/ScrollbarThemeChromiumMac.mm: Sync with ScrollbarThemeMac.mm.
        (WebCore::scrollbarMap):
        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
        (WebCore::updateArrowPlacement):
        (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
        (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
        (WebCore::ScrollbarThemeChromiumMac::hasButtons):
        (WebCore::ScrollbarThemeChromiumMac::hasThumb):
        (WebCore::buttonRepaintRect):
        (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
        (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
        (WebCore::toScrollbarPainterKnobStyle):
        (WebCore::ScrollbarThemeChromiumMac::paint):

2011-06-06  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Remove all knowledge of CachedResourceRequests from
        CachedResourceLoader. This puts the full burden of
        canceling these requests on DocumentLoader (via
        SubresourceLoader), and makes a CachedResourceRequest
        an OwnPtr in CachedResource.

        https://bugs.webkit.org/show_bug.cgi?id=62308

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::load):
        (WebCore::CachedResource::stopLoading):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::~CachedResourceLoader):
        (WebCore::CachedResourceLoader::loadDone):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::CachedResourceRequest):
        (WebCore::CachedResourceRequest::~CachedResourceRequest):
        (WebCore::CachedResourceRequest::load):
        (WebCore::CachedResourceRequest::didFinishLoading):
        (WebCore::CachedResourceRequest::didFail):
        (WebCore::CachedResourceRequest::didReceiveResponse):
        (WebCore::CachedResourceRequest::end):
        * loader/cache/CachedResourceRequest.h:

2011-06-08  Mike Reed  <reed@google.com>

        Reviewed by James Robinson.

        [Skia] check for null-shader from gradient factory
        https://bugs.webkit.org/show_bug.cgi?id=62319

        * platform/graphics/skia/GradientSkia.cpp:
        (WebCore::Gradient::platformDestroy):
        (WebCore::Gradient::platformGradient):

2011-06-08  Kenneth Russell  <kbr@google.com>

        Reviewed by Adam Barth.

        Disallow use of cross-domain media (images, video) in WebGL
        https://bugs.webkit.org/show_bug.cgi?id=62257

        Updated WebGL implementation to track recent spec updates in this area.

        Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
               http/tests/security/webgl-remote-read-remote-image-allowed.html
               http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html

        * html/canvas/CanvasRenderingContext.cpp:
        (WebCore::CanvasRenderingContext::wouldTaintOrigin):
        (WebCore::CanvasRenderingContext::checkOrigin):
        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::checkOrigin):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::videoFrameToImage):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        * html/canvas/WebGLRenderingContext.h:

2011-06-08  John Bauman  <jbauman@chromium.org>

        Reviewed by James Robinson.

        Only draw portions of tiles in contentRect
        https://bugs.webkit.org/show_bug.cgi?id=62243

        Old garbage data can remain in tiles, so make sure to draw only those
        portions that are supposed to be drawn.

        Test: compositing/repaint/shrink-layer.html

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::draw):

2011-06-08  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderBlock::isPointInOverflowControl to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62312

        Covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInOverflowControl):
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInOverflowControl):
        * rendering/RenderListBox.h:

2011-06-08  James Simonsen  <simonjam@chromium.org>

        Reviewed by Tony Gentilcore.

        Fix clang issue, virtual function const mismatch
        https://bugs.webkit.org/show_bug.cgi?id=62307

        No new tests. Built with clang & ran layout tests.

        * page/MediaStreamFrameController.h:
        (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):

2011-06-08  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Implement BiquadFilterNode for filter types: LOWPASS, HIGHPASS, BANDPASS, LOWSHELF, HIGHSHELF, PEAKING, NOTCH, ALLPASS
        https://bugs.webkit.org/show_bug.cgi?id=62078

        No new tests since audio API is not yet implemented.

        * DerivedSources.make:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::Biquad):
        (WebCore::Biquad::reset):
        (WebCore::Biquad::setLowpassParams):
        (WebCore::Biquad::setHighpassParams):
        (WebCore::Biquad::setNormalizedCoefficients):
        (WebCore::Biquad::setLowShelfParams):
        (WebCore::Biquad::setHighShelfParams):
        (WebCore::Biquad::setPeakingParams):
        (WebCore::Biquad::setAllpassParams):
        (WebCore::Biquad::setNotchParams):
        (WebCore::Biquad::setBandpassParams):
        (WebCore::Biquad::setZeroPolePairs):
        (WebCore::Biquad::setAllpassPole):
        * platform/audio/Biquad.h:
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createBiquadFilter):
        (WebCore::AudioContext::createLowPass2Filter):
        (WebCore::AudioContext::createHighPass2Filter):
        * webaudio/AudioContext.h:
        * webaudio/AudioContext.idl:
        * webaudio/AudioNode.h:
        * webaudio/BiquadDSPKernel.cpp:
        (WebCore::BiquadDSPKernel::process):
        * webaudio/BiquadFilterNode.cpp: Added.
        (WebCore::BiquadFilterNode::BiquadFilterNode):
        * webaudio/BiquadFilterNode.h: Added.
        (WebCore::BiquadFilterNode::create):
        (WebCore::BiquadFilterNode::type):
        (WebCore::BiquadFilterNode::setType):
        (WebCore::BiquadFilterNode::frequency):
        (WebCore::BiquadFilterNode::q):
        (WebCore::BiquadFilterNode::gain):
        (WebCore::BiquadFilterNode::biquadProcessor):
        * webaudio/BiquadFilterNode.idl: Added.
        * webaudio/BiquadProcessor.cpp:
        (WebCore::BiquadProcessor::BiquadProcessor):
        * webaudio/BiquadProcessor.h:
        (WebCore::BiquadProcessor::setType):
        * webaudio/HighPass2FilterNode.cpp:
        (WebCore::HighPass2FilterNode::HighPass2FilterNode):
        * webaudio/LowPass2FilterNode.cpp:
        (WebCore::LowPass2FilterNode::LowPass2FilterNode):

2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=61694

        No new tests, code path is not activated yet.

        * WebCore.xcodeproj/project.pbxproj: Changed the TransformOperation subclassed from "project" to "private"

2011-06-08  Tom Sepez  <tsepez@chromium.org>

        Reviewed by Adam Barth.

        Cause checks for insecure content blocking policy to callback to client.
        https://bugs.webkit.org/show_bug.cgi?id=61946
        Tests: platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-allowed.html
               platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html
               platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-allowed.html
               platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-blocked.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::allowDisplayingInsecureContent):
        (WebCore::FrameLoaderClient::allowRunningInsecureContent):

2011-06-08  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix after introduction of FontCache::ShouldRetain

        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::getFontDataForCharacters):

2011-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88365.
        http://trac.webkit.org/changeset/88365
        https://bugs.webkit.org/show_bug.cgi?id=62301

        windows bots broken (Requested by loislo_ on #webkit).

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):

2011-06-08  Mikołaj Małecki  <m.malecki@samsung.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
        https://bugs.webkit.org/show_bug.cgi?id=52791

        No new tests. The problem can be reproduced by trying to create InspectorValue
        from 1.0e-100 and call ->toJSONString() on this.

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorBasicValue::writeJSON):
        Added checking the predicted buffer size and choosing exponential format, or
        eventually "NaN" if the buffer is too small for decimal format.

2011-06-08  Nico Weber  <thakis@chromium.org>

        Reviewed by Darin Adler.

        Fix a ?: precedence error in ScrollbarThemeMac and ScrollbarThemeChromium
        https://bugs.webkit.org/show_bug.cgi?id=62295

        This was found by a new warning recently added to clang's -Wparentheses

        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::backButtonRect):

2011-06-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Remove dead code from our JSC bridge
        https://bugs.webkit.org/show_bug.cgi?id=62287

        The m_defaultMethod member is not used since r36848 and QtMethod
        was replaced by QtRuntimeMethod and subclasses in r29729.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::visitAggregate):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.h:

2011-06-08  Ryan Sleevi  <rsleevi@chromium.org>

        Reviewed by Tony Chang.

        Suppress C++0x compat warnings when compiling Chromium port with GCC 4.6

        Compiling Chromium port under GCC 4.6 produces warnings about nullptr
        https://bugs.webkit.org/show_bug.cgi?id=62242

        * WebCore.gyp/WebCore.gyp:

2011-05-25  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Ryosuke Niwa.

        --webkit-visual-word does not work well in words separated by multiple spaces
        https://bugs.webkit.org/show_bug.cgi?id=61324

        Remove positionBeforeNextWord and positionAfterPreviousWord short-cuts. They try to find the
        right word boundary (before the space or after the space) by using previousWordPosition and
        nextWordPosition. But they assume words are separated by single space and are not correct 
        for words separated by multiple spaces and words not separated by space.

        Consider positionBeforeNextWord() for example, 

        First, it checks whether the current position is after the current word by checking current
        position's previousWordPosition's nextWordPosition is the same as current position, which is
        wrong for words separated by multiple spaces. For example, given words A and B separated by 
        3 continuous spaces "A   B", position "A|", "A |", and "A  |" should all be considered as 
        position after current word. But for position "A |", its previousWordPosition's 
        nextWordPosition is position "A|", which is different from its current position, so the
        current position is not considered as a position after current word, consequently,
        instead of returning the right position as "A   |B", positionBeforeNextWord returns the
        position before next next word, as "A   B |C". Similar happens for position "A  |".

        Second, given 3 Chinese words "ABC" that are not segmented by space, when cursor is at 
        "A|BC", positionBeforeNextWord() returns the same position after calling current position's
        nextWordPosition's previousWordPosition. It should returns position "AB|C".

        For those cases, we will have to collect all the word breaks inside the box and look for
        the one at left or right of current position.

        * editing/visible_units.cpp:
        (WebCore::leftWordPosition):
        (WebCore::rightWordPosition):

2011-06-08  Greg Simon  <gregsimon@chromium.org>

        Reviewed by Dimitri Glazkov.

        Control Indexeddb backends from LayoutTestController
        https://bugs.webkit.org/show_bug.cgi?id=61000

        Test: storage/indexeddb/migrate-basics.html

        * storage/IDBBackingStore.h:
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::open):
        (WebCore::IDBFactoryBackendImpl::migrate):
        * storage/IDBFactoryBackendImpl.h:
        * storage/IDBFactoryBackendInterface.h:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::backingStoreExists):
        * storage/IDBLevelDBBackingStore.h:
        (WebCore::IDBLevelDBBackingStore::backingStoreType):
        * storage/IDBSQLiteBackingStore.cpp:
        (WebCore::IDBSQLiteBackingStore::backingStoreExists):
        * storage/IDBSQLiteBackingStore.h:
        (WebCore::IDBSQLiteBackingStore::backingStoreType):

2011-06-08  Dmitry Lomov  <dslomov@google.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=62164
        Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
        This functionality is untested and unused:
        This is an old code from Lockers-based implementation of WebWorkers in
        V8 bindings, to make sure that DOM objects are released on the right thread
        even though GC could have happened on any thread. It is currently unused (since
        current model is one worker per process) and is being removed because new implementation
        of WebWorkers will be using V8 isolates.

        * WebCore.gypi:
        * WebCore.pro:
        * bindings/v8/ChildThreadDOMData.cpp: Removed.
        * bindings/v8/ChildThreadDOMData.h: Removed.
        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::DOMData):
        (WebCore::DOMData::getCurrent):
        (WebCore::DOMData::getMainThreadStore):
        * bindings/v8/DOMData.h:
        (WebCore::DOMData::getStore):
        (WebCore::DOMData::getCurrentMainThreadStore):
        (WebCore::DOMData::handleWeakObject):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::~DOMDataStore):
        (WebCore::DOMDataStore::weakNodeCallback):
        * bindings/v8/DOMDataStore.h:
        * bindings/v8/MainThreadDOMData.cpp: Removed.
        * bindings/v8/MainThreadDOMData.h: Removed.
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::getDOMDataStore):
        (WebCore::removeAllDOMObjects):
        (WebCore::visitDOMNodes):
        (WebCore::visitDOMObjects):
        (WebCore::visitActiveDOMObjects):
        (WebCore::visitDOMSVGElementInstances):
        * bindings/v8/V8DOMMap.h:
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcPrologue):
        (WebCore::V8GCController::gcEpilogue):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController):

2011-06-08  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Build fix for building QtWebKit inside of Qt.
        https://bugs.webkit.org/show_bug.cgi?id=62280

        Remove CONFIG=staticlib, because it causes the configure script to add -lwebcore
        into QtWebKit.prl.

        No new tests, as this is just a build fix.

        * WebCore.pri:

2011-06-08  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Render non-document HTML resources as HTML
        https://bugs.webkit.org/show_bug.cgi?id=58886

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
        (WebInspector.Resource.prototype.hasErrorStatusCode):
        * inspector/front-end/ResourceHTMLView.js: Added.
        (WebInspector.ResourceHTMLView):
        (WebInspector.ResourceHTMLView.prototype.hasContent):
        (WebInspector.ResourceHTMLView.prototype.show):
        (WebInspector.ResourceHTMLView.prototype.hide):
        (WebInspector.ResourceHTMLView.prototype._createIFrame):
        * inspector/front-end/ResourcePreviewView.js: Added.
        (WebInspector.ResourcePreviewView):
        (WebInspector.ResourcePreviewView.prototype.hasContent):
        (WebInspector.ResourcePreviewView.prototype.show):
        (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
        (WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
        (WebInspector.ResourcePreviewView.prototype._createInnerView):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.resource-view.html iframe):
        * inspector/front-end/inspector.html:

2011-05-18  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: hide script location to ui location conversion details from ScriptsPanel.
        https://bugs.webkit.org/show_bug.cgi?id=61035

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
        (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation.didRequestSourceMapping):
        (WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):

2011-06-08  Tommy Widenflycht  <tommyw@google.com>

        Reviewed by Tony Gentilcore.

        StreamEvent

        Media Stream PeerConnection API: adding StreamEvent class
        https://bugs.webkit.org/show_bug.cgi?id=61537

        Tests for the Media Stream API will be provided by the bug 56587.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/DOMAllInOne.cpp:
        * dom/Event.cpp:
        (WebCore::Event::isStreamEvent):
        * dom/Event.h:
        * dom/StreamEvent.cpp: Added.
        (WebCore::StreamEvent::create):
        (WebCore::StreamEvent::StreamEvent):
        (WebCore::StreamEvent::~StreamEvent):
        (WebCore::StreamEvent::initStreamEvent):
        (WebCore::StreamEvent::stream):
        * dom/StreamEvent.h: Added.
        (WebCore::StreamEvent::isStreamEvent):
        * dom/StreamEvent.idl: Added.

2011-06-08  Tommy Widenflycht  <tommyw@google.com>

        Reviewed by Tony Gentilcore.

        Media Stream API: integrate the Track List objects into the existing code.
        https://bugs.webkit.org/show_bug.cgi?id=60205

        Tests for the Media Stream API will be provided by the bug 56587.

        * dom/ExclusiveTrackList.cpp:
        (WebCore::ExclusiveTrackList::select):
        (WebCore::ExclusiveTrackList::trackFailed):
        * dom/ExclusiveTrackList.h:
        * dom/GeneratedStream.cpp:
        (WebCore::GeneratedStream::create):
        (WebCore::GeneratedStream::GeneratedStream):
        (WebCore::GeneratedStream::streamEnded):
        (WebCore::GeneratedStream::audioTracks):
        (WebCore::GeneratedStream::videoTracks):
        (WebCore::GeneratedStream::stop):
        * dom/GeneratedStream.h:
        * dom/GeneratedStream.idl:
        * dom/MultipleTrackList.cpp:
        (WebCore::MultipleTrackList::trackFailed):
        (WebCore::MultipleTrackList::enable):
        (WebCore::MultipleTrackList::disable):
        * dom/MultipleTrackList.h:
        * dom/Stream.h:
        * dom/TrackList.cpp:
        (WebCore::TrackList::clear):
        (WebCore::TrackList::associateStream):
        (WebCore::TrackList::associatedStreamLabel):
        (WebCore::TrackList::trackFailed):
        (WebCore::TrackList::scriptExecutionContext):
        * dom/TrackList.h:
        * page/MediaStreamClient.h:
        * page/MediaStreamController.cpp:
        (WebCore::MediaStreamController::enableAudioTrack):
        (WebCore::MediaStreamController::disableAudioTrack):
        (WebCore::MediaStreamController::selectVideoTrack):
        (WebCore::MediaStreamController::streamGenerated):
        (WebCore::MediaStreamController::audioTrackFailed):
        (WebCore::MediaStreamController::videoTrackFailed):
        * page/MediaStreamController.h:
        * page/MediaStreamFrameController.cpp:
        (WebCore::MediaStreamFrameController::unregister):
        (WebCore::MediaStreamFrameController::enterDetachedState):
        (WebCore::MediaStreamFrameController::disconnectFrame):
        (WebCore::MediaStreamFrameController::enableAudioTrack):
        (WebCore::MediaStreamFrameController::disableAudioTrack):
        (WebCore::MediaStreamFrameController::selectVideoTrack):
        (WebCore::MediaStreamFrameController::streamGenerated):
        (WebCore::MediaStreamFrameController::audioTrackFailed):
        (WebCore::MediaStreamFrameController::videoTrackFailed):
        * page/MediaStreamFrameController.h:
        (WebCore::MediaStreamFrameController::ClientBase::isGenericClient):
        (WebCore::MediaStreamFrameController::GenericClient::GenericClient):
        (WebCore::MediaStreamFrameController::GenericClient::~GenericClient):
        (WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
        (WebCore::MediaStreamFrameController::GenericClient::unregister):

2011-06-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] breakpoints are not persisted.
        https://bugs.webkit.org/show_bug.cgi?id=62273

        * inspector/front-end/Settings.js:

2011-06-08  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: node selection is slow in the Elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=60813

        Schedule full style updates rather than request all node styles from the backend immediately.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-08  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Laszlo Gombos.

        [Symbian] Float{32,64}Array and Int16Array fail to build.
        https://bugs.webkit.org/show_bug.cgi?id=62219

        For some reason, RVCT 2.x is moaning about "class member designated by
        a using-declaration must be visible in a direct base class".
        Apply same fix as r69122 and r76592.

        * html/canvas/Float32Array.h:
        (WebCore::Float32Array::set):
        * html/canvas/Float64Array.h:
        (WebCore::Float64Array::set):
        * html/canvas/Int16Array.h:
        (WebCore::Int16Array::set):

2011-06-08  Syed Idris Shah  <syed.idris-shah@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] GL_POINT_SPRITE and GL_VERTEX_PROGRAM_POINT_SIZE should be enabled for desktop WebGL
        https://bugs.webkit.org/show_bug.cgi?id=61945

        For OpenGL ES we do not need these features. 
        These features are available via shaders in OpenGL ES. But for desktop WebGL using QtWebKit they should be enabled.

        LayoutTests/fast/canvas/webgl/point-size.html

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):

2011-06-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix style error.

        * platform/efl/RenderThemeEfl.cpp:
        * platform/efl/RenderThemeEfl.h:

2011-06-08  Hironori Bono  <hbono@chromium.org>

        Reviewed by Brent Fulgham.

        Add SpellCheck API
        https://bugs.webkit.org/show_bug.cgi?id=59693

        This change adds two SpellCheck API functions (addSpellcheckRange and
        removeSpellcheckRange) and one attribute (spellcheckRange) discussed in
        the public-webapps ML. This change is currently available only on Chromium.

        Tests: editing/spelling/spellcheck-api-pixel.html
               editing/spelling/spellcheck-api.html

        * WebCore.gypi:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::spellCheckAPIEnabled):
        (WebCore::RuntimeEnabledFeatures::setSpellCheckAPIEnabled):
        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::length):
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::userSpellingMarkersForNode):
        (WebCore::DocumentMarkerController::addUserSpellingMarker):
        (WebCore::DocumentMarkerController::removeUserSpellingMarker):
        (WebCore::DocumentMarkerController::userSpellingNode):
        * dom/DocumentMarkerController.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::spellcheckRanges):
        (WebCore::HTMLDivElement::addSpellcheckRange):
        (WebCore::HTMLDivElement::removeSpellcheckRange):
        * html/HTMLDivElement.h:
        * html/HTMLDivElement.idl:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::spellcheckRanges):
        (WebCore::HTMLInputElement::addSpellcheckRange):
        (WebCore::HTMLInputElement::removeSpellcheckRange):
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.idl:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::spellcheckRanges):
        (WebCore::HTMLTextAreaElement::addSpellcheckRange):
        (WebCore::HTMLTextAreaElement::removeSpellcheckRange):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextAreaElement.idl:
        * html/SpellcheckRange.cpp: Added.
        (WebCore::SpellcheckRange::SpellcheckRange):
        (WebCore::SpellcheckRange::~SpellcheckRange):
        * html/SpellcheckRange.h: Added.
        (WebCore::SpellcheckRange::create):
        (WebCore::SpellcheckRange::start):
        (WebCore::SpellcheckRange::length):
        (WebCore::SpellcheckRange::suggestions):
        (WebCore::SpellcheckRange::options):
        * html/SpellcheckRange.idl: Added.
        * html/SpellcheckRangeList.cpp: Added.
        (WebCore::SpellcheckRangeList::SpellcheckRangeList):
        (WebCore::SpellcheckRangeList::~SpellcheckRangeList):
        (WebCore::SpellcheckRangeList::item):
        * html/SpellcheckRangeList.h: Added.
        (WebCore::SpellcheckRangeList::create):
        (WebCore::SpellcheckRangeList::isEmpty):
        (WebCore::SpellcheckRangeList::clear):
        (WebCore::SpellcheckRangeList::append):
        (WebCore::SpellcheckRangeList::remove):
        (WebCore::SpellcheckRangeList::length):
        * html/SpellcheckRangeList.idl: Added.
        * rendering/InlineTextBox.cpp:
        (WebCore::textCheckingLineStyleForMarkerType):
        (WebCore::InlineTextBox::paintDocumentMarkers):

2011-06-07  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove shadow dom inspection from Elements panel by default.
        https://bugs.webkit.org/show_bug.cgi?id=62188

        This reverts r85751

        * dom/Element.cpp:
        (WebCore::Element::ensureShadowRoot):
        (WebCore::Element::removeShadowRoot):
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMNode.prototype._renumber):
        (WebInspector.DOMAgent.prototype._bindNodes):
        (WebInspector.DOMAgent.prototype.querySelectorAll):
        (WebInspector.DOMDispatcher.prototype.searchResults):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype._attributesUpdated):
        (WebInspector.ElementsPanel.prototype._characterDataModified):
        (WebInspector.ElementsPanel.prototype._nodeInserted):
        (WebInspector.ElementsPanel.prototype._nodeRemoved):
        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement):
        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
        (WebInspector.ElementsTreeElement.prototype._updateChildren):
        ():
        * inspector/front-end/inspector.css:
        * inspector/front-end/utilities.js:
        (Element.prototype.query):

2011-06-08  Mark Rowe  <mrowe@apple.com>

        Fix the build.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):

2011-06-07  Keishi Hattori  <keishi@webkit.org>

        Reviewed by Kent Tamura.

        Rename HTMLInputElement::m_value to m_valueIfDirty
        https://bugs.webkit.org/show_bug.cgi?id=61990

        No new tests because no behavior change.

        * html/HTMLInputElement.cpp: Replaced m_value with m_valueIfDirty.
        (WebCore::HTMLInputElement::tooLong):
        (WebCore::HTMLInputElement::updateType):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::copyNonAttributeProperties):
        (WebCore::HTMLInputElement::value):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::setValueFromRenderer):
        (WebCore::HTMLInputElement::updateValueIfNeeded):
        * html/HTMLInputElement.h: Renamed m_value to m_valueIfDirty.
        (WebCore::HTMLInputElement::hasDirtyValue): Added. Returns the dirty value flag.

2011-06-07  Ian Henderson  <ianh@apple.com>

        Reviewed by Dan Bernstein.

        (CG) Sub-image drawing clips unnecessarily
        https://bugs.webkit.org/show_bug.cgi?id=62258

        If destRect completely encompasses the adjustedDestRect into which we
        draw, clipping to destRect will do nothing.  Skip the call to
        CGContextClipToRect in this case.

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw):

2011-06-07  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert nodeAtPoint to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62145

        Convert nodeAtPoint to take an IntPoint instead of a pair of ints for the
        accumulated offset.

        Covered by existing tests.

        * platform/graphics/FloatPoint.h:
        (WebCore::FloatPoint::moveBy):
        Add moveBy(IntPoint) method
        
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint):
        * rendering/RenderBox.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::nodeAtPoint):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint):
        * rendering/RenderImage.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderInline.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::nodeAtPoint):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest):
        * rendering/RenderObject.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::nodeAtPoint):
        * rendering/RenderTable.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::nodeAtPoint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.h:
        (WebCore::RenderText::nodeAtPoint):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::nodeAtPoint):
        * rendering/RenderWidget.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::nodeAtPoint):
        * rendering/RootInlineBox.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
        (WebCore::RenderSVGForeignObject::nodeAtPoint):
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::nodeAtPoint):
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtFloatPoint):
        (WebCore::RenderSVGText::nodeAtPoint):
        * rendering/svg/RenderSVGText.h:

2011-06-07  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix the error code for media resource failures when using QtMobility
        https://bugs.webkit.org/show_bug.cgi?id=55901

        To indicate the media resource failures, set the network state to
        MediaPlayer::FormatError when receives QMediaPlayer::InvalidMedia or
        QMediaPlayer::ResourceError.

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::updateStates):

2011-06-07  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Change RenderBlock::hitTestFloats to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62176

        Covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestColumns):
        * rendering/RenderBlock.h:

2011-06-07  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Alexey Proskuryakov.

        Use correct CFURLStorageSessionRef definition on Snow Leopard
        https://bugs.webkit.org/show_bug.cgi?id=62223

        * platform/mac/WebCoreSystemInterface.h:
        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceRequest.h:

2011-06-07  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Change RenderBlock::hitTestColumns to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62172

        Covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestColumns):
        * rendering/RenderBlock.h:

2011-06-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Opacity transition doesn't work while content property is set.
        https://bugs.webkit.org/show_bug.cgi?id=59301
        
        StyleRareNonInheritedData's copy constructor omitted to copy
        the m_content data, which caused us to detach and re-attach the renderer
        at the start of the transition, thereby killing the transition.
        
        Fix by making StyleRareNonInheritedData's copy ctor do the right thing.

        Test: transitions/transition-on-element-with-content.html

        * rendering/style/ContentData.h:
        * rendering/style/ContentData.cpp:
        (WebCore::ContentData::clone): New method to do a deep clone. (Can't use a copy
        ctor because of the subclasses.)
        * rendering/style/CounterDirectives.h: Pack the data members to save space.
        Add a clone() function for the HashMap.
        * rendering/style/CounterDirectives.cpp:
        (WebCore::clone): Make a new HashMap and copy the contents over.
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Copy
        the content and counter directives over.
        (WebCore::StyleRareNonInheritedData::operator==): Rather than just comparing
        for pointer equality, do a correct check for m_counterDirectives equality.
        (WebCore::StyleRareNonInheritedData::counterDataEquivalent):
        * rendering/style/StyleRareNonInheritedData.h:

2011-06-07  Robert Kroeger  <rjkroege@chromium.org>

        Reviewed by Adam Barth.

        [chromium] Add a basic gesture recognizer to the Chromium platform
        https://bugs.webkit.org/show_bug.cgi?id=54417

        Adds a basic gesture recognizer to the Chromium platform. Adds an entry
        point to the GestureRecognizer to reset any internal state on a page reset.
        Resetting the gesture recognizer on page load is necesary for reliable
        layout test execution and improves gesture recognizer operational
        robustness.

        Added an additional constructor to permit building a synthetic
        PlatformWheelEvent.

        Small modifications to the PlatformGestureRecognizer as required to
        implement the simple Chromium platform gesture recognizer.

        Tests: fast/events/touch/touch-gesture-click.html

        * WebCore.gypi:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::resetGestureRecognizer):
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::reset):
        * platform/PlatformGestureRecognizer.h:
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/chromium/GestureRecognizerChromium.cpp: Added.
        (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
        (WebCore::InnerGestureRecognizer::reset):
        (WebCore::InnerGestureRecognizer::~InnerGestureRecognizer):
        (WebCore::InnerGestureRecognizer::addEdgeFunction):
        (WebCore::InnerGestureRecognizer::isInClickTimeWindow):
        (WebCore::InnerGestureRecognizer::isInsideManhattanSquare):
        (WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
        (WebCore::InnerGestureRecognizer::processTouchEventForGesture):
        (WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
        (WebCore::InnerGestureRecognizer::updateValues):
        (WebCore::InnerGestureRecognizer::signature):
        (WebCore::touchDown):
        (WebCore::noGesture):
        (WebCore::click):
        (WebCore::isClickOrScroll):
        (WebCore::inScroll):
        (WebCore::PlatformGestureRecognizer::create):
        (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
        (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
        (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
        (WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
        * platform/chromium/GestureRecognizerChromium.h: Added.
        (WebCore::InnerGestureRecognizer::setState):
        (WebCore::InnerGestureRecognizer::state):
        (WebCore::GestureRecognizerChromium::reset):
        (WebCore::GestureRecognizerChromium::processTouchEventForGesture):

2011-06-07  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Andreas Kling.

        [Texmap][Qt] Enable TextureMapper by default
        https://bugs.webkit.org/show_bug.cgi?id=61740

        Enable TextureMapper on Windows+Symbian, disabling the direct OpenGL path. This would mean that
        for now QtWebKit on Windows/Symbian would use the Qt backend for TextureMapper.

        No new functionality so no new tests.

        * WebCore.pri:
        * WebCore.pro:
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        * platform/graphics/qt/TextureMapperQt.cpp:
        (WebCore::TextureMapper::create):

2011-06-07  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderBox::absoluteRects to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62130

        Covered by existing tests.

        * dom/Node.cpp:
        (WebCore::Node::hasNonEmptyBoundingBox):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::size):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::absoluteRects):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absoluteRects):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::absoluteRects):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::absoluteBoundingBoxRect):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::absoluteRects):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRects):
        * rendering/RenderText.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::absoluteRects):
        * rendering/RenderView.h:
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::absoluteRects):
        * rendering/svg/RenderSVGBlock.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::absoluteRects):
        * rendering/svg/RenderSVGModelObject.h:

2011-06-07  Kent Tamura  <tkent@chromium.org>

        Reviewed by Andreas Kling.

        [Qt] RenderThemeQt::adjustSliderThumbSize() should not refer to the parent style.
        https://bugs.webkit.org/show_bug.cgi?id=62207

        * css/mediaControlsQt.css: Add comments.
        (audio::-webkit-media-controls-timeline):
        (video::-webkit-media-controls-timeline):
        (audio::-webkit-media-controls-volume-slider):
        (video::-webkit-media-controls-volume-slider):
        * platform/qt/RenderThemeQt.cpp: Use fixed values to avoid referring to o->parent().
        (WebCore::RenderThemeQt::adjustSliderThumbSize):

2011-06-07  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by Mihai Parparita.

        Chromium Mac: Fork ScrollAnimatorMac to ScrollAnimatorChromiumMac for overlay scrollbar support
        https://bugs.webkit.org/show_bug.cgi?id=59753

        No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.

        * WebCore.gyp/WebCore.gyp: Added IntPointMac.mm. This is used by some functions in ScrollAnimatorChromiumMac. Also added filters for conflicting class names in ScrollAnimatorChromiumMac.
        * WebCore.gypi: Added ScrollAnimatorChromiumMac.h/mm.
        * platform/ScrollAnimator.cpp: Extended the #ifdef around ScrollAnimator::create() so that the chromium version will be created.
        * platform/chromium/ScrollAnimatorChromiumMac.h: Added.
        (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
        (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
        (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
        * platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file. Stubbed out ScrollAnimatorChromiumMac::scroll() if smooth scrolling is disabled.
        (abs):
        (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
        (-[ScrollAnimationHelperDelegate bounds]):
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
        (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
        (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
        (-[ScrollAnimationHelperDelegate superview]):
        (-[ScrollAnimationHelperDelegate documentView]):
        (-[ScrollAnimationHelperDelegate window]):
        (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
        (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPartAnimation setCurrentProgress:]):
        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
        (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollbarPainterDelegate cancelAnimations]):
        (-[ScrollbarPainterDelegate convertRectToBacking:]):
        (-[ScrollbarPainterDelegate convertRectFromBacking:]):
        (-[ScrollbarPainterDelegate layer]):
        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
        (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
        (WebCore::ScrollAnimatorChromiumMac::scroll):
        (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
        (WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
        (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
        (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
        (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentsResized):
        (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
        (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
        (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
        (WebCore::elasticDeltaForTimeDelta):
        (WebCore::elasticDeltaForReboundDelta):
        (WebCore::reboundDeltaForElasticDelta):
        (WebCore::scrollWheelMultiplier):
        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
        (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
        (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
        (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
        (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
        (WebCore::roundTowardZero):
        (WebCore::roundToDevicePixelTowardZero):
        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
        (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
        (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
        (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
        (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
        * platform/graphics/IntPoint.h: Exposed NSPoint conversion routines to chromium mac.

2011-06-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Remove repeated IPC traffic from SetRenderTreeSize message
        https://bugs.webkit.org/show_bug.cgi?id=62244

        * WebCore.xcodeproj/project.pbxproj:
        Make RenderArena.h private so it can be called from WebKit2.

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::dispatchDidLayout):
        Added.

        * page/ChromeClient.h:
        Remove setRenderTreeSize.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        Call dispatchDidLayout for all frames instead of calling setRenderTreeSize
        for the main frame.

2011-06-07  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Change RenderBlock::hitTestContents to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62170

        Covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestColumns):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderBlock.h:

2011-06-07  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Video with poster attribute will not display new frames when scrubbing.
        https://bugs.webkit.org/show_bug.cgi?id=62036

        Remove our "detection" about the end of a scrub now that there is an explicit seek completion
        handler available in AVFoundation.  Move what we used to do upon detection in timeChanged()
        into seekCompleted().

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): 
        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):

2011-06-07  James Simonsen  <simonjam@chromium.org>

        Unreviewed, build fix, missing files from r88274.

        * bindings/v8/ChildThreadDOMData.cpp: Added.
        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
        (WebCore::ChildThreadDOMData::getStore):
        * bindings/v8/ChildThreadDOMData.h: Added.
        * bindings/v8/MainThreadDOMData.cpp: Added.
        (WebCore::MainThreadDOMData::MainThreadDOMData):
        (WebCore::MainThreadDOMData::getCurrent):
        (WebCore::MainThreadDOMData::getMainThreadStore):
        (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
        * bindings/v8/MainThreadDOMData.h: Added.
        (WebCore::MainThreadDOMData::getStore):

2011-06-07  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dan Bernstein.

        Replicate WidthIterator.cpp fix from r88139.
        https://bugs.webkit.org/show_bug.cgi?id=62238

        No new tests. Covered by existing layout tests on XP debug bots.

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::advance):

2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88221, r88224, and r88231.
        http://trac.webkit.org/changeset/88221
        http://trac.webkit.org/changeset/88224
        http://trac.webkit.org/changeset/88231
        https://bugs.webkit.org/show_bug.cgi?id=62233

        assert failure on chromium linux debug (Requested by simonjam
        on #webkit).

        * WebCore.gypi:
        * WebCore.pro:
        * bindings/v8/ChildThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
        (WebCore::ChildThreadDOMData::getStore):
        * bindings/v8/ChildThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::DOMData):
        (WebCore::DOMData::getCurrent):
        * bindings/v8/DOMData.h:
        (WebCore::DOMData::owningThread):
        (WebCore::DOMData::handleWeakObject):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::~DOMDataStore):
        (WebCore::DOMDataStore::allStoresMutex):
        (WebCore::DOMDataStore::weakNodeCallback):
        * bindings/v8/DOMDataStore.h:
        * bindings/v8/MainThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
        (WebCore::MainThreadDOMData::MainThreadDOMData):
        (WebCore::MainThreadDOMData::getCurrent):
        (WebCore::MainThreadDOMData::getMainThreadStore):
        (WebCore::MainThreadDOMData::getCurrentMainThreadStore):
        * bindings/v8/MainThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
        (WebCore::MainThreadDOMData::getStore):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::getDOMDataStore):
        (WebCore::removeAllDOMObjectsInCurrentThread):
        (WebCore::visitDOMNodesInCurrentThread):
        (WebCore::visitDOMObjectsInCurrentThread):
        (WebCore::visitActiveDOMObjectsInCurrentThread):
        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
        * bindings/v8/V8DOMMap.h:
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcPrologue):
        (WebCore::V8GCController::gcEpilogue):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController):

2011-06-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Clean up ContentData
        https://bugs.webkit.org/show_bug.cgi?id=62185

        ContentData did manual ref()/deref() and had a lot of awkward
        code from using a union to store data.
        
        Clean this up by adding ContentData subclasses for different
        content types, which are then able to use RefPtr and OwnPtr
        as appropriate.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::contentToCSSValue): Cast to different ContentData types as
        appropriate.

        * css/CSSStyleSelector.cpp: 
        (WebCore::CSSStyleSelector::loadPendingImages): Cast to ImageContentData, and do some
        const gyrations.

        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::createRenderer): Use hasContent().
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::createRenderer): Ditto
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::createRenderer): Ditto
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject): Cast to ImageContentData.
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::updateBeforeAfterContent): Cast to different ContentData types as
        appropriate.

        * rendering/style/ContentData.h:
        (WebCore::ContentData::~ContentData):
        (WebCore::ContentData::isCounter):
        (WebCore::ContentData::isImage):
        (WebCore::ContentData::isQuote):
        (WebCore::ContentData::isText):
        (WebCore::ContentData::next):
        (WebCore::ContentData::setNext):
        (WebCore::ImageContentData::image):
        (WebCore::ImageContentData::setImage):
        (WebCore::ImageContentData::ImageContentData):
        (WebCore::ImageContentData::type):
        (WebCore::ImageContentData::isImage):
        (WebCore::TextContentData::text):
        (WebCore::TextContentData::setText):
        (WebCore::TextContentData::TextContentData):
        (WebCore::TextContentData::type):
        (WebCore::TextContentData::isText):
        (WebCore::CounterContentData::counter):
        (WebCore::CounterContentData::setCounter):
        (WebCore::CounterContentData::CounterContentData):
        (WebCore::CounterContentData::type):
        (WebCore::CounterContentData::isCounter):
        (WebCore::QuoteContentData::quote):
        (WebCore::QuoteContentData::setQuote):
        (WebCore::QuoteContentData::QuoteContentData):
        (WebCore::QuoteContentData::type):
        (WebCore::QuoteContentData::isQuote):
        Add subclasses for different content types, which are created
        via overloaded create() methods on the base class.

        * rendering/style/ContentData.cpp:
        (WebCore::ContentData::create):
        (WebCore::operator==): Test for type equality, followed by comparing data.
        (WebCore::operator!=):

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::clearContent):
        (WebCore::RenderStyle::appendContent): 
        (WebCore::RenderStyle::setContent): Replace the overly complex prepareToSetContent()
        code with code that either appends, or replaces the content.
        This loses an optimization where the existing ContentData object could get reused,
        but this seems to be rarely hit in practice.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::hasContent): Convenience method.
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Test
        that the pointers are non-null, then use the != operator.
        * rendering/style/StyleRareNonInheritedData.h: ContentData is a class now.

2011-06-07  Brian Weinstein  <bweinstein@apple.com>

        Build fix after r88260.

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters): Update to use enum instead of bool.
        * platform/graphics/wince/FontCacheWinCE.cpp:

2011-06-07  Rob Buis  <rbuis@rim.com>

        Reviewed by Dirk Schulze.

        stroke-dasharray does not handle "none"
        https://bugs.webkit.org/show_bug.cgi?id=62203

        Use the initial strokeDashArray style for stroke-dasharray="none" to apply to SVGRenderStyle rather than bailing out.

        Tests: svg/W3C-SVG-1.1-SE/styling-css-04-f.svg
               svg/custom/invalid-dasharray.svg

        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):

2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88259 and r88263.
        http://trac.webkit.org/changeset/88259
        http://trac.webkit.org/changeset/88263
        https://bugs.webkit.org/show_bug.cgi?id=62228

        broke builds (Requested by rniwa on #webkit).

        * platform/mac/WebCoreSystemInterface.h:
        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceRequest.h:

2011-06-07  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Switch ContainerNode to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=61893

        Covered by existing tests.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::getUpperLeftCorner):
        (WebCore::ContainerNode::getLowerRightCorner):
        (WebCore::ContainerNode::getRect):
        Change to use maxX/maxY instead of x+width/y+height
        
        * platform/graphics/FloatPoint.h:
        (WebCore::FloatPoint::move):
        (WebCore::FloatPoint::moveBy):
        (WebCore::FloatPoint::expandedTo):
        Add move, moveBy and expandedTo mirroring the IntPoint implementation of the same.

2011-06-07  Ryosuke Niwa  <rniwa@webkit.org>

        Speculative build fix after r88259.

        * platform/network/cf/ResourceRequest.h:

2011-06-07  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Need to enable font cache purging in MemoryPressureHandler
        https://bugs.webkit.org/show_bug.cgi?id=62060

        Improve memory usage under pressure.
        Added call to fontCache()->purgeInactiveFontData() in 
        MemoryPressureHandler::respondToMemoryPressure().  Added protection to 
        MemoryPressureHandler::install() being called multiple times.

        No new tests as funtionality wasn't changed.

        * platform/MemoryPressureHandler.cpp:
        (WebCore::MemoryPressureHandler::MemoryPressureHandler):
        * platform/MemoryPressureHandler.h:
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::install):
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):

2011-06-07  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Fonts returned by FontCache::getFontDataForCharacters() are never released
        https://bugs.webkit.org/show_bug.cgi?id=61875

        This change allows fonts allocated as system fallback fonts to be 
        released.  Previously, the reference counts for these fonts grew 
        without bound.  This is implemented as an auto release class that wraps
        accesses to the cache for system fallback fonts. All such accesses are
        via the method FontCache::getFontDataForCharacters. The new class is
        called FontCachePurgePreventer. When such an object exists, it protects
        these fonts from deletion.

        Most accesses to the font cache still use the reference counting
        implemented by FontCache::getCacheFontData() and 
        FontCache::releaseFontData() and that operation is not affected by
        this change.

        Added local scoped instance of FontCachePurgePreventer to wrap code
        that directly or indirectly accesses fonts via getFontDataForCharacters.
        Did a few other miscellaneous bug fixes and changes to allow system
        fallback fonts to be pruned from the GlyphPageTree. Changed the
        calls to getFontData in the platform specific versions of
        Fontcache::getFontDataForCharacters to not increment the reference
        count.  Moved the purge font check
        outside of FontCache::getCachedFontData() into a separate method, 
        purgeInactiveFontDataIfNeeded() since almost all calls to 
        getCachedFontData() now happen when purging is not allowed.
        purgeInactiveFontDataIfNeeded is invoked in enablePurging() when
        m_purgePreventCount is 0.

        No new test as the functionality has not changed. Improved font life
        cycle management.

        * WebCore.exp.in: Added FontCache::purgeInactiveFontDataIfNeeded().
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::measureText):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        Wrapped code accessing fallback fonts with local 
        FontCachePurgePreventer in these methods.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::paintContents):
        Wrapped code accessing fallback fonts with local 
        FontCachePurgePreventer in these methods.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::FontCache):
        (WebCore::FontCache::getCachedFontData):
        Moved purge check to new method since it likely can't happen here.
        (WebCore::FontCache::releaseFontData):
        (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
        (WebCore::FontCache::purgeInactiveFontData):
        Made purging conditional on m_purgePreventCount.  Now some fonts
        in the cache are reference counted while other can be purged 
        outside of code wrapped by in scope FontCachePurgePreventer objects.

        * platform/graphics/FontCache.h:
        (WebCore::FontCache::disablePurging):
        (WebCore::FontCache::enablePurging):
        (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
        (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
        Added new simple purge prevention wrapper class and methods
        that it calls in FontCache actually prevent purging.  The
        simple methods inlined to reduce overhead.

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Update level in 
        glyph page tree for system fallback fonts so pruning works.

        * platform/graphics/GlyphPage.h:
        (WebCore::GlyphPage::clearForFontData): New method used for pruning
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::pruneFontData):
        Now we prune system fallback fonts.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/haiku/FontCacheHaiku.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/wince/FontCacheWinCE.cpp:
        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        Changed the calls to getFontData() to not increment the reference
        count. The caller of this getFontDataForCharacters() (currently only
        Font::glyphDataForCharacter() in fontFastPath.cpp) and it's callers
        don't attempt to release the returned fonts so we use the purge
        protection described above.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in these methods.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::setImageSizeForAltText):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in this method.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement):
        (WebCore::RenderListBox::paintItemForeground):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in these methods

        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in this method.

2011-06-07  Tim Horton  <timothy_horton@apple.com>

        Reviewed by Alexey Proskuryakov.

        Use correct CFURLStorageSessionRef definition on Snow Leopard
        https://bugs.webkit.org/show_bug.cgi?id=62223

        * platform/mac/WebCoreSystemInterface.h:
        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceRequest.h:

2011-06-07  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by Stephen White.

        [chromium] PlatformContextSkia leaks SkDeviceFactory
        https://bugs.webkit.org/show_bug.cgi?id=62163

        Valgrind tests should have caught this.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):

2011-06-07  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderTextControl::hitInnerTextElement to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62167

        Covered by existing tests.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::hitInnerTextElement):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):

2011-06-07  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paint to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62177

        Flipping the switch on the remaining paint functions to have them all
        use IntPoint for the paint offset instead of tx/ty.

        No new tests since this is just refactoring.

        * page/FrameView.cpp:
        (WebCore::FrameView::paintScrollCorner):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::paintContents):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintFloats):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paint):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::paint):
        * rendering/RenderDetailsMarker.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paint):
        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paint):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderImage.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paint):
        * rendering/RenderInline.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintScrollCorner):
        (WebCore::RenderLayer::paintResizer):
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):
        * rendering/RenderLineBoxList.h:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::paint):
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderListMarker.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paint):
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderReplaced.h:
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        * rendering/RenderReplica.h:
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::paintPart):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderScrollbarPart.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        (WebCore::RenderTable::paintObject):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):
        (WebCore::RenderTableSection::paintCell):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.h:
        (WebCore::RenderText::paint):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::paint):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):
        * rendering/RenderView.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/RenderWidget.h:
        * rendering/mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::paint):
        * rendering/mathml/RenderMathMLBlock.h:
        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):
        * rendering/mathml/RenderMathMLFraction.h:
        * rendering/mathml/RenderMathMLRoot.cpp:
        (WebCore::RenderMathMLRoot::paint):
        * rendering/mathml/RenderMathMLRoot.h:
        * rendering/mathml/RenderMathMLSquareRoot.cpp:
        (WebCore::RenderMathMLSquareRoot::paint):
        * rendering/mathml/RenderMathMLSquareRoot.h:
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/svg/RenderSVGContainer.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::paint):
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGHiddenContainer.cpp:
        (WebCore::RenderSVGHiddenContainer::paint):
        * rendering/svg/RenderSVGHiddenContainer.h:
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/svg/RenderSVGImage.h:
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::paint):
        * rendering/svg/RenderSVGPath.h:
        * rendering/svg/RenderSVGResourceMarker.cpp:
        (WebCore::RenderSVGResourceMarker::draw):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):

2011-06-07  Young Han Lee  <joybro@company100.net>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Accelerated animation is not paused properly.
        https://bugs.webkit.org/show_bug.cgi?id=61446

        The transform matrix of an accelerated animation shouldn't be synced with the matrix of the GraphicsLayer when the animation is paused.

        Test: animations/play-state-paused.html

        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        (WebCore::TextureMapperNode::hasOpacityAnimation):
        (WebCore::TextureMapperNode::hasTransformAnimation):
        * platform/graphics/texmap/TextureMapperNode.h:

2011-06-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Remove Ecore_X bits from PlatformScreenEfl
        https://bugs.webkit.org/show_bug.cgi?id=61649

        Remove the need for Ecore_X and some X calls by always using
        new functions available in EFL to get the screen size.

        No new tests since the same functionality are done inside EFL now.

        * platform/efl/PlatformScreenEfl.cpp:
        (WebCore::screenRect):

2011-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
        https://bugs.webkit.org/show_bug.cgi?id=62200

        In WebKit2 PluginPackage is used by the UI process to load plugins
        in order to get information about them, but it doesn't use any GTK
        symbol. So the UI process should be able to load plugins even when
        building with GTK3, but we should not allow the plugin view to use
        the plugin if it mixes GTK2 and GTK3 symbols.

        * plugins/PluginPackage.h:
        (WebCore::PluginPackage::module): New method to return the
        platform module.
        * plugins/gtk/PluginPackageGtk.cpp:
        (WebCore::PluginPackage::load): Remove moduleMixesGtkSymbols().
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::updatePluginWidget): Check whether plugin
        was successfully loaded before trying to create the drawable.
        (WebCore::PluginView::paint): Return early if plugin didn't start
        or was not successfully loaded.
        (WebCore::PluginView::handleKeyboardEvent): Ditto.
        (WebCore::PluginView::handleMouseEvent): Ditto.
        (WebCore::PluginView::handleFocusInEvent): Ditto.
        (WebCore::PluginView::handleFocusOutEvent): Ditto.
        (WebCore::moduleMixesGtkSymbols):
        (WebCore::PluginView::platformStart): Check whether module is
        mixing GTK+ 2 and GTK+ 3 symbols.

2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88238.
        http://trac.webkit.org/changeset/88238
        https://bugs.webkit.org/show_bug.cgi?id=62216

        Broke a couple of inspector tests (Requested by apavlov on
        #webkit).

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-07  Dinu Jacob  <dinu.jacob@nokia.com>

        Reviewed by Dimitri Glazkov.

        Inform ChromeClient touch events are not needed by the webpage when navigating away from the page instead of in both Document:detach/CachedFrame
        https://bugs.webkit.org/show_bug.cgi?id=61543

        Inform chrome client that touch events are not needed by the webpage 
        when navigating away from the page only once to avoid the flag being 
        overwritten later if a page is removed from the page cache

        * dom/Document.cpp:
        (WebCore::Document::detach):
        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted):

2011-06-07  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: node selection is slow in the Elements panel.
        https://bugs.webkit.org/show_bug.cgi?id=60813

        Schedule full style updates rather than request all node styles from the backend immediately.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
        (WebInspector.StylesSidebarPane.prototype.update):

2011-06-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove duplicate breakpoints from localStorage
        https://bugs.webkit.org/show_bug.cgi?id=62206

        Perform one-time breakpoint storage cleanup to get rid of duplicate breakpoints in
        case when settings version is less than 1. 

        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        (WebInspector.Settings.prototype._set):
        (WebInspector.Settings.prototype._migrateSettings.splitObjects):
        (WebInspector.Settings.prototype._migrateSettings.removeDuplicateObjects):
        (WebInspector.Settings.prototype._migrateSettings):

2011-06-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [Chromium] Web Inspector: correctly handle disconnect from worker when script execution is paused
        https://bugs.webkit.org/show_bug.cgi?id=62019

        Dispatch disconnecFrontend message in debugger task mode to make sure
        it is processed even if execution is paused.

        * bindings/v8/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
        * bindings/v8/WorkerScriptDebugServer.h:

2011-06-07  Felician Marton  <marton.felician.zoltan@stud.u-szeged.hu>

        Reviewed by Nikolas Zimmermann.

        SVG animation beginElement() does not restart the animation after endElement().
        https://bugs.webkit.org/show_bug.cgi?id=43452

        Test: svg/animations/animate-endElement-beginElement.html

        Calling beginElement() after calling endElement() previously does not restarted the animation when animation
        element's end attribute doesn't contains a bigger value than the current animation time.

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::findInstanceTime):

2011-06-07  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Kent Tamura.

        [Chromium] Click event is not fired for a menulist <select>
        https://bugs.webkit.org/show_bug.cgi?id=60563

        Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
        (WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
        (WebCore::PopupListBox::acceptIndex): Change to return accepted or not.

2011-06-07  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Yury Semikhatsky.
 
        REGRESSION(r88221): "Chromium debug compilation broken".
        https://bugs.webkit.org/show_bug.cgi?id=62197

        No new tests needed.

        * bindings/v8/V8GCController.cpp: Also rename call-sites.
        (WebCore::V8GCController::gcPrologue):
        (WebCore::V8GCController::gcEpilogue):

2011-06-07  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r88212 and r88219.
        http://trac.webkit.org/changeset/88212
        http://trac.webkit.org/changeset/88219
        https://bugs.webkit.org/show_bug.cgi?id=57439

        Tests get timeout at Snow Leopard

        * css/html.css:
        (html:focus, body:focus, input[readonly]:focus):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2011-06-07  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Csaba Osztrogonác.

        [Qt][V8] Fix the build after 88221.

        No new tests needed.

        * WebCore.pro: Remove non-existing files.
        * bindings/v8/V8DOMMap.cpp: 
        (WebCore::removeAllDOMObjects): Also rename the definition of the function.

2011-06-06  Dmitry Lomov  <dslomov@google.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=62164
        Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
        This functionality is untested and unused:
        This is an old code from Lockers-based implementation of WebWorkers in
        V8 bindings, to make sure that DOM objects are released on the right thread
        even though GC could have happened on any thread. It is currently unused (since
        current model is one worker per process) and is being removed because new implementation
        of WebWorkers will be using V8 isolates.

        * WebCore.gypi:
        * bindings/v8/ChildThreadDOMData.cpp: Removed.
        * bindings/v8/ChildThreadDOMData.h: Removed.
        * bindings/v8/DOMData.cpp:
        (WebCore::DOMData::DOMData):
        (WebCore::DOMData::getCurrent):
        (WebCore::DOMData::getMainThreadStore):
        * bindings/v8/DOMData.h:
        (WebCore::DOMData::getStore):
        (WebCore::DOMData::getCurrentMainThreadStore):
        (WebCore::DOMData::handleWeakObject):
        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::~DOMDataStore):
        (WebCore::DOMDataStore::weakNodeCallback):
        * bindings/v8/DOMDataStore.h:
        * bindings/v8/MainThreadDOMData.cpp: Removed.
        * bindings/v8/MainThreadDOMData.h: Removed.
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::getDOMDataStore):
        (WebCore::visitDOMNodes):
        (WebCore::visitDOMObjects):
        (WebCore::visitActiveDOMObjects):
        (WebCore::visitDOMSVGElementInstances):
        * bindings/v8/V8DOMMap.h:
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcPrologue):
        (WebCore::V8GCController::gcEpilogue):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::~WorkerScriptController):

2011-06-06  Nico Weber  <thakis@chromium.org>

        Reviewed by Adam Barth.

        [chromium] Make VideoFrameChromium's destructor virtual
        https://bugs.webkit.org/show_bug.cgi?id=62186

        This fixes a real bug, since WebMediaPlayerClientImpl::putCurrentFrame
        deletes a VideoFrameChromium subclass type through this interface
        class, causing ~VideoFrameChromiumImpl's destructor not to run.
        (VideoFrameChroimumImpl happens to not have a destructor or any
        non-POD member variables, so it's more a latent bug.)

        * platform/graphics/chromium/VideoFrameChromium.cpp:
        (WebCore::VideoFrameChromium::~VideoFrameChromium):
        * platform/graphics/chromium/VideoFrameChromium.h:

2011-06-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sammy Weinig.

        Remove some unnecessary includes from AnimationBase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=62183

        * page/animation/AnimationBase.cpp:

2011-06-06  Kent Tamura  <tkent@chromium.org>

        Unreviewed, a crash fix by a roll out.

        REGRESSION(r87980): Null pointer dereference in RenderTextControl::setInnerText()
        https://bugs.webkit.org/show_bug.cgi?id=62116

        Roll out the WebCore part of r87980.

        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType):
        (WebCore::SearchInputType::createShadowSubtree):
        (WebCore::SearchInputType::destroyShadowSubtree):
        * html/SearchInputType.h:
        (WebCore::SearchInputType::innerBlockElement):
        (WebCore::SearchInputType::resultsButtonElement):
        (WebCore::SearchInputType::cancelButtonElement):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::TextFieldInputType):
        (WebCore::TextFieldInputType::createShadowSubtree):
        (WebCore::TextFieldInputType::destroyShadowSubtree):
        * html/TextFieldInputType.h:
        (WebCore::TextFieldInputType::innerTextElement):
        (WebCore::TextFieldInputType::innerSpinButtonElement):
        (WebCore::TextFieldInputType::speechButtonElement):
        (WebCore::TextFieldInputType::setInnerTextElement):
        (WebCore::TextFieldInputType::setSpeechButtonElement):
        * html/shadow/TextControlInnerElements.cpp:
        * html/shadow/TextControlInnerElements.h:

2011-06-06  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Simon Fraser.

        Allow copying of KeyframeValueList.
        https://bugs.webkit.org/show_bug.cgi?id=62171

        Make a deep copy of KeyframeValueList, copying each of the keyframes with a virtual clone() function.

        No new functionality so no new tests.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::FloatAnimationValue::clone):
        (WebCore::TransformAnimationValue::TransformAnimationValue):
        (WebCore::TransformAnimationValue::clone):
        (WebCore::TransformAnimationValue::value):
        (WebCore::KeyframeValueList::KeyframeValueList):

2011-06-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Incorrect rounding of color values during transitions
        https://bugs.webkit.org/show_bug.cgi?id=62141
        
        When blending integers, round to the nearest integer, instead of always rounding down.

        Test: transitions/color-transition-rounding.html

        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc):

2011-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r88202.
        http://trac.webkit.org/changeset/88202
        https://bugs.webkit.org/show_bug.cgi?id=62182

        This broke the mac clang bot (Requested by koz__ on #webkit).

        * dom/Node.cpp:
        (WebCore::Node::hasNonEmptyBoundingBox):
        * rendering/InlineBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::absoluteRects):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absoluteRects):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::absoluteRects):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::absoluteBoundingBoxRect):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::absoluteRects):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRects):
        * rendering/RenderText.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::absoluteRects):
        * rendering/RenderView.h:

2011-06-06  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Hajime Morita.

        Draw CSS outline style for render widgets: iframe, embed, object, applet.
        https://bugs.webkit.org/show_bug.cgi?id=57439

        Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can
        be focused (via clicks or tabIndex) but should not have a visible focus ring by default.

        Tests: fast/replaced/no-focus-ring-embed-1.html
               fast/replaced/no-focus-ring-embed-2.html
               fast/replaced/no-focus-ring-iframe.html
               fast/replaced/no-focus-ring-object-1.html
               fast/replaced/no-focus-ring-object-2.html
               fast/replaced/outline-replaced-elements.html

        * css/html.css:
        (applet:focus, embed:focus, iframe:focus, object:focus):  Default to no focus ring.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint): Paint the render widget CSS outline style.

2011-06-06  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Assertion fails in TextCheckingHelper by right-clicking on <input type=search>
        https://bugs.webkit.org/show_bug.cgi?id=61991

        Added a guard bofore TextCheckingHelper construction sites.

        Test: editing/spelling/spellcheck-input-search-crash.html

        * editing/Editor.cpp:
        (WebCore::Editor::isSelectionUngrammatical):
        (WebCore::Editor::guessesForUngrammaticalSelection):
        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):

2011-06-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Update RenderBlock::paint to use IntPoint internally
        https://bugs.webkit.org/show_bug.cgi?id=62140

        Covered by existing tests.

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

2011-06-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderBox::absoluteRects to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62130

        Covered by existing tests.

        * dom/Node.cpp:
        (WebCore::Node::hasNonEmptyBoundingBox):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::absoluteRects):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absoluteRects):
        * rendering/RenderBox.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::absoluteRects):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::absoluteBoundingBoxRect):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::absoluteRects):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRects):
        * rendering/RenderText.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::absoluteRects):
        * rendering/RenderView.h:

2011-06-06  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch shouldPaint to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62158

        Switching shouldPaint to take an IntPoint representing the paint offset instead
        of a pair of ints.

        No new tests as this is simple refactoring.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderReplaced.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2011-06-06  James Simonsen  <simonjam@chromium.org>

        Reviewed by James Robinson.

        Add monotonicallyIncreasingTime() to get monotonically increasing time
        https://bugs.webkit.org/show_bug.cgi?id=37743

        * platform/chromium/SystemTimeChromium.cpp:
        (WebCore::monotonicallyIncreasingTime): Add primitive monotonicallyIncreasingTime() which just wraps currentTime().

2011-06-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderBox::pushContentsClip to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62133

        Covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::Covered by existing tests.RenderBlock::paint):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):
        * rendering/RenderBox.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):

2011-06-06  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch InlineFlowBox::paintMask to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62156

        Switching InlineFlowBox::paintMask to take an IntPoint representing the paint
        offset instead of a pair of ints.

        No new tests as this is simple refactoring.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:

2011-06-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert hitTest to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62144

        Covered by existing tests.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hitTestFloats):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestContents):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::renderBoxLocation):
        (WebCore::RenderLayer::renderBoxX):
        (WebCore::RenderLayer::renderBoxY):
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderLineBoxList.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest):
        * rendering/RenderObject.h:

2011-06-06  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintScrollbar to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62151

        Switching paintScrollbar to use IntPoint instead of a pair of ints.

        No new tests since this is simple refactoring.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintObject):
        (WebCore::RenderListBox::paintScrollbar):
        * rendering/RenderListBox.h:

2011-06-06  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        [chromium] Delete dead clipboard code.
        https://bugs.webkit.org/show_bug.cgi?id=62113

        No new tests since this change only deleted unused code.

        * WebCore.gypi:
        * platform/chromium/ChromiumDataObjectLegacy.cpp: Removed.
        * platform/chromium/ChromiumDataObjectLegacy.h: Removed.
        * platform/chromium/ReadableDataObject.cpp: Removed.
        * platform/chromium/ReadableDataObject.h: Removed.
        * platform/chromium/WritableDataObject.cpp: Removed.
        * platform/chromium/WritableDataObject.h: Removed.

2011-06-06  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintOutline, paintContinuationOutlines, and paintOutlineForLine to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62137

        Switching paintOutline, paintContinuationOutlines, and paintOutlineForLine to take an IntPoint
        representing the paint offset instead of a pair of ints.

        No new tests as this is simple refactoring.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::paintContinuationOutlines):
        * rendering/RenderBlock.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        (WebCore::RenderInline::paintOutlineForLine):
        * rendering/RenderInline.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):

2011-06-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderBox::popContentsClip to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62132

        Covered by existing tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::popContentsClip):
        * rendering/RenderBox.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):

2011-06-06  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Remove tx/ty offset from selectionRect
        https://bugs.webkit.org/show_bug.cgi?id=62146

        Removing unused offset parameters from selectionRect.

        No new tests since this is just cleanup.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::selectionRect):
        * rendering/EllipsisBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        * rendering/InlineTextBox.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRectsForRange):
        (WebCore::ellipsisRectForBox):
        (WebCore::RenderText::absoluteQuadsForRange):
        (WebCore::RenderText::selectionRectForRepaint):
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::localCaretRect):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::selectionRect):
        * rendering/svg/SVGInlineTextBox.h:

2011-06-06  Paul Kinlan  <paulkinlan@google.com>

        Reviewed by Jeremy Orlow.

        Let developers call createEvent("PopStateEvent"), previously it wasn't
        exposed and threw an exeception. 
        https://bugs.webkit.org/show_bug.cgi?id=62099

        * WebCore/dom/Document.cpp:
        * WebCore/dom/PopStateEvent.cpp:
        * WebCore/dom/PopStateEvent.h:

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintSelection to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62059

        Switching paintSelection to use an IntPoint to represent the paint offset
        instead of a pair of ints.

        No new tests since this is simple refactoring.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::paintSelection):
        * rendering/EllipsisBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderBlock.h:

2011-06-06  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderBox::clipRect to IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62045

        Covered by existing tests.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::clipRect):
        * rendering/RenderBox.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        (WebCore::RenderLayer::repaintBlockSelectionGaps):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::clipBox):

2011-06-06  Peter Kasting  <pkasting@google.com>

        Reviewed by Antonio Gomes.

        Remove unnecessary args from scroll functions.
        https://bugs.webkit.org/show_bug.cgi?id=61648

        No behavior change, so no tests.

        * WebCore.exp.in:
        * WebCore.order:
        * dom/Element.cpp:
        (WebCore::Element::scrollIntoView):
        (WebCore::Element::scrollIntoViewIfNeeded):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::revealSelection):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollToAnchor):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
        (WebCore::RenderBox::canBeProgramaticallyScrolled):
        * rendering/RenderBox.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::autoscroll):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::canBeProgramaticallyScrolled):
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::canBeProgramaticallyScrolled):

2011-06-06  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintContents, paintColumnContents, paintColumnRules, and paintSelection to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62134

        Switching paintContents, paintColumnContents, paintColumnRules, and paintSelection to take an
        IntPoint representing the paint offset instead of a pair of ints.

        No new tests as this simple refactoring.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnRules):
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::paintContents):
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderBlock.h:

2011-06-06  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Eric Seidel.

        Inline elements are wrapped prematurely with non-zero border, margin or padding.
        https://bugs.webkit.org/show_bug.cgi?id=60459

        When an inline element has a right border/margin/padding and it has more than one descendant with no siblings,
        the width of the right border/margin/padding should be included in line breaking calculation only once,
        and not for each descendant.

        Test: fast/inline/inline-wrap-with-parent-padding.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):

2011-06-06  Shishir Agrawal  <shishir@chromium.org>

        Reviewed by Tony Gentilcore.

        Add a "prerender" state for page visibility.
        https://bugs.webkit.org/show_bug.cgi?id=62062

        * page/PageVisibilityState.cpp:
        (WebCore::pageVisibilityStateString):
        * page/PageVisibilityState.h:

2011-06-06  Cary Clark  <caryclark@google.com>

        Reviewed by Eric Seidel.

        Fix typo in CachedFont.cpp #define
        https://bugs.webkit.org/show_bug.cgi?id=62127

        No new tests. The define typo in question is
        not yet enabled, so this change has no functional
        impact.

        * loader/cache/CachedFont.cpp:
        change SKIA_MAC_ON_CHROME to SKIA_ON_MAC_CHROME

2011-06-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintFloats, paintChildren, and paintEllipsisBoxes to use IntPoint
        https://bugs.webkit.org/show_bug.cgi?id=62058

        Switching paintFloats, paintChildren, and paintEllipsisBoxes to take IntPoints representing
        their paint offsets instead of pairs of ints.

        No new tests since this is simple refactoring.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnContents):
        (WebCore::RenderBlock::paintContents):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::paintEllipsisBoxes):
        * rendering/RenderBlock.h:

2011-06-06  Steve Block  <steveblock@google.com>

        Reviewed by Yury Semikhatsky.

        Use of ENABLE(INSPECTOR) is inconsistent
        https://bugs.webkit.org/show_bug.cgi?id=62118

        Correctly guard implementation of ScriptProfiler.

        No new tests, build fix only.

        * bindings/v8/ScriptProfiler.cpp:
        (WebCore::ScriptProfiler::initialize):

2011-06-04  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add WebCoreTestSupport project.
        https://bugs.webkit.org/show_bug.cgi?id=61076

        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/WebCoreTestSupport.vcproj: Added.
        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy WebCoreTestSupport.h.

2011-06-06  Alexandru Chiculita  <achicu@adobe.com>

        Reviewed by Kent Tamura.

        Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
        https://bugs.webkit.org/show_bug.cgi?id=61628

        This patch modifies only the build system. Therefore,
        there are no new tests.

        * Configurations/FeatureDefines.xcconfig:

2011-06-06  Mihnea Ovidenie  <mihnea@adobe.com>

        Reviewed by Kent Tamura.

        Add ENABLE(CSS_REGIONS) guard for CSS Regions support
        https://bugs.webkit.org/show_bug.cgi?id=61631
        
        This patch modifies only the build system. Therefore,
        there are no new tests.

        * Configurations/FeatureDefines.xcconfig:

2011-06-03  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Gentilcore.

        IndexedDB: Clean-up function prototypes in IDBLevelDBBackingStore.cpp
        https://bugs.webkit.org/show_bug.cgi?id=62013

        Clean up the prototypes for cursor open functions by introducing the
        CursorOptions struct.

        Just clean-up, no new functionality so no new tests.

        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::CursorOptions::CursorImplCommon::CursorImplCommon):
        (WebCore::CursorOptions::CursorImplCommon::firstSeek):
        (WebCore::CursorOptions::CursorImplCommon::continueFunction):
        (WebCore::CursorOptions::ObjectStoreCursorImpl::create):
        (WebCore::CursorOptions::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
        (WebCore::CursorOptions::IndexKeyCursorImpl::create):
        (WebCore::CursorOptions::IndexKeyCursorImpl::IndexKeyCursorImpl):
        (WebCore::CursorOptions::IndexCursorImpl::create):
        (WebCore::CursorOptions::IndexCursorImpl::IndexCursorImpl):
        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexCursor):

2011-06-06  Mustafizur Rahaman  <mustaf.here@gmail.com>

        Reviewed by Darin Adler.

        Fix LayoutTests/canvas/philip/tests/2d.composite.operation.highlight.html
        https://bugs.webkit.org/show_bug.cgi?id=48290
        
        "highlight" is not a valid globalComposite operation
        as per http://www.w3.org/TR/2011/WD-2dcontext-20110525/#compositing
        Therefore, removed the option from the source code.
        
        Tests: No new tests required.
        LayoutTests\canvas\philip\tests\2d.composite.operation.highlight.html can be used for testing.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator CompositeOperator):
        * platform/graphics/GraphicsTypes.cpp:
        * platform/graphics/GraphicsTypes.h:
        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::toCairoOperator):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
        * platform/graphics/openvg/PainterOpenVG.cpp:
        (WebCore::PlatformPainterState::applyBlending):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::toQtCompositionMode):
        * platform/graphics/skia/SkiaUtils.cpp:

2011-06-04  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Kent Tamura.

        Add some asserts for array boundary checks in TextRun. Fix
        an integer issue in linux text controller code.
        https://bugs.webkit.org/show_bug.cgi?id=62085

        Testing ComplexTextControllerLinux change requires a testcase
        > 32 kb which is not feasible. All other changes are tested by
        existing layouttests.

        * platform/graphics/TextRun.h:
        (WebCore::TextRun::operator[]): add assert.
        (WebCore::TextRun::data): add assert.
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advance): bail early and prevent access
        to one byte across the text run boundary.
        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::getNormalizedTextRun): wrong
        int16 vs int comparison.
        * rendering/svg/SVGTextRunRenderingContext.cpp:
        (WebCore::SVGTextRunWalker::walk): bail early when from and to
        is outside the text run boundary. this hit easily after adding
        the assert when from = to = end and read in run.data(from). 

2011-06-05  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Rolling out r84528.
        http://trac.webkit.org/changeset/84528
        https://bugs.webkit.org/show_bug.cgi?id=62100

        It made several problems on elements with new shadow DOM.

        * dom/Element.cpp:
        (WebCore::Element::copyNonAttributeProperties):

2011-06-05  Igor Oliveira  <igor.oliveira@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        fast/viewport/viewport-45.html fails in GTK+/Qt
        https://bugs.webkit.org/show_bug.cgi?id=47481

        computeViewportAttributes does many math operations with float point arithmetic
        and in some cases there is loss of precision making tests have incorrect values.

        * dom/ViewportArguments.cpp:
        (WebCore::computeViewportAttributes):

== Rolled over to ChangeLog-2011-06-04 ==
