| Index: Source/WebCore/ChangeLog | 
| =================================================================== | 
| --- Source/WebCore/ChangeLog	(revision 138937) | 
| +++ Source/WebCore/ChangeLog	(working copy) | 
| @@ -1,3 +1,335 @@ | 
| +2012-12-17  Matthew Dempsky  <mdempsky@google.com> | 
| + | 
| +        Regression causing DOM objects to have unstable NPObject* references with v8 bindings | 
| +        https://bugs.webkit.org/show_bug.cgi?id=104921 | 
| + | 
| +        Reviewed by Kentaro Hara. | 
| + | 
| +        Fix regression introduced by changeset 135804 resulting in | 
| +        unstable NPObject* references for v8 objects.  In the iter != | 
| +        v8NPObjectMap->end() code path, objectVector was left unassigned | 
| +        if the for loop terminated without returning. | 
| + | 
| +        Also, V8Object::GetIdentityHash() is documented as not being guaranteed | 
| +        as unique.  As such, don't ASSERT() that two objects with the same hash | 
| +        must therefor be the same object. | 
| + | 
| +        Tests: plugins/npruntime/embed-property-iframe-equality.html | 
| + | 
| +        * bindings/v8/NPV8Object.cpp: | 
| +        (WebCore::npCreateV8ScriptObject): Fix. | 
| + | 
| +2012-12-17  Chris Fleizach  <cfleizach@apple.com> | 
| + | 
| +        Seamless iframe should not announce a new browsing context | 
| +        https://bugs.webkit.org/show_bug.cgi?id=86317 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Introduce a new role for seamless frames so that the platforms can decide what to do | 
| +        with this kind of object. For the mac, it's exposed as a group. | 
| + | 
| +        Test: platform/mac/accessibility/seamless-iframe.html | 
| + | 
| +        * accessibility/AccessibilityNodeObject.cpp: | 
| +        (WebCore): | 
| +        * accessibility/AccessibilityNodeObject.h: | 
| +        (AccessibilityNodeObject): | 
| +        * accessibility/AccessibilityObject.h: | 
| +        (WebCore::AccessibilityObject::isWebArea): | 
| +        (WebCore::AccessibilityObject::isSeamlessWebArea): | 
| +        * accessibility/AccessibilityRenderObject.cpp: | 
| +        (WebCore::AccessibilityRenderObject::parentObjectIfExists): | 
| +        (WebCore::AccessibilityRenderObject::parentObject): | 
| +        (WebCore::AccessibilityRenderObject::boundingBoxRect): | 
| +        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): | 
| +        (WebCore::AccessibilityRenderObject::determineAccessibilityRole): | 
| +        * accessibility/mac/WebAccessibilityObjectWrapper.mm: | 
| +        (createAccessibilityRoleMap): | 
| + | 
| +2012-12-17  KyungTae Kim  <ktf.kim@samsung.com> | 
| + | 
| +        Percentage width replaced element incorrectly rendered when intrinsic size changed | 
| +        https://bugs.webkit.org/show_bug.cgi?id=102784 | 
| + | 
| +        Reviewed by Tony Chang. | 
| + | 
| +        To make relayout when the image dimension is changed, | 
| +        and if the logical width is percent type and the containing block fits to it. | 
| +        In this case, the containing block's width need to be updated first, | 
| +        because the 'newWidth' was calculated from the 'old containing block width'. | 
| + | 
| +        Test: fast/css/percent-width-img-src-change.html | 
| + | 
| +        * rendering/RenderImage.cpp: | 
| +        (WebCore::RenderImage::imageDimensionsChanged): | 
| + | 
| +2012-12-17  Beth Dakin  <bdakin@apple.com> | 
| + | 
| +        DidHitRelevantRepaintedObjectsAreaThreshold should not use the viewRect since | 
| +        that varies | 
| +        https://bugs.webkit.org/show_bug.cgi?id=105116 | 
| +        -and corresponding- | 
| +        <rdar://problem/12889449> | 
| + | 
| +        Reviewed by Geoff Garen. | 
| + | 
| +        DidHitRelevantRepaintedObjectsAreaThreshold should not use the viewRect since that | 
| +        varies depending on window size. This can lead to a huge amount of variability in | 
| +        the heuristic which is not desired. Instead, we should use a hard-coded rect. | 
| +        * page/Page.cpp: | 
| +        (WebCore::relevantViewRect): | 
| +        (WebCore): | 
| +        (WebCore::Page::addRelevantRepaintedObject): | 
| +        (WebCore::Page::addRelevantUnpaintedObject): | 
| + | 
| +2012-12-17  Simon Fraser  <simon.fraser@apple.com> | 
| + | 
| +        Fix repositioning of fixed elements on zooming | 
| +        https://bugs.webkit.org/show_bug.cgi?id=105223 | 
| + | 
| +        Reviewed by Beth Dakin. | 
| + | 
| +        When zoomed, scrolling would move the layers of fixed-position | 
| +        elements oddly. This happened because on the scrolling thread we | 
| +        passed a scale of 1, rather than the actual page scale to | 
| +        scrollOffsetForFixedPosition(). | 
| + | 
| +        Fix by plumbing the page scale through the scrolling state node | 
| +        to the scrolling node. | 
| + | 
| +        Test: platform/mac/tiled-drawing/fixed/four-bars-zoomed.html | 
| + | 
| +        * page/scrolling/ScrollingStateScrollingNode.cpp: | 
| +        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): | 
| +        (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): | 
| +        (WebCore::ScrollingStateScrollingNode::dumpProperties): | 
| +        * page/scrolling/ScrollingStateScrollingNode.h: | 
| +        (WebCore::ScrollingStateScrollingNode::frameScaleFactor): | 
| +        (ScrollingStateScrollingNode): | 
| +        * page/scrolling/ScrollingTreeScrollingNode.cpp: | 
| +        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode): | 
| +        (WebCore::ScrollingTreeScrollingNode::update): | 
| +        * page/scrolling/ScrollingTreeScrollingNode.h: | 
| +        (WebCore::ScrollingTreeScrollingNode::frameScaleFactor): | 
| +        (ScrollingTreeScrollingNode): | 
| +        * page/scrolling/mac/ScrollingCoordinatorMac.h: | 
| +        (ScrollParameters): | 
| +        * page/scrolling/mac/ScrollingCoordinatorMac.mm: | 
| +        (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): | 
| +        (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode): | 
| +        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: | 
| +        (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): | 
| + | 
| +2012-12-17  Dima Gorbik  <dgorbik@apple.com> | 
| + | 
| +        Implement matching cue by the class name with ::cue pseudo element | 
| +        https://bugs.webkit.org/show_bug.cgi?id=104191 | 
| + | 
| +        Reviewed by Antti Koivisto. | 
| + | 
| +        Implemented the ::cue() pseudo-element with an argument that may hold a simple selector list. | 
| +        This enables matching cue objects by the class name. | 
| + | 
| +        Test: media/track/track-css-matching.html | 
| + | 
| +        * css/CSSGrammar.y.in: support parsing the ::cue() with an argument. | 
| +        * css/CSSParser.cpp: | 
| +        (WebCore::CSSParser::detectFunctionTypeToken): tokenize the 'cue'. | 
| +        (WebCore::CSSParser::updateSpecifiersWithElementName): do not set the tag for the cue pseudo-element because | 
| +        the ::cue may match elements with different tags. | 
| +        (WebCore::CSSParser::updateSpecifiers): the behavior for the PseudoCue selector should be same as for | 
| +        unknown pseudo elements - the pseudo-element should stay on top of the selector chain. | 
| +        * css/CSSSelector.cpp: added the type detection for the new selector. | 
| +        (WebCore::CSSSelector::pseudoId): | 
| +        (WebCore::nameToPseudoTypeMap): | 
| +        (WebCore::CSSSelector::extractPseudoType): | 
| +        * css/CSSSelector.h: | 
| +        * css/RuleSet.cpp: add a new list to hold all the rulesets for the new pseudo element. | 
| +        (WebCore::RuleSet::reportMemoryUsage): | 
| +        (WebCore::RuleSet::addRule): | 
| +        (WebCore::RuleSet::shrinkToFit): | 
| +        * css/RuleSet.h: | 
| +        (RuleSet): | 
| +        (WebCore::RuleSet::cuePseudoRules): | 
| +        * css/SelectorChecker.cpp: | 
| +        (WebCore::SelectorChecker::checkOneSelector): | 
| +        * css/SelectorChecker.h: | 
| +        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): | 
| +        * css/StyleResolver.cpp: | 
| +        (WebCore::StyleResolver::collectMatchingRules): | 
| +        * dom/Element.cpp: an addition to the rare data to be able to find out if the node is a webvtt node. | 
| +        (WebCore): | 
| +        (WebCore::Element::isWebVTTNode): | 
| +        (WebCore::Element::setIsWebVTTNode): | 
| +        (WebCore::Element::cloneDataFromElement): | 
| +        * dom/Element.h: | 
| +        (Element): | 
| +        * dom/ElementRareData.h: | 
| +        (ElementRareData): | 
| +        * dom/NodeRareData.h: | 
| +        (WebCore::NodeRareData::NodeRareData): | 
| +        (NodeRareData): | 
| +        (WebCore::NodeRareData::isWebVTTNode): | 
| +        (WebCore::NodeRareData::setIsWebVTTNode): | 
| +        * html/track/TextTrackCue.cpp: | 
| +        (WebCore::TextTrackCue::markNodesAsWebVTTNodes): mark the cloned nodes as WebVTT nodes. | 
| +        (WebCore): | 
| +        (WebCore::TextTrackCue::getCueAsHTML): | 
| +        * html/track/TextTrackCue.h: | 
| +        (TextTrackCue): | 
| +        * html/track/WebVTTParser.cpp: | 
| +        (WebCore::WebVTTParser::constructTreeFromToken): | 
| +        * rendering/style/RenderStyleConstants.h: | 
| + | 
| +2012-12-17  Michael Pruett  <michael@68k.org> | 
| + | 
| +        IndexedDB: Don't use strings to represent serialized values | 
| +        https://bugs.webkit.org/show_bug.cgi?id=104354 | 
| + | 
| +        Reviewed by Kentaro Hara. | 
| + | 
| +        Use Vector<uint8_t> rather than String to represent serialized values | 
| +        in IndexedDB. This change is necessary to implement IndexedDB for JSC. | 
| + | 
| +        Tests: storage/indexeddb/* | 
| + | 
| +        * Modules/indexeddb/IDBBackingStore.cpp: | 
| +        (WebCore::IDBBackingStore::getRecord): | 
| +        (WebCore::IDBBackingStore::putRecord): | 
| +        (WebCore::ObjectStoreKeyCursorImpl::value): | 
| +        (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl): | 
| +        (WebCore::ObjectStoreCursorImpl::value): | 
| +        (ObjectStoreCursorImpl): | 
| +        (WebCore::ObjectStoreCursorImpl::loadCurrentRow): | 
| +        (WebCore::IndexKeyCursorImpl::value): | 
| +        (WebCore::IndexCursorImpl::value): | 
| +        (WebCore::IndexCursorImpl::IndexCursorImpl): | 
| +        (IndexCursorImpl): | 
| +        (WebCore::IndexCursorImpl::loadCurrentRow): | 
| +        * Modules/indexeddb/IDBBackingStore.h: | 
| +        (IDBBackingStore): | 
| +        (Cursor): | 
| +        * Modules/indexeddb/IDBCursorBackendImpl.cpp: | 
| +        (WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform): | 
| +        * Modules/indexeddb/IDBCursorBackendImpl.h: | 
| +        (WebCore::IDBCursorBackendImpl::value): | 
| +        * Modules/indexeddb/IDBIndexBackendImpl.cpp: | 
| +        (WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::perform): | 
| +        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: | 
| +        (WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::perform): | 
| +        (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform): | 
| +        * bindings/js/SerializedScriptValue.cpp: | 
| +        (WebCore::SerializedScriptValue::SerializedScriptValue): | 
| +        (WebCore): | 
| +        * bindings/js/SerializedScriptValue.h: | 
| +        * bindings/v8/SerializedScriptValue.cpp: | 
| +        (WebCore::SerializedScriptValue::createFromWireBytes): | 
| +        (WebCore): | 
| +        (WebCore::SerializedScriptValue::toWireBytes): | 
| +        * bindings/v8/SerializedScriptValue.h: | 
| +        (SerializedScriptValue): | 
| + | 
| +2012-12-17  Jaehun Lim  <ljaehun.lim@samsung.com> | 
| + | 
| +        Change SET_VAR, SET_BORDERVALUE_COLOR macro to require semicolon(;) at the end of the line | 
| +        https://bugs.webkit.org/show_bug.cgi?id=104774 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Remove the last ; in SET_VAR, SET_BORDERVALUE_COLOR macro definition. | 
| +        Add the omitted ; in RenderStyle.h | .cpp | 
| + | 
| +        No new tests, just style change. | 
| + | 
| +        * rendering/style/RenderStyle.cpp: | 
| +        (WebCore::RenderStyle::setColor): | 
| +        (WebCore::RenderStyle::setVisitedLinkColor): | 
| +        (WebCore::RenderStyle::setHorizontalBorderSpacing): | 
| +        (WebCore::RenderStyle::setVerticalBorderSpacing): | 
| +        * rendering/style/RenderStyle.h: | 
| + | 
| +2012-12-17  Yong Li  <yoli@rim.com> | 
| + | 
| +        [BlackBerry] Deadlock caused by PluginViewPrivate::destroyBuffers() | 
| +        https://bugs.webkit.org/show_bug.cgi?id=105215 | 
| + | 
| +        Reviewed by Rob Buis. | 
| +        Also internally reviewed by George Staikos. | 
| + | 
| +        PR# 266443 | 
| +        It should release mutexes before sending sync message. | 
| + | 
| +        * plugins/blackberry/PluginViewPrivateBlackBerry.cpp: | 
| +        (WebCore::PluginViewPrivate::destroyBuffers): | 
| + | 
| +2012-12-17  Sheriff Bot  <webkit.review.bot@gmail.com> | 
| + | 
| +        Unreviewed, rolling out r137198. | 
| +        http://trac.webkit.org/changeset/137198 | 
| +        https://bugs.webkit.org/show_bug.cgi?id=105212 | 
| + | 
| +        This patch is causing API behavior compatibility problems | 
| +        (Requested by zdobersek on #webkit). | 
| + | 
| +        * platform/network/soup/ResourceRequestSoup.cpp: | 
| +        (WebCore::ResourceRequest::updateFromSoupMessage): | 
| + | 
| +2012-12-17  Dominic Mazzoni  <dmazzoni@google.com> | 
| + | 
| +        AX: textUnderElement should consider alt text, but skip links and controls | 
| +        https://bugs.webkit.org/show_bug.cgi?id=101650 | 
| + | 
| +        Reviewed by Chris Fleizach. | 
| + | 
| +        Getting inner text from an element now ignores focusable descendants | 
| +        and containers, but uses alternative text.  The computation of | 
| +        textUnderElement is now recursive and doesn't depend on text | 
| +        iterators, which might not do the right thing for accessibility | 
| +        anyways. | 
| + | 
| +        For GTK, the old behavior is retained so that support for | 
| +        the object replacement character is still there. Filed a new | 
| +        bug (105214) for GTK folks to look at this. | 
| + | 
| +        Test: accessibility/button-title-uses-inner-img-alt.html | 
| +        Test: accessibility/focusable-div.html | 
| + | 
| +        * accessibility/AccessibilityNodeObject.cpp: | 
| +        (WebCore): | 
| +        (WebCore::shouldUseAccessiblityObjectInnerText): | 
| +        (WebCore::AccessibilityNodeObject::textUnderElement): | 
| +        * accessibility/AccessibilityRenderObject.cpp: | 
| +        (WebCore::AccessibilityRenderObject::textUnderElement): | 
| + | 
| +2012-12-17  Otto Derek Cheung  <otcheung@rim.com> | 
| + | 
| +        [BlackBerry] Prevent CookieManager from blocking the WKT thread | 
| +        https://bugs.webkit.org/show_bug.cgi?id=105111 | 
| + | 
| +        Prevent CookieManager from blocking the WKT Thread. | 
| + | 
| +        PR 265603 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        Adding some guards to CookieManager so it will return immedately | 
| +        if getCookie functions are called when the database isn't loaded yet. | 
| + | 
| +        setCookie functions will be redispatched until the database is ready. | 
| + | 
| +        * platform/blackberry/CookieManager.cpp: | 
| +        (WebCore::CookieManager::CookieManager): | 
| +        (WebCore::CookieManager::setCookies): | 
| +        (WebCore::CookieManager::getCookie): | 
| +        (WebCore::CookieManager::generateHtmlFragmentForCookies): | 
| +        (WebCore::CookieManager::getRawCookies): | 
| +        (WebCore::CookieManager::removeAllCookies): | 
| +        (WebCore::CookieManager::getBackingStoreCookies): | 
| +        (WebCore::CookieManager::setPrivateMode): | 
| +        (WebCore::CookieManager::removeCookieWithName): | 
| +        * platform/blackberry/CookieManager.h: | 
| + | 
| 2012-12-17  Levi Weintraub  <leviw@chromium.org> | 
|  | 
| Add support for tracking hit test rectangles to enable fast event rejection in the compositor | 
|  |