+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