Unreviewed, rolling out r123715.
[WebKit-https.git] / Source / WebCore / ChangeLog
index 67ba43a..bea8cd5 100644 (file)
+2012-07-26  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r123715.
+        http://trac.webkit.org/changeset/123715
+        https://bugs.webkit.org/show_bug.cgi?id=92356
+
+        Breaks compilation on multiple platforms (Requested by vsevik
+        on #webkit).
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::InspectorController):
+        (WebCore::InspectorController::inspectedPageDestroyed):
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore):
+        * inspector/InspectorInstrumentation.h:
+        (InspectorInstrumentation):
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::InspectorResourceAgent::didReceiveData):
+        (WebCore::InspectorResourceAgent::getResponseBody):
+        * inspector/InspectorResourceAgent.h:
+        (InspectorResourceAgent):
+        * inspector/NetworkResourcesData.cpp:
+        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
+        (WebCore::NetworkResourcesData::ResourceData::setContent):
+        (WebCore::NetworkResourcesData::ResourceData::dataLength):
+        (WebCore::NetworkResourcesData::ResourceData::appendData):
+        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
+        (WebCore::NetworkResourcesData::setResourceContent):
+        (WebCore::NetworkResourcesData::maybeAddResourceData):
+        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
+        (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
+        (WebCore::NetworkResourcesData::ensureFreeSpace):
+        * inspector/NetworkResourcesData.h:
+        (ResourceData):
+        (WebCore::NetworkResourcesData::ResourceData::cachedResource):
+        (NetworkResourcesData):
+        * loader/cache/CachedResource.cpp:
+        (WebCore::CachedResource::~CachedResource):
+        (WebCore::CachedResource::removeClient):
+        (WebCore::CachedResource::deleteIfPossible):
+        * loader/cache/CachedResource.h:
+        (CachedResource):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
+        (WebCore::CachedResourceLoader::clearPreloads):
+        * loader/cache/CachedResourceLoader.h:
+        (CachedResourceLoader):
+        * loader/cache/MemoryCache.cpp:
+        (WebCore::MemoryCache::evict):
+        * testing/InternalSettings.cpp:
+        * testing/Internals.cpp:
+        * testing/Internals.h:
+        (Internals):
+
+2012-07-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Add *explicit* keyword to constructors in WebCore/platform
+        https://bugs.webkit.org/show_bug.cgi?id=92238
+
+        Reviewed by Kentaro Hara.
+
+        As a step to let *explicit* keyword add to constructors which have a parameter,
+        *explicit* keyword is added to Source/WebCore/platform in order to avoid implicit
+        type conversion.
+
+        Some files in platform directory can't use explicit keyword because of build breaks.
+
+        No new tests. Covered by existing tests.
+
+        * platform/AutodrainedPool.h:
+        (AutodrainedPool):
+        * platform/ContentType.h:
+        (ContentType):
+        * platform/ContextMenu.h:
+        (ContextMenu):
+        * platform/ContextMenuItem.h:
+        (ContextMenuItem):
+        * platform/Cursor.h:
+        (WebCore::SharedCursor::SharedCursor):
+        (Cursor):
+        * platform/KURL.h:
+        (WebCore::KURL::KURL):
+        (KURL):
+        * platform/KURLGooglePrivate.h:
+        (KURLGooglePrivate):
+        * platform/PODRedBlackTree.h:
+        (WebCore::PODRedBlackTree::PODRedBlackTree):
+        * platform/Pasteboard.h:
+        (Pasteboard):
+        * platform/PlatformEvent.h:
+        (WebCore::PlatformEvent::PlatformEvent):
+        * platform/PlatformKeyboardEvent.h:
+        (PlatformKeyboardEvent):
+        * platform/PlatformMouseEvent.h:
+        (PlatformMouseEvent):
+        * platform/PlatformPasteboard.h:
+        (PlatformPasteboard):
+        * platform/PlatformTouchEvent.h:
+        (PlatformTouchEvent):
+        * platform/PlatformWheelEvent.h:
+        (PlatformWheelEvent):
+        * platform/RunLoop.h:
+        (TimerBase):
+        * platform/ScrollAnimator.h:
+        (ScrollAnimator):
+        * platform/ScrollAnimatorNone.h:
+        (ScrollAnimatorNone):
+        * platform/SharedBuffer.h:
+        (SharedBuffer):
+        * platform/WheelFlingPlatformGestureCurve.h:
+        (WheelFlingPlatformGestureCurve):
+        * platform/Widget.h:
+        (Widget):
+
+2012-07-26  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: Resource agent's reference to cached resources should be weak.
+        https://bugs.webkit.org/show_bug.cgi?id=92108
+
+        Reviewed by Pavel Feldman.
+
+        NetworkResourcesData now stores a raw pointer to CachedResource.
+        CachedResource now notifies InspectorInstrumentation that it will be destroyed.
+        InspectorInstrumentation stores a set of InstrumentingAgents and broadcasts willDestroyCachedResource event to all available resourceAgents.
+        Destroyed resources content is saved to NetworkResourcesData.
+        Changed content size variables type in NetworkResourcesData from int to size_t.
+
+        Tests: http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
+               http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::InspectorController):
+        (WebCore::InspectorController::inspectedPageDestroyed):
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore):
+        (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
+        (WebCore::InspectorInstrumentation::registerInstrumentingAgents):
+        (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
+        * inspector/InspectorInstrumentation.h:
+        (InspectorInstrumentation):
+        (WebCore::InspectorInstrumentation::willDestroyCachedResource):
+        (WebCore):
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::InspectorResourceAgent::didReceiveData):
+        (WebCore::InspectorResourceAgent::willDestroyCachedResource):
+        (WebCore):
+        (WebCore::InspectorResourceAgent::getResponseBody):
+        * inspector/InspectorResourceAgent.h:
+        (InspectorResourceAgent):
+        * inspector/NetworkResourcesData.cpp:
+        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
+        (WebCore::NetworkResourcesData::ResourceData::setContent):
+        (WebCore::NetworkResourcesData::ResourceData::dataLength):
+        (WebCore::NetworkResourcesData::ResourceData::appendData):
+        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
+        (WebCore::NetworkResourcesData::setResourceContent):
+        (WebCore::NetworkResourcesData::maybeAddResourceData):
+        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
+        (WebCore::NetworkResourcesData::removeCachedResource):
+        (WebCore):
+        (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
+        (WebCore::NetworkResourcesData::ensureFreeSpace):
+        * inspector/NetworkResourcesData.h:
+        (ResourceData):
+        (WebCore::NetworkResourcesData::ResourceData::base64Encoded):
+        (WebCore::NetworkResourcesData::ResourceData::cachedResource):
+        (NetworkResourcesData):
+        * loader/cache/CachedResource.cpp:
+        (WebCore::CachedResource::~CachedResource):
+        (WebCore::CachedResource::removeClient):
+        (WebCore::CachedResource::deleteIfPossible):
+        * loader/cache/CachedResource.h:
+        (CachedResource):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
+        (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
+        (WebCore::CachedResourceLoader::clearPreloads):
+        * loader/cache/CachedResourceLoader.h:
+        (CachedResourceLoader):
+        * loader/cache/MemoryCache.cpp:
+        (WebCore::MemoryCache::evict):
+        * testing/InternalSettings.cpp:
+        * testing/Internals.cpp:
+        (WebCore::Internals::garbageCollectDocumentResources):
+        (WebCore):
+        * testing/Internals.h:
+        (Internals):
+
+2012-07-26  Luke Macpherson   <macpherson@chromium.org>
+
+        Fix null ptr deref in CSSParser::storeVariableDeclaration().
+        https://bugs.webkit.org/show_bug.cgi?id=92333
+
+        Reviewed by Andreas Kling.
+
+        Fix null pointer deref that occurs if the CSSParserValue couldn't be converted to a CSSValue.
+
+        Test fast/css/variables/variable-unparseable-value-crash.html added.
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::storeVariableDeclaration):
+
+2012-07-26  Shinya Kawanaka  <shinyak@chromium.org>
+
+        Add UserAgentShadowDOM to FormControlElement just before adding AuthorShadowDOM
+        https://bugs.webkit.org/show_bug.cgi?id=90866
+
+        Reviewed by Hajime Morita.
+
+        It ensures that UserAgentShadowDOM is the oldest ShadowDOM.
+
+        To show ValidationMessage, WebKit adds a Shadow DOM to some of FormControlElements.
+        ValidationMessage assumes that the added Shadow DOM is the oldest, however, there was a case
+        that a page author might add a Shadow DOM before ValidationMessage adds a Shadow DOM.
+        It will break the assumption that the Shadow DOM added by ValidationMessage is the oldest.
+        So we have prohibited a page author adding a Shadow DOM to FormControlElement.
+
+        To add UserAgentShadowDOM, we use a callback which is called before a page author adding a Shadow DOM.
+        It adds a UserAgentShadowDOM if it does not exist, so we can ensure that UserAgentShadowDOM is the oldest.
+
+        Tests: fast/dom/shadow/input-with-validation-without-shadow.html
+               fast/dom/shadow/input-with-validation.html
+               fast/dom/shadow/shadowdom-for-button-complex-shadow.html
+               fast/dom/shadow/shadowdom-for-button-only-shadow.html
+               fast/dom/shadow/shadowdom-for-button-without-shadow.html
+               fast/dom/shadow/shadowdom-for-fieldset-complex-shadow.html
+               fast/dom/shadow/shadowdom-for-fieldset-only-shadow.html
+               fast/dom/shadow/shadowdom-for-fieldset-without-shadow.html
+               fast/dom/shadow/shadowdom-for-form-associated-element-useragent.html
+               fast/dom/shadow/shadowdom-for-keygen-complex-shadow.html
+               fast/dom/shadow/shadowdom-for-keygen-only-shadow.html
+               fast/dom/shadow/shadowdom-for-keygen-without-shadow.html
+               fast/dom/shadow/shadowdom-for-object-complex-shadow.html
+               fast/dom/shadow/shadowdom-for-object-only-shadow.html
+               fast/dom/shadow/shadowdom-for-object-without-shadow.html
+               fast/dom/shadow/shadowdom-for-output-complex-shadow.html
+               fast/dom/shadow/shadowdom-for-output-only-shadow.html
+               fast/dom/shadow/shadowdom-for-output-without-shadow.html
+               fast/dom/shadow/shadowdom-for-select-complex-shadow.html
+               fast/dom/shadow/shadowdom-for-select-only-shadow.html
+               fast/dom/shadow/shadowdom-for-select-without-shadow.html
+               fast/dom/shadow/shadowdom-for-textarea-complex-shadow.html
+               fast/dom/shadow/shadowdom-for-textarea-only-shadow.html
+               fast/dom/shadow/shadowdom-for-textarea-without-shadow.html
+
+        * dom/ShadowRoot.cpp:
+        (WebCore::allowsAuthorShadowRoot):
+        * html/FormAssociatedElement.cpp:
+        (WebCore::FormAssociatedElement::ensureUserAgentShadowRoot): Ensures the existence of a UserAgentShadowRoot.
+        If it does not exist, we create it with empty content.
+        (WebCore):
+        * html/FormAssociatedElement.h:
+        (FormAssociatedElement):
+        * html/HTMLFormControlElement.cpp:
+        (WebCore::HTMLFormControlElement::willAddAuthorShadowRoot):
+        (WebCore):
+        * html/HTMLFormControlElement.h:
+        (HTMLFormControlElement):
+        * html/ValidationMessage.cpp:
+        (WebCore::adjustBubblePosition): When AuthroShadowRoot does not a shadow element, ValidationMessage
+        does not have a renderer. So we have to check the existence of renderer.
+        (WebCore::ValidationMessage::buildBubbleTree):
+
+2012-07-26  Kaustubh Atrawalkar  <kaustubh@motorola.com>
+
+        [DRT] LTC:: pageNumberForElementById() could be moved to Internals
+        https://bugs.webkit.org/show_bug.cgi?id=92091
+
+        Reviewed by Adam Barth.
+
+        Move the pageNumberForElementById from LayoutTestCotroller to Internals and
+        remove the old platform specific implementations as it exclusively tests WebCore functionality.
+
+        Covered by existing test cases.
+
+        * testing/Internals.cpp:
+        (WebCore::Internals::counterValue):
+        (WebCore):
+        (WebCore::Internals::pageNumber):
+        * testing/Internals.h:
+        (Internals):
+        (WebCore::Internals::pageNumber):
+        * testing/Internals.idl:
+
+2012-07-25  MORITA Hajime  <morrita@google.com>
+
+        [Chromium][Win] <progress> animation on RTL direction is reverse
+        https://bugs.webkit.org/show_bug.cgi?id=92236
+
+        Reviewed by Kent Tamura.
+
+        This change modfies the way to handle RTL progress bar painting.
+        Originally it computes the flipped coordinates. This change uses transformation for the flip.
+        DirectionFlippingScope handles it.
+
+        * rendering/RenderThemeChromiumLinux.cpp:
+        (WebCore::RenderThemeChromiumLinux::paintProgressBar): Applied DirectionFlippingScope
+        * rendering/RenderThemeChromiumSkia.cpp:
+        (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
+        - Deleted RTL handling in favor of DirectionFlippingScope
+        (WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::DirectionFlippingScope):
+        (WebCore):
+        (WebCore::RenderThemeChromiumSkia::DirectionFlippingScope::~DirectionFlippingScope):
+        * rendering/RenderThemeChromiumSkia.h:
+        (RenderThemeChromiumSkia):
+        (DirectionFlippingScope): Added.
+        * rendering/RenderThemeChromiumWin.cpp:
+        (WebCore):
+        (WebCore::RenderThemeChromiumWin::paintProgressBar): Applied DirectionFlippingScope
+
+2012-07-25  Vineet Chaudhary  <rgf748@motorola.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=92260
+        Repalce "int" with "long" from WebCore/*.idls
+
+        Reviewed by Adam Barth.
+
+        As per the WebIDL spec IDL shouldn't have int attributes but long instead.
+        Repalced attributes types int with long from WebCore/*.idls.
+
+        No new tests. TestObj.idl already covers this.
+        There should be no behavioural changes.
+
+        * dom/Touch.idl: Repalce int with long.
+        * dom/WebKitNamedFlow.idl: Ditto.
+        * html/canvas/ArrayBuffer.idl: Ditto.
+        * html/canvas/WebGLActiveInfo.idl: Ditto.
+        * html/canvas/WebGLShaderPrecisionFormat.idl: Ditto.
+        * page/WebKitAnimation.idl: Ditto.
+
+2012-07-25  Shinya Kawanaka  <shinyak@chromium.org>
+
+        The elements in ShadowDOM of meter or progress should not be modifiable.
+        https://bugs.webkit.org/show_bug.cgi?id=92199
+
+        Reviewed by Hajime Morita.
+
+        A user can set -webkit-user-modify: read-write to the elements in Shadow DOM in a meter or progress element.
+        This might cause a undesired crash like Bug 65738. They should be unmodifiable.
+
+        We add default css values to elements in ShadowDOM of meter or progress to prohibit editing them.
+
+        Tests: fast/html/meter-user-modify.html
+               fast/html/progress-user-modify.html
+
+        * css/html.css:
+        Added -webkit-user-modify: read-only !important; for these elements so that they won't be
+        changed by a user.
+        (meter::-webkit-meter-bar):
+        (meter::-webkit-meter-optimum-value):
+        (meter::-webkit-meter-suboptimum-value):
+        (meter::-webkit-meter-even-less-good-value):
+        (progress::-webkit-progress-bar):
+        (progress::-webkit-progress-value):
+
+2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
+
+        [BlackBerry] GraphicsContext3D::paintToCanvas should not swap 0th and 2nd components of color
+        https://bugs.webkit.org/show_bug.cgi?id=92314
+
+        Reviewed by Rob Buis.
+
+        No new tests, because it corrects existing functionality, but it makes BlackBerry
+        pass canvas-text.html and others.
+
+        * platform/graphics/GraphicsContext3D.h:
+        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
+        (WebCore::GraphicsContext3D::paintToCanvas):
+        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
+
+2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
+
+        [BlackBerry] GraphicsContext3D::reshapeFBOs does not report when bound FBOs should be restored
+        https://bugs.webkit.org/show_bug.cgi?id=92304
+
+        Reviewed by Rob Buis.
+
+        No new tests, because it corrects existing functionality, but it makes BlackBerry
+        pass framebuffer-bindings-unaffected-on-resize.html.
+
+        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
+        (WebCore::GraphicsContext3D::reshapeFBOs):
+
+2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
+
+        [BlackBerry] readPixels should set alpha to 255 instead of 0 when alpha is disabled
+        https://bugs.webkit.org/show_bug.cgi?id=92303
+
+        Reviewed by Rob Buis.
+
+        No new tests, because it corrects existing functionality, but it makes BlackBerry
+        pass context-attributes-alpha-depth-stencil-antialias.html.
+
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore):
+        (WebCore::WebGLRenderingContext::readPixels):
+
+2012-07-25  Joshua Netterfield  <jnetterfield@rim.com>
+
+        [WebGL] fast/canvas/webgl/framebuffer-object-attachment.html fails on certain platforms
+        https://bugs.webkit.org/show_bug.cgi?id=92296
+
+        Reviewed by Rob Buis.
+
+        No new tests, because it introduces no new functionality, only fixes the above mentioned test.
+
+        * html/canvas/WebGLFramebuffer.cpp:
+        (WebCore::WebGLFramebuffer::checkStatus):
+
+2012-07-25  Xingnan Wang  <xingnan.wang@intel.com>
+
+        IndexedDB: IDBTransaction::abort() should throw DOMException
+        https://bugs.webkit.org/show_bug.cgi?id=92069
+
+        Reviewed by Kentaro Hara.
+
+        Keep aligned with the W3C spec.
+        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBTransaction-abort-void
+
+        Test: storage/indexeddb/transaction-abort.html.
+
+        * Modules/indexeddb/IDBTransaction.cpp:
+        (WebCore::IDBTransaction::abort):
+        (WebCore):
+        * Modules/indexeddb/IDBTransaction.h:
+        (IDBTransaction):
+        * Modules/indexeddb/IDBTransaction.idl:
+
+2012-07-25  Tony Chang  <tony@chromium.org>
+
+        flexitems can overflow the flexbox due to rounding
+        https://bugs.webkit.org/show_bug.cgi?id=92163
+
+        Reviewed by Levi Weintraub.
+
+        Don't round flex item sizes and use LayoutPoint for the location of flex items.
+
+        Test: css3/flexbox/flex-rounding.html
+
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
+        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
+        (WebCore::RenderFlexibleBox::layoutColumnReverse):
+
+2012-07-25  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
+
+        [BlackBerry] Integrate certmgr with CredentialBackingStore
+        https://bugs.webkit.org/show_bug.cgi?id=92183
+
+        Reviewed by George Staikos.
+
+        Integrated BlackBerry::Platform::CertMgrWrapper with
+        CredentialBackingStore, when certmgr is ready we save
+        the password in certmgr and retrieve it from certmgr.
+
+        RIM PR: 171991
+        Internally reviewed by Joe Mason <jmason@rim.com>.
+
+        No new tests since there's no functional change.
+
+        * platform/network/blackberry/CredentialBackingStore.cpp:
+        (WebCore::hashCredentialInfo):
+        (WebCore):
+        (WebCore::CredentialBackingStore::CredentialBackingStore):
+        (WebCore::CredentialBackingStore::open):
+        (WebCore::CredentialBackingStore::addLogin):
+        (WebCore::CredentialBackingStore::updateLogin):
+        (WebCore::CredentialBackingStore::getLogin):
+        * platform/network/blackberry/CredentialBackingStore.h:
+        (CredentialBackingStore):
+
+2012-07-25  Kent Tamura  <tkent@chromium.org>
+
+        REGRESSION(r121420): Performance regression of form state saving for pages with multiple forms
+        https://bugs.webkit.org/show_bug.cgi?id=91804
+
+        Reviewed by Hajime Morita.
+
+        The complexity of FormKeyGenerator::formKey() was O(N) where N is the
+        number form elements with an identical action URL, and formKey() is
+        called for every form. So, it's O(N^2). A page in www.reddit.com
+        contains hundreds of form elements with action="#". So FormController::
+        formElementsState() took a few seconds on a slow machine.
+
+        In order to avoid O(N^2) operation, storing a map from form signatures
+        to next index numbers, instead of storing existing formKey strings.
+
+        No new tests. Just a performance improvement.
+
+        Note: This is a re-landing of r123191. We rolled it out because of
+        suspicion of a performance regression. However it was innocent.
+
+        * html/FormController.cpp:
+        (FormKeyGenerator): Remove m_existingKeys. Add a map from a form
+        signature string to the next index number.
+        (WebCore::formSignature): Returns a signature string for a form, without
+        an index number. This is like "actionURL [name1 name2 ]"
+        (WebCore::FormKeyGenerator::formKey):
+        Creates a formKey string by concatenating a formSignature and #n. N is
+        obtained from m_formSignatureToNextIndexMap in O(1).
+        (WebCore::FormKeyGenerator::willDeleteForm):
+        Remove the code for m_existingKeys.
+
+2012-07-25  Benjamin Poulain  <bpoulain@apple.com>
+
+        Initialize QualifiedName's strings from the read only data segment
+        https://bugs.webkit.org/show_bug.cgi?id=92226
+
+        Reviewed by Anders Carlsson.
+
+        Modify the initialization of static QualifiedName to initialize the AtomicString
+        with the data from the read only memory.
+
+        Overall, HTMLNames::init() gets 10% faster.
+
+        * dom/QualifiedName.cpp:
+        (WebCore::QualifiedName::QualifiedName):
+        * dom/QualifiedName.h:
+        (QualifiedName):
+        Remove the useless constructor taking a char* and get rid of the init() function.
+        The AtomicString representing the name should be constructed by the caller of QualifiedName.
+
+        Because the init() code is relatively large and is only executed once, it is important to
+        keep the AtomicString construction separate. The function createQualifiedName() was added
+        to improve the cache use. The short version let us reduce the code one more instruction per
+        call.
+
+        * dom/make_names.pl:
+        (printQualifiedNameMaker):
+        (printShortQualifiedNameMaker):
+        (printNamesCppFile):
+        (printDefinitions):
+
+2012-07-25  Yoshifumi Inoue  <yosin@chromium.org>
+
+        [Forms] Move HTMLInputElement::updateInnerTextValue to InputType class
+        https://bugs.webkit.org/show_bug.cgi?id=92230
+
+        Reviewed by Kent Tamura.
+
+        This patch moves implementaion of HTMLInputElement::updateInnerTextValue()
+        into input type classes, removes updateInnerTextValue() from HTMLInputElement,
+        and updates call site of updateInnerTextValue().
+
+        No new tests. This patch doesn't change behavior.
+
+        * html/DateInputType.cpp:
+        (WebCore::DateInputType::handleBlurEvent): Updated call site of updateInnerTextValue().
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::updateType): Updated call site of updateInnerTextValue().
+        (WebCore::HTMLInputElement::parseAttribute): Updated call site of updateInnerTextValue().
+        (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement): Updated call site of updateInnerTextValue().
+        (WebCore::HTMLInputElement::setSuggestedValue): Updated call site of updateInnerTextValue().
+        * html/HTMLInputElement.h:
+        (HTMLInputElement): Removed updateInnerTextValue().
+        * html/InputType.cpp:
+        (WebCore::InputType::updateInnerTextValue): Added default implementaion.
+        * html/InputType.h:
+        (InputType): Added declaration of updateInnerTextValue().
+        * html/NumberInputType.cpp:
+        (WebCore::NumberInputType::handleBlurEvent): Updated call site of updateInnerTextValue().
+        * html/TextFieldInputType.cpp:
+        (WebCore::TextFieldInputType::setValue): Updated call site of updateInnerTextValue().
+        (WebCore::TextFieldInputType::updateInnerTextValue): Moved implementaion from HTMLInputElement.
+        * html/TextFieldInputType.h:
+        (TextFieldInputType): Added declaration of updateInnerTextValue().
+
+2012-07-25  Dana Jansens  <danakj@chromium.org>
+
+        [chromium] Move ephemeral data for a single frame in LayerRendererChromium into a structure with a scoped lifetime equal to the frame
+        https://bugs.webkit.org/show_bug.cgi?id=92294
+
+        Reviewed by Adrienne Walker.
+
+        The LayerRendererChromium class has a number of member variables that are used
+        while drawing a single frame. Because they are member variables, their lifetimes
+        are not clear, and some are even updated between frames, which is not needed.
+
+        This change creates a LRC::DrawingFrame structure that holds the data used
+        while drawing the current frame, and an instance of this structure is held
+        and passed around to functions in LayerRendererChromium, moving all of the
+        data out from being member variables on the class to being function
+        arguments on the relevant methods.
+
+        The projection and window matrices are a part of this frame data, and are not
+        used externally, so they are removed from the CCRenderer interface and included
+        within the DrawingFrame structure.
+
+        Covered by existing tests, no change in behaviour intended.
+
+        * platform/graphics/chromium/LayerRendererChromium.cpp:
+        (WebCore::LayerRendererChromium::LayerRendererChromium):
+        (WebCore::LayerRendererChromium::viewportChanged):
+        (WebCore::LayerRendererChromium::clearFramebuffer):
+        (WebCore::LayerRendererChromium::drawFrame):
+        (WebCore::LayerRendererChromium::drawRenderPass):
+        (WebCore::LayerRendererChromium::drawQuad):
+        (WebCore::LayerRendererChromium::drawCheckerboardQuad):
+        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
+        (WebCore::LayerRendererChromium::drawBackgroundFilters):
+        (WebCore::LayerRendererChromium::drawRenderPassQuad):
+        (WebCore::LayerRendererChromium::drawSolidColorQuad):
+        (WebCore::LayerRendererChromium::drawTileQuad):
+        (WebCore::LayerRendererChromium::drawYUVVideoQuad):
+        (WebCore::LayerRendererChromium::drawStreamVideoQuad):
+        (WebCore::LayerRendererChromium::drawTextureQuad):
+        (WebCore::LayerRendererChromium::drawIOSurfaceQuad):
+        (WebCore::LayerRendererChromium::finishDrawingFrame):
+        (WebCore::LayerRendererChromium::drawTexturedQuad):
+        (WebCore::LayerRendererChromium::copyTextureToFramebuffer):
+        (WebCore::LayerRendererChromium::isCurrentRenderPass):
+        (WebCore::LayerRendererChromium::useRenderPass):
+        (WebCore::LayerRendererChromium::useScopedTexture):
+        (WebCore::LayerRendererChromium::bindFramebufferToTexture):
+        (WebCore::LayerRendererChromium::setScissorToRect):
+        (WebCore::LayerRendererChromium::setDrawFramebufferRect):
+        * platform/graphics/chromium/LayerRendererChromium.h:
+        (DrawingFrame):
+        (WebCore::LayerRendererChromium::DrawingFrame::DrawingFrame):
+        (LayerRendererChromium):
+        * platform/graphics/chromium/cc/CCRenderer.h:
+        (CCRenderer):
+
+2012-07-19  Adrienne Walker  <enne@google.com>
+
+        [chromium] Make all compositor screen space transforms operate on content rects
+        https://bugs.webkit.org/show_bug.cgi?id=91807
+
+        Reviewed by Kenneth Russell.
+
+        Previously, surface screen space transforms operated on surface
+        content space but layer screen space transforms operated on layer
+        space. For the purpose of consistency, unify these two so that they
+        both operate on content space.
+
+        No tests, because no change in behavior expected. Just a refactoring.
+
+        * platform/graphics/chromium/LayerChromium.h:
+        (LayerChromium):
+        * platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
+        (WebCore::CCDebugRectHistory::savePaintRects):
+        (WebCore::CCDebugRectHistory::savePropertyChangedRects):
+        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+        (WebCore::calculateDrawTransformsInternal):
+        (WebCore::CCLayerTreeHostCommon::findLayerThatIsHitByPoint):
+        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+        (WebCore::::markOccludedBehindLayer):
+        (WebCore::::occluded):
+        (WebCore::::unoccludedContentRect):
+
+2012-07-25  Dan Bernstein  <mitz@apple.com>
+
+        Hit testing in one column or in the gap between cloumns along the block axis can return a result from the wrong column
+        https://bugs.webkit.org/show_bug.cgi?id=92311
+
+        Reviewed by Anders Carlsson.
+
+        Tests: fast/multicol/hit-test-end-of-column.html
+               fast/multicol/hit-test-gap-block-axis.html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::positionForPointWithInlineChildren): To prevent hits after the last
+        line on a given column from returning the next line in the next column, added a check if
+        the hit occurred within the pagination strut of a line. Covered by the first test.
+        (WebCore::RenderBlock::adjustPointToColumnContents): Added clamp-to-column logic for the
+        block-axis case. This prevents hits near the bottom of the top half of the gap from bleeding
+        into the top of the next column. Covered by the second test.
+
+2012-07-25  David Grogan  <dgrogan@chromium.org>
+
+        IndexedDB: Make db.version return an integer if appropriate
+        https://bugs.webkit.org/show_bug.cgi?id=92195
+
+        Reviewed by Tony Chang.
+
+        Make use of the existing IDBAny mechanism to return an integer if
+        integer versions have been used.
+
+        No new tests - no change in behavior expected.
+
+        * Modules/indexeddb/IDBDatabase.cpp:
+        (WebCore::IDBDatabase::version):
+        (WebCore):
+        * Modules/indexeddb/IDBDatabase.h:
+        (IDBDatabase):
+        * Modules/indexeddb/IDBDatabase.idl:
+
+2012-07-25  Michael Saboff  <msaboff@apple.com>
+
+        Convert HTML parser to handle 8-bit resources without converting to UChar*
+        https://bugs.webkit.org/show_bug.cgi?id=90321
+
+        Reviewed by Geoffrey Garen.
+
+        No new tests, no new functionality therefore covered by existing tests.
+
+        Changed the parsing of HTML to handle 8-bit strings without converting the 
+        whole string to 16-bits.  Primary change was to use the appropriate 
+        character pointer type (LChar* or UChar*) depending on the source string.
+        This access is abstracted in SegmentedSubstring by getCurrentChar{8,16} and
+        incrementAndGetCurrentChar{8,16} methods.  In SegmentedString, the advance()
+        and advanceAndUpdateLineNumber() methods have been refactored into a
+        state machine managed pair of function pointers.  The possible functions
+        have not only the 8 and 16 bitness factored out, they also have the 
+        "exclude line numbers" logic factored out for advanceAndUpdateLineNumber().
+        This provides a net speed-up even with the 8/16 bit testing.
+        Other changes involve using String methods to access and compare with the
+        source data.
+
+        * html/FTPDirectoryDocument.cpp:
+        (WebCore::FTPDirectoryDocumentParser::append): Changed to use currentChar()
+        instead of SegmentedString '*' operator.
+        * html/parser/HTMLEntityParser.cpp: Changed to use currentChar() instead of
+        SegmentedString '*' operator.
+        * html/parser/HTMLParserIdioms.cpp:
+        (WebCore::stripLeadingAndTrailingHTMLSpaces): Added 8-bit fast path.
+        * html/parser/HTMLSourceTracker.cpp:
+        (WebCore::HTMLSourceTracker::sourceForToken): Changed to use currentChar() instead of
+        SegmentedString '*' operator.
+        * loader/cache/CachedScript.cpp:
+        (WebCore::CachedScript::script): Updated to use new String::dataSize() method.
+        * platform/text/SegmentedString.cpp:
+        (WebCore::SegmentedString::SegmentedString):
+        (WebCore::SegmentedString::operator=):
+        (WebCore::SegmentedString::clear):
+        (WebCore::SegmentedString::append):
+        (WebCore::SegmentedString::prepend):
+        (WebCore::SegmentedString::advanceSubstring):
+        (WebCore::SegmentedString::advance): Changed to be a wrapper that invokes current 
+        advance function.
+        (WebCore::SegmentedString::advance8): Fast path advance function for 8 bit data.
+        (WebCore::SegmentedString::advance16): Fast path advance function for 16 bit data.
+        (WebCore::SegmentedString::advanceAndUpdateLineNumber8IncludeLineNumbers): Fast
+        path advanceAndUpdateLineNumber for 8 bit data when we need to update the line number.
+        (WebCore::SegmentedString::advanceAndUpdateLineNumber16IncludeLineNumbers): Fast
+        path advanceAndUpdateLineNumber for 16 bit data when we need to update the line number.
+        (WebCore::SegmentedString::advanceSlowCase): Slow case advance function for both
+        8 and 16 bit advance.
+        (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase): Slow case
+        advanceAndUpdateLineNumber function for both 8 and 16 bit data.
+        (WebCore::SegmentedString::advanceEmpty): Advance function when input has been exhausted.
+        * platform/text/SegmentedString.h:
+        (WebCore::SegmentedSubstring::SegmentedSubstring):
+        (WebCore::SegmentedSubstring::clear):
+        (SegmentedSubstring):
+        (WebCore::SegmentedSubstring::is8Bit): New getter.
+        (WebCore::SegmentedSubstring::appendTo):
+        (WebCore::SegmentedSubstring::getCurrentChar8): New getter for the 8 bit case.
+        (WebCore::SegmentedSubstring::getCurrentChar16): New getter for the 16 bit case.
+        (WebCore::SegmentedSubstring::incrementAndGetCurrentChar8): New wrapper functions
+        that pre-increments the 8 bit pointer and returns the next character.
+        (WebCore::SegmentedSubstring::incrementAndGetCurrentChar16): New wrapper functions
+        that pre-increments the 16 bit pointer and returns the next character.
+        (WebCore::SegmentedSubstring::currentSubString):
+        (WebCore::SegmentedSubstring::getCurrentChar):
+        (WebCore::SegmentedSubstring::incrementAndGetCurrentChar):
+        (WebCore::SegmentedString::SegmentedString):
+        (WebCore::SegmentedString::push):
+        (WebCore::SegmentedString::isEmpty):
+        (WebCore::SegmentedString::lookAhead):
+        (WebCore::SegmentedString::lookAheadIgnoringCase):
+        (WebCore::SegmentedString::advance):
+        (WebCore::SegmentedString::advanceAndUpdateLineNumber):
+        (WebCore::SegmentedString::advanceAndASSERT):
+        (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
+        (WebCore::SegmentedString::advancePastNonNewline):
+        (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
+        (WebCore::SegmentedString::currentChar):
+        (WebCore::SegmentedString::setSlowCase): Set advance function pointers to slow case
+        functions.
+        (WebCore::SegmentedString::decrementAndCheckLength): Decrement substring length and
+        change to slow case functions when only one character left.
+        (WebCore::SegmentedString::setAdvanceFunctionPointers): Select appropriate advance
+        functions based on current substring.
+        (WebCore::SegmentedString::lookAheadInline): Changed to use String::startsWith().
+        (WebCore::SegmentedString::lookAheadSlowCase):
+        * xml/parser/CharacterReferenceParserInlineMethods.h:
+        (WebCore::consumeCharacterReference): Changed to use currentChar() instead of
+        SegmentedString '*' operator.
+        * xml/parser/MarkupTokenizerBase.h:
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek): Changed to use
+        currentChar() instead of SegmentedString '*' operator.
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
+
+2012-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r123625 and r123672.
+        http://trac.webkit.org/changeset/123625
+        http://trac.webkit.org/changeset/123672
+        https://bugs.webkit.org/show_bug.cgi?id=92315
+
+        Broke Windows and gcc builds (Requested by rniwa on #webkit).
+
+        * platform/AutodrainedPool.h:
+        (AutodrainedPool):
+        * platform/ContentType.h:
+        (ContentType):
+        * platform/ContextMenu.h:
+        (ContextMenu):
+        * platform/ContextMenuItem.h:
+        (ContextMenuItem):
+        * platform/Cursor.h:
+        (WebCore::SharedCursor::SharedCursor):
+        (Cursor):
+        * platform/KURL.h:
+        (WebCore::KURL::KURL):
+        (KURL):
+        * platform/KURLGooglePrivate.h:
+        (KURLGooglePrivate):
+        * platform/PODRedBlackTree.h:
+        (WebCore::PODRedBlackTree::PODRedBlackTree):
+        * platform/Pasteboard.h:
+        (Pasteboard):
+        * platform/PlatformEvent.h:
+        (WebCore::PlatformEvent::PlatformEvent):
+        * platform/PlatformKeyboardEvent.h:
+        (PlatformKeyboardEvent):
+        * platform/PlatformMouseEvent.h:
+        (PlatformMouseEvent):
+        * platform/PlatformPasteboard.h:
+        (PlatformPasteboard):
+        * platform/PlatformTouchEvent.h:
+        (PlatformTouchEvent):
+        * platform/PlatformWheelEvent.h:
+        (PlatformWheelEvent):
+        * platform/RunLoop.h:
+        (TimerBase):
+        * platform/ScrollAnimator.h:
+        (ScrollAnimator):
+        * platform/ScrollAnimatorNone.h:
+        (ScrollAnimatorNone):
+        * platform/SharedBuffer.h:
+        (SharedBuffer):
+        * platform/WheelFlingPlatformGestureCurve.h:
+        (WheelFlingPlatformGestureCurve):
+        * platform/Widget.h:
+        (Widget):
+        * platform/network/cf/ResourceRequestCFNet.cpp:
+        (WebCore::ResourceRequest::doUpdateResourceRequest):
+
+2012-07-25  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Windows build fix attempt after r123625.
+
+        * platform/network/cf/ResourceRequestCFNet.cpp:
+        (WebCore::ResourceRequest::doUpdateResourceRequest):
+
+2012-07-25  Kwang Yul Seo  <skyul@company100.net>
+
+        Read tag names and attributes from the saved tokens in HTMLTreeBuilder::resetInsertionModeAppropriately.
+        https://bugs.webkit.org/show_bug.cgi?id=92240
+
+        Reviewed by Adam Barth.
+
+        This is a follow-up patch for r123577. Added ItemType enum to HTMLStackItem to handle
+        the context element case.
+
+        No new tests, covered by existing tests.
+
+        * html/parser/HTMLStackItem.h:
+        (WebCore::HTMLStackItem::create):
+        (WebCore::HTMLStackItem::HTMLStackItem):
+        * html/parser/HTMLTreeBuilder.cpp:
+        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
+
+2012-07-25  Nico Weber  <thakis@chromium.org>
+
+        [chromium/mac] Remove mac_bundle_resources section from WebCore.gyp
+        https://bugs.webkit.org/show_bug.cgi?id=92207
+
+        Reviewed by Tony Chang.
+
+        It's no longer needed after http://crrev.com/148290 and
+        http://crrev.com/148187.
+
+        * WebCore.gyp/WebCore.gyp:
+
+2012-07-25  Dana Jansens  <danakj@chromium.org>
+
+        [chromium] Move WebFilterOperations from RenderPassDrawQuad to RenderPass
+        https://bugs.webkit.org/show_bug.cgi?id=91885
+
+        Reviewed by Adrienne Walker.
+
+        We move the filter operations to CCRenderPass to avoid having
+        variable-length data in a WebCompositorQuad in order to serialize,
+        and also to avoid requiring a virtual destructor for the quad
+        classes.
+
+        The drawFrame method now takes a CCRenderPassIdHashMap in order
+        to connect RenderPass quads to their source RenderPass.
+
+        Covered by existing tests.
+
+        * platform/graphics/chromium/LayerRendererChromium.cpp:
+        (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
+        (WebCore::LayerRendererChromium::drawFrame):
+        (WebCore::LayerRendererChromium::beginDrawingFrame):
+        (WebCore::LayerRendererChromium::drawBackgroundFilters):
+        (WebCore::LayerRendererChromium::drawRenderPassQuad):
+        * platform/graphics/chromium/LayerRendererChromium.h:
+        (LayerRendererChromium):
+        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+        (WebCore::CCLayerTreeHostImpl::drawLayers):
+        * platform/graphics/chromium/cc/CCRenderPass.h:
+        (WebCore::CCRenderPass::filters):
+        (WebCore::CCRenderPass::setFilters):
+        (CCRenderPass):
+        (WebCore::CCRenderPass::backgroundFilters):
+        (WebCore::CCRenderPass::setBackgroundFilters):
+        * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
+        (WebCore::CCRenderPassDrawQuad::create):
+        (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
+        * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
+        (CCRenderPassDrawQuad):
+        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+        (WebCore::CCRenderSurface::appendQuads):
+        * platform/graphics/chromium/cc/CCRenderer.h:
+        (CCRenderer):
+
+2012-07-25  Mike Reed  <reed@google.com>
+
+        fix test in beginLayerClippedToImage to check for immutability if we're going to do a shallow-copy
+        https://bugs.webkit.org/show_bug.cgi?id=92276
+
+        Reviewed by Stephen White.
+
+        PlatformContextSkia::beginLayerClippedToImage
+
+        This function wants to apply the provided ImageBuffer as a clip. Skia does not support this natively yet,
+        so the code makes a "copy" of that imageBuffer, to be applied later. The old code, wanting to avoid a
+        deep copy if possible, checked for the presence of a SkPixelRef. If it found one, it made a shallow copy.
+        This is flawed, since the contents of a pixelref are not guaranteed to be immutable. The new code checks
+        against this attribute: if the bitmap is "immutable" then we can make a shallow-copy, else we make a
+        deep copy.
+
+        No new tests. Existing svg layouttests work w/ or w/out this change, but at the next Skia deps roll, we see
+        failures w/o this change. The change is more "correct", though the problem case does not exhibit itself until
+        Skia rev. 4722 or later lands.
+
+        * platform/graphics/skia/PlatformContextSkia.cpp:
+        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
+
+2012-07-25  Li Yin  <li.yin@intel.com>
+
+        It is invalid when both numberOfInputChannels and numberOfOutputChannels to be zero in JavaScriptAudioNode.
+        https://bugs.webkit.org/show_bug.cgi?id=91364
+
+        Reviewed by Kenneth Russell.
+
+        Spec: http://www.w3.org/TR/webaudio/#JavaScriptAudioNode-section
+        It is invalid for both numberOfInputChannels and numberOfOutputChannels to be zero.
+
+        Test: webaudio/javascriptaudionode.html
+
+        * Modules/webaudio/JavaScriptAudioNode.cpp:
+        (WebCore::JavaScriptAudioNode::create):
+
+2012-07-24  Shawn Singh  <shawnsingh@chromium.org>
+
+        [chromium] Refactor CCLayerTreeHostCommon: move root layer special case initialization into internal code.
+        https://bugs.webkit.org/show_bug.cgi?id=88953
+
+        Reviewed by Adrienne Walker.
+
+        This is part 1 of trying to reduce the root layer special
+        case. This tries to reduce the special-ness of the root layer from
+        the perspective of outside code.
+
+        After this patch, code that uses calcDrawTransforms() no longer
+        needs to initialize the root layer's surface, and no longer needs
+        to manually append the root layer to the renderSurfaceLayerList.
+
+        Unit tests were also updated (much cleaner!) to account for this change.
+
+        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+        (WebCore::CCLayerTreeHost::updateLayers):
+        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+        (WebCore):
+        (WebCore::setupRootLayerAndSurfaceForRecursion):
+        (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
+        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
+        (CCLayerTreeHostCommon):
+        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+        (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
+
+2012-07-25  Taiju Tsuiki  <tzik@chromium.org>
+
+        FileSystem should provide a way to delete filesystem.
+        https://bugs.webkit.org/show_bug.cgi?id=91861
+
+        Reviewed by Adam Barth.
+
+        We will add a test when we wire-up the feature to Inspector.
+
+        * Modules/filesystem/LocalFileSystem.cpp: Add deleteFileSystem
+        (WebCore::deleteFileSystem):
+        (WebCore):
+        (WebCore::LocalFileSystem::deleteFileSystem):
+        * Modules/filesystem/LocalFileSystem.h:
+        (LocalFileSystem):
+        * platform/AsyncFileSystem.cpp: Add deleteFileSystem
+        (WebCore):
+        (WebCore::AsyncFileSystem::deleteFileSystem):
+        * platform/AsyncFileSystem.h:
+        (AsyncFileSystem):
+        * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Add deleteFileSystem
+        (WebCore::AsyncFileSystem::deleteFileSystem):
+        (WebCore):
+        * platform/gtk/AsyncFileSystemGtk.cpp: Add deleteFileSystem
+        (WebCore::AsyncFileSystem::deleteFileSystem):
+        (WebCore):
+
+2012-07-25  Andrey Adaikin  <aandrey@chromium.org>
+
+        Web Inspector: Add more jsdocs to InjectedScriptSource.js
+        https://bugs.webkit.org/show_bug.cgi?id=92255
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/InjectedScriptSource.js:
+
+2012-07-24  Dana Jansens  <danakj@chromium.org>
+
+        [chromium] Turn the debug HUD into a layer so that it can be drawn as a WebCompositorQuad
+        https://bugs.webkit.org/show_bug.cgi?id=92182
+
+        Reviewed by Adrienne Walker.
+
+        By changing the HUD into a quad, we are able to create a HUD and pass
+        it to the host compositor, allowing the HUD to be used for renderers
+        under Ubercompositor.
+
+        This also removes the special drawing code for the HUD from
+        LayerRendererChromium, allowing us to move finishDrawingFrame
+        into LayerRendererChromium as a private method and remove it
+        from the CCRenderer interface.
+
+        Finally, we can remove the CCFontAtlas transport code from CCProxy
+        and its implementations as the atlas can be synced to impl thread
+        through the usual layer commit mechanism.
+
+        The debug HUD is not covered by tests.
+
+        * WebCore.gypi:
+        * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp: Added.
+        (WebCore):
+        (WebCore::HeadsUpDisplayLayerChromium::create):
+        (WebCore::HeadsUpDisplayLayerChromium::HeadsUpDisplayLayerChromium):
+        (WebCore::HeadsUpDisplayLayerChromium::~HeadsUpDisplayLayerChromium):
+        (WebCore::HeadsUpDisplayLayerChromium::createCCLayerImpl):
+        * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h: Added.
+        (WebCore):
+        (HeadsUpDisplayLayerChromium):
+        * platform/graphics/chromium/LayerRendererChromium.cpp:
+        (WebCore::LayerRendererChromium::drawFrame):
+        (WebCore::LayerRendererChromium::cleanupSharedObjects):
+        * platform/graphics/chromium/LayerRendererChromium.h:
+        (LayerRendererChromium):
+        * platform/graphics/chromium/cc/CCDebugRectHistory.cpp:
+        (WebCore::CCDebugRectHistory::savePropertyChangedRects):
+        * platform/graphics/chromium/cc/CCDebugRectHistory.h:
+        * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp.
+        (WebCore):
+        (WebCore::CCHeadsUpDisplayLayerImpl::CCHeadsUpDisplayLayerImpl):
+        (WebCore::CCHeadsUpDisplayLayerImpl::~CCHeadsUpDisplayLayerImpl):
+        (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
+        (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
+        (WebCore::CCHeadsUpDisplayLayerImpl::didDraw):
+        (WebCore::CCHeadsUpDisplayLayerImpl::didLoseContext):
+        (WebCore::CCHeadsUpDisplayLayerImpl::drawHudContents):
+        (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounter):
+        (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounterText):
+        (WebCore::CCHeadsUpDisplayLayerImpl::drawDebugRects):
+        * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.h.
+        (WebCore):
+        (CCHeadsUpDisplayLayerImpl):
+        (WebCore::CCHeadsUpDisplayLayerImpl::create):
+        * platform/graphics/chromium/cc/CCLayerImpl.h:
+        (WebCore::CCLayerImpl::layerIsAlwaysDamaged):
+        This flag is used to mark the HUD as always damaged, so that it is
+        continually drawn on the impl thread. It is also used as a hint by
+        the CCDebugRectHistory class to not include the layer in the display
+        of damage, since always damaged is not interesting damage.
+        (CCLayerImpl):
+        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+        (WebCore::CCLayerTreeHost::create):
+        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
+        (WebCore::CCLayerTreeHost::initialize):
+        (WebCore::CCLayerTreeHost::willCommit):
+        (WebCore::CCLayerTreeHost::didCommit):
+        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+        (CCLayerTreeSettings):
+        (WebCore::CCLayerTreeSettings::showDebugInfo):
+        (WebCore::CCLayerTreeSettings::showDebugRects):
+        (CCLayerTreeHost):
+        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
+        (WebCore::CCLayerTreeHostImpl::drawLayers):
+        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+        (WebCore):
+        (CCLayerTreeHostImpl):
+        * platform/graphics/chromium/cc/CCProxy.h:
+        (CCProxy):
+        * platform/graphics/chromium/cc/CCRenderer.h:
+        (CCRenderer):
+        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+        * platform/graphics/chromium/cc/CCThreadProxy.h:
+        (CCThreadProxy):
+
+2012-07-25  'Pavel Feldman'  <pfeldman@chromium.org>
+
+        Web Inspector: follow up to r123612, fixing CSS value suggest.
+
+        Not reviewed, minor JS fix.
+
+        * inspector/front-end/CSSCompletions.js:
+        (WebInspector.CSSCompletions):
+        * inspector/front-end/StylesSidebarPane.js:
+        (WebInspector.StylePropertyTreeElement.prototype):
+
+2012-07-25  Michael Saboff  <msaboff@apple.com>
+
+        Unreviewed build fix after r123624.
+
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::clearGeolocationOverride):
+        Changed ASSERT_UNUSED() to UNUSED_PARAM().
+
+2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
+
+        Web inspector auto-completes "optimizequality" but then complains
+        https://bugs.webkit.org/show_bug.cgi?id=92262
+
+        Reviewed by Timothy Hatcher.
+
+        Fixed optimizeSpeed, optimizeLegibility, geometricPrecision.
+
+        * inspector/front-end/CSSKeywordCompletions.js:
+
+2012-07-25  Beth Dakin  <bdakin@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=89114
+        REGRESSION (r112919): Setting scrollTop after setting display from none to block 
+        fails
+        -and corresponding-
+        <rdar://problem/11656050>
+
+        Reviewed by Simon Fraser.
+
+        ScrollAnimatorMac::immediateScrollTo() and ScrollAnimatorMac::immediateScrollBy() 
+        both have an optimization in place so that they do not call 
+        notifyPositionChanged() if the new scroll offset matches the ScrollAnimator's 
+        cached m_currentPosX and m_currentPosY. So revision 112919 caused troubled with 
+        this optimization because it allowed RenderLayers to restore a scrollOffset from 
+        the Element if there is one cached there. This caused the RenderLayer to have a 
+        scrollOffset that is improperly out-of-synch with the ScrollAnimator's 
+        currentPosition (which will just be 0,0 since it is being re-created like the 
+        RenderLayer). This fix makes sure they are in synch by calling 
+        setCurrentPosition() on the ScrollAnimator when the cached position is non-zero.
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::RenderLayer):
+
+2012-07-25  Andreas Kling  <kling@webkit.org>
+
+        Make ElementAttributeData a variable-sized object to reduce memory use.
+        <http://webkit.org/b/88240>
+
+        Reviewed by Ryosuke Niwa.
+
+        Take advantage of the fact that we know at ElementAttributeData construction time how many attributes
+        it needs to accomodate and allocate exactly as much space as needed instead of using a Vector.
+        For elements that never have their attribute list mutated (the vast majority), this saves a lot of
+        memory and removes the indirection to Vector<Attribute>'s heap-allocated storage.
+
+        Introduced a mutability flag to ElementAttributeData and sprinkled assertions all over to make sure
+        that nothing tries to mutate an element with a raw attribute array.
+
+        When an Element's attribute(s) are mutated, we reconstruct the ElementAttributeData, this time using
+        a Vector as backing instead. This is triggered when calling Element::mutableAttributeData().
+
+        This reduces memory consumption by 3.2MB when viewing the full HTML5 spec at <http://whatwg.org/c/>.
+        That is a ~35% reduction in DOM attribute memory use.
+
+        Furthermore, that page ends up promoting 27% of the elements to mutable attribute storage due to dynamic
+        adding of "class" attributes. For more static pages, savings are even greater.
+
+        Also did away with ElementAttributeData::removeAttribute(name) and do separate index lookup where
+        needed. Not a big deal but avoids double lookup of attributes when removing them.
+
+        * dom/Element.cpp:
+        (WebCore::Element::detachAttribute):
+        (WebCore::Element::removeAttribute):
+        (WebCore::Element::attributes):
+        (WebCore::Element::setAttributeInternal):
+        (WebCore::Element::parserSetAttributes):
+        (WebCore::Element::hasEquivalentAttributes):
+        (WebCore::Element::setAttributeNode):
+        (WebCore::Element::removeAttributeNode):
+        (WebCore::Element::getAttributeNode):
+        (WebCore::Element::getAttributeNodeNS):
+        (WebCore::Element::hasAttribute):
+        (WebCore::Element::hasAttributeNS):
+        (WebCore::Element::cloneAttributesFromElement):
+
+            Sprinkle const on ElementAttributeData* pointers.
+            Switch to using mutableAttributeData() in code paths that modify attributes.
+
+        (WebCore::Element::normalizeAttributes):
+
+            Cleaner iteration over attributes, I removed ElementAttributeData::attributeVector() since that
+            was just incurring a bunch of extra Vector copying. Since ElementAttributeData already exposes
+            length() and attributeItem(index), use those to iterate directly over the attributes.
+
+        (WebCore::Element::createMutableAttributeData):
+
+            Added, converts existing ElementAttributeData to a mutable object. Otherwise creates a new
+            ElementAttributeData (mutable and empty.)
+
+        * dom/Element.h:
+        (WebCore::Element::attributeData):
+        (WebCore::Element::updatedAttributeData):
+        (WebCore::Element::ensureAttributeData):
+        (WebCore::Element::ensureUpdatedAttributeData):
+
+            Made all of these return "const ElementAttributeData*" to ensure at compile-time that nothing
+            attempts to modify an ElementAttributeData that may be immutable.
+
+            ensureUpdatedAttributeData() is still const, despite possibly calling mutableAttributeData().
+            The goal of having methods be const is to prevent conversion from one ElementAttributeData
+            object to another, so that pointers remain intact and no unnecessary work gets done.
+
+        (WebCore::Element::mutableAttributeData):
+
+            Added, returns a guaranteed mutable ElementAttributeData* pointer.
+
+        * dom/ElementAttributeData.cpp:
+        (WebCore::ElementAttributeData::createImmutable):
+
+            Creates a new ElementAttributeData tailored to fit the provided Vector<Attribute>.
+
+        (WebCore::ElementAttributeData::ElementAttributeData):
+
+            Moved constructors out-of-line, getting too complex for header files.
+
+            ElementAttributeData(const Vector<Attribute>&) creates an immutable ElementAttributeData
+            containing the provided attributes in an array tacked onto the end of the object.
+
+        (WebCore::ElementAttributeData::~ElementAttributeData):
+
+            Free the attribute vector if mutable.
+            For immutable objects, manually invoke destructor on each Attribute object,
+            since these won't be destroyed automatically by ~ElementAttributeData.
+
+        (WebCore::ElementAttributeData::attrIfExists):
+
+        (WebCore::ElementAttributeData::ensureAttr):
+        (WebCore::ElementAttributeData::setAttr):
+        (WebCore::ElementAttributeData::removeAttr):
+
+            Make these const, as they should always have been- they don't affect the ElementAttributeData,
+            only the global DOM Attr <-> ElementAttributeData mappings.
+
+        (WebCore::ElementAttributeData::ensureInlineStyle):
+        (WebCore::ElementAttributeData::ensureMutableInlineStyle):
+
+            Sprinkle ASSERT(isMutable()). This doesn't mean that all Elements with inline styles automatically
+            have mutable attribute data. There's still inlineStyle() for that, which may return null.
+            These are only for use where you need a valid StylePropertySet*, even if there is no inline style
+            attribute, e.g in editing code that wants to add style.
+
+        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
+        (WebCore::ElementAttributeData::destroyInlineStyle):
+
+            Make these const. While destroyInlineStyle() doesn't sound very const-y, immutable objects that
+            contain a style attribute will have a valid inlineStyle() with that style data. This is just
+            an interface for ~StyledElement to destroy the style object.
+            It'd be nice to do that in ~ElementAttributeData(), but we need a StyledElement* pointer to
+            clean up properly and we don't store one in this class.
+
+        (WebCore::ElementAttributeData::addAttribute):
+        (WebCore::ElementAttributeData::removeAttribute):
+        (WebCore::ElementAttributeData::clearAttributes):
+        (WebCore::ElementAttributeData::replaceAttribute):
+
+            Sprinkle ASSERT(isMutable()).
+            Always go straight for m_mutableAttributeVector since we know that's the storage being used.
+
+        (WebCore::ElementAttributeData::isEquivalent):
+        (WebCore::ElementAttributeData::detachAttrObjectsFromElement):
+        (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
+        (WebCore::ElementAttributeData::removeAttribute):
+        (WebCore::ElementAttributeData::getAttributeItem):
+        (WebCore::ElementAttributeData::getAttributeItemIndex):
+
+            Use length() and attributeItem(index) to iterate over the attributes.
+
+        (WebCore::ElementAttributeData::cloneDataFrom):
+
+            Sprinkle ASSERT(isMutable()). Added a FIXME that cloning elements could create immutable
+            attribute data. I'm not sure this optimization is worthwhile, as cloning elements is already
+            a semi-rare occurrence.
+
+            Updated code to handle both immutable and mutable source objects. This could 
+
+        (WebCore::ElementAttributeData::getAttributeNode):
+
+            Const correctness.
+
+        * dom/ElementAttributeData.h:
+        (ElementAttributeData):
+
+            Turn attribute storage into what's effectively union { OwnPtr<Vector<Attribute>>; Attribute[]; }
+            The new m_isMutable bit determines which union member should be used for access.
+
+        (WebCore::ElementAttributeData::create):
+        (WebCore::ElementAttributeData::createImmutable):
+
+            Added createImmutable(const Vector<Attribute>&) as a complement to create().
+
+        (WebCore::ElementAttributeData::setClass):
+        (WebCore::ElementAttributeData::setIdForStyleResolution):
+        (WebCore::ElementAttributeData::inlineStyle):
+        (WebCore::ElementAttributeData::setAttributeStyle):
+
+            Make these const, and their data member counterparts 'mutable'.
+            An immutable ElementAttributeData object still has m_classNames, m_idForStyleResolution,
+            m_inlineStyleDecl and m_attributeStyle.
+
+        (WebCore::ElementAttributeData::reportMemoryUsage):
+
+            Updated for isMutable().
+
+        (WebCore::ElementAttributeData::makeMutable):
+
+            Returns a mutable clone of itself.
+
+        (WebCore::ElementAttributeData::isEmpty):
+        (WebCore::ElementAttributeData::length):
+        (WebCore::ElementAttributeData::attributeItem):
+
+            Check isMutable() to know how to access attribute storage.
+
+        * dom/StyledElement.cpp:
+        (WebCore::StyledElement::style):
+        (WebCore::StyledElement::setInlineStyleProperty):
+
+            Simplify by using StyledElement::ensureInlineStyle().
+
+        (WebCore::StyledElement::classAttributeChanged):
+
+            Use mutableAttributeData() if the attribute is being removed completely.
+            In other cases, tiptoe around without causing the attribute data to go mutable.
+
+        (WebCore::StyledElement::removeInlineStyleProperty):
+
+            Use mutableAttributeData() if/when actually removing something.
+
+        (WebCore::StyledElement::addSubresourceAttributeURLs):
+
+            Const correctness.
+
+        * dom/StyledElement.h:
+        (WebCore::StyledElement::ensureInlineStyle):
+
+            This now implies conversion to mutable attribute data. Used by codepaths that add/remove
+            properties, so conversion is inevitable.
+
+        * html/parser/HTMLConstructionSite.cpp:
+        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
+        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
+        * svg/properties/SVGAnimatedPropertyMacros.h:
+        (WebCore::SVGSynchronizableAnimatedProperty::synchronize):
+
+            Use mutableAttributeData() as appropriate.
+
+        * xml/parser/XMLDocumentParserQt.cpp:
+        (WebCore::XMLDocumentParser::XMLDocumentParser):
+
+            Const correctness.
+
+2012-07-25  Andrew Wilson  <atwilson@chromium.org>
+
+        Unreviewed, rolling out r123560.
+        http://trac.webkit.org/changeset/123560
+        https://bugs.webkit.org/show_bug.cgi?id=90321
+
+        Breaks chromium valgrind tests.
+
+        * html/FTPDirectoryDocument.cpp:
+        (WebCore::FTPDirectoryDocumentParser::append):
+        * html/parser/HTMLEntityParser.cpp:
+        (WebCore::HTMLEntityParser::consumeNamedEntity):
+        * html/parser/HTMLParserIdioms.cpp:
+        (WebCore::stripLeadingAndTrailingHTMLSpaces):
+        * html/parser/HTMLSourceTracker.cpp:
+        (WebCore::HTMLSourceTracker::sourceForToken):
+        * loader/cache/CachedScript.cpp:
+        (WebCore::CachedScript::script):
+        * platform/text/SegmentedString.cpp:
+        (WebCore::SegmentedString::SegmentedString):
+        (WebCore::SegmentedString::operator=):
+        (WebCore::SegmentedString::clear):
+        (WebCore::SegmentedString::append):
+        (WebCore::SegmentedString::prepend):
+        (WebCore::SegmentedString::advanceSubstring):
+        (WebCore::SegmentedString::advance):
+        (WebCore::SegmentedString::advanceSlowCase):
+        (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase):
+        * platform/text/SegmentedString.h:
+        (WebCore::SegmentedSubstring::SegmentedSubstring):
+        (WebCore::SegmentedSubstring::clear):
+        (WebCore::SegmentedSubstring::appendTo):
+        (SegmentedSubstring):
+        (WebCore::SegmentedString::SegmentedString):
+        (WebCore::SegmentedString::push):
+        (WebCore::SegmentedString::isEmpty):
+        (WebCore::SegmentedString::lookAhead):
+        (WebCore::SegmentedString::lookAheadIgnoringCase):
+        (WebCore::SegmentedString::advance):
+        (WebCore::SegmentedString::advanceAndASSERT):
+        (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
+        (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
+        (SegmentedString):
+        (WebCore::SegmentedString::advancePastNonNewline):
+        (WebCore::SegmentedString::advanceAndUpdateLineNumber):
+        (WebCore::SegmentedString::operator*):
+        (WebCore::SegmentedString::operator->):
+        (WebCore::SegmentedString::current):
+        (WebCore::SegmentedString::equalsLiterally):
+        (WebCore::SegmentedString::equalsIgnoringCase):
+        (WebCore::SegmentedString::lookAheadInline):
+        (WebCore::SegmentedString::lookAheadSlowCase):
+        * xml/parser/CharacterReferenceParserInlineMethods.h:
+        (WebCore::consumeCharacterReference):
+        * xml/parser/MarkupTokenizerBase.h:
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek):
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
+
+2012-07-25  Konrad Piascik  <kpiascik@rim.com>
+
+        Web Inspector: Geolocation override
+        https://bugs.webkit.org/show_bug.cgi?id=89365
+
+        Reviewed by Pavel Feldman.
+
+        Re-added the m_page member variable for GeolocationController since
+        it's now being used by InspectorInstrumentaiton.
+
+        Added a way to override the GeolocationPosition and GeolocationError
+        using Web Inspector. Curretnly only PositionError can be set.
+
+        This will be hidden behind the experiments flag for now.
+
+        Tests: inspector/geolocation-error.html
+               inspector/geolocation-success.html
+               inspector/geolocation-watchPosition.html
+
+        * English.lproj/localizedStrings.js:
+        * Modules/geolocation/GeolocationController.cpp:
+        (WebCore::GeolocationController::GeolocationController):
+        (WebCore::GeolocationController::positionChanged):
+        * Modules/geolocation/GeolocationController.h:
+        (GeolocationController):
+        * inspector/Inspector.json:
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore):
+        (WebCore::InspectorInstrumentation::overrideGeolocationPositionImpl):
+        * inspector/InspectorInstrumentation.h:
+        (WebCore):
+        (InspectorInstrumentation):
+        (WebCore::InspectorInstrumentation::overrideGeolocationPosition):
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::InspectorPageAgent):
+        (WebCore::InspectorPageAgent::setGeolocationOverride):
+        (WebCore):
+        (WebCore::InspectorPageAgent::clearGeolocationOverride):
+        (WebCore::InspectorPageAgent::canOverrideGeolocation):
+        (WebCore::InspectorPageAgent::overrideGeolocationPosition):
+        * inspector/InspectorPageAgent.h:
+        * inspector/front-end/Settings.js:
+        * inspector/front-end/SettingsScreen.js:
+        (WebInspector.UserAgentSettingsTab):
+        (WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
+        (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked):
+        (WebInspector.UserAgentSettingsTab.prototype._applyGeolocationUserInput):
+        (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition.set if):
+        (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition):
+        (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement.createInput):
+        (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):
+        * inspector/front-end/UserAgentSupport.js:
+        (WebInspector.UserAgentSupport.GeolocationPosition):
+        (WebInspector.UserAgentSupport.GeolocationPosition.prototype.toSetting):
+        (WebInspector.UserAgentSupport.GeolocationPosition.parseSetting):
+        (WebInspector.UserAgentSupport.GeolocationPosition.parseUserInput):
+        (WebInspector.UserAgentSupport.GeolocationPosition.clearGeolocationOverride):
+        * inspector/front-end/inspector.js:
+        (WebInspector.doLoadedDone):
+
+2012-07-25  Shawn Singh  <shawnsingh@chromium.org>
+
+        [chromium] Build fix for clang builds after r123628
+        https://bugs.webkit.org/show_bug.cgi?id=92266
+
+        Reviewed by Adrienne Walker.
+
+        An un-used variable was causing build failures for clang builds
+        after the refactoring in r123628.  It is correct to simply remove
+        this value.
+
+        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+        (WebCore::calculateDrawTransformsInternal):
+
+2012-07-25  Hans Wennborg  <hans@chromium.org>
+
+        Speech JavaScript API: extract function from SpeechRecognitionResult::emma()
+        https://bugs.webkit.org/show_bug.cgi?id=92232
+
+        Reviewed by Adam Barth.
+
+        Extract code for creating emma-qualified names to a helper function.
+
+        Just a refactoring; covered by the existing test.
+
+        * Modules/speech/SpeechRecognitionResult.cpp:
+        (WebCore::emmaQualifiedName):
+        (WebCore):
+        (WebCore::SpeechRecognitionResult::emma):
+
+2012-07-25  Adrienne Walker  <enne@google.com>
+
+        [chromium] Unify compositor quadTransform/drawTransform/originTransform
+        https://bugs.webkit.org/show_bug.cgi?id=91417
+
+        Reviewed by Kenneth Russell.
+
+        drawTransform used to operate on centered layer rects. To unify quad
+        transforms, draw transforms, and origin transforms, make draw
+        transforms operate on content rects with the origin in the top left.
+
+        This essentially eliminates the need for surface origin transforms,
+        which will be eliminated in a future patch.
+
+        Also, remove the unused CCLayerImpl::getDrawRect function.
+
+        No-op refactoring. Tested by existing tests.
+
+        * platform/graphics/chromium/LayerRendererChromium.cpp:
+        (WebCore::LayerRendererChromium::drawRenderPassQuad):
+        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+        (WebCore::RenderSurfaceChromium::drawableContentRect):
+        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
+        (WebCore::CCDamageTracker::extendDamageForLayer):
+        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+        (WebCore::CCLayerImpl::createSharedQuadState):
+        * platform/graphics/chromium/cc/CCLayerImpl.h:
+        (CCLayerImpl):
+        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
+        (WebCore::CCLayerSorter::LayerShape::LayerShape):
+        (WebCore::CCLayerSorter::createGraphNodes):
+        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+        (WebCore::calculateVisibleContentRect):
+        (WebCore::calculateDrawTransformsInternal):
+        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+        (WebCore::::markOccludedBehindLayer):
+        (WebCore::::occluded):
+        (WebCore::::unoccludedContentRect):
+        * platform/graphics/chromium/cc/CCRenderPass.cpp:
+        (WebCore::CCRenderPass::appendQuadsToFillScreen):
+        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+        (WebCore::CCRenderSurface::drawableContentRect):
+
+2012-07-25  Tommy Widenflycht  <tommyw@google.com>
+
+        MediaStream API: Update MediaStreamTrack to match the specification
+        https://bugs.webkit.org/show_bug.cgi?id=90180
+
+        Reviewed by Adam Barth.
+
+        MediaStreamTracks are now required to show the status of the underlying source,
+        and trigger events when that status changes.
+
+        Test: fast/mediastream/MediaStreamTrack.html
+
+        * GNUmakefile.list.am:
+        * Modules/mediastream/MediaStream.cpp:
+        (WebCore::MediaStream::MediaStream):
+        (WebCore::MediaStream::addTrack):
+        * Modules/mediastream/MediaStreamTrack.cpp:
+        (WebCore::MediaStreamTrack::create):
+        (WebCore::MediaStreamTrack::MediaStreamTrack):
+        (WebCore::MediaStreamTrack::~MediaStreamTrack):
+        (WebCore::MediaStreamTrack::setEnabled):
+        (WebCore::MediaStreamTrack::readyState):
+        (WebCore):
+        (WebCore::MediaStreamTrack::sourceChangedState):
+        (WebCore::MediaStreamTrack::stop):
+        (WebCore::MediaStreamTrack::interfaceName):
+        (WebCore::MediaStreamTrack::scriptExecutionContext):
+        (WebCore::MediaStreamTrack::eventTargetData):
+        (WebCore::MediaStreamTrack::ensureEventTargetData):
+        * Modules/mediastream/MediaStreamTrack.h:
+        * Modules/mediastream/MediaStreamTrack.idl:
+        * WebCore.gypi:
+        * dom/EventNames.h:
+        (WebCore):
+        * dom/EventTargetFactory.in:
+        * platform/chromium/support/WebMediaStreamDescriptor.cpp:
+        * platform/chromium/support/WebMediaStreamSource.cpp:
+        (WebKit::WebMediaStreamSource::setReadyState):
+        (WebKit):
+        (WebKit::WebMediaStreamSource::readyState):
+        * platform/mediastream/MediaStreamSource.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.h.
+        (WebCore):
+        (WebCore::MediaStreamSource::create):
+        (WebCore::MediaStreamSource::MediaStreamSource):
+        (WebCore::MediaStreamSource::setReadyState):
+        (WebCore::MediaStreamSource::addObserver):
+        (WebCore::MediaStreamSource::removeObserver):
+        * platform/mediastream/MediaStreamSource.h:
+        (Observer):
+        (WebCore::MediaStreamSource::Observer::~Observer):
+        (MediaStreamSource):
+        (WebCore::MediaStreamSource::readyState):
+        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
+        (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
+        (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
+
+2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
+
+        Incorrect rounding in ceiledLayoutUnit and roundedLayoutUnit.
+        https://bugs.webkit.org/show_bug.cgi?id=91061
+
+        Reviewed by Adam Barth.
+
+        The two functions are currently both returning the flooredLayoutUnit when subpixel
+        layout is enabled. This patch changes them to return the correct fractional rounded
+        value.
+
+        * platform/FractionalLayoutUnit.h:
+        (WebCore::FractionalLayoutUnit::fromFloatCeil):
+        (FractionalLayoutUnit):
+        (WebCore::FractionalLayoutUnit::fromFloatRound):
+        * rendering/LayoutTypes.h:
+        (WebCore::roundedLayoutUnit):
+        (WebCore::ceiledLayoutUnit):
+        * rendering/RenderBlock.cpp:
+        (WebCore::updatePreferredWidth):
+
+2012-07-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Add *explicit* keyword to constructors in WebCore/platform
+        https://bugs.webkit.org/show_bug.cgi?id=92238
+
+        Reviewed by Kentaro Hara.
+
+        As a step to let *explicit* keyword add to constructors which have a parameter,
+        *explicit* keyword is added to Source/WebCore/platform in order to avoid implicit
+        type conversion.
+
+        Some files in platform directory can't use explicit keyword because of build breaks.
+
+        No new tests. Covered by existing tests.
+
+        * platform/AutodrainedPool.h:
+        (AutodrainedPool):
+        * platform/ContentType.h:
+        (ContentType):
+        * platform/ContextMenu.h:
+        (ContextMenu):
+        * platform/ContextMenuItem.h:
+        (ContextMenuItem):
+        * platform/Cursor.h:
+        (WebCore::SharedCursor::SharedCursor):
+        (Cursor):
+        * platform/KURL.h:
+        (WebCore::KURL::KURL):
+        (KURL):
+        * platform/KURLGooglePrivate.h:
+        (KURLGooglePrivate):
+        * platform/PODRedBlackTree.h:
+        (WebCore::PODRedBlackTree::PODRedBlackTree):
+        * platform/Pasteboard.h:
+        (Pasteboard):
+        * platform/PlatformEvent.h:
+        (WebCore::PlatformEvent::PlatformEvent):
+        * platform/PlatformKeyboardEvent.h:
+        (PlatformKeyboardEvent):
+        * platform/PlatformMouseEvent.h:
+        (PlatformMouseEvent):
+        * platform/PlatformPasteboard.h:
+        (PlatformPasteboard):
+        * platform/PlatformTouchEvent.h:
+        (PlatformTouchEvent):
+        * platform/PlatformWheelEvent.h:
+        (PlatformWheelEvent):
+        * platform/RunLoop.h:
+        (TimerBase):
+        * platform/ScrollAnimator.h:
+        (ScrollAnimator):
+        * platform/ScrollAnimatorNone.h:
+        (ScrollAnimatorNone):
+        * platform/SharedBuffer.h:
+        (SharedBuffer):
+        * platform/WheelFlingPlatformGestureCurve.h:
+        (WheelFlingPlatformGestureCurve):
+        * platform/Widget.h:
+        (Widget):
+
+2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
+
+        NodesFromRect and area-based hit-testing can not handle CSS transforms.
+        https://bugs.webkit.org/show_bug.cgi?id=85792
+
+        Reviewed by Eric Seidel.
+
+        To support the combination of CSS transforms and rect based hit testing,
+        we need to test against the transformed rect, instead of the original rect.
+
+        This patch makes HitTestPoint store the exact transformed FloatPoint and 
+        FloatQuad, and modifies the intersection methods so that they will use a 
+        new FloatQuad based intersection when transforms requires it.
+
+        Tests: fast/dom/nodesFromRect/nodesFromRect-rotate.html
+               fast/dom/nodesFromRect/nodesFromRect-scale.html
+
+        * platform/graphics/FloatQuad.cpp:
+        (WebCore::determinant):
+        (WebCore::rightMostCornerToVector):
+        (WebCore::FloatQuad::intersectsRect):
+        (WebCore::FloatQuad::isCounterclockwise):
+        * platform/graphics/FloatQuad.h:
+        (FloatQuad):
+        * rendering/HitTestResult.cpp:
+        (WebCore::HitTestPoint::HitTestPoint):
+        (WebCore::HitTestPoint::operator=):
+        (WebCore::HitTestPoint::move):
+        (WebCore::HitTestPoint::intersectsRect):
+        (WebCore::HitTestPoint::intersects):
+        * rendering/HitTestResult.h:
+        (HitTestPoint):
+        (WebCore::HitTestPoint::isRectilinear):
+        (WebCore::HitTestPoint::transformedPoint):
+        (WebCore::HitTestPoint::transformedRect):
+        * rendering/HitTestingTransformState.cpp:
+        (WebCore::HitTestingTransformState::flattenWithTransform):
+        (WebCore::HitTestingTransformState::mappedArea):
+        (WebCore::HitTestingTransformState::boundsOfMappedArea):
+        * rendering/HitTestingTransformState.h:
+        (WebCore::HitTestingTransformState::create):
+        (WebCore::HitTestingTransformState::HitTestingTransformState):
+        * rendering/RenderFlowThread.cpp:
+        (WebCore::RenderFlowThread::hitTestRegion):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::hitTest):
+        (WebCore::RenderLayer::createLocalTransformState):
+        (WebCore::RenderLayer::hitTestLayer):
+        (WebCore::RenderLayer::hitTestChildLayerColumns):
+        * rendering/RenderLayer.h:
+        * rendering/svg/RenderSVGText.cpp:
+        (WebCore::RenderSVGText::nodeAtFloatPoint):
+
+2012-07-25  Kwang Yul Seo  <skyul@company100.net>
+
+        Add HTMLStackItem.h to project files
+        https://bugs.webkit.org/show_bug.cgi?id=92221
+
+        Reviewed by Adam Barth.
+
+        Added HTMLStackItem.h introduced in r123399 to project files.
+
+        Project file changes only, no change in behavior thus no new tests.
+
+        * GNUmakefile.list.am:
+        * WebCore.gypi:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2012-07-25  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r123606.
+        http://trac.webkit.org/changeset/123606
+        https://bugs.webkit.org/show_bug.cgi?id=92247
+
+        broke Windows build of Chromium (Requested by tomhudson on
+        #webkit).
+
+        * Resources/colorSuggestionPicker.css: Removed.
+        * Resources/colorSuggestionPicker.js: Removed.
+        * WebCore.gyp/WebCore.gyp:
+
+2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
+
+        Web Inspector: disabling property should remove "overriden" decoration from overriden UA shorthand.
+        https://bugs.webkit.org/show_bug.cgi?id=92253
+
+        Reviewed by Vsevolod Vlasov.
+
+        Bug fix with a test and more compilation markup.
+
+        Test: inspector/styles/styles-disable-then-enable-overriden-ua.html
+
+        * inspector/front-end/StylesSidebarPane.js:
+        (WebInspector.StylePropertiesSection.prototype.update):
+        (WebInspector.StylePropertyTreeElement):
+        (WebInspector.StylePropertyTreeElement.prototype):
+
+2012-07-25  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: Improve ObjectPropertiesSection UI by adding a tooltip for the value.
+        https://bugs.webkit.org/show_bug.cgi?id=92225
+
+        Reviewed by Pavel Feldman.
+
+        Added tooltip with property value description on the property's valueElement.
+
+        * inspector/front-end/ObjectPropertiesSection.js:
+        (WebInspector.ObjectPropertyTreeElement.prototype.update):
+
+2012-07-25  Pavel Feldman  <pfeldman@chromium.org>
+
+        https://bugs.webkit.org/show_bug.cgi?id=91931
+
+        Reviewed by Vsevolod Vlasov.
+
+        - Synthetic shorthand values are now only returned for source-less styles
+        - CSSAgents reports longhands along with the property names in getSupportedCSSProperties
+        - StylesSidebarPane now has two paths: for source-enabled styles and for CSSOM-based ones (UA styles)
+        - CSSStyleModel uses style metainfo as a source of shorthand / longhand relationship now
+
+        Test: inspector/styles/styles-overriden-properties.html
+
+        * inspector/Inspector.json:
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
+        * inspector/InspectorCSSAgent.h:
+        (InspectorCSSAgent):
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::InspectorStyle::styleWithProperties):
+        * inspector/front-end/CSSCompletions.js:
+        (WebInspector.CSSCompletions):
+        (WebInspector.CSSCompletions.requestCSSNameCompletions):
+        (WebInspector.CSSCompletions.prototype._closest):
+        (WebInspector.CSSCompletions.prototype.longhands):
+        (WebInspector.CSSCompletions.prototype.shorthands):
+        * inspector/front-end/CSSStyleModel.js:
+        (WebInspector.CSSStyleDeclaration):
+        (WebInspector.CSSStyleDeclaration.prototype.longhandProperties):
+        (WebInspector.CSSStyleDeclaration.prototype.shorthandValue):
+        (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
+        (WebInspector.CSSProperty):
+        (WebInspector.CSSProperty.parsePayload):
+        * inspector/front-end/SourceCSSTokenizer.js:
+        (WebInspector.SourceCSSTokenizer):
+        * inspector/front-end/SourceCSSTokenizer.re2js:
+        * inspector/front-end/StylesSidebarPane.js:
+        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
+        (WebInspector.StylePropertiesSection.prototype.update):
+        (WebInspector.StylePropertiesSection.prototype.onpopulate):
+        (WebInspector.StylePropertyTreeElement.prototype):
+
+2012-07-25  Keishi Hattori  <keishi@webkit.org>
+
+        Implement ColorSuggestionPicker page popup
+        https://bugs.webkit.org/show_bug.cgi?id=92109
+
+        Reviewed by Kent Tamura.
+
+        Implements ColorSuggestionPicker page popup. This will be used in
+        certain ports as the datalist UI for <input type=color>.
+
+        No new tests because there is no way to open the popup yet.
+
+        * Resources/colorSuggestionPicker.css: Added.
+        (body):
+        (#main):
+        (.color-swatch):
+        (.color-swatch:hover):
+        (.color-swatch-container):
+        (.other-color):
+        * Resources/colorSuggestionPicker.js: Added.
+        (getScrollbarWidth):When there are more than 20 colors we need to
+        increase the window width to accommodate the scroll bar.
+        (createElement):
+        (handleMessage):
+        (initialize):
+        (handleArgumentsTimeout):
+        (validateArguments):
+        (submitValue): Calls setValueAndClosePopup with a numValue of 0.
+        (handleCancel): Calls setValueAndClosePopup with a numValue of -1.
+        (chooseOtherColor): Calls setValueAndClosePopup with a numValue of -2.
+        (ColorPicker):
+        (ColorPicker.prototype._layout): Lays out the color swatches in a 5x4
+        grid.
+        (ColorPicker.prototype._handleSwatchClick):
+        * WebCore.gyp/WebCore.gyp:
+
+2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
+
+        Fix arithmetic composite filter for auto-vectorization
+        https://bugs.webkit.org/show_bug.cgi?id=92123
+
+        Reviewed by Nikolas Zimmermann.
+
+        Since only clamping of the result prevents GCC from auto-vectorizing the inner loop, this patch 
+        adds a faster version of the inner loop to handle cases where clamping is unnecessary, 
+
+        * platform/graphics/filters/FEComposite.cpp:
+        (WebCore::computeArithmeticPixelsUnclamped):
+        (WebCore::arithmeticSoftware):
+
+2012-07-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
+
+        Fix blend filter for autovectorizing
+        https://bugs.webkit.org/show_bug.cgi?id=91398
+
+        Reviewed by Nikolas Zimmermann.
+
+        Get rid of wrapper classes, and use functions directly as template argument.
+
+        * platform/graphics/filters/FEBlend.cpp:
+        (WebCore::feBlendNormal):
+        (WebCore::feBlendMultiply):
+        (WebCore::feBlendScreen):
+        (WebCore::feBlendDarken):
+        (WebCore::feBlendLighten):
+        (WebCore::feBlendUnknown):
+        (WebCore::platformApply):
+        (WebCore::FEBlend::platformApplyGeneric):
+
+2012-07-25  Keishi Hattori  <keishi@webkit.org>
+
+        Add methods to ColorChooserClient so the color chooser can show suggestions
+        https://bugs.webkit.org/show_bug.cgi?id=92114
+
+        Reviewed by Kent Tamura.
+
+        Added methods to ColorChooserClient so the color chooser can ask the
+        client for suggestions and current color.
+
+        No new tests. The methods are not used yet.
+
+        * html/ColorInputType.cpp:
+        (WebCore::ColorInputType::currentColor): Returns what color the color
+        chooser should display.
+        (WebCore):
+        (WebCore::ColorInputType::shouldShowSuggestions): Returns if the UI for
+        suggestions should be shown.
+        (WebCore::ColorInputType::suggestions): Returns a list of colors to be
+        suggested to the user.
+        * html/ColorInputType.h:
+        (ColorInputType):
+        * html/HTMLInputElement.h:
+        (HTMLInputElement): Made dataList() public.
+        * platform/ColorChooserClient.h:
+        (ColorChooserClient):
+
+2012-07-25  Kentaro Hara  <haraken@chromium.org>
+
+        Replace int with long in test IDL files
+        https://bugs.webkit.org/show_bug.cgi?id=92181
+
+        Reviewed by Adam Barth.
+
+        int is not a valid type in WebIDL. It should be long.
+        We should replace int with long in bindings/scripts/test/*.idl.
+        This is a follow-up patch for r123550.
+
+        Test: bindings/scripts/test/TestObj.idl
+
+        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
+        (WebDOMTestObj::readOnlyLongAttr):
+        (WebDOMTestObj::Attr):
+        (WebDOMTestObj::setAttr):
+        (WebDOMTestObj::voidMethodWithArgs):
+        (WebDOMTestObj::Method):
+        (WebDOMTestObj::MethodWithArgs):
+        (WebDOMTestObj::objMethodWithArgs):
+        * bindings/scripts/test/CPP/WebDOMTestObj.h:
+        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+        (webkit_dom_test_obj_set_property):
+        (webkit_dom_test_obj_get_property):
+        (webkit_dom_test_obj_class_init):
+        (webkit_dom_test_obj_void_method_with_args):
+        (webkit_dom_test_obj_method):
+        (webkit_dom_test_obj_method_with_args):
+        (webkit_dom_test_obj_obj_method_with_args):
+        (webkit_dom_test_obj_get_read_only_long_attr):
+        (webkit_dom_test_obj_get_attr):
+        (webkit_dom_test_obj_set_attr):
+        (webkit_dom_test_obj_get_strawberry):
+        (webkit_dom_test_obj_set_strawberry):
+        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore):
+        (WebCore::jsTestObjReadOnlyLongAttr):
+        (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
+        (WebCore::jsTestObjAttr):
+        (WebCore::setJSTestObjAttr):
+        (WebCore::setJSTestObjStrawberry):
+        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
+        (WebCore::jsTestObjPrototypeFunctionMethod):
+        (WebCore::jsTestObjPrototypeFunctionMethodWithArgs):
+        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
+        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
+        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
+        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
+        * bindings/scripts/test/JS/JSTestObj.h:
+        (WebCore):
+        * bindings/scripts/test/ObjC/DOMTestObj.h:
+        * bindings/scripts/test/ObjC/DOMTestObj.mm:
+        (-[DOMTestObj readOnlyLongAttr]):
+        (-[DOMTestObj Attr]):
+        (-[DOMTestObj setAttr:]):
+        (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
+        (-[DOMTestObj Method]):
+        (-[DOMTestObj MethodWithArgs:strArg:objArg:]):
+        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
+        (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
+        * bindings/scripts/test/TestObj.idl:
+        * bindings/scripts/test/V8/V8TestObj.cpp:
+        (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetter):
+        (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetter):
+        (WebCore::TestObjV8Internal::AttrAttrGetter):
+        (WebCore::TestObjV8Internal::AttrAttrSetter):
+        (WebCore::TestObjV8Internal::strawberryAttrSetter):
+        (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
+        (WebCore::TestObjV8Internal::MethodCallback):
+        (WebCore::TestObjV8Internal::MethodWithArgsCallback):
+        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
+        (WebCore::TestObjV8Internal::overloadedMethod2Callback):
+        (WebCore::TestObjV8Internal::overloadedMethod4Callback):
+        (WebCore):
+        (WebCore::ConfigureV8TestObjTemplate):
+
+2012-07-25  Shinya Kawanaka  <shinyak@chromium.org>
+
+        A validation bubble should not be modifiable.
+        https://bugs.webkit.org/show_bug.cgi?id=92217
+
+        Reviewed by Kent Tamura.
+
+        A user can set -webkit-user-modify: read-write to validation message elements.
+        This might cause a undesired crash like Bug 65738. They should be unmodifiable.
+
+        Test: fast/forms/validation-user-modify.html
+
+        * css/html.css:
+        Added -webkit-user-modify: read-only !important; for these elements so that they won't be
+        changed by a user.
+        (::-webkit-validation-bubble):
+        (::-webkit-validation-bubble-message):
+        (::-webkit-validation-bubble-text-block):
+        (::-webkit-validation-bubble-heading):
+        (::-webkit-validation-bubble-arrow):
+        (::-webkit-validation-bubble-arrow-clipper):
+
+2012-07-25  Zeno Albisser  <zeno@webkit.org>
+
+        [Qt][WK2] Disable CopyToTexture for GraphicsSurfaceMac.
+        https://bugs.webkit.org/show_bug.cgi?id=92159
+
+        Disable CopyToTexture feature for GraphicsSurface on Mac.
+        While this is actually working, it is currently used for Tiles
+        that are single buffered, and therefore requires a call to glFlush.
+        This call blocks the GPU for about 40ms which would make smooth animations impossible.
+
+        Reviewed by Noam Rosenthal.
+
+        * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
+        (WebCore::GraphicsSurface::platformCreate):
+        (WebCore::GraphicsSurface::platformImport):
+
+2012-07-25  Kenichi Ishibashi  <bashi@chromium.org>
+
+        [Chromium] Fix up includes in HarfBuzzNGFace.h
+        https://bugs.webkit.org/show_bug.cgi?id=92127
+
+        Reviewed by Hajime Morita.
+
+        Move constructors of FontPlatformData from headers to corresponding cpp files
+        so that we can use forward declaration for HarfBuzzNGFace instead of including HarfBuzzNGFace.h.
+        This way we can include hb.h in HarfBuzzNGFace.h.
+
+        No new tests. No changes in behavior.
+
+        * platform/graphics/FontPlatformData.cpp:
+        (WebCore::FontPlatformData::FontPlatformData): Moved from header file.
+        (WebCore):
+        * platform/graphics/FontPlatformData.h:
+        (WebCore):
+        (FontPlatformData): Moved to cpp file.
+        * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Include HarfBuzzNGFace.h
+        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
+        (WebCore::FontPlatformData::FontPlatformData): Moved from header file.
+        (WebCore):
+        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
+        (WebCore):
+        (FontPlatformData): Moved to cpp file.
+        * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h: Include hb.h.
+
+2012-07-24  Benjamin Poulain  <bpoulain@apple.com> && Joseph Pecoraro  <pecoraro@apple.com>
+
+        QualifiedName's HashSet should be big enough to hold at least all the static names
+        https://bugs.webkit.org/show_bug.cgi?id=91891
+
+        Reviewed by Darin Adler.
+
+        QualifiedName's table has a standard size of 64 buckets. When initializing WebKit,
+        we create 850 static QualifiedName for the standard names (HTMLNames, SVGNames etc).
+
+        The small base size forces us to grow and rehash the table several time on startup.
+
+        This patch solves the issue by defining the initial table size to the minimum size that
+        can hold all the static QualifiedName.
+
+        * dom/QualifiedName.cpp:
+        (QualifiedNameHashTraits):
+        * dom/make_names.pl:
+        (printNamesHeaderFile):
+
+2012-07-24  Kwang Yul Seo  <skyul@company100.net>
+
+        Remove anonymous namespace and make functions static.
+        https://bugs.webkit.org/show_bug.cgi?id=92214
+
+        Reviewed by Adam Barth.
+
+        Mark functions as static instead of enclosing them in anonymous namespaces.
+        One exception to this rule is when a function is passed as a template argument.
+        In this case, the function must have an external linkage.
+
+        No functional change. Covered by existing tests.
+
+        * html/parser/HTMLConstructionSite.cpp:
+        (WebCore::hasImpliedEndTag):
+        (WebCore::causesFosterParenting):
+        (WebCore::isAllWhitespace):
+        * html/parser/HTMLDocumentParser.cpp:
+        (WebCore):
+        (WebCore::tokenizerStateForContextElement):
+        * html/parser/HTMLElementStack.cpp:
+        (WebCore::isNumberedHeaderElement):
+        (WebCore::isRootNode):
+        (WebCore):
+        * html/parser/HTMLEntityParser.cpp:
+        (WebCore::isAlphaNumeric):
+        * html/parser/HTMLEntitySearch.cpp:
+        (WebCore::halfway):
+        * html/parser/HTMLPreloadScanner.cpp:
+        (WebCore):
+        * html/parser/HTMLTokenizer.cpp:
+        (WebCore::toLowerCase):
+        (WebCore::vectorEqualsString):
+        (WebCore::isEndTagBufferingState):
+        * html/parser/HTMLTreeBuilder.cpp:
+        (WebCore):
+        (WebCore::uninitializedPositionValue1):
+        (WebCore::isAllWhitespace):
+        (WebCore::isAllWhitespaceOrReplacementCharacters):
+        (WebCore::isNumberedHeaderTag):
+        (WebCore::isCaptionColOrColgroupTag):
+        (WebCore::isTableCellContextTag):
+        (WebCore::isTableBodyContextTag):
+        (WebCore::isSpecialNode):
+        (WebCore::isNonAnchorNonNobrFormattingTag):
+        (WebCore::isNonAnchorFormattingTag):
+        (WebCore::isFormattingTag):
+        (WebCore::closestFormAncestor):
+        (WebCore::mapLoweredLocalNameToName):
+        (WebCore::adjustSVGTagNameCase):
+        (WebCore::adjustAttributes):
+        (WebCore::adjustSVGAttributes):
+        (WebCore::adjustMathMLAttributes):
+        (WebCore::addNamesWithPrefix):
+        (WebCore::adjustForeignAttributes):
+
+2012-07-24  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Unreviewed r123494 follow-up: fixed inspector undock icon.
+
+        * inspector/front-end/Images/statusbarButtonGlyphs.png:
+
+2012-07-24  Kwang Yul Seo  <skyul@company100.net>
+
+        Read tag names and attributes from the saved tokens where possible.
+        https://bugs.webkit.org/show_bug.cgi?id=92079
+
+        Reviewed by Adam Barth.
+
+        Read tag names and attributes from the saved tokens, not from the DOM.
+        Also added convenient methods such as hasLocalName, hasTagName, localName,
+        isElementNode and isDocumentFragmentNode to HTMLStackItem class.
+
+        No new tests, covered by existing tests.
+
+        * html/parser/HTMLConstructionSite.cpp:
+        (WebCore::HTMLNames::hasImpliedEndTag):
+        (WebCore::HTMLNames::causesFosterParenting):
+        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
+        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
+        (WebCore::HTMLConstructionSite::shouldFosterParent):
+        * html/parser/HTMLConstructionSite.h:
+        (WebCore::HTMLConstructionSite::currentStackItem):
+        * html/parser/HTMLElementStack.cpp:
+        (WebCore::HTMLNames::isNumberedHeaderElement):
+        (WebCore::HTMLNames::isRootNode):
+        (WebCore::HTMLNames::isScopeMarker):
+        (WebCore::HTMLNames::isListItemScopeMarker):
+        (WebCore::HTMLNames::isTableScopeMarker):
+        (WebCore::HTMLNames::isTableBodyScopeMarker):
+        (WebCore::HTMLNames::isTableRowScopeMarker):
+        (WebCore::HTMLNames::isForeignContentScopeMarker):
+        (WebCore::HTMLNames::isButtonScopeMarker):
+        (WebCore::HTMLNames::isSelectScopeMarker):
+        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
+        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
+        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
+        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
+        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
+        (WebCore::HTMLElementStack::isMathMLTextIntegrationPoint):
+        (WebCore::HTMLElementStack::isHTMLIntegrationPoint):
+        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
+        (WebCore::HTMLElementStack::pushRootNode):
+        (WebCore::HTMLElementStack::oneBelowTop):
+        (WebCore::HTMLElementStack::topmost):
+        (WebCore):
+        (WebCore::inScopeCommon):
+        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
+        (WebCore::HTMLElementStack::inScope):
+        * html/parser/HTMLElementStack.h:
+        (WebCore::HTMLElementStack::topStackItem):
+        (HTMLElementStack):
+        (WebCore::isInHTMLNamespace):
+        * html/parser/HTMLStackItem.h:
+        (WebCore::HTMLStackItem::isDocumentFragmentNode):
+        (WebCore::HTMLStackItem::isElementNode):
+        (HTMLStackItem):
+        (WebCore::HTMLStackItem::hasLocalName):
+        (WebCore::HTMLStackItem::hasTagName):
+        (WebCore::HTMLStackItem::HTMLStackItem):
+        * html/parser/HTMLTreeBuilder.cpp:
+        (WebCore):
+        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
+        (WebCore::HTMLTreeBuilder::processFakeEndTag):
+        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
+        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+        (WebCore::HTMLTreeBuilder::processStartTag):
+        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
+        (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
+        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
+        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
+        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
+        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
+        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
+        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
+        (WebCore::HTMLTreeBuilder::processEndTag):
+        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
+        (WebCore::HTMLTreeBuilder::processEndOfFile):
+        (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
+        (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
+        * html/parser/HTMLTreeBuilder.h:
+
+2012-07-24  Hironori Bono  <hbono@chromium.org>
+
+        Avoid moving child objects multiple times when vertical scrollbar are shown at the left side.
+        https://bugs.webkit.org/show_bug.cgi?id=91756
+
+        Reviewed by Tony Chang.
+
+        My r123067 moves the top-left origin of an RTL element right when its vertical
+        scrollbar is shown at its left side. (That is, r123067 moves all child objects
+        in the RTL element right.) This change also increases RenderBox::clientLeft()
+        at the same time, i.e. it also moves child objects right. Furthermore, my r109512
+        moves positioned objects in an RTL element right at the same time. This makes
+        WebKit move objects in an RTL element up to three times by the scrollbar width.
+        (Moving an absolute object right increases the scrollWidth value and it causes
+        this bug.) This change removes unnecessary code that moves objects right in my
+        r109512 and RenderBox::clientLeft().
+
+        Test: scrollbars/rtl/div-absolute.html
+              fast/block/float/026.html
+              fast/block/float/028.html
+              fast/overflow/unreachable-overflow-rtl-bug.html
+
+        * dom/Element.cpp:
+        (WebCore::Element::clientLeft): Increase clientLeft value by the width of a vertical scrollbar as written in the CSSOM specification.
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::addOverflowFromPositionedObjects): Removed unnecessary code.
+        (WebCore::RenderBlock::determineLogicalLeftPositionForChild): Removed unnecessary code.
+        * rendering/RenderBox.h:
+        (WebCore::RenderBox::clientLeft): Removed unnecessary code.
+
+2012-07-24  Dan Bernstein  <mitz@apple.com>
+
+        RenderBlock::positionForPoint can fail when the block or its children have a vertical writing mode
+        https://bugs.webkit.org/show_bug.cgi?id=92202
+
+        Reviewed by Beth Dakin.
+
+        Test: fast/writing-mode/positionForPoint.html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::positionForPoint): Fixed two issues, each of which are covered by
+        one of the sub-tests in the new regression test: (1) changed to compare children’s logical
+        bounds against pointInLogicalContents, i.e. compare childern’s horizontal bounds to the
+        point’s horizontal component; and (2) changed to use logicalTopForChild and
+        logicalHeightForChild, which account for this block’s writing mode, instead of logicalTop
+        and logicalBottom, which are based on the child’s writing mode.
+
+2012-07-24  MORITA Hajime  <morrita@google.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=89179
+        Rendering LI having Shadow DOM seems weird
+
+        Reviewed by Dimitri Glazkov.
+
+        This incorrect rendering happend because HTMLLIElement::attach()
+        wasn't aware of composed shadow subtree. This change makes it
+        aware of that using ComposedShadowTreeParentWalker.
+
+        Test: fast/dom/shadow/shadow-and-list-elements.html
+
+        * html/HTMLLIElement.cpp:
+        (WebCore::HTMLLIElement::attach):
+
+2012-07-24  Alec Flett  <alecflett@chromium.org>
+
+        IndexedDB: fix #include dependencies so IDBRequest isn't an include root
+        https://bugs.webkit.org/show_bug.cgi?id=92167
+
+        Reviewed by Tony Chang.
+
+        Remove implicit dependencies due to using IDBRequest.h, and fix all
+        places that break as a result.
+
+        * Modules/indexeddb/IDBCallbacks.h:
+        (WebCore):
+        * Modules/indexeddb/IDBObjectStore.cpp:
+        * Modules/indexeddb/IDBRequest.h:
+        * inspector/InspectorIndexedDBAgent.cpp:
+
+2012-07-24  Keishi Hattori  <keishi@webkit.org>
+
+        Move PagePopupClient helper functions so they can be shared
+        https://bugs.webkit.org/show_bug.cgi?id=92096
+
+        Reviewed by Kent Tamura.
+
+        Move PagePopupClient helper functions to a separate file,
+        so they can be shared with new PagePopupClients.
+
+        No new tests. Covered by fast/forms/date/calendar-picker-appearance.html
+
+        * WebCore.gypi: Added PagePopupClient.cpp
+        * html/shadow/CalendarPickerElement.cpp:
+        (WebCore::CalendarPickerElement::writeDocument): Modified to use PagePopupClient.
+        * page/PagePopupClient.cpp: Added.
+        (WebCore):
+        (WebCore::PagePopupClient::addJavaScriptString):
+        (WebCore::PagePopupClient::addProperty):
+        * page/PagePopupClient.h:
+        (WebCore::PagePopupClient::addString):
+
+2012-07-24  Jer Noble  <jer.noble@apple.com>
+
+        setting playbackRate on a MediaController doesn't change the playbackRate for slaved media
+        https://bugs.webkit.org/show_bug.cgi?id=92035
+
+        Reviewed by Darin Adler.
+
+        Allow updatePlaybackRate() to change the MediaPlayer rate when the media element has a 
+        current media controller.
+
+        Test: media/media-controller-playbackrate.html
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::updatePlaybackRate):
+
+2012-07-24  Hayato Ito  <hayato@chromium.org>
+
+        Rename FocusScope to FocusNavigationScope.
+        https://bugs.webkit.org/show_bug.cgi?id=92062
+
+        Reviewed by Dimitri Glazkov.
+
+        FocusNavagationScope is better name than FocusScope since the
+        class is only used for controlling focus navigation.
+
+        No new tests - no functional changes.
+
+        * page/FocusController.cpp:
+        (WebCore::FocusNavigationScope::FocusNavigationScope):
+        (WebCore::FocusNavigationScope::rootNode):
+        (WebCore::FocusNavigationScope::owner):
+        (WebCore::FocusNavigationScope::focusNavigationScopeOf):
+        (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
+        (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByIFrame):
+        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
+        (WebCore::FocusController::advanceFocusInDocumentOrder):
+        (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
+        (WebCore::FocusController::findFocusableNodeRecursively):
+        (WebCore::FocusController::findFocusableNode):
+        (WebCore::FocusController::nextFocusableNode):
+        (WebCore::FocusController::previousFocusableNode):
+        * page/FocusController.h:
+        (FocusNavigationScope):
+        (FocusController):
+
+2012-07-24  Michael Saboff  <msaboff@apple.com>
+
+        Convert HTML parser to handle 8-bit resources without converting to UChar*
+        https://bugs.webkit.org/show_bug.cgi?id=90321
+
+        Reviewed by Geoffrey Garen.
+
+        No new tests, no new functionality therefore covered by existing tests.
+
+        Changed the parsing of HTML to handle 8-bit strings without converting the 
+        whole string to 16-bits.  Primary change was to use the appropriate 
+        character pointer type (LChar* or UChar*) depending on the source string.
+        This access is abstracted in SegmentedSubstring by getCurrentChar{8,16} and
+        incrementAndGetCurrentChar{8,16} methods.  In SegmentedString, the advance()
+        and advanceAndUpdateLineNumber() methods have been refactored into a
+        state machine managed pair of function pointers.  The possible functions
+        have not only the 8 and 16 bitness factored out, they also have the 
+        "exclude line numbers" logic factored out for advanceAndUpdateLineNumber().
+        This provides a net speed-up even with the 8/16 bit testing.
+        Other changes involve using String methods to access and compare with the
+        source data.
+
+        * html/FTPDirectoryDocument.cpp:
+        (WebCore::FTPDirectoryDocumentParser::append): Changed to use currentChar()
+        instead of SegmentedString '*' operator.
+        * html/parser/HTMLEntityParser.cpp: Changed to use currentChar() instead of
+        SegmentedString '*' operator.
+        * html/parser/HTMLParserIdioms.cpp:
+        (WebCore::stripLeadingAndTrailingHTMLSpaces): Added 8-bit fast path.
+        * html/parser/HTMLSourceTracker.cpp:
+        (WebCore::HTMLSourceTracker::sourceForToken): Changed to use currentChar() instead of
+        SegmentedString '*' operator.
+        * loader/cache/CachedScript.cpp:
+        (WebCore::CachedScript::script): Updated to use new String::dataSize() method.
+        * platform/text/SegmentedString.cpp:
+        (WebCore::SegmentedString::SegmentedString):
+        (WebCore::SegmentedString::operator=):
+        (WebCore::SegmentedString::clear):
+        (WebCore::SegmentedString::append):
+        (WebCore::SegmentedString::prepend):
+        (WebCore::SegmentedString::advanceSubstring):
+        (WebCore::SegmentedString::advance): Changed to be a wrapper that invokes current 
+        advance function.
+        (WebCore::SegmentedString::advance8): Fast path advance function for 8 bit data.
+        (WebCore::SegmentedString::advance16): Fast path advance function for 16 bit data.
+        (WebCore::SegmentedString::advanceAndUpdateLineNumber8IncludeLineNumbers): Fast
+        path advanceAndUpdateLineNumber for 8 bit data when we need to update the line number.
+        (WebCore::SegmentedString::advanceAndUpdateLineNumber16IncludeLineNumbers): Fast
+        path advanceAndUpdateLineNumber for 16 bit data when we need to update the line number.
+        (WebCore::SegmentedString::advanceSlowCase): Slow case advance function for both
+        8 and 16 bit advance.
+        (WebCore::SegmentedString::advanceAndUpdateLineNumberSlowCase): Slow case
+        advanceAndUpdateLineNumber function for both 8 and 16 bit data.
+        (WebCore::SegmentedString::advanceEmpty): Advance function when input has been exhausted.
+        * platform/text/SegmentedString.h:
+        (WebCore::SegmentedSubstring::SegmentedSubstring):
+        (WebCore::SegmentedSubstring::clear):
+        (SegmentedSubstring):
+        (WebCore::SegmentedSubstring::is8Bit): New getter.
+        (WebCore::SegmentedSubstring::appendTo):
+        (WebCore::SegmentedSubstring::getCurrentChar8): New getter for the 8 bit case.
+        (WebCore::SegmentedSubstring::getCurrentChar16): New getter for the 16 bit case.
+        (WebCore::SegmentedSubstring::incrementAndGetCurrentChar8): New wrapper functions
+        that pre-increments the 8 bit pointer and returns the next character.
+        (WebCore::SegmentedSubstring::incrementAndGetCurrentChar16): New wrapper functions
+        that pre-increments the 16 bit pointer and returns the next character.
+        (WebCore::SegmentedSubstring::currentSubString):
+        (WebCore::SegmentedSubstring::getCurrentChar):
+        (WebCore::SegmentedSubstring::incrementAndGetCurrentChar):
+        (WebCore::SegmentedString::SegmentedString):
+        (WebCore::SegmentedString::push):
+        (WebCore::SegmentedString::isEmpty):
+        (WebCore::SegmentedString::lookAhead):
+        (WebCore::SegmentedString::lookAheadIgnoringCase):
+        (WebCore::SegmentedString::advance):
+        (WebCore::SegmentedString::advanceAndUpdateLineNumber):
+        (WebCore::SegmentedString::advanceAndASSERT):
+        (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):
+        (WebCore::SegmentedString::advancePastNonNewline):
+        (WebCore::SegmentedString::advancePastNewlineAndUpdateLineNumber):
+        (WebCore::SegmentedString::currentChar):
+        (WebCore::SegmentedString::setSlowCase): Set advance function pointers to slow case
+        functions.
+        (WebCore::SegmentedString::decrementAndCheckLength): Decrement substring length and
+        change to slow case functions when only one character left.
+        (WebCore::SegmentedString::setAdvanceFunctionPointers): Select appropriate advance
+        functions based on current substring.
+        (WebCore::SegmentedString::lookAheadInline): Changed to use String::startsWith().
+        (WebCore::SegmentedString::lookAheadSlowCase):
+        * xml/parser/CharacterReferenceParserInlineMethods.h:
+        (WebCore::consumeCharacterReference): Changed to use currentChar() instead of
+        SegmentedString '*' operator.
+        * xml/parser/MarkupTokenizerBase.h:
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::nextInputCharacter):
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::peek): Changed to use
+        currentChar() instead of SegmentedString '*' operator.
+        (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::advance):
+
+2012-07-24  Kenneth Russell  <kbr@google.com>
+
+        [chromium] Hint garbage collector to run if page uses Canvas contexts
+        https://bugs.webkit.org/show_bug.cgi?id=76225
+
+        Reviewed by Kentaro Hara.
+
+        Upon creating a canvas context, set a hint in the current isolate
+        indicating that a full GC should be done upon the next page
+        navigation.
+
+        This improves Chrome's robustness on some WebGL stress tests which
+        simulate real-world behavior by repeatedly navigating among
+        several samples. More general measures are being investigated, but
+        this change makes V8 behave the same as JSC on these stress tests.
+        JSC doesn't currently use generational garbage collection, so it
+        has more opportunities to discover unreferenced canvas contexts.
+
+        Test: fast/canvas/webgl/context-creation-and-destruction.html
+
+        * bindings/v8/V8Binding.cpp:
+        (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
+            Initialize per-isolate low memory hint.
+        * bindings/v8/V8Binding.h:
+        (V8BindingPerIsolateData):
+        (WebCore::V8BindingPerIsolateData::setLowMemoryNotificationHint):
+            Set a per-isolate hint to signal a low memory condition upon the next page navigation.
+        (WebCore::V8BindingPerIsolateData::clearLowMemoryNotificationHint):
+            Clear the previously set hint.
+        (WebCore::V8BindingPerIsolateData::isLowMemoryNotificationHint):
+            Get the previously set hint.
+        * bindings/v8/V8Proxy.cpp:
+        (WebCore::V8Proxy::hintForGCIfNecessary):
+            If necessary, send V8 a hint that it should GC.
+        (WebCore):
+        (WebCore::V8Proxy::clearForClose):
+        (WebCore::V8Proxy::clearForNavigation):
+            Call hintForGCIfNecessary.
+        * bindings/v8/V8Proxy.h:
+        (V8Proxy):
+        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+        (WebCore::V8HTMLCanvasElement::getContextCallback):
+            Set a hint that we should GC upon the next page navigation.
+
+2012-07-24  Dave Tu  <dtu@chromium.org>
+
+        [chromium] Add time spent painting to GPU benchmarking renderingStats() API.
+        https://bugs.webkit.org/show_bug.cgi?id=90019
+
+        Reviewed by Adrienne Walker.
+
+        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
+        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
+        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
+        (BitmapCanvasLayerTextureUpdater):
+        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
+        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
+        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
+        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
+        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
+        (Texture):
+        (BitmapSkPictureCanvasLayerTextureUpdater):
+        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
+        (WebCore::CanvasLayerTextureUpdater::paintContents):
+        * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
+        (CanvasLayerTextureUpdater):
+        * platform/graphics/chromium/ContentLayerChromium.cpp:
+        (WebCore::ContentLayerChromium::update):
+        * platform/graphics/chromium/ContentLayerChromium.h:
+        (ContentLayerChromium):
+        * platform/graphics/chromium/ImageLayerChromium.cpp:
+        (WebCore::ImageLayerChromium::update):
+        * platform/graphics/chromium/ImageLayerChromium.h:
+        (ImageLayerChromium):
+        * platform/graphics/chromium/LayerChromium.h:
+        (WebCore):
+        (WebCore::LayerChromium::update):
+        * platform/graphics/chromium/LayerTextureUpdater.h:
+        (WebCore):
+        (WebCore::LayerTextureUpdater::Texture::prepareRect):
+        (WebCore::LayerTextureUpdater::prepareToUpdate):
+        * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+        (WebCore::ScrollbarLayerChromium::updatePart):
+        (WebCore::ScrollbarLayerChromium::update):
+        * platform/graphics/chromium/ScrollbarLayerChromium.h:
+        (ScrollbarLayerChromium):
+        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
+        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
+        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
+        (SkPictureCanvasLayerTextureUpdater):
+        * platform/graphics/chromium/TiledLayerChromium.cpp:
+        (WebCore::TiledLayerChromium::updateTiles):
+        (WebCore::TiledLayerChromium::updateContentRect):
+        * platform/graphics/chromium/TiledLayerChromium.h:
+        (TiledLayerChromium):
+        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
+        (WebCore::CCLayerTreeHost::updateAnimations):
+        (WebCore::CCLayerTreeHost::renderingStats):
+        (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
+        (WebCore::CCLayerTreeHost::paintLayerContents):
+        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+        (WebCore):
+        (CCLayerTreeHost):
+        * platform/graphics/chromium/cc/CCRenderingStats.h:
+        (CCRenderingStats):
+        (WebCore::CCRenderingStats::CCRenderingStats):
+
+2012-07-24  Jian Li  <jianli@chromium.org>
+
+        [V8] Correct WebIDL type should be used in the testing IDL file 
+        https://bugs.webkit.org/show_bug.cgi?id=92168
+
+        Reviewed by Kentaro Hara.
+
+        Updated bindings test.
+
+        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+        (webkit_dom_test_obj_strict_function):
+        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
+        * bindings/scripts/test/TestObj.idl:
+        * bindings/scripts/test/V8/V8TestObj.cpp:
+        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
+        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
+        (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
+        (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
+        (WebCore::TestObjV8Internal::strictFunctionCallback):
+
 2012-07-24  Kent Tamura  <tkent@chromium.org>
 
         Unreviewed, rolling out r123191.