Unreviewed, rolling out r123715.
[WebKit-https.git] / Source / WebCore / ChangeLog
index 58f0cbb..bea8cd5 100644 (file)
@@ -1,3 +1,871 @@
+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