Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 138104) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,3 +1,12770 @@ |
+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 |
+ https://bugs.webkit.org/show_bug.cgi?id=103914 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Adding support for tracking hit test target regions for the purpose of performing initial hit testing |
+ in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that |
+ aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main |
+ thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event |
+ region. This patch includes the implementation to turn this on in Chromium. |
+ |
+ To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers |
+ instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor |
+ when new touch event handlers are registered or removed, or after layout much like how |
+ nonFastScrollableRegions are currently tracked. |
+ |
+ This implementation will not properly update the hit test rects when the renderers are inside a sub- |
+ tree that scrolls. |
+ |
+ This change was initially rolled out due to stale Node pointers in Document's touchEventTargets. This |
+ patch adds a callback to remove the Node from that structure to Node's destructor. This is covered |
+ by the touch-target-removed-crash.html test case which is also added. |
+ |
+ Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html |
+ platform/chromium/fast/events/touch/touch-target-removed-crash.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets |
+ are stored as the Document they point to. |
+ (WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and |
+ to update the ScrollingCoordinator with the change. |
+ (WebCore::Document::didRemoveTouchEventHandler): Ditto. |
+ * dom/Document.h: |
+ (WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so |
+ expose whether there are any or not. |
+ (WebCore::Document::touchEventTargets): |
+ * dom/Node.cpp: |
+ (WebCore::Node::didMoveToNewDocument): |
+ (WebCore::tryAddEventListener): |
+ (WebCore::tryRemoveEventListener): |
+ * history/CachedFrame.cpp: |
+ (WebCore::CachedFrameBase::restore): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::~HTMLInputElement): |
+ (WebCore::HTMLInputElement::updateType): |
+ * page/DOMWindow.cpp: |
+ (WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow. |
+ (WebCore::DOMWindow::removeEventListener): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::handleTouchEvent): |
+ * page/Frame.cpp: |
+ (WebCore::Frame::setDocument): |
+ * page/scrolling/ScrollingCoordinator.cpp: |
+ (WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler |
+ nodes and generate the absolute hit testing rects. |
+ * page/scrolling/ScrollingCoordinator.h: |
+ (WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to |
+ the scrolling tree/compositor. |
+ (ScrollingCoordinator): |
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: |
+ (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): |
+ (WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged): |
+ (WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion): |
+ (WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects): |
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.h: |
+ (ScrollingCoordinatorChromium): |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since |
+ it's no longer stored as an int in Document. |
+ (WebCore::Internals::touchEventTargetClientRects): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-12-17 Avi Drissman <avi@chromium.org> |
+ |
+ Dragging a .jpg to Finder saves it as .jpeg |
+ https://bugs.webkit.org/show_bug.cgi?id=105140 |
+ https://code.google.com/p/chromium/issues/detail?id=35811 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ If the filename's extension is already valid for the MIME type, we don't |
+ need to rewrite it to the preferred extension. |
+ |
+ No layout tests because it involves dragging items to the desktop. |
+ |
+ * platform/chromium/ClipboardChromium.cpp: |
+ (WebCore::writeImageToDataObject): |
+ |
+2012-12-17 Bem Jones-Bey <bjonesbe@adobe.com> |
+ |
+ [CSS Exclusions] shape-outside on floats for rectangle shapes height/width |
+ https://bugs.webkit.org/show_bug.cgi?id=100398 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ Implement shape outside for floats changing only the height and width |
+ as a simple starting point. |
+ |
+ This implementation changes floats to use the bounding box of the |
+ shape outside instead of the margin box for layout. The content box of |
+ the float is unchanged. This patch does not support positioning the |
+ shape outside box, so the x and y parameters are currently ignored in |
+ the specified shape. This will be fixed in a patch for bug 100399. |
+ |
+ Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-margin-is-ignored.html |
+ fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-horizontal-multiple.html |
+ fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle-percentage.html |
+ fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rectangle.html |
+ |
+ * CMakeLists.txt: Add ExclusionShapeOutsideInfo.{cpp,h}. |
+ * GNUmakefile.list.am: Add ExclusionShapeOutsideInfo.{cpp,h}. |
+ * Target.pri: Add ExclusionShapeOutsideInfo.{cpp,h}. |
+ * WebCore.gypi: Add ExclusionShapeOutsideInfo.{cpp,h}. |
+ * WebCore.vcproj/WebCore.vcproj: Add ExclusionShapeOutsideInfo.{cpp,h}. |
+ * WebCore.xcodeproj/project.pbxproj: Add ExclusionShapeOutsideInfo.{cpp,h}. |
+ * rendering/ExclusionShapeOutsideInfo.cpp: Added. Associates the |
+ ExclusionShape object for shape outside with a RenderBox. Analagous to |
+ ExclusionShapeInsideInfo. |
+ (WebCore::exclusionShapeOutsideInfoMap): |
+ (WebCore::ExclusionShapeOutsideInfo::ExclusionShapeOutsideInfo): |
+ (WebCore::ExclusionShapeOutsideInfo::~ExclusionShapeOutsideInfo): |
+ (WebCore::ExclusionShapeOutsideInfo::ensureInfoForRenderBox): |
+ (WebCore::ExclusionShapeOutsideInfo::infoForRenderBox): |
+ (WebCore::ExclusionShapeOutsideInfo::isInfoEnabledForRenderBox): |
+ (WebCore::ExclusionShapeOutsideInfo::removeInfoForRenderBox): |
+ (WebCore::ExclusionShapeOutsideInfo::computedShape): |
+ * rendering/ExclusionShapeOutsideInfo.h: Added. Associates the |
+ ExclusionShape object for shape outside with a RenderBox. Analagous to |
+ ExclusionShapeInsideInfo. |
+ (ExclusionShapeOutsideInfo): |
+ (WebCore::ExclusionShapeOutsideInfo::create): |
+ (WebCore::ExclusionShapeOutsideInfo::shapeLogicalLeft): |
+ (WebCore::ExclusionShapeOutsideInfo::shapeLogicalRight): |
+ (WebCore::ExclusionShapeOutsideInfo::shapeLogicalTop): |
+ (WebCore::ExclusionShapeOutsideInfo::shapeLogicalBottom): |
+ (WebCore::ExclusionShapeOutsideInfo::shapeLogicalWidth): |
+ (WebCore::ExclusionShapeOutsideInfo::shapeLogicalHeight): |
+ (WebCore::ExclusionShapeOutsideInfo::setShapeSize): |
+ (WebCore::ExclusionShapeOutsideInfo::dirtyShapeSize): |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::insertFloatingObject): Use the shape outside's bounding box to set the width that is |
+ used for inline layout for the float and it's siblings. |
+ (WebCore::RenderBlock::positionNewFloats): Use the shape outside's bounding box to set the height that |
+ is used for inline layout for the float and it's siblings. Ignore margins when positioning if the float |
+ has shape outside, per the exclusions spec. |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::willBeDestroyed): Clean up associated ExclusionShape. |
+ (WebCore::RenderBox::styleDidChange): Handle style change for shape outside. |
+ (WebCore::RenderBox::updateExclusionShapeOutsideInfoAfterStyleChange): Handle style change for shape outside. |
+ * rendering/RenderBox.h: |
+ (WebCore::RenderBox::exclusionShapeOutsideInfo): Get the ExclusionShapeOutsideInfo associated with this |
+ RenderBox. |
+ |
+2012-12-17 John J. Barton <johnjbarton@chromium.org> |
+ |
+ Web Inspector: Search by selection |
+ https://bugs.webkit.org/show_bug.cgi?id=104970 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Upon activation of the search control, conditionally set input.value to window.getSelection(). |
+ For both single file (SearchController) and multifile (AdvancedSearchController). |
+ |
+ Test: inspector/editor/text-editor-selection-to-search.html |
+ |
+ * inspector/front-end/AdvancedSearchController.js: |
+ (WebInspector.AdvancedSearchController.prototype.show): |
+ (WebInspector.SearchView.prototype.syncToSelection): |
+ * inspector/front-end/SearchController.js: |
+ (WebInspector.SearchController.prototype.showSearchField): |
+ |
+2012-12-17 Eduardo Lima Mitev <elima@igalia.com> |
+ |
+ [GStreamer] Use gst_element_link_pads_full() with CHECK_NOTHING for speed and sanity |
+ https://bugs.webkit.org/show_bug.cgi?id=105181 |
+ |
+ Reviewed by Philippe Normand. |
+ |
+ Replace some calls to gst_pad_link() on request pads, by |
+ gst_element_link_pads_full() with CHECK_NOTHING flag, removing |
+ unnecessary pad compatibility checks and simplifying code. |
+ |
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
+ (webKitWebAudioSrcConstructed): Links audioconvert source with a |
+ requested interleave sink using gst_element_link_pads_full(). |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Links a |
+ requested source pad from videoTee with the queue sink. |
+ |
+2012-12-17 Emil A Eklund <eae@chromium.org> |
+ |
+ Clamp values in LayoutUnit::operator/ when SATURATED_LAYOUT_ARITHMETIC is enabled |
+ https://bugs.webkit.org/show_bug.cgi?id=104955 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ LayoutUnit::operator/ currently does not clamp values and |
+ instead overflows when given a value greater than INT_MAX or |
+ less than INT_MIN. |
+ |
+ Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp |
+ |
+ * platform/LayoutUnit.h: |
+ (WebCore::operator/): |
+ Clamp value if SATURATED_LAYOUT_ARITHMETIC is enabled. |
+ |
+2012-12-17 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Don't allow edge TileCache tiles to be larger than necessary |
+ https://bugs.webkit.org/show_bug.cgi?id=105195 |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ The TileCache would allow edge tiles to be larger than the required size, with the assumption |
+ that the extra space would never be visible. However, for content tiled layers, it can be, |
+ and it doesn't get correctly cleared. So always keep the edge tiles at the specified size. |
+ |
+ * platform/graphics/ca/mac/TileCache.mm: |
+ (WebCore::TileCache::revalidateTiles): |
+ |
+2012-12-17 Bem Jones-Bey <bjonesbe@adobe.com> |
+ |
+ [CSS Exclusions] Floats should respect shape-inside on exclusions |
+ https://bugs.webkit.org/show_bug.cgi?id=89261 |
+ |
+ Reviewed by David Hyatt. |
+ |
+ Position floats properly with respect to an exclusion shape. Note that |
+ this will not attempt to position floats in a polygon that has |
+ multiple segments. In the multiple segment case, the floats will be |
+ positioned as if the exclusion did not exist. |
+ |
+ Updated an existing test case to test for this. |
+ Test: fast/exclusions/shape-inside/shape-inside-floats-simple.html |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::computeLogicalLocationForFloat): Adjust the |
+ right and left offsets to take into account the right and left offset |
+ contributed by the exclusion shape. |
+ |
+2012-12-17 Antoine Quint <graouts@apple.com> |
+ |
+ GraphicsLayer's repaint count should update even when debugging option to show it is off |
+ https://bugs.webkit.org/show_bug.cgi?id=105178 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Update the repain count even if the debug option to show them is turned off. |
+ This allows the count to be accurate in between toggles of the debug option |
+ and to allow the InspectorLayerTreeAgent to get accurate results any time |
+ the layer tree is requested (see webkit.org/b/105024). |
+ |
+ * platform/graphics/mac/WebLayer.mm: |
+ (drawLayerContents): |
+ |
+2012-12-17 Hans Muller <hmuller@adobe.com> |
+ |
+ [CSS Exclusions] Add helper functions for converting floats to LayoutUnits |
+ https://bugs.webkit.org/show_bug.cgi?id=103450 |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ When a float logicalTop value is converted to a LayoutUnit it's necessary to |
+ use LayoutUnit::fromFloatCeil() to ensure that we're snapping to a value that's |
+ inside the ExclusionShape. Similarly, to convert a logicalBottom value from |
+ float to LayoutUnit we use LayoutUnit::fromFloatFloor(). Added a pair of private |
+ ExlcusionShapeInsideInfo methods that do the conversions and refactored existing |
+ code to use them. |
+ |
+ This is just a cleanup. No new tests are needed, the existing tests cover |
+ these changes. |
+ |
+ * rendering/ExclusionShapeInsideInfo.cpp: |
+ (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Use the new floatLogicalTopToLayoutUnit() method. |
+ * rendering/ExclusionShapeInsideInfo.h: |
+ (WebCore::ExclusionShapeInsideInfo::shapeLogicalTop): Use the new floatLogicalTopToLayoutUnit() method. |
+ (WebCore::ExclusionShapeInsideInfo::shapeLogicalBottom): Use the new floatLogicalBottomToLayoutUnit() method. |
+ (ExclusionShapeInsideInfo): |
+ (WebCore::ExclusionShapeInsideInfo::floatLogicalTopToLayoutUnit): Convert a float to a LayoutUnit with LayoutUnit::fromFloatCeil(). |
+ (WebCore::ExclusionShapeInsideInfo::floatLogicalBottomToLayoutUnit): Convert a float to a LayoutUnit with LayoutUnit::fromFloatFloor(). |
+ |
+2012-12-17 Antoine Quint <graouts@apple.com> |
+ |
+ Web Inspector: Provide the paint count of layers through the LayerTreeAgent |
+ https://bugs.webkit.org/show_bug.cgi?id=105024 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ We add a new optional .paintCount property to the Layer object, passing through the |
+ relevant information from GraphicsLayer. |
+ |
+ * inspector/Inspector.json: |
+ * inspector/InspectorLayerTreeAgent.cpp: |
+ (WebCore::InspectorLayerTreeAgent::buildObjectForLayer): |
+ |
+2012-12-17 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: [chromium] make toolbar render with Mountain Lion-friendly colors |
+ https://bugs.webkit.org/show_bug.cgi?id=105177 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ * inspector/front-end/UIUtils.js: |
+ (WebInspector.platformFlavor): |
+ * inspector/front-end/inspector.css: |
+ (#toolbar): |
+ (body.dock-to-bottom #toolbar): |
+ (.toolbar-item): |
+ |
+2012-12-17 Andreas Kling <akling@apple.com> |
+ |
+ Attribute: Remove unused constructor and isNull(). |
+ <http://webkit.org/b/105179> |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Removed the Attribute constructor that takes a localName rather than a full QualifiedName as that was never used. |
+ Also removed Attribute::isNull(), since that was only called in one place where isNull() will never be true. |
+ |
+ * dom/Attribute.h: |
+ * html/HTMLIFrameElement.cpp: |
+ (WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute): |
+ |
+2012-12-17 Anthony Scian <ascian@rim.com> |
+ |
+ [Blackberry] Static code analysis warning fixes |
+ https://bugs.webkit.org/show_bug.cgi?id=105129 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ - alloca can return NULL, recoded to just use a temp var |
+ |
+ * plugins/blackberry/PluginViewBlackBerry.cpp: |
+ (WebCore::PluginView::updateBuffer): |
+ |
+2012-12-17 Eugene Klyuchnikov <eustas@chromium.org> |
+ |
+ Web Inspector: Make popover content accessible for clicks. |
+ https://bugs.webkit.org/show_bug.cgi?id=105167 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Currently it is very hard to move mouse pointer inside of popover area. |
+ The only maneuver is to precisely jerk the mouse in direction of popover. |
+ |
+ This path makes anchor and popover "active" areas overlap, so it becomes |
+ possible to smoothly move mouse to popover interior. |
+ |
+ * inspector/front-end/Popover.js: |
+ (WebInspector.Popover.prototype._innerShow): Make popover "outer" border |
+ an be "active" area. |
+ * inspector/front-end/popover.css: Allow popover "outer" border receive |
+ mouse events. |
+ |
+2012-12-17 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: Persist Audit selections across sessions |
+ https://bugs.webkit.org/show_bug.cgi?id=103944 |
+ |
+ Reviewed by Alexander Pavlov. |
+ |
+ Make selected audit categories a persistent setting, to simplify life for those |
+ repeatedly running same set of categories. |
+ |
+ * inspector/front-end/AuditLauncherView.js: |
+ (WebInspector.AuditLauncherView): |
+ (WebInspector.AuditLauncherView.prototype.addCategory.get var): |
+ (WebInspector.AuditLauncherView.prototype.addCategory): |
+ (WebInspector.AuditLauncherView.prototype._selectAllClicked): |
+ (WebInspector.AuditLauncherView.prototype._categoryClicked): |
+ (WebInspector.AuditLauncherView.prototype._createCategoryElement): |
+ |
+2012-12-17 Zeno Albisser <zeno@webkit.org> |
+ |
+ [Texmap] Drawing of ARB textures broken after r137498. |
+ https://bugs.webkit.org/show_bug.cgi?id=105165 |
+ |
+ Disable antialiasing for ARB textures after unifying |
+ code paths. We are currently missing a fragment shader |
+ to do antialiasing with ARB textures. |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore::TextureMapperGL::drawTexture): |
+ |
+2012-12-17 Eugene Klyuchnikov <eustas@chromium.org> |
+ |
+ Web Inspector: Popup flickers when cursor moves between elements with same anchor. |
+ https://bugs.webkit.org/show_bug.cgi?id=104992 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Popup disappears and then appears again when mouse pointer traverses |
+ between sub-elements of anchor element. |
+ |
+ * inspector/front-end/Popover.js: Split method "_mouseOut". |
+ (WebInspector.PopoverHelper.prototype._popoverMouseOut): |
+ Handler for Popover. |
+ (WebInspector.PopoverHelper.prototype._mouseOut): |
+ Handler for PopoverHelper. |
+ |
+2012-12-12 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ [Chromium] Remove support for TRACE_EVENT_IF_LONGER_THANx macros |
+ https://bugs.webkit.org/show_bug.cgi?id=104784 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ - removed TRACE_EVENT_IF_LONGER_THANx macros; |
+ - changed addTraceEvent() to return void, as we no longer need the index of added event. |
+ |
+ * platform/EventTracer.h: |
+ (EventTracer): |
+ * platform/chromium/EventTracerChromium.cpp: |
+ (WebCore::EventTracer::addTraceEvent): |
+ * platform/chromium/TraceEvent.h: |
+ (TraceEvent): |
+ (WebCore::TraceEvent::addTraceEvent): |
+ (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled): |
+ (Data): |
+ |
+2012-12-17 Kentaro Hara <haraken@chromium.org> |
+ |
+ Unreviewed, rolling out r136794. |
+ http://trac.webkit.org/changeset/136794 |
+ https://bugs.webkit.org/show_bug.cgi?id=104203 |
+ |
+ The GC change can leak memory |
+ |
+ * bindings/v8/V8GCController.cpp: |
+ (WebCore): |
+ (WebCore::addImplicitReferencesForNodeWithEventListeners): |
+ |
+2012-12-17 Gabor Rapcsanyi <rgabor@webkit.org> |
+ |
+ Reduce the code size of ARM SIMD in GraphicsContext3D |
+ https://bugs.webkit.org/show_bug.cgi?id=105086 |
+ |
+ Reviewed by Zoltan Herczeg. |
+ |
+ Reduce the code size of ARM SIMD in GraphicsContext3D and change the ARM |
+ namespace to SIMD. |
+ |
+ * platform/graphics/GraphicsContext3D.cpp: |
+ (WebCore): |
+ * platform/graphics/cpu/arm/GraphicsContext3DNEON.h: |
+ (WebCore::SIMD::unpackOneRowOfRGBA4444ToRGBA8): |
+ (WebCore::SIMD::packOneRowOfRGBA8ToUnsignedShort4444): |
+ (WebCore::SIMD::unpackOneRowOfRGBA5551ToRGBA8): |
+ (WebCore::SIMD::packOneRowOfRGBA8ToUnsignedShort5551): |
+ (WebCore::SIMD::unpackOneRowOfRGB565ToRGBA8): |
+ (WebCore::SIMD::packOneRowOfRGBA8ToUnsignedShort565): |
+ |
+2012-12-16 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: frame bars on timeline do not react on hover and double click |
+ https://bugs.webkit.org/show_bug.cgi?id=105153 |
+ |
+ Reviewed by Alexander Pavlov. |
+ |
+ Remove z-index: -100 from #timeline-grid-header, as it prevents mouse events from |
+ reaching frame strip. Use pointer-events: none on frame dividers instead. |
+ |
+ * inspector/front-end/timelinePanel.css: |
+ (.timeline .resources-event-divider.timeline-frame-divider): |
+ (#timeline-grid-header): |
+ |
+2012-12-16 Kentaro Hara <haraken@chromium.org> |
+ |
+ [V8] Improve performance of a conversion from WebKit strings to V8 strings |
+ https://bugs.webkit.org/show_bug.cgi?id=105150 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ V8 provides v8::Weak(isolate) and v8::Local::New(isolate, ...), |
+ which are much faster than v8::Weak() and v8::Local::New(). |
+ By using the faster APIs, we can improve performance of a conversion |
+ from a WebKit string to a V8 string. This improves performance of |
+ div.id, div.className, ...and a lot of DOM attributes that return |
+ strings. |
+ |
+ [Dromaeo/dom-attr] |
+ 120 runs/sec, 120 runs/sec, 118 runs/sec => 125 runs/sec, 123 run/sec, 125 runs/sec (+4.1%) |
+ |
+ [Dromaeo/dom-traverse] |
+ 94 runs/sec, 94 runs/sec, 96 runs/sec => 107 runs/sec, 105 runs/sec, 107 runs/sec (+12.3%) |
+ |
+ [Bindings/id-getter] |
+ 356 runs/sec, 356 runs/sec, 341 runs/sec => 423 runs/sec, 424 runs/sec, 424 runs/sec (+20.7%) |
+ |
+ No tests. No change in behavior. |
+ |
+ * bindings/v8/V8ValueCache.h: |
+ (WebCore::StringCache::v8ExternalString): |
+ |
+2012-12-16 Arvid Nilsson <anilsson@rim.com> |
+ |
+ [BlackBerry] Adapt to new BlackBerry::Platform::TouchPoint API |
+ https://bugs.webkit.org/show_bug.cgi?id=105143 |
+ RIM PR 171941 |
+ |
+ Reviewed by Rob Buis. |
+ Internally reviewed by George Staikos. |
+ |
+ TouchPoint instances now provide document coordinates for the viewport |
+ and content position of the touch event. The pixel coordinates stored |
+ in the TouchPoint should no longer be needed in WebKit. |
+ |
+ Also adapt to new method names and encapsulation of TouchPoint data |
+ members. |
+ |
+ No change in behavior, no new tests. |
+ |
+ * platform/blackberry/PlatformTouchPointBlackBerry.cpp: |
+ (WebCore::PlatformTouchPoint::PlatformTouchPoint): |
+ |
+2012-12-16 Eugene Klyuchnikov <eustas@chromium.org> |
+ |
+ Web Inspector: Fix JS compiler warning. |
+ https://bugs.webkit.org/show_bug.cgi?id=105032 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Problem: event handler parameter has actial parameter |
+ type KeyboardEvent, but ".addEventListener" refuses listeners with such |
+ signature. |
+ |
+ Solution: explicitly upcast argument type. |
+ |
+ * inspector/front-end/ElementsTreeOutline.js: Update JsDocs. |
+ |
+2012-12-16 Tim Horton <timothy_horton@apple.com> |
+ |
+ PDFPlugin: The "Open in Preview" HUD button should work |
+ https://bugs.webkit.org/show_bug.cgi?id=102448 |
+ <rdar://problem/12695729> |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ Expose createCanonicalUUIDString and UUID.h. |
+ |
+ * WebCore.exp.in: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ |
+2012-12-16 Seokju Kwon <seokju.kwon@gmail.com> |
+ |
+ Fix unused parameter compile warnings |
+ https://bugs.webkit.org/show_bug.cgi?id=105089 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Use UNUSED_PARAM macro to fix build warning -Wunused-parameter. |
+ |
+ No new tests, no behavior change. |
+ |
+ * bindings/js/JSDOMWindowBase.cpp: |
+ (WebCore::JSDOMWindowBase::supportsProfiling): |
+ (WebCore::JSDOMWindowBase::supportsRichSourceInfo): |
+ |
+2012-12-16 Alexey Proskuryakov <ap@apple.com> |
+ |
+ <rdar://problem/12886898> Bundle uploads don't work |
+ https://bugs.webkit.org/show_bug.cgi?id=105149 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ * WebCore.exp.in: Exported FormData::removeGeneratedFilesIfNeeded(). |
+ |
+ * platform/network/FormData.cpp: |
+ (WebCore::encodeElement): |
+ (WebCore::decodeElement): |
+ Encode generated file name for archive, too. I'm not entirely sure how this affects other uses |
+ of FormData serialization, but it seems logical that if we encode m_hasGeneratedFiles, we |
+ should also encode their names. |
+ |
+2012-12-16 Hayato Ito <hayato@chromium.org> |
+ |
+ [Shadow DOM] Kill ShadowRoot constructor |
+ https://bugs.webkit.org/show_bug.cgi?id=102913 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Re-landing r137408 which breaks browser tests on chromium. I've |
+ updated the browser tests on chromium so that they do not use |
+ WebKitShadowRoot constructor. |
+ |
+ No new tests. Updating existing layout tests. |
+ |
+ * dom/ShadowRoot.idl: |
+ * page/DOMWindow.idl: |
+ |
+2012-12-16 Jon Lee <jonlee@apple.com> |
+ |
+ Allow built-in PDF plugin and plugin documents to auto-start |
+ https://bugs.webkit.org/show_bug.cgi?id=105000 |
+ <rdar://problem/12633351> |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Plug-ins in plug-in documents that are in the main frame should always auto-start. |
+ |
+ Add a virtual function that returns whether the PluginViewBase should auto-start its plug-in. |
+ Add a callback that gives the HTML plug-in element an opportunity to set the display state |
+ based on the widget. |
+ |
+ * plugins/PluginViewBase.h: |
+ (WebCore::PluginViewBase::shouldAlwaysAutoStart): Added. By default returns false. |
+ |
+ * html/HTMLPlugInImageElement.cpp: |
+ (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Renamed from |
+ subframeLoaderWillLoadPlugIn() for consistency. This call will also be made a little later |
+ in the subframe loader. Adds a check to see if the plug-in is inside a plug-in document |
+ of the main frame. If so, auto-start. |
+ (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Given the widget created, |
+ check to see if it should always auto-start. If so, set the display state to Playing. Otherwise |
+ leave the display state alone. |
+ * html/HTMLPlugInImageElement.h: |
+ |
+ * loader/SubframeLoader.cpp: |
+ (WebCore::SubframeLoader::requestPlugin): Move the will-load-plug-in call into loadPlugin(). |
+ (WebCore::SubframeLoader::loadPlugin): Immediately prior to the plug-in's creation, make the |
+ will-create call. If a plug-in was made, make the did-create call. The did-create call should |
+ be made before setWidget() since that might initialize the plug-in, which could take the display |
+ state into account if being initialized synchronously. |
+ |
+2012-12-16 Huang Dongsung <luxtella@company100.net> |
+ |
+ [TexMap] Perform the layer-tree traversal in GraphicsLayerTextureMapper. |
+ https://bugs.webkit.org/show_bug.cgi?id=103366 |
+ |
+ Reviewed by Noam Rosenthal. |
+ |
+ Currently, Texture Mapper performs the layer-tree traversal in |
+ TextureMapperLayer, while Coordinated Graphics performs the traversal in |
+ CoordinatedGraphicsLayer. This patch makes Texture Mapper perform the |
+ traversal in GraphicsLayerTextureMapper. |
+ |
+ Also removed the SyncOptions enum, which is redundant since no client |
+ calls it with ComputationsOnly. |
+ |
+ This is in preparation for refactoring TextureMapper to work in an actor |
+ model (http://webkit.org/b/103854). |
+ |
+ No new tests. Covered by existing tests. |
+ |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
+ (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly): |
+ (WebCore::GraphicsLayerTextureMapper::flushCompositingState): |
+ (WebCore::GraphicsLayerTextureMapper::didFlushCompositingState): |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
+ (GraphicsLayerTextureMapper): |
+ * platform/graphics/texmap/TextureMapperLayer.cpp: |
+ (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly): |
+ * platform/graphics/texmap/TextureMapperLayer.h: |
+ (TextureMapperLayer): |
+ |
+2012-12-16 Levi Weintraub <leviw@chromium.org> |
+ |
+ Push pixel snapping logic into TransformState |
+ https://bugs.webkit.org/show_bug.cgi?id=101779 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ The old SnapOffsetForTransforms behavior fell apart when there was content nested in |
+ multiple levels of containers with sub-pixel offsets. The point of this flag was to |
+ mirror the pixel snapping that occurs in paint, where offsets are accumulated bottom- |
+ up through the render tree and snapped at the end. This change eliminates this flag |
+ and pushes pixel snapping logic down into TransformState. |
+ |
+ TransformState now tracks a LayoutSize accumulated offset when there's no transform |
+ or we're just translating. We then snap and apply this offset before accumulating |
+ values into a transform, and when returning planar coordinates to callers. |
+ |
+ Test: fast/sub-pixel/transformed-iframe-copy-on-scroll.html added, |
+ fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html modified to also catch this bug. |
+ |
+ * platform/graphics/transforms/TransformState.cpp: |
+ (WebCore::TransformState::operator=): Pass accumulated offset. |
+ (WebCore::TransformState::translateTransform): Extracted this functionality for |
+ re-use when applying the accumulated offset, or accumulating from a call to move. |
+ (WebCore::TransformState::translateMappedCoordinates): Same as above when we're not |
+ acculating into a transform. |
+ (WebCore::TransformState::move): Changed to accumulate into m_accumulatedOffset when |
+ not accumulating into a transform. |
+ (WebCore::TransformState::applyAccumulatedOffset): |
+ (WebCore::TransformState::applyTransform): Applies the accumulated offset before the |
+ transform. |
+ (WebCore::TransformState::flatten): Ditto for flattening. |
+ (WebCore::TransformState::mappedPoint): Translates by the accumulated offset before |
+ returning. |
+ (WebCore::TransformState::mappedQuad): Ditto. |
+ * platform/graphics/transforms/TransformState.h: |
+ (TransformState): Added m_accumulatedOffset. |
+ * rendering/RenderGeometryMap.cpp: |
+ (WebCore::RenderGeometryMap::mapToContainer): When not using a transform, we still need |
+ to snap our offset before applying to our float result. Also, flatten when we have a |
+ non-uniform step. |
+ * rendering/RenderGeometryMap.h: |
+ (RenderGeometryMap): Remove use of SnapOffsetForTransforms. |
+ |
+ Everything below simply drops the use of SnapOffsetForTransforms: |
+ |
+ * dom/ContainerNode.cpp: |
+ (WebCore::ContainerNode::getUpperLeftCorner): |
+ * dom/MouseRelatedEvent.cpp: |
+ (WebCore::MouseRelatedEvent::computeRelativePosition): |
+ * editing/FrameSelection.cpp: |
+ (WebCore::CaretBase::absoluteBoundsForLocalRect): |
+ * editing/RenderedPosition.cpp: |
+ (WebCore::RenderedPosition::absoluteRect): |
+ * editing/VisiblePosition.cpp: |
+ (WebCore::VisiblePosition::absoluteCaretBounds): |
+ * html/HTMLSelectElement.cpp: |
+ (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): |
+ * html/shadow/SliderThumbElement.cpp: |
+ (WebCore::SliderThumbElement::setPositionFromPoint): |
+ * html/shadow/SpinButtonElement.cpp: |
+ (WebCore::SpinButtonElement::defaultEventHandler): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::convertFromRenderer): |
+ (WebCore::FrameView::convertToRenderer): |
+ * rendering/InlineTextBox.cpp: |
+ (WebCore::InlineTextBox::paintDocumentMarker): |
+ (WebCore::InlineTextBox::paintTextMatchMarker): |
+ (WebCore::InlineTextBox::computeRectForReplacementMarker): |
+ * rendering/LayoutState.cpp: |
+ (WebCore::LayoutState::LayoutState): |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::mapLocalToContainer): |
+ (WebCore::RenderBox::pushMappingToContainer): |
+ * rendering/RenderBox.h: |
+ (RenderBox): |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::RenderBoxModelObject::computeStickyPositionConstraints): |
+ * rendering/RenderEmbeddedObject.cpp: |
+ (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator): |
+ * rendering/RenderFrameSet.cpp: |
+ (WebCore::RenderFrameSet::userResize): |
+ * rendering/RenderInline.cpp: |
+ (WebCore::RenderInline::mapLocalToContainer): |
+ (WebCore::RenderInline::pushMappingToContainer): |
+ * rendering/RenderInline.h: |
+ (RenderInline): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::absoluteToContents): |
+ (WebCore::RenderLayer::scrollTo): |
+ (WebCore::RenderLayer::childrenClipRect): |
+ (WebCore::RenderLayer::selfClipRect): |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::contentsVisible): |
+ * rendering/RenderMediaControls.cpp: |
+ (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): |
+ * rendering/RenderMenuList.cpp: |
+ (WebCore::RenderMenuList::showPopup): |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::absoluteFocusRingQuads): |
+ * rendering/RenderObject.h: |
+ * rendering/RenderText.cpp: |
+ (WebCore::RenderText::absoluteRectsForRange): |
+ (WebCore::RenderText::absoluteQuads): |
+ (WebCore::RenderText::absoluteQuadsForRange): |
+ * rendering/RenderTheme.cpp: |
+ (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::selectionBounds): |
+ * rendering/RenderView.h: |
+ (RenderView): |
+ * rendering/RenderWidget.cpp: |
+ (WebCore::RenderWidget::updateWidgetGeometry): |
+ * rendering/svg/RenderSVGForeignObject.cpp: |
+ (WebCore::RenderSVGForeignObject::mapLocalToContainer): |
+ * rendering/svg/RenderSVGForeignObject.h: |
+ (RenderSVGForeignObject): |
+ * rendering/svg/RenderSVGInline.cpp: |
+ (WebCore::RenderSVGInline::mapLocalToContainer): |
+ * rendering/svg/RenderSVGInline.h: |
+ (RenderSVGInline): |
+ * rendering/svg/RenderSVGModelObject.cpp: |
+ (WebCore::RenderSVGModelObject::mapLocalToContainer): |
+ * rendering/svg/RenderSVGModelObject.h: |
+ (RenderSVGModelObject): |
+ * rendering/svg/RenderSVGRoot.h: |
+ (RenderSVGRoot): |
+ * rendering/svg/RenderSVGText.cpp: |
+ (WebCore::RenderSVGText::mapLocalToContainer): |
+ * rendering/svg/RenderSVGText.h: |
+ (RenderSVGText): |
+ * rendering/svg/SVGRenderSupport.cpp: |
+ (WebCore::SVGRenderSupport::mapLocalToContainer): |
+ * rendering/svg/SVGRenderSupport.h: |
+ (SVGRenderSupport): |
+ |
+2012-12-15 Anders Carlsson <andersca@apple.com> |
+ |
+ Rename FrameLoaderClient::download to convertMainResourceLoadToDownload |
+ https://bugs.webkit.org/show_bug.cgi?id=105122 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Rename FrameLoaderClient::download to convertMainResourceLoadToDownload and change it to take a MainResourceLoader instead |
+ of a ResourceHandle, since resource handles may not exist when loading isn't done in the web process. |
+ |
+ * WebCore.exp.in: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * loader/EmptyClients.h: |
+ * loader/FrameLoaderClient.h: |
+ (WebCore): |
+ (FrameLoaderClient): |
+ * loader/MainResourceLoader.cpp: |
+ (WebCore::MainResourceLoader::continueAfterContentPolicy): |
+ |
+2012-12-16 Eric Carlson <eric.carlson@apple.com> |
+ |
+ Remove in-band text tracks when media element's src changes |
+ https://bugs.webkit.org/show_bug.cgi?id=105081 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ No new tests, media/track/track-in-band.html was updated to test this change. |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTrack): Move some code into removeTrack. |
+ (WebCore::HTMLMediaElement::removeTrack): New, remove a track and all of its cues. |
+ (WebCore::HTMLMediaElement::removeAllInbandTracks): New, remove all in-band tracks. |
+ (WebCore::HTMLMediaElement::clearMediaPlayer): Call removeAllInbandTracks. |
+ * html/HTMLMediaElement.h: |
+ |
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): |
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Call clearTextTracks. |
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::clearTextTracks): Remove all tracks from client. |
+ |
+2012-12-16 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Fix assertions when doing a full repaint of compositing layers |
+ https://bugs.webkit.org/show_bug.cgi?id=105128 |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ In r137811 I added code to repaint all compositing layers when FrameView::layout() |
+ is doing a full repaint. However, this code needs to avoid calling setContentsNeedDisplay() |
+ on layers that don't actually draw their own content: those that draw into an ancestor, |
+ and those that draw into a window. |
+ |
+ Fixes assertions in existing tests. |
+ |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::updateAfterLayout): |
+ |
+2012-12-16 ChangSeok Oh <shivamidow@gmail.com> |
+ |
+ [GTK][AC] Build failure with an option --with-acceleration-backend=clutter |
+ https://bugs.webkit.org/show_bug.cgi?id=105027 |
+ |
+ Reviewed by Gustavo Noronha Silva. |
+ |
+ GLContext.* and RedirectedXCompositeWindow.* are meaningful only if opengl is |
+ a backend for the AC. So I wrap them in USE_OPENGL. |
+ |
+ No new tests. This patch fixes a build fauilure, not adding new features. |
+ |
+ * GNUmakefile.list.am: |
+ |
+2012-12-16 VÃctor Manuel Jáquez Leal <vjaquez@igalia.com> |
+ |
+ [GStreamer] create playbin in ::load(), not in player constructor |
+ https://bugs.webkit.org/show_bug.cgi?id=103898 |
+ |
+ Reviewed by Philippe Normand. |
+ |
+ This patch moves the instantiation of the playbin pipeline into the |
+ WebCore::MediaPlayerPrivateGStreamer::load() method, so the pipeline |
+ layout can reflect other predefined settings such as audio pitch |
+ preservation in variable playback rate scenarios |
+ |
+ No new tests. Covered by existing tests. |
+ |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
+ (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): |
+ (WebCore::MediaPlayerPrivateGStreamer::load): |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
+ (MediaPlayerPrivateGStreamer): |
+ |
+2012-12-16 Mihnea Ovidenie <mihnea@adobe.com> |
+ |
+ [CSSRegions] Pseudo-elements should not be directly collected into a named flow |
+ https://bugs.webkit.org/show_bug.cgi?id=105046 |
+ |
+ Reviewed by Abhishek Arya. |
+ |
+ Prevent pseudo-elements to be collected into a named-flow by bailing out early in the collecting stage. |
+ Following the CSSRegions spec, http://dev.w3.org/csswg/css3-regions/#flow-into, the pseudo-elements |
+ like ::before/::after/::first-letter/::first-line are not allowed to become content nodes, being directly |
+ collected into a flow thread. |
+ |
+ Tests: fast/regions/pseudo-after-content-node.html |
+ fast/regions/pseudo-before-content-node.html |
+ fast/regions/pseudo-first-letter-content-node.html |
+ fast/regions/pseudo-first-line-content-node.html |
+ |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded): |
+ |
+2012-12-16 Mihai Maerean <mmaerean@adobe.com> |
+ |
+ [CSS Regions] broken feature detection: body.webkitRegionOverset and body.webkitGetRegionFlowRanges shouldn't succeed when disabled at runtime |
+ https://bugs.webkit.org/show_bug.cgi?id=99707 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ The bug is that the CSS Regions feature leaks information at run-time. There are JS properties that exist even |
+ if the feature is disabled at run-time (document.webkitGetNamedFlows, document.body.webkitRegionOverset, |
+ document.body.webkitGetRegionFlowRanges and window.WebKitCSSRegionRule). |
+ |
+ The fix is to add V8EnabledAtRuntime=cssRegions in the IDL files to the properties that leak information and to |
+ the interfaces that are the type of those properties. |
+ |
+ Test: fast/regions/region-leak-js-information-when-disabled-at-runtime.html |
+ |
+ * css/WebKitCSSRegionRule.idl: |
+ added V8EnabledAtRuntime=cssRegions for the WebKitCSSRegionRule interface. |
+ * dom/DOMNamedFlowCollection.idl: |
+ added V8EnabledAtRuntime=cssRegions for the DOMNamedFlowCollection interface. |
+ * dom/Document.idl: |
+ added V8EnabledAtRuntime=cssRegions for the webkitGetNamedFlows method. |
+ * dom/Element.idl: |
+ added V8EnabledAtRuntime=cssRegions for the webkitRegionOverset attribute. |
+ added V8EnabledAtRuntime=cssRegions for the webkitGetRegionFlowRanges method. |
+ * page/DOMWindow.idl: |
+ added V8EnabledAtRuntime=cssRegions for the WebKitCSSRegionRule attribute. |
+ |
+2012-12-15 Ian Vollick <vollick@chromium.org> |
+ |
+ [chromium] Automatically use composited scrolling |
+ https://bugs.webkit.org/show_bug.cgi?id=94743 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ We currently use the composited scrolling facilities provided by |
+ wkb.ug/91117 if the overflow scroll block element is styled with |
+ -webkit-overflow-scrolling: touch. Ideally, we could automatically |
+ opt into composited scrolling if it is safe to do so. This can affect |
+ antialiasing, so it is important that automatically opting in is only |
+ enabled via a setting. |
+ |
+ The way I determine if it is safe is by checking that z-ordering will |
+ not be affected if the overflow scrollable element were promoted to a |
+ stacking context (details below), and that clipping our scrolling |
+ descendants will not affect rendering. |
+ |
+ To check the first condition (that z-ordering will not be affected). |
+ I ensure that the candidate element and all its descendants appear as a |
+ contiguous block in the candidate's stacking context. That is, if no |
+ other elements are 'between' any of the candidates descendants when we |
+ sort in paint order, then we're safe. This is overly conservative, |
+ however. We could, in future, only consider stacking problems between |
+ elements that actually overlap. |
+ |
+ To ensure that clipping will not cause a rendering change, I ensure |
+ that the layer has no out of flow positioned descendant whose |
+ containing block is not also a descendant of ours. |
+ |
+ Test: compositing/overflow/automatically-opt-into-compositing-scrolling.html |
+ |
+ (WebCore): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::RenderLayer): |
+ (WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled): |
+ (WebCore): |
+ (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder): |
+ (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive): |
+ (WebCore::RenderLayer::positionNewlyCreatedOverflowControls): |
+ (WebCore::RenderLayer::canSafelyEstablishAStackingContext): |
+ Returns true if the RenderLayer could become a stacking context without |
+ affecting the stacking order. |
+ (WebCore::RenderLayer::updateDescendantDependentFlags): |
+ We now need to keep track of out of flow positioned descendants. |
+ (WebCore::RenderLayer::addChild): |
+ (WebCore::RenderLayer::removeChild): |
+ (WebCore::RenderLayer::usesCompositedScrolling): |
+ Returns true if the layer actually is using composited scrolling. |
+ This function may return false, even when needsCompositedScrolling |
+ returns true. |
+ (WebCore::RenderLayer::needsCompositedScrolling): |
+ This function returns true if we would like to use composited |
+ scrolling and it is safe to turn it on. |
+ (WebCore::RenderLayer::updateNeedsCompositedScrolling): |
+ (WebCore::RenderLayer::scrollTo): |
+ (WebCore::RenderLayer::dirtyZOrderLists): |
+ (WebCore::RenderLayer::dirtyNormalFlowList): |
+ Since these could affect opting into composited scrolling, we must |
+ request that the RenderLayerCompositor reevaluate compositing. |
+ (WebCore::RenderLayer::updateLayerListsIfNeeded): |
+ We call updateCanSafelyEstablishStackingContext here, if necessary. |
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly): |
+ (WebCore::RenderLayer::shouldBeSelfPaintingLayer): |
+ usesCompositedScrolling -> needsCompositedScrolling |
+ (WebCore::RenderLayer::setAncestorChainHasOutOfFlowPositionedDescendant): |
+ (WebCore::RenderLayer::dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus): |
+ (WebCore::RenderLayer::updateOutOfFlowPositioned): |
+ Dirties and sets the out of flow positioned descendant state. |
+ (WebCore::RenderLayer::styleChanged): |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): |
+ (WebCore::RenderLayer::hasOutOfFlowPositionedDescendant): |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
+ (WebCore::RenderLayerBacking::hasUnpositionedOverflowControlsLayers): |
+ (WebCore): |
+ * rendering/RenderLayerBacking.h: |
+ (RenderLayerBacking): |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): |
+ (WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling): |
+ * rendering/RenderLayerCompositor.h: |
+ (WebCore::RenderLayerCompositor::setShouldReevaluateCompositingAfterLayout): |
+ * testing/InternalSettings.cpp: |
+ (WebCore::InternalSettings::setEnableCompositingForOverflowScroll): |
+ Allows enabling the setting in layout tests. |
+ (WebCore): |
+ * testing/InternalSettings.h: |
+ (InternalSettings): |
+ * testing/InternalSettings.idl: |
+ |
+2012-12-15 Carlos Garcia Campos <cgarcia@igalia.com> |
+ |
+ Unreviewed. Fix make distcheck. |
+ |
+ * bindings/gobject/GNUmakefile.am: Do not dist generated DOM |
+ bindings headers. |
+ * platform/ScrollAnimatorNone.cpp: Include PlatformGestureEvent.h |
+ only if gesture events are enabled. |
+ |
+2012-12-15 Alexey Proskuryakov <ap@apple.com> |
+ |
+ Build fix. |
+ |
+ * platform/network/FormData.cpp: |
+ (WebCore::encodeElement): |
+ (WebCore::decodeElement): |
+ (WebCore::FormData::encode): |
+ (WebCore::FormData::decode): |
+ Disambiguated encode/decode functions. I'm not quite sure why the compiler was |
+ confused, but distinct names should make the code more readable anyway. |
+ |
+2012-12-15 Alexey Proskuryakov <ap@apple.com> |
+ |
+ <rdar://problem/12886312> Cannot upload patches to Bugzilla (<input type=file> doesn't work) |
+ https://bugs.webkit.org/show_bug.cgi?id=105120 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ * WebCore.exp.in: |
+ * history/HistoryItem.cpp: |
+ * platform/network/FormData.h: |
+ Renamed encodeForBackForward and decodeForBackForward to encode and decode, respectively. |
+ I couldn't find anything in these that would limit them to this use, and data encoded |
+ for b/f has to be good enough to re-create a request anyway. |
+ |
+ * platform/network/FormData.cpp: (WebCore::decode): Fixed file data decoder to not |
+ bail out in the general case of posting a complete file. |
+ |
+2012-12-15 Nima Ghanavatian <nghanavatian@rim.com> |
+ |
+ [BlackBerry] Pass key modifiers with touch and mouse events |
+ https://bugs.webkit.org/show_bug.cgi?id=105108 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ Call Screen to retrieve current key modifiers. |
+ |
+ Internally reviewed by Gen Mak. |
+ |
+ * platform/PlatformMouseEvent.h: |
+ (PlatformMouseEvent): |
+ * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp: |
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState): |
+ * platform/blackberry/PlatformMouseEventBlackBerry.cpp: |
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent): |
+ * platform/blackberry/PlatformTouchEventBlackBerry.cpp: |
+ (WebCore::PlatformTouchEvent::PlatformTouchEvent): |
+ |
+2012-12-15 Otto Derek Cheung <otcheung@rim.com> |
+ |
+ [BlackBerry] Prevent CookieManager from blocking the WKT thread |
+ https://bugs.webkit.org/show_bug.cgi?id=105111 |
+ |
+ PR 265603 |
+ |
+ Reviewed by Rob Buis. |
+ Internally reviewed by Konrad Piascik. |
+ |
+ The getBackingStoreCookies in WKT is blocking the thread because it has to wait for |
+ the db to be opened before it can call on it. |
+ |
+ The fix is to make CookieDatabaseBackingStore in the cookie_db thread dispatch |
+ a getBackingStoreCookies call on WKT after invokeOpen is finished. |
+ |
+ Tested loading the browser. Cookies are being loaded into memory on start up. |
+ |
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: |
+ (WebCore::CookieDatabaseBackingStore::invokeOpen): |
+ * platform/blackberry/CookieManager.cpp: |
+ (WebCore::cookieManager): |
+ * platform/blackberry/CookieManager.h: |
+ |
+2012-12-15 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Fix repaint issues when resizing a window with centered content, for platforms with a tile cache |
+ https://bugs.webkit.org/show_bug.cgi?id=105073 |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ There were several issues with the "do full repaint" code path in |
+ FrameView::layout(). These caused repaint issues when resizing the web view, |
+ especially for platforms that use a tile cache. |
+ |
+ First, the m_doFullRepaint flag wold get clobbered on resize-layouts, because |
+ the call to adjustViewSize() re-enters layout(), and resets the m_doFullRepaint member |
+ variable to false, even if the outer call had previously set it to true. This would |
+ cause us to lose track of whether we needed to do a full repaint. The patch fixes |
+ this by restoring m_doFullRepaint to the value it had before the call to adjustViewSize(). |
+ |
+ The second problem was that full repaints would not propagate to compositing |
+ layers. They only repainted the RenderView, and on platforms that use a tile cache, |
+ this only repaints the top portion of that tile cache. This was fixed by sending |
+ a NeedsFullRepaintInBacking flag down into RenderLayer::updateLayerPositions(), |
+ and using that to do a full repaint on all compositing layers. |
+ |
+ Sending this new flag down into updateAfterLayout() prompted some boolean/flags |
+ cleanup with propagated into several files. This also allowed me to no longer |
+ include RenderLayerBacking.h in RenderLayerCompositor.h, but that required |
+ header cleanup in several files. |
+ |
+ Automated testing is not possible because WebKitTestRunner resizes the window |
+ asynchronously (bug 105101). Added manual test. |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::updateLayerPositionFlags): |
+ (WebCore::FrameView::layout): |
+ * page/scrolling/ScrollingCoordinator.cpp: |
+ * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::updateLayerPositions): |
+ (WebCore::RenderLayer::updateCompositingLayersAfterScroll): |
+ * rendering/RenderLayer.h: |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::updateAfterLayout): |
+ (WebCore::RenderLayerBacking::contentChanged): |
+ * rendering/RenderLayerBacking.h: |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): |
+ * rendering/RenderLayerCompositor.h: |
+ * rendering/RenderObject.cpp: |
+ * rendering/RenderView.cpp: |
+ |
+2012-12-15 Anders Carlsson <andersca@apple.com> |
+ |
+ Fix build. |
+ |
+ * platform/graphics/ca/GraphicsLayerCA.h: |
+ Remove an unused member variable. |
+ |
+2012-12-15 Simon Fraser <simon.fraser@apple.com> |
+ |
+ REGRESSION (r137006): TileCache flashes to linen, rather than the background color, when scrolling fast |
+ https://bugs.webkit.org/show_bug.cgi?id=104746 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Make RenderLayerBacking::updateBackgroundColor() responsible for setting the background |
+ color of the main frame's root layer to the document background color (rather than doing |
+ it in code related to overlay scrollbars, which was crazy). This is only done for platforms |
+ that use a TiledBacking (currently, just Mac). |
+ |
+ Also fix updateBackgroundColor() to not call m_graphicsLayer->setContentsToBackgroundColor() |
+ and then call clearBackgroundColor() right away if the color was transparent. |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::recalculateScrollbarOverlayStyle): Remove code that calls documentBackgroundColorDidChange(). |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::clipBox): Remove blank linke. |
+ (WebCore::RenderLayerBacking::updateBackgroundColor): |
+ * rendering/RenderLayerCompositor.cpp: |
+ * rendering/RenderLayerCompositor.h: |
+ (RenderLayerCompositor): |
+ |
+2012-12-15 No'am Rosenthal <noam.rosenthal@nokia.com> |
+ |
+ Disambiguate "background color" and "contents as solid color" on GraphicsLayer |
+ https://bugs.webkit.org/show_bug.cgi?id=104842 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Rename overloads in GraphicsLayerTextureMapper and GraphicsLayerChromium to account for the rename in GraphicsLayer. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
+ (WebCore::GraphicsLayerTextureMapper::setContentsToSolidColor): |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
+ (GraphicsLayerTextureMapper): |
+ (WebCore::GraphicsLayerTextureMapper::solidColor): |
+ * platform/graphics/texmap/TextureMapperLayer.cpp: |
+ (WebCore::TextureMapperLayer::paintSelf): |
+ (WebCore::TextureMapperLayer::flushCompositingStateSelf): |
+ * platform/graphics/texmap/TextureMapperLayer.h: |
+ (State): |
+ |
+2012-12-13 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Disambiguate "background color" and "contents as solid color" on GraphicsLayer |
+ https://bugs.webkit.org/show_bug.cgi?id=104842 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ GraphicsLayer failed to be clear about the distinction between |
+ the layer background color, and setting the layer contents |
+ to a color. This caused some recently added tests to fail, |
+ and required some special-casing for the TileCache in |
+ GraphicsLayerCA. |
+ |
+ Separate these two concepts on GraphicsLayer. setBackgroundColor() |
+ now sets the background color on the entire layer, which will only |
+ be used in special cases like the TileCache. |
+ |
+ The existing setContentsToBackgroundColor() is renamed to |
+ setContentsToSolidColor(), and is an explicit request to create |
+ a contents layer for the purpose of displaying a simple color. |
+ |
+ In both cases, 'clear' methods are not necessary; calling |
+ the setter with an invalid color clears the color. |
+ |
+ Covered by existing tests. |
+ |
+ * WebCore.exp.in: Remove GraphicsLayer::clearBackgroundColor(). |
+ * platform/graphics/GraphicsLayer.cpp: |
+ (WebCore::GraphicsLayer::GraphicsLayer): |
+ (WebCore::GraphicsLayer::setBackgroundColor): |
+ (WebCore::GraphicsLayer::dumpProperties): |
+ * platform/graphics/GraphicsLayer.h: |
+ (GraphicsLayer): Remove m_backgroundColorSet; we just check whether |
+ the color is a valid color now. |
+ (WebCore::GraphicsLayer::setContentsToSolidColor): |
+ * platform/graphics/ca/GraphicsLayerCA.cpp: |
+ (WebCore::GraphicsLayerCA::GraphicsLayerCA): |
+ (WebCore::GraphicsLayerCA::setBackgroundColor): |
+ (WebCore::GraphicsLayerCA::setContentsToSolidColor): |
+ (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): |
+ (WebCore::GraphicsLayerCA::updateBackgroundColor): |
+ (WebCore::GraphicsLayerCA::updateContentsColorLayer): |
+ (WebCore): |
+ * platform/graphics/ca/GraphicsLayerCA.h: |
+ (GraphicsLayerCA): |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): We have |
+ to call updateBackgroundColor(), because the 'is simple compositing layer' |
+ state may change in this code path. |
+ (WebCore::RenderLayerBacking::updateBackgroundColor): Don't initialize |
+ the Color to transparent (it will be invalid initially), and always |
+ call setContentsToSolidColor() which will either set or remove the color. |
+ |
+2012-12-15 Mark Lam <mark.lam@apple.com> |
+ |
+ Re-landing patch for "Introducing the DatabaseStrategy and database servers". |
+ https://bugs.webkit.org/show_bug.cgi?id=104934. |
+ |
+ Not reviewed. |
+ |
+ Merged from r137767. Previously reviewed by Sam Weinig. |
+ Also added __ZTVN7WebCore16DatabaseStrategyE to WebCore.exp.in. |
+ |
+ No new tests. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Modules/webdatabase/AbstractDatabaseServer.h: Copied from Source/WebCore/Modules/webdatabase/AbstractDatabaseServer.h. |
+ * Modules/webdatabase/DBBackendServer.h: Copied from Source/WebCore/Modules/webdatabase/DBBackendServer.h. |
+ * Modules/webdatabase/DatabaseManager.cpp: |
+ (WebCore::DatabaseManager::DatabaseManager): |
+ * Modules/webdatabase/DatabaseManager.h: |
+ (DatabaseManager): |
+ * Target.pri: |
+ * WebCore.exp.in: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * platform/DatabaseStrategy.cpp: Copied from Source/WebCore/platform/DatabaseStrategy.cpp. |
+ * platform/DatabaseStrategy.h: Copied from Source/WebCore/platform/DatabaseStrategy.h. |
+ * platform/PlatformStrategies.h: |
+ (WebCore::PlatformStrategies::databaseStrategy): |
+ (PlatformStrategies): |
+ (WebCore::PlatformStrategies::PlatformStrategies): |
+ |
+2012-12-14 Yuki Sekiguchi <yuki.sekiguchi@access-company.com> |
+ |
+ Emphasis mark is printed after inline-block with justify |
+ https://bugs.webkit.org/show_bug.cgi?id=104631 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ Do not print an emphasis mark after an inline-block when justified. |
+ |
+ If an inline-block is expanded, it has a space appended to it. |
+ This space should not have any emphasis marks drawn. |
+ |
+ Test: fast/inline/justify-emphasis-inline-box.html |
+ |
+ * platform/graphics/SimpleFontData.h: |
+ (WebCore::SimpleFontData::zeroWidthSpaceGlyph): Add getter method to get zero width space glyph. |
+ * platform/graphics/WidthIterator.cpp: |
+ (WebCore::WidthIterator::advanceInternal): We use zero width space for the extra space not to draw emphasis marks. |
+ |
+2012-12-14 Jer Noble <jer.noble@apple.com> |
+ |
+ Unreviewed bug fix after r137782. |
+ |
+ Add new source file TextTrackRepresentation.cpp to CMakeLists.txt. |
+ |
+ * CMakeLists.txt: |
+ |
+2012-12-14 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137767. |
+ http://trac.webkit.org/changeset/137767 |
+ https://bugs.webkit.org/show_bug.cgi?id=105062 |
+ |
+ Broke Mac builds. (Requested by mlam on #webkit). |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Modules/webdatabase/AbstractDatabaseServer.h: Removed. |
+ * Modules/webdatabase/DBBackendServer.h: Removed. |
+ * Modules/webdatabase/DatabaseManager.cpp: |
+ (WebCore::DatabaseManager::DatabaseManager): |
+ * Modules/webdatabase/DatabaseManager.h: |
+ * Target.pri: |
+ * WebCore.exp.in: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * platform/DatabaseStrategy.cpp: Removed. |
+ * platform/DatabaseStrategy.h: Removed. |
+ * platform/PlatformStrategies.h: |
+ (WebCore): |
+ (WebCore::PlatformStrategies::PlatformStrategies): |
+ (PlatformStrategies): |
+ |
+2012-12-14 Jer Noble <jer.noble@apple.com> |
+ |
+ Allow the text track contents to be displayed externally to WebCore. |
+ https://bugs.webkit.org/show_bug.cgi?id=105052 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ Support scenarios where the text track contents must be rendered outside of WebCore, such as to an external |
+ display or window. Add an abstract base class which encapsulates the external representation to which the |
+ text tracks will be rendered. |
+ |
+ Add a new abstract base class and client to wrap the external rendering of a TextTrack. |
+ * platform/graphics/TextTrackRepresentation.h: Added. |
+ (WebCore::TextTrackRepresentationClient::~TextTrackRepresentationClient): |
+ (WebCore::TextTrackRepresentation::~TextTrackRepresentation): |
+ |
+ Add an empty concrete implementation for those ports who do not yet support external display of subtitles. |
+ * platform/graphics/TextTrackRepresentation.cpp: Added. |
+ (NullTextTrackRepresentation): |
+ (WebCore::NullTextTrackRepresentation::~NullTextTrackRepresentation): |
+ (WebCore::NullTextTrackRepresentation::update): |
+ (WebCore::NullTextTrackRepresentation::platformLayer): |
+ (WebCore::NullTextTrackRepresentation::setContentScale): |
+ (WebCore::NullTextTrackRepresentation::bounds): |
+ (WebCore::TextTrackRepresentation::create): |
+ |
+ Add methods to MediaPlayerPrivateIOS to handle the TextTrackRepresentation. |
+ * platform/graphics/ios/MediaPlayerPrivateIOS.h: |
+ * platform/graphics/ios/MediaPlayerPrivateIOS.mm: |
+ (WebCore::MediaPlayerPrivateIOS::deliverNotification): Remove the representation when exiting full screen. |
+ (WebCore::MediaPlayerPrivateIOS::requiresTextTrackRepresentation): Return YES if in full screen mode. |
+ (WebCore::MediaPlayerPrivateIOS::setTextTrackRepresentation): Pass the representation's layer to the player plug-in. |
+ |
+ Expose those methods via HTMLMediaElement: |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::requiresTextTrackRepresentation): |
+ (WebCore::HTMLMediaElement::setTextTrackRepresentation): |
+ * html/HTMLMediaElement.h: |
+ * platform/graphics/MediaPlayer.cpp: |
+ (WebCore::MediaPlayer::requiresTextTrackRepresentation): |
+ (WebCore::MediaPlayer::setTextTrackRepresentation): |
+ * platform/graphics/MediaPlayer.h: |
+ (WebCore::MediaPlayerClient::textTrackRepresentationBoundsChanged): |
+ (WebCore::MediaPlayerClient::paintTextTrackRepresentation): |
+ * platform/graphics/MediaPlayerPrivate.h: |
+ (WebCore::MediaPlayerPrivateInterface::requiresTextTrackRepresentation): |
+ (WebCore::MediaPlayerPrivateInterface::setTextTrackRepresentation): |
+ |
+ * html/shadow/MediaControlElements.cpp: |
+ (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Create the representation, if necessary. |
+ (WebCore::MediaControlTextTrackContainerElement::updateSizes): Use the representation to determine the font size. |
+ (WebCore::MediaControlTextTrackContainerElement::paintTextTrackRepresentation): Added. Paint the TextTrack into the provided graphics context. |
+ (WebCore::MediaControlTextTrackContainerElement::textTrackRepresentationBoundsChanged): Added. Call updateSizes(). |
+ * html/shadow/MediaControlElements.h: |
+ |
+ Add the new files to the project. |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ |
+2012-12-14 Fady Samuel <fsamuel@chromium.org> |
+ |
+ Allow embedder to observe changes to frame names |
+ https://bugs.webkit.org/show_bug.cgi?id=104404 |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ * loader/FrameLoaderClient.h: |
+ (WebCore::FrameLoaderClient::didChangeName): |
+ (FrameLoaderClient): |
+ * page/DOMWindow.cpp: |
+ (WebCore::DOMWindow::setName): |
+ |
+2012-12-14 James Simonsen <simonjam@chromium.org> |
+ |
+ [Resource Timing] Properly report reused connections |
+ https://bugs.webkit.org/show_bug.cgi?id=104986 |
+ |
+ Reviewed by Tony Gentilcore. |
+ |
+ Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_connection_reuse.html |
+ |
+ * page/PerformanceResourceTiming.cpp: |
+ (WebCore::PerformanceResourceTiming::PerformanceResourceTiming): |
+ (WebCore::PerformanceResourceTiming::connectStart): |
+ (WebCore::PerformanceResourceTiming::connectEnd): |
+ * page/PerformanceResourceTiming.h: |
+ (PerformanceResourceTiming): |
+ |
+2012-12-14 Roger Fong <roger_fong@apple.com> |
+ |
+ Enable video caption controls on Windows. |
+ https://bugs.webkit.org/show_bug.cgi?id=105045. |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ Now that video tracks have been enabled on Windows, enable controls as well. |
+ |
+ * html/shadow/MediaControlElements.cpp: |
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): |
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): |
+ * html/shadow/MediaControlElements.h: |
+ * rendering/RenderThemeWin.h: |
+ |
+2012-12-14 Mark Lam <mark.lam@apple.com> |
+ |
+ Introducing the DatabaseStrategy and database servers. |
+ https://bugs.webkit.org/show_bug.cgi?id=104934. |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ The database server is currently a placeholder that does nothing. |
+ |
+ No new tests. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Modules/webdatabase/AbstractDatabaseServer.h: Added. |
+ (WebCore): |
+ (AbstractDatabaseServer): |
+ (WebCore::AbstractDatabaseServer::AbstractDatabaseServer): |
+ (WebCore::AbstractDatabaseServer::~AbstractDatabaseServer): |
+ * Modules/webdatabase/DBBackendServer.h: Added. |
+ (DBBackend): |
+ * Modules/webdatabase/DatabaseManager.cpp: |
+ (WebCore::DatabaseManager::DatabaseManager): |
+ * Modules/webdatabase/DatabaseManager.h: |
+ (WebCore): |
+ (DatabaseManager): |
+ * Target.pri: |
+ * WebCore.exp.in: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * platform/DatabaseStrategy.cpp: Added. |
+ (WebCore): |
+ (WebCore::DatabaseStrategy::getDatabaseServer): |
+ * platform/DatabaseStrategy.h: Added. |
+ (WebCore): |
+ (DatabaseStrategy): |
+ (WebCore::DatabaseStrategy::~DatabaseStrategy): |
+ * platform/PlatformStrategies.h: |
+ (WebCore): |
+ (WebCore::PlatformStrategies::databaseStrategy): |
+ (PlatformStrategies): |
+ (WebCore::PlatformStrategies::PlatformStrategies): |
+ |
+2012-12-14 Anton Vayvod <avayvod@chromium.org> |
+ |
+ Text Autosizing: Consider inline-block and inline-table elements to be autosizing clusters. |
+ https://bugs.webkit.org/show_bug.cgi?id=104702 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ A common pattern for creating adjacent columns in CSS is to set each of the columns to |
+ display:inline-block, display:inline-table or alike WebKit-specific styles. Whenever columns |
+ are used, Text Autosizing needs to assign each of the columns to different clusters (since |
+ the user can zoom in such that a column fills the width of the screen, so text within a column |
+ should have a smaller multiplier than it's wider enclosing cluster would have needed). |
+ |
+ This patch causes display:inline-block, display:inline-table and alike styles to trigger new clusters. |
+ |
+ Test: fast/text-autosizing/cluster-inline-block-or-table.html |
+ Test: fast/text-autosizing/cluster-inline-grid-flex-box.html |
+ |
+ * rendering/TextAutosizer.cpp: |
+ (WebCore::TextAutosizer::isAutosizingContainer): |
+ (WebCore::TextAutosizer::isAutosizingCluster): |
+ Consider display:inline-block, inline-table and alike elements to be autosizing containers and clusters. |
+ |
+2012-12-14 Anders Carlsson <andersca@apple.com> |
+ |
+ REGRESSION (r137607): Cannot download files, stuck in "Preparing to download" |
+ https://bugs.webkit.org/show_bug.cgi?id=105044 |
+ <rdar://problem/12879657> |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ Make ResourceHandle::cancel return early if the handle has been converted to a download. |
+ |
+ * platform/network/mac/ResourceHandleMac.mm: |
+ (WebCore::ResourceHandle::cancel): |
+ |
+2012-12-14 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137570. |
+ http://trac.webkit.org/changeset/137570 |
+ https://bugs.webkit.org/show_bug.cgi?id=105048 |
+ |
+ Stale nodes in the touchEventTarget HashCountedSet are |
+ triggering crashes. Rolling out while I find the root cause. |
+ (Requested by leviw on #webkit). |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ (WebCore::Document::didAddTouchEventHandler): |
+ (WebCore::Document::didRemoveTouchEventHandler): |
+ * dom/Document.h: |
+ (WebCore::Document::touchEventHandlerCount): |
+ (Document): |
+ * dom/Node.cpp: |
+ (WebCore::Node::didMoveToNewDocument): |
+ (WebCore::tryAddEventListener): |
+ (WebCore::tryRemoveEventListener): |
+ * history/CachedFrame.cpp: |
+ (WebCore::CachedFrameBase::restore): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::~HTMLInputElement): |
+ (WebCore::HTMLInputElement::updateType): |
+ * page/DOMWindow.cpp: |
+ (WebCore::DOMWindow::addEventListener): |
+ (WebCore::DOMWindow::removeEventListener): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::handleTouchEvent): |
+ * page/Frame.cpp: |
+ (WebCore::Frame::setDocument): |
+ * page/scrolling/ScrollingCoordinator.cpp: |
+ * page/scrolling/ScrollingCoordinator.h: |
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: |
+ (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): |
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.h: |
+ (ScrollingCoordinatorChromium): |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::touchEventHandlerCount): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-12-14 Michelangelo De Simone <michelangelo@webkit.org> |
+ |
+ [CSS Shaders] Remove code for the other mesh box types (border-box | padding-box | content-box) |
+ https://bugs.webkit.org/show_bug.cgi?id=103776 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ The MeshBoxType has been removed and the code has been refactored. The specs will be updated shortly |
+ and therefore this feature - even though it was not fully implemented yet - shall not be used anymore. |
+ |
+ In this patch we remove everything but the parsing code, which shall be addressed in a different patch |
+ (see: https://bugs.webkit.org/show_bug.cgi?id=103778). |
+ |
+ Specification to be updated: http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#ltboxgt |
+ |
+ Existing tests have been updated and new parsing legacy cases have been added. |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::CSSComputedStyleDeclaration::valueForFilter): |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseCustomFilter): |
+ * css/CSSPrimitiveValueMappings.h: |
+ * css/StyleResolver.cpp: |
+ (WebCore::StyleResolver::createCustomFilterOperation): |
+ * platform/graphics/filters/CustomFilterConstants.h: |
+ * platform/graphics/filters/CustomFilterOperation.cpp: |
+ (WebCore::CustomFilterOperation::CustomFilterOperation): |
+ (WebCore::CustomFilterOperation::blend): |
+ * platform/graphics/filters/CustomFilterOperation.h: |
+ (WebCore::CustomFilterOperation::create): |
+ (CustomFilterOperation): |
+ (WebCore::CustomFilterOperation::operator==): |
+ * platform/graphics/filters/CustomFilterRenderer.cpp: |
+ (WebCore::CustomFilterRenderer::create): |
+ (WebCore::CustomFilterRenderer::CustomFilterRenderer): |
+ * platform/graphics/filters/CustomFilterRenderer.h: |
+ (CustomFilterRenderer): |
+ * platform/graphics/filters/FECustomFilter.cpp: |
+ (WebCore::FECustomFilter::FECustomFilter): |
+ (WebCore::FECustomFilter::create): |
+ * platform/graphics/filters/FECustomFilter.h: |
+ (FECustomFilter): |
+ * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: |
+ (WebCore::ValidatedCustomFilterOperation::ValidatedCustomFilterOperation): |
+ * platform/graphics/filters/ValidatedCustomFilterOperation.h: |
+ (WebCore::ValidatedCustomFilterOperation::create): |
+ (WebCore::ValidatedCustomFilterOperation::operator==): |
+ (ValidatedCustomFilterOperation): |
+ * rendering/FilterEffectRenderer.cpp: |
+ (WebCore::createCustomFilterEffect): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::computeFilterOperations): |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore::TextureMapperGL::drawUsingCustomFilter): |
+ |
+2012-12-14 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: optional parameters of protocol commands should go after required ones |
+ https://bugs.webkit.org/show_bug.cgi?id=105019 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * inspector/Inspector.json: Moved required x and y parameters declaration before |
+ optional ones. |
+ * inspector/InspectorInputAgent.cpp: |
+ (WebCore::InspectorInputAgent::dispatchMouseEvent): |
+ * inspector/InspectorInputAgent.h: |
+ (InspectorInputAgent): |
+ |
+2012-12-14 Jessie Berlin <jberlin@apple.com> |
+ |
+ Mac build fix after r137724. |
+ |
+ * platform/graphics/MediaPlayer.h: |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyAdded): |
+ Comment out the names of the unused parameters so they don't trigger unused parameter |
+ warnings. |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyError): |
+ Ditto. |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyMessage): |
+ Ditto. |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded): |
+ Ditto. |
+ |
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): |
+ Pass an empty URL for the new defaultURL parameter in the keyMessage call. |
+ |
+2012-12-14 Alberto Garcia <agarcia@igalia.com> |
+ |
+ [GTK] When in private mode WebKitGTK+ should not save HTTP authentication credentials to the persistent storage |
+ https://bugs.webkit.org/show_bug.cgi?id=104910 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Add new parameter to GtkAuthenticationDialog to select whether we |
+ allow persistent storage of credential information or not. In the |
+ latter case, the "Remember password" check button is not shown and |
+ the credentials are always stored in the session. |
+ |
+ * platform/gtk/GtkAuthenticationDialog.cpp: |
+ (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): |
+ (WebCore::GtkAuthenticationDialog::createContentsInContainer): |
+ (WebCore::GtkAuthenticationDialog::buttonClickedCallback): |
+ * platform/gtk/GtkAuthenticationDialog.h: |
+ (GtkAuthenticationDialog): |
+ |
+2012-12-14 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Unreviewed, rolling out r129633 and r129757. |
+ http://trac.webkit.org/changeset/129633 |
+ http://trac.webkit.org/changeset/129757 |
+ https://bugs.webkit.org/show_bug.cgi?id=97659 |
+ |
+ Causes performance regression whn inspector overlay is |
+ displayed |
+ |
+ * inspector/InspectorOverlay.cpp: |
+ (WebCore::InspectorOverlay::paint): |
+ |
+2012-12-14 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: add data grid for exploring native heap graph |
+ https://bugs.webkit.org/show_bug.cgi?id=105012 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Added a view for displaying native heap graph nodes. |
+ |
+ * inspector/HeapGraphSerializer.cpp: |
+ (WebCore::HeapGraphSerializer::reportEdge): |
+ * inspector/front-end/NativeMemorySnapshotView.js: |
+ (WebInspector.NativeMemorySnapshotView): |
+ (WebInspector.NativeMemorySnapshotView.prototype._onSelectedViewChanged): |
+ (WebInspector.NativeMemorySnapshotView.prototype.get statusBarItems): |
+ (WebInspector.NativeHeapGraphNode): |
+ (WebInspector.NativeHeapGraphNode.prototype.id): |
+ (WebInspector.NativeHeapGraphNode.prototype.type): |
+ (WebInspector.NativeHeapGraphNode.prototype.size): |
+ (WebInspector.NativeHeapGraphNode.prototype.className): |
+ (WebInspector.NativeHeapGraphNode.prototype.name): |
+ (WebInspector.NativeHeapGraphNode.prototype.hasReferencedNodes): |
+ (WebInspector.NativeHeapGraphNode.prototype.referencedNodes): |
+ (WebInspector.NativeHeapGraphNode.prototype._firstEdgePoistion): |
+ (WebInspector.NativeHeapGraphNode.prototype._afterLastEdgePosition): |
+ (WebInspector.NativeHeapGraphNode.prototype._getStringField): |
+ (WebInspector.NativeHeapGraph): |
+ (WebInspector.NativeHeapGraph.prototype.rootNodes): |
+ (WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes): |
+ (WebInspector.NativeHeapGraphDataGrid): |
+ (WebInspector.NativeHeapGraphDataGridRoot): |
+ (WebInspector.NativeHeapGraphDataGridRoot.prototype._populate): |
+ (WebInspector.NativeHeapGraphDataGridNode): |
+ (WebInspector.NativeHeapGraphDataGridNode.prototype._populate): |
+ (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot): |
+ (WebInspector.NativeMemoryProfileType.prototype.buttonClicked): |
+ |
+2012-12-14 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Web Inspector: Native Memory Instrumentation: do not validate InlineFlowBox objects against tcmalloc data. |
+ https://bugs.webkit.org/show_bug.cgi?id=105001 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ This is a follow-up change for r137589. |
+ |
+ * rendering/InlineFlowBox.cpp: |
+ (WebCore::InlineFlowBox::reportMemoryUsage): |
+ (WebCore): |
+ * rendering/InlineFlowBox.h: |
+ (InlineFlowBox): |
+ |
+2012-12-14 Kentaro Hara <haraken@chromium.org> |
+ |
+ ChildNodesLazySnapshot::nextNode() can crash in Debug builds |
+ https://bugs.webkit.org/show_bug.cgi?id=104982 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ The original fix in r137702 was not enough. r137702 fixed a crash |
+ in Release builds but didn't fix a crash in Debug builds. |
+ We have to also change a return type of ChildNodesLazySnapshot::nextNode() |
+ from a raw pointer to a RefPtr. |
+ |
+ Test: fast/dom/insertedIntoDocument-no-crash.html |
+ (Confirm that this test does not crash in Debug builds.) |
+ |
+ * dom/ContainerNode.h: |
+ (WebCore::ChildNodesLazySnapshot::nextNode): |
+ * dom/ContainerNodeAlgorithms.cpp: |
+ (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument): |
+ (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument): |
+ |
+2012-12-14 John Mellor <johnme@chromium.org> |
+ |
+ Text Autosizing: Don't autosize unwrappable blocks |
+ https://bugs.webkit.org/show_bug.cgi?id=104925 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ If we autosize an unwrappable block (white-space:nowrap/pre), it'll |
+ expand sideways. This doesn't actually improve its legibility, and it |
+ can often severely break web page layouts. This patch prevents us from |
+ autosizing unwrappable blocks. A follow-up patch will address the more |
+ complex issue of unwrappable inline elements. |
+ |
+ Tests: fast/text-autosizing/unwrappable-blocks.html |
+ fast/text-autosizing/unwrappable-inlines.html |
+ |
+ * rendering/TextAutosizer.cpp: |
+ (WebCore::TextAutosizer::processContainer): |
+ Use containerShouldbeAutosized instead of contentHeightIsConstrained. |
+ (WebCore::contentHeightIsConstrained): |
+ Unchanged, just moved lower down the file. |
+ (WebCore::TextAutosizer::containerShouldbeAutosized): |
+ Checks that the block is wrappable, and also that contentHeightIsConstrained is false. |
+ (WebCore::TextAutosizer::measureDescendantTextWidth): |
+ Use containerShouldbeAutosized instead of contentHeightIsConstrained. |
+ * rendering/TextAutosizer.h: |
+ Declared containerShouldbeAutosized. |
+ |
+2012-12-14 Vsevolod Vlasov <vsevik@chromium.org> |
+ |
+ Web Inspector: Duplicate scripts appear in workspace when script was referenced by url with a fragment part. |
+ https://bugs.webkit.org/show_bug.cgi?id=105004 |
+ |
+ Reviewed by Alexander Pavlov. |
+ |
+ * inspector/front-end/NetworkUISourceCodeProvider.js: |
+ (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource): |
+ |
+2012-12-14 Kunihiko Sakamoto <ksakamoto@chromium.org> |
+ |
+ Hours field of date/time input UI should respect step attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=104993 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch makes step-up/-down UI of the hours field respect step attribute when possible. |
+ |
+ Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html |
+ |
+ * html/shadow/DateTimeEditElement.cpp: |
+ (WebCore::DateTimeEditBuilder::visitField): Pass step parameters to the hour field constructor. |
+ * html/shadow/DateTimeFieldElements.cpp: |
+ (WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement): Add Parameters argument. |
+ (WebCore::DateTimeHourFieldElement::create): Ditto. |
+ * html/shadow/DateTimeFieldElements.h: |
+ (DateTimeHourFieldElement): Ditto. |
+ |
+2012-12-14 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Unreviewed. Windows compilation fix after r137728. |
+ |
+ * inspector/InspectorAllInOne.cpp: |
+ |
+2012-12-14 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ [Shadow DOM] ShadowRoot.getElementById() should work outside document. |
+ https://bugs.webkit.org/show_bug.cgi?id=87815 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ ShadowRoot.getElementById() didn't work if ShadowRoot is outside document. We need to update id when an element |
+ is in ShadowTree event if it is not in document. |
+ |
+ For performance reason, we introduce IsInShadowTree flag, which enables us to check isInTreeScope() fast. |
+ This is maintained in Element::insertedInto and removedFrom. Here, we're anxious about performance regression, |
+ however our benchmark result shows this doesn't regress the performance. |
+ |
+ I've measured Dromaeo/dom-modify.html and Parser/html5-full-render.html 2 times. |
+ |
+ Dromaeo/dom-modify.html |
+ 35.21, 35.27 [runs/s] ---> 35.76, 35.56 [runs/s] |
+ Parser/html5-full-render.html |
+ 4328.51, 4254.94 [ms] ---> 4277.14, 4222.43 [ms] |
+ |
+ Test: fast/dom/shadow/getelementbyid-in-orphan.html |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::insertedInto): |
+ * dom/Element.h: |
+ (WebCore::Element::updateId): |
+ * dom/Node.cpp: |
+ (WebCore::Node::insertedInto): If the parent node is in shadow tree, this node should be also in the same shadow tree. |
+ Since this node is inserted, parentOrHostNode() will not be null. |
+ (WebCore::Node::removedFrom): When node is removed from ShadowTree, its treeScope() should not be ShadowRoot. |
+ * dom/Node.h: |
+ (Node): |
+ (WebCore::Node::isInShadowTree): |
+ (WebCore::Node::isInTreeScope): |
+ |
+2012-12-14 Antoine Quint <graouts@apple.com> |
+ |
+ LayerTreeAgent should only be enabled upon restore if it was previously in the enabled state |
+ https://bugs.webkit.org/show_bug.cgi?id=104887 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Check that we were previously in the enabled state before re-enabling the agent upon restore, |
+ as suggested by Pavel Feldman in follow-up discussion to https://bugs.webkit.org/show_bug.cgi?id=103513. |
+ |
+ * inspector/InspectorLayerTreeAgent.cpp: |
+ (WebCore::InspectorLayerTreeAgent::restore): |
+ |
+2012-12-14 Eugene Klyuchnikov <eustas@chromium.org> |
+ |
+ Web Inspector: CPU Profile: Search in "heavy" mode is very slow. |
+ https://bugs.webkit.org/show_bug.cgi?id=103682 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ In "heavy" mode the searchable tree is much larger than original tree. |
+ That is why search can cause watchdog timer fired. |
+ |
+ Simple optimization makes search much faster. |
+ |
+ * inspector/front-end/CPUProfileView.js: |
+ (WebInspector.CPUProfileView.prototype.searchCanceled): |
+ Fix cleanup. |
+ (WebInspector.CPUProfileView.prototype.matchesQuery): |
+ Precompute regexp. |
+ (WebInspector.CPUProfileView.prototype.performSearch): |
+ Use precomputed regexp instead of generating one on each iteration. |
+ |
+2012-12-13 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: collect native heap graph and report it to the front-end |
+ https://bugs.webkit.org/show_bug.cgi?id=104888 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Added an option to serialize native heap graph in a format similar to that |
+ of JS heap profiler and send it in reply to getProcessMemoryDistribution |
+ command. This is a first attempt and we likely change the report mechanism to |
+ use a stream instread of sending whole graph at once. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * inspector/HeapGraphSerializer.cpp: Added. |
+ (WebCore): |
+ (HeapGraphNode): |
+ (WebCore::HeapGraphNode::HeapGraphNode): |
+ (HeapGraphEdge): |
+ (WebCore::HeapGraphEdge::HeapGraphEdge): |
+ (WebCore::HeapGraphSerializer::HeapGraphSerializer): |
+ (WebCore::HeapGraphSerializer::~HeapGraphSerializer): |
+ (WebCore::HeapGraphSerializer::serialize): |
+ (WebCore::HeapGraphSerializer::reportNode): |
+ (WebCore::HeapGraphSerializer::reportEdge): |
+ (WebCore::HeapGraphSerializer::reportLeaf): |
+ (WebCore::HeapGraphSerializer::reportBaseAddress): |
+ (WebCore::HeapGraphSerializer::adjutEdgeTargets): |
+ (WebCore::HeapGraphSerializer::addString): |
+ * inspector/HeapGraphSerializer.h: Copied from Source/WebCore/inspector/InspectorMemoryAgent.h. |
+ (WebCore): |
+ (HeapGraphSerializer): |
+ * inspector/Inspector.json: |
+ * inspector/InspectorMemoryAgent.cpp: |
+ (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
+ * inspector/InspectorMemoryAgent.h: |
+ (InspectorMemoryAgent): |
+ * inspector/MemoryInstrumentationImpl.cpp: |
+ (WebCore::MemoryInstrumentationClientImpl::reportNode): |
+ (WebCore): |
+ (WebCore::MemoryInstrumentationClientImpl::reportEdge): |
+ (WebCore::MemoryInstrumentationClientImpl::reportLeaf): |
+ (WebCore::MemoryInstrumentationClientImpl::reportBaseAddress): |
+ * inspector/MemoryInstrumentationImpl.h: |
+ (WebCore): |
+ (WebCore::MemoryInstrumentationClientImpl::MemoryInstrumentationClientImpl): |
+ (MemoryInstrumentationClientImpl): |
+ |
+2012-12-14 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ Handling autoscroll in EventHandler should be re-factor |
+ https://bugs.webkit.org/show_bug.cgi?id=104764 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ This patch introduces new class AutoscrollController for moving autoscroll |
+ and panscroll from EventHandler class for ease of maintenance of |
+ EventHandler and ease of adding autoscroll related features, e.g. autoscroll |
+ during drag-and-drop, autoscoll by gesture. |
+ |
+ No new tests. This patch doesn't change behavior. |
+ |
+ * CMakeLists.txt: Changed to add page/AutoscrollController.cpp |
+ * GNUmakefile.list.am: Changed to add page/AutoscrollController.{cpp,h} |
+ * Target.pri: Changed to add page/AutoscrollController.cpp |
+ * WebCore.gypi: Changed to add page/AutoscrollController.{cpp,h} |
+ * WebCore.vcproj/WebCore.vcproj: Changed to add page/AutoscrollController.{cpp,h} |
+ * WebCore.xcodeproj/project.pbxproj: Changed to add page/AutoscrollController.{cpp,h} |
+ * page/AutoscrollController.cpp: Added. |
+ (WebCore::getMainFrame): Helper function. |
+ (WebCore::AutoscrollController::AutoscrollController): Moved from EventHandler. |
+ (WebCore::AutoscrollController::autoscrollRenderer): Moved from EventHandler. |
+ (WebCore::AutoscrollController::autoscrollInProgress): Moved from EventHandler. |
+ (WebCore::AutoscrollController::startAutoscrollForSelection): Replacement of EventHandler::handleAutoscroll(). |
+ (WebCore::AutoscrollController::stopAutoscrollTimer): Moveed from EventHandler. |
+ (WebCore::AutoscrollController::updateAutoscrollRenderer): ditto |
+ (WebCore::AutoscrollController::didPanScrollStart): Added for updating pan scrolling status of main frame. |
+ (WebCore::AutoscrollController::didPanScrollStop): ditto |
+ (WebCore::AutoscrollController::handleMouseReleaseEvent): Extracted from EventHandler. |
+ (WebCore::AutoscrollController::panScrollInProgress): Replacement of EventHandler::m_panScrollInProgress. |
+ (WebCore::AutoscrollController::startPanScrolling): Moved from EventHandler::startPanScrolling() |
+ (WebCore::AutoscrollController::autoscrollTimerFired): Moved from EventHandler::autoscrollTimerFired(). |
+ (WebCore::AutoscrollController::startAutoscrollTimer): Moved from EventHandler::startAutoscrollTimer(). |
+ (WebCore::AutoscrollController::updatePanScrollState): Moved from EventHandler::updatePanScrollState(). |
+ * page/AutoscrollController.h: Added. |
+ (AutoscrollController): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::EventHandler): Changed autoscroll and panscroll related member variable initializations to m_autoscrollController initialization. |
+ (WebCore::EventHandler::handleMouseDraggedEvent): Changed to call AutoscrollController::startAutoscrollForSelection(). |
+ (WebCore::EventHandler::handleMouseReleaseEvent): Changed to remove m_autoscrollInProgress reference. |
+ (WebCore::EventHandler::didPanScrollStart): Added for updating pan scrolling status of main frame. |
+ (WebCore::EventHandler::didPanScrollStop): ditto |
+ (WebCore::EventHandler::startPanScrolling): Changed to call AutoscrollController::startPanScrolling(). |
+ (WebCore::EventHandler::autoscrollRenderer): Changed to use AutoscrollController. |
+ (WebCore::EventHandler::updateAutoscrollRenderer): ditto |
+ (WebCore::EventHandler::autoscrollInProgress): ditto |
+ (WebCore::EventHandler::panScrollInProgress): Added to replace m_panScrollInProgress. |
+ (WebCore::EventHandler::stopAutoscrollTimer): Changed to use AutoscrollController. |
+ (WebCore::EventHandler::selectCursor): Changed to use panScrollInProgress(). |
+ (WebCore::EventHandler::handleMousePressEvent): Chagned to call AutoscrollController::handleMousePressEvent(). |
+ (WebCore::EventHandler::keyEvent): Changed to use panScrollInProgress(). |
+ * page/EventHandler.h: |
+ (WebCore::EventHandler::autoscrollController): Added for using main frame's panScrollInProgress(). |
+ (WebCore::EventHandler::mouseDownWasInSubframe): Added for AutoscrollController. |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::canAutoscroll): Moved from EventHandler.cpp. |
+ (WebCore::RenderBox::findAutoscrollable): Moved from EventHandler.cpp. |
+ * rendering/RenderBox.h: |
+ (RenderBox): Added new functions canAutoscroll() and findAutoscrollable(). |
+ |
+2012-12-14 David Dorwin <ddorwin@chromium.org> |
+ |
+ EME v0.1: Report defaultURL in KeyMessage. |
+ https://bugs.webkit.org/show_bug.cgi?id=104284 |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ Passes defaultURL down from the media engine to HTMLMediaElement. |
+ Only Valid URLs will be passed. |
+ |
+ No test because Clear Key does not provide a defaultURL (in v0.1). |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::mediaPlayerKeyMessage): |
+ * html/HTMLMediaElement.h: |
+ (HTMLMediaElement): |
+ * platform/graphics/MediaPlayer.cpp: |
+ (WebCore::MediaPlayer::keyMessage): |
+ * platform/graphics/MediaPlayer.h: |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyAdded): |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyError): |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyMessage): |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded): |
+ (MediaPlayer): |
+ |
+2012-12-13 Hajime Morrita <morrita@google.com> |
+ |
+ ContentDistributor and ShadowRootContentDistributionData should use RefPtr to hold elements. |
+ https://bugs.webkit.org/show_bug.cgi?id=104918 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ This change turns some raw pointers to RefPtrs. |
+ |
+ No new tests. Hard to write reliable fast tests since the error |
+ reproduction needs GC to run in certain timing. Although original |
+ report has a repdocution, it takes a few seconds before crash and |
+ isn't suited for a layout test. |
+ |
+ * dom/ShadowRoot.cpp: |
+ (WebCore::ShadowRoot::insertionPointList): |
+ * dom/ShadowRoot.h: |
+ (ShadowRoot): |
+ * html/shadow/ContentDistributor.cpp: |
+ (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList): |
+ (WebCore::ContentDistributor::findInsertionPointFor): |
+ (WebCore::ContentDistributor::distribute): |
+ (WebCore::ContentDistributor::invalidate): |
+ * html/shadow/ContentDistributor.h: |
+ (ShadowRootContentDistributionData): |
+ (ContentDistributor): |
+ |
+2012-12-13 Hajime Morrita <morrita@google.com> |
+ |
+ NodeRenderingContext is slow due to ComposedShadowTreeWalker |
+ https://bugs.webkit.org/show_bug.cgi?id=104332 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ NodeRenderingContext has some slowness due to the complexity of |
+ ComposedShadowTreeWalker that NRC relies on. This change |
+ creates some fast paths to address such slowness. |
+ |
+ = NodeRenderingTraversal module: |
+ |
+ This change introduces NodeRenderingTraversal namespace, a sister |
+ of NodeTraversal. NRT consists of a set of tree traversal |
+ functions that is responsible for traversal in NRC. Before this |
+ change, NRC directly used CSTW. This NRT module hides and narrows |
+ the usage of CSTW. |
+ |
+ - Traversals provided by NRT have fast paths. In many case, such traversals |
+ don't need to use CSTW and just goes to neighboring nodes in a plain DOM way. |
+ - It also handles NRC specific traversal concerns like pseudo elements. |
+ CSTW::pseudoAwareNextSibling() and CSTW::pseudoAwarePreviousSibling() are |
+ merged into this module. |
+ - CSTW::ParentTraversalDetails is moved and renamed to |
+ NRT::ParentDetails with small modification. This is a pure |
+ refactoring: As the name implies, This class is used only by NRC |
+ and used during a traversal there. |
+ |
+ NodeRenderingTraversal is an isolation layer between generic DOM and CSTW. This hides CSTW |
+ behind the wall and will help further reduction of its usage. |
+ |
+ = Node::NeedsShadowTreeWalkerFlag flag: |
+ |
+ NRT fast path is enabled by newly introduced NeedsShadowTreeWalker |
+ node flag. Each DOM node is now markd as NeedsShadowTreeWalker if |
+ it requires non-trivial traversal in NRT which uses CSTW. This |
+ means that each node can go fast path unless it is marked with this flag. |
+ |
+ A node is marked as it NeedsShadowTreeWalker if: |
+ |
+ - The node is a shadow boundary like InsertionPoint or ShadowRoot, |
+ - The node has pseudo elements like generated content or |
+ - The node is a pseudo element. |
+ |
+ This criteria is defined in Node::needsShadowTreeWalkerSlow(). The node actually needs |
+ the walker if the node or its parent is marked with this flag. |
+ |
+ The original idea of this change was demonstrated by Antti Koivisto on bug 103208 and bug 104507. |
+ This chagne has 2-3% speedup on Dromaeo/dom-modify/innerHTML on Apple Mac. |
+ |
+ No new tests. Covered by existing tests. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * dom/ComposedShadowTreeWalker.cpp: |
+ * dom/ComposedShadowTreeWalker.h: |
+ (ComposedShadowTreeWalker): Move some part to NodeRenderingTraversal |
+ * dom/ContainerNode.h: |
+ (WebCore::Node::needsShadowTreeWalker): Added. This is located here since it refers ContainerNode definition. |
+ (WebCore): |
+ * dom/DOMAllInOne.cpp: |
+ * dom/Element.cpp: |
+ (WebCore::Element::updatePseudoElement): Refactored. |
+ (WebCore::Element::hasPseudoElements): Ditto. |
+ (WebCore::Element::pseudoElement): Ditto. |
+ (WebCore::Element::setPseudoElement): Refactored and added a flag update logic. |
+ (WebCore): |
+ * dom/Element.h: |
+ (Element): |
+ (WebCore::Element::beforePseudoElement): Refactored. |
+ (WebCore::Element::afterPseudoElement): Refactored. |
+ * dom/ElementRareData.h: |
+ (WebCore::ElementRareData::hasPseudoElements): Factored out. |
+ * dom/ElementShadow.cpp: |
+ (WebCore::ElementShadow::addShadowRoot): Added a flag update logic. |
+ * dom/Node.cpp: |
+ (WebCore::Node::needsShadowTreeWalkerSlow): Added. |
+ * dom/Node.h: |
+ (WebCore::Node::isInsertionPointNode): Added. |
+ (Node): |
+ (WebCore::Node::isInsertionPoint): Changed to use NeedsShadowTreeWalkerFlag. |
+ (WebCore::Node::setNeedsShadowTreeWalker): |
+ (WebCore::Node::resetNeedsShadowTreeWalker): |
+ * dom/NodeRenderingContext.cpp: Adopted NodeRenderingTraversal. |
+ (WebCore::NodeRenderingContext::NodeRenderingContext): |
+ (WebCore::NodeRenderingContext::nextRenderer): |
+ (WebCore::NodeRenderingContext::previousRenderer): |
+ (WebCore::NodeRenderingContext::parentRenderer): |
+ (WebCore::NodeRenderingContext::shouldCreateRenderer): |
+ * dom/NodeRenderingContext.h: Ditto. |
+ (NodeRenderingContext): |
+ (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle): |
+ * dom/NodeRenderingTraversal.cpp: Added. |
+ (WebCore): |
+ (NodeRenderingTraversal): |
+ (WebCore::NodeRenderingTraversal::ParentDetails::didTraverseInsertionPoint): Moved from ComposedShadowTreeWalker |
+ (WebCore::NodeRenderingTraversal::ParentDetails::didTraverseShadowRoot): Ditto. |
+ (WebCore::NodeRenderingTraversal::parentSlow): Ditto. |
+ (WebCore::NodeRenderingTraversal::nextSiblingSlow): Ditto. The original was pseudoAwareNextSibling. |
+ (WebCore::NodeRenderingTraversal::previousSiblingSlow): Ditto. The original was pseudoAwarePreviousSibling. |
+ * dom/NodeRenderingTraversal.h: Added. |
+ (WebCore): |
+ (NodeRenderingTraversal): |
+ (ParentDetails): Moved from ComposedShadowTreeWalker. |
+ (WebCore::NodeRenderingTraversal::ParentDetails::ParentDetails): |
+ (WebCore::NodeRenderingTraversal::ParentDetails::insertionPoint): |
+ (WebCore::NodeRenderingTraversal::ParentDetails::resetStyleInheritance): |
+ (WebCore::NodeRenderingTraversal::ParentDetails::outOfComposition): |
+ (WebCore::NodeRenderingTraversal::ParentDetails::childWasOutOfComposition): |
+ (WebCore::NodeRenderingTraversal::ParentDetails::operator==): |
+ (WebCore::NodeRenderingTraversal::parent): |
+ (WebCore::NodeRenderingTraversal::nextSibling): |
+ (WebCore::NodeRenderingTraversal::previousSibling): |
+ * dom/PseudoElement.cpp: |
+ (WebCore::PseudoElement::PseudoElement): Added an assertion. |
+ * dom/Text.cpp: |
+ * html/HTMLOptGroupElement.cpp: Added a #include which revealed by a chagne on NodeRenderingContext.h |
+ * html/HTMLOptionElement.cpp: Ditto. |
+ * html/HTMLProgressElement.cpp: Dito. |
+ * html/shadow/InsertionPoint.h: Added an override of isInsertionPointNode(). |
+ |
+2012-12-13 Kent Tamura <tkent@chromium.org> |
+ |
+ Refactoring: Fix indentation of ChromeClient.h |
+ https://bugs.webkit.org/show_bug.cgi?id=104989 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ The contents of an outermost namespace block should not be indented. |
+ http://www.webkit.org/coding/coding-style.html#indentation-namespace |
+ |
+ No behavior change. |
+ |
+ * page/ChromeClient.h: |
+ |
+2012-12-13 Kunihiko Sakamoto <ksakamoto@chromium.org> |
+ |
+ Seconds/Minutes field of date/time input UI should respect step attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=104985 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch makes step-up/-down UI of the seconds and minutes fields respect |
+ step attribute when possible. |
+ |
+ Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html |
+ |
+ * html/shadow/DateTimeEditElement.cpp: |
+ (DateTimeEditBuilder): |
+ (WebCore::DateTimeEditBuilder::visitField): Compute step parameters for seconds and minutes fields, and pass it to the field element constructors. |
+ (WebCore::DateTimeEditBuilder::createNumericFieldParameters): Added. |
+ * html/shadow/DateTimeFieldElements.cpp: |
+ (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): Use Parameters instead of step and stepBase. |
+ (WebCore::DateTimeMillisecondFieldElement::create): Ditto. |
+ (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement): Add Parameters argument. |
+ (WebCore::DateTimeMinuteFieldElement::create): Ditto. |
+ (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement): Ditto. |
+ (WebCore::DateTimeSecondFieldElement::create): Ditto. |
+ * html/shadow/DateTimeFieldElements.h: |
+ (DateTimeMillisecondFieldElement): Use Parameters instead of step and stepBase. |
+ (DateTimeMinuteFieldElement): Add Parameters argument. |
+ (DateTimeSecondFieldElement): Ditto. |
+ * html/shadow/DateTimeNumericFieldElement.cpp: |
+ (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Use Parameters instead of step and stepBase. |
+ * html/shadow/DateTimeNumericFieldElement.h: |
+ (DateTimeNumericFieldElement): |
+ (WebCore::DateTimeNumericFieldElement::Parameters::Parameters): |
+ (Parameters): Added. |
+ |
+2012-12-13 Filip Pizlo <fpizlo@apple.com> |
+ |
+ Attempt to rationalize and simplify WTF::binarySearch |
+ https://bugs.webkit.org/show_bug.cgi?id=104890 |
+ |
+ Reviewed by Maciej Stachowiak. |
+ |
+ Switch to using the new binarySearch() API. No change in behavior, so no new tests. |
+ |
+ * svg/animation/SVGSMILElement.cpp: |
+ (WebCore::SVGSMILElement::findInstanceTime): |
+ |
+2012-12-13 Takashi Sakamoto <tasak@google.com> |
+ |
+ [Shadow DOM]: scoped styles are not applied in the cascade order. |
+ https://bugs.webkit.org/show_bug.cgi?id=103239 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ If the scoping elements of two declarations have an ancestor/ |
+ descendant relationship, the declaration whose scoping element is |
+ the descendant should win. |
+ c.f. http://dev.w3.org/csswg/css3-cascade/#cascade |
+ |
+ Test: fast/css/style-scoped/style-scoped-nested.html |
+ fast/css/style-scoped/style-scoped-with-important-rule.html |
+ |
+ * css/RuleSet.cpp: |
+ (WebCore::RuleSet::addRule): |
+ Removed specificity for @host @-rules. Now @host @-rules use the |
+ cascading order instead. |
+ * css/RuleSet.h: |
+ Removed increaseSpecificity. The method is used by only @host @-rules. |
+ * css/StyleResolver.cpp: |
+ (WebCore::StyleResolver::matchScopedAuthorRules): |
+ (WebCore::StyleResolver::matchHostRules): |
+ (WebCore::StyleResolver::matchAuthorRules): |
+ Modified to invoke sortAndTransferMatchedRules per scoping element. |
+ The order of "matchXXXRules" must be the same as the cascading order. |
+ So matchHostRules was invoked after collecting all scoped author rules. |
+ * css/StyleScopeResolver.cpp: |
+ (WebCore::StyleScopeResolver::addHostRule): |
+ Removed RuleIsHostRule. We don't need the flag. |
+ * html/HTMLStyleElement.cpp: |
+ (WebCore::HTMLStyleElement::registerWithScopingNode): |
+ Needs to pass the last test case of style-scoped-nested.html. |
+ When appending some style element to a shadow root, we should recalc |
+ styles of all elements in the shadow dom tree. And if the style |
+ element has @host @-rules, we have to update the host's style. |
+ |
+2012-12-13 Filip Pizlo <fpizlo@apple.com> |
+ |
+ MediaPlayerPrivateAVFoundation::m_inbandTrackConfigurationPending is unused except when HAVE(AVFOUNDATION_TEXT_TRACK_SUPPORT) |
+ https://bugs.webkit.org/show_bug.cgi?id=104987 |
+ |
+ Rubber stamped by Michael Saboff. |
+ |
+ No change in behavior so no new tests. |
+ |
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
+ (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): |
+ * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: |
+ (MediaPlayerPrivateAVFoundation): |
+ |
+2012-12-13 Kentaro Hara <haraken@chromium.org> |
+ |
+ Unreviewed. Rebaselined run-bindings-tests results. |
+ |
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: |
+ (JSTestCustomNamedGetter): |
+ * bindings/scripts/test/JS/JSTestEventTarget.h: |
+ (JSTestEventTarget): |
+ |
+2012-12-13 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ Unreviewed, rolling out r137691. |
+ http://trac.webkit.org/changeset/137691 |
+ https://bugs.webkit.org/show_bug.cgi?id=104764 |
+ |
+ panscroll test on AppleWin failed |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * page/AutoscrollController.cpp: Removed. |
+ * page/AutoscrollController.h: Removed. |
+ * page/EventHandler.cpp: |
+ (WebCore): |
+ (WebCore::EventHandler::EventHandler): |
+ (WebCore::canAutoscroll): |
+ (WebCore::EventHandler::handleMouseDraggedEvent): |
+ (WebCore::EventHandler::handleMouseReleaseEvent): |
+ (WebCore::EventHandler::handleAutoscroll): |
+ (WebCore::EventHandler::autoscrollTimerFired): |
+ (WebCore::EventHandler::startPanScrolling): |
+ (WebCore::EventHandler::updatePanScrollState): |
+ (WebCore::EventHandler::autoscrollRenderer): |
+ (WebCore::EventHandler::updateAutoscrollRenderer): |
+ (WebCore::EventHandler::setAutoscrollRenderer): |
+ (WebCore::EventHandler::startAutoscrollTimer): |
+ (WebCore::EventHandler::stopAutoscrollTimer): |
+ (WebCore::EventHandler::selectCursor): |
+ (WebCore::EventHandler::handleMousePressEvent): |
+ (WebCore::EventHandler::keyEvent): |
+ * page/EventHandler.h: |
+ (EventHandler): |
+ (WebCore::EventHandler::autoscrollInProgress): |
+ * rendering/RenderBox.cpp: |
+ * rendering/RenderBox.h: |
+ (RenderBox): |
+ |
+2012-12-13 Kentaro Hara <haraken@chromium.org> |
+ |
+ ChildNodesLazySnapshot::nextNode() can crash |
+ https://bugs.webkit.org/show_bug.cgi?id=104982 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ ChildNodesLazySnapshot::nextNode() can crash for |
+ fast/dom/insertedIntoDocument-no-crash.html. |
+ The root cause is that ChildNodesLazySnapshot::m_currentNode |
+ was not a RefPtr. This patch changes it to a RefPtr. |
+ |
+ Test: fast/dom/insertedIntoDocument-no-crash.html |
+ |
+ * dom/ContainerNode.h: |
+ (WebCore::ChildNodesLazySnapshot::nextNode): |
+ (WebCore::ChildNodesLazySnapshot::takeSnapshot): |
+ (ChildNodesLazySnapshot): |
+ |
+2012-12-13 Philip Rogers <pdr@google.com> |
+ |
+ Clear m_timeContainer on SVGSMILElement removal. |
+ https://bugs.webkit.org/show_bug.cgi?id=104972 |
+ |
+ Reviewed by Abhishek Arya. |
+ |
+ This patch fixes a regression introduced by r137509 where we did not clear |
+ m_timeContainer in SVGSMILElement::removedFrom. |
+ |
+ Test: svg/custom/removed-from-animation-crash.html |
+ |
+ * svg/animation/SVGSMILElement.cpp: |
+ (WebCore::SVGSMILElement::removedFrom): |
+ |
+2012-12-13 Filip Pizlo <fpizlo@apple.com> |
+ |
+ Named lookups on HTML documents produce inconsistent results in JavaScriptCore bindings |
+ https://bugs.webkit.org/show_bug.cgi?id=104623 |
+ |
+ Reviewed by Geoffrey Garen. |
+ |
+ All DOM objects that have named getters or directly override getOwnPropertySlot are now marked as |
+ HasImpureGetOwnPropertySlot. |
+ |
+ Tests: fast/js/prototype-chain-caching-with-impure-get-own-property-slot-traps |
+ fast/js/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps |
+ |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): |
+ |
+2012-12-13 Xianzhu Wang <wangxianzhu@chromium.org> |
+ |
+ Out-of-view check of fixed position element in frame is incorrect when page is scaled |
+ https://bugs.webkit.org/show_bug.cgi?id=104943 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Use frameScaleFactor instead of pageScaleFactor to scale the layer bounds. |
+ |
+ Tests: compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll.html |
+ compositing/layer-creation/fixed-position-out-of-view-scaled-iframe.html |
+ |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition): |
+ |
+2012-12-13 Bear Travis <betravis@adobe.com> |
+ |
+ Positioned replaced elements should resolve vertical margins against their containing |
+ block's logical width |
+ https://bugs.webkit.org/show_bug.cgi?id=103579 |
+ |
+ Reviewed by Emil A Eklund. |
+ |
+ According to the CSS box model & writing modes specifications, percentage margin |
+ & padding values, including top & bottom, should be resolved based on the |
+ containing block's logical width (logical with respect to the containing block's |
+ writing mode). |
+ http://www.w3.org/TR/CSS2/box.html#margin-properties |
+ http://dev.w3.org/csswg/css3-writing-modes/#dimension-mapping |
+ |
+ Previously, a positioned replaced element resolved margin before/after relative to |
+ its inline direction (containerLogicalHeight), and margin start/end relative to |
+ its block direction (containerLogicalWidth). This patch measures the container's |
+ logical width in its own inline direction (containerRelativeLogicalWidth) to |
+ resolve all margin percentage values. |
+ |
+ Test: fast/writing-mode/percentage-margins-absolute-replaced.html |
+ |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::computePositionedLogicalWidthReplaced): Calculate the logical |
+ width of the container, and use it to calculate margins. |
+ (WebCore::RenderBox::computePositionedLogicalHeightReplaced): Ditto. |
+ |
+2012-12-13 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ Handling autoscroll in EventHandler should be re-factor |
+ https://bugs.webkit.org/show_bug.cgi?id=104764 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ This patch introduces new class AutoscrollController for moving autoscroll |
+ and panscroll from EventHandler class for ease of maintenance of |
+ EventHandler and ease of adding autoscroll related features, e.g. autoscroll |
+ during drag-and-drop, autoscoll by gesture. |
+ |
+ No new tests. This patch doesn't change behavior. |
+ |
+ * CMakeLists.txt: Changed to add page/AutoscrollController.cpp |
+ * GNUmakefile.list.am: Changed to add page/AutoscrollController.{cpp,h} |
+ * Target.pri: Changed to add page/AutoscrollController.cpp |
+ * WebCore.gypi: Changed to add page/AutoscrollController.{cpp,h} |
+ * WebCore.vcproj/WebCore.vcproj: Changed to add page/AutoscrollController.{cpp,h} |
+ * WebCore.xcodeproj/project.pbxproj: Changed to add page/AutoscrollController.{cpp,h} |
+ * page/AutoscrollController.cpp: Added. |
+ (WebCore::getMainFrame): Helper function. |
+ (WebCore::AutoscrollController::AutoscrollController): Moved from EventHandler. |
+ (WebCore::AutoscrollController::autoscrollRenderer): Moved from EventHandler. |
+ (WebCore::AutoscrollController::autoscrollInProgress): Moved from EventHandler. |
+ (WebCore::AutoscrollController::startAutoscrollForSelection): Replacement of EventHandler::handleAutoscroll(). |
+ (WebCore::AutoscrollController::stopAutoscrollTimer): Moveed from EventHandler. |
+ (WebCore::AutoscrollController::updateAutoscrollRenderer): ditto |
+ (WebCore::AutoscrollController::didPanScrollStart): Added for updating pan scrolling status of main frame. |
+ (WebCore::AutoscrollController::didPanScrollStop): ditto |
+ (WebCore::AutoscrollController::handleMouseReleaseEvent): Extracted from EventHandler. |
+ (WebCore::AutoscrollController::panScrollInProgress): Replacement of EventHandler::m_panScrollInProgress. |
+ (WebCore::AutoscrollController::startPanScrolling): Moved from EventHandler::startPanScrolling() |
+ (WebCore::AutoscrollController::autoscrollTimerFired): Moved from EventHandler::autoscrollTimerFired(). |
+ (WebCore::AutoscrollController::startAutoscrollTimer): Moved from EventHandler::startAutoscrollTimer(). |
+ (WebCore::AutoscrollController::updatePanScrollState): Moved from EventHandler::updatePanScrollState(). |
+ * page/AutoscrollController.h: Added. |
+ (AutoscrollController): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::EventHandler): Changed autoscroll and panscroll related member variable initializations to m_autoscrollController initialization. |
+ (WebCore::EventHandler::handleMouseDraggedEvent): Changed to call AutoscrollController::startAutoscrollForSelection(). |
+ (WebCore::EventHandler::handleMouseReleaseEvent): Changed to remove m_autoscrollInProgress reference. |
+ (WebCore::EventHandler::didPanScrollStart): Added for updating pan scrolling status of main frame. |
+ (WebCore::EventHandler::didPanScrollStop): ditto |
+ (WebCore::EventHandler::startPanScrolling): Changed to call AutoscrollController::startPanScrolling(). |
+ (WebCore::EventHandler::autoscrollRenderer): Changed to use AutoscrollController. |
+ (WebCore::EventHandler::updateAutoscrollRenderer): ditto |
+ (WebCore::EventHandler::autoscrollInProgress): ditto |
+ (WebCore::EventHandler::panScrollInProgress): Added to replace m_panScrollInProgress. |
+ (WebCore::EventHandler::stopAutoscrollTimer): Changed to use AutoscrollController. |
+ (WebCore::EventHandler::selectCursor): Changed to use panScrollInProgress(). |
+ (WebCore::EventHandler::handleMousePressEvent): Chagned to call AutoscrollController::handleMousePressEvent(). |
+ (WebCore::EventHandler::keyEvent): Changed to use panScrollInProgress(). |
+ * page/EventHandler.h: |
+ (WebCore::EventHandler::autoscrollController): Added for using main frame's panScrollInProgress(). |
+ (WebCore::EventHandler::mouseDownWasInSubframe): Added for AutoscrollController. |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::canAutoscroll): Moved from EventHandler.cpp. |
+ (WebCore::RenderBox::findAutoscrollable): Moved from EventHandler.cpp. |
+ * rendering/RenderBox.h: |
+ (RenderBox): Added new functions canAutoscroll() and findAutoscrollable(). |
+ |
+2012-12-13 Beth Dakin <bdakin@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=102599 |
+ ASSERT loading Acid3 test in run-safari --debug (r135050) |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ New flag IncludeCompositedDescendants will always calculate the layer bounds for |
+ descendants, even when the are composited. |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::calculateLayerBounds): |
+ * rendering/RenderLayer.h: |
+ |
+ calculateCompositedBounds() should not include this new flag, so instead of |
+ calling that, call calculateLayerBounds() directly with the |
+ IncludeCompositedDescendants flag. This will get us the information we need |
+ upfront and avoid the toggling later on. |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition): |
+ |
+2012-12-13 Tien-Ren Chen <trchen@chromium.org> |
+ |
+ Don't consider container nodes of other disambiguated nodes |
+ https://bugs.webkit.org/show_bug.cgi?id=104619 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ It is not uncommon to have a clickable <div> that contains other clickable objects. |
+ This heuristic avoids excessive disambiguation in that case. |
+ |
+ New unit test: WebFrameTest.DisambiguationPopupNoContainer |
+ |
+ * page/TouchDisambiguation.cpp: |
+ (WebCore::findGoodTouchTargets): |
+ |
+2012-12-13 Adrienne Walker <enne@chromium.org> |
+ |
+ Unreviewed, rolling out r137645, r137646, and r137667. |
+ http://trac.webkit.org/changeset/137645 |
+ http://trac.webkit.org/changeset/137646 |
+ http://trac.webkit.org/changeset/137667 |
+ https://bugs.webkit.org/show_bug.cgi?id=104911 |
+ |
+ Breaks some overflow layout tests |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::RenderLayer): |
+ (WebCore::RenderLayer::updateDescendantDependentFlags): |
+ (WebCore::RenderLayer::addChild): |
+ (WebCore::RenderLayer::removeChild): |
+ (WebCore::RenderLayer::usesCompositedScrolling): |
+ (WebCore::RenderLayer::scrollTo): |
+ (WebCore::RenderLayer::dirtyZOrderLists): |
+ (WebCore::RenderLayer::dirtyNormalFlowList): |
+ (WebCore::RenderLayer::updateLayerListsIfNeeded): |
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly): |
+ (WebCore::RenderLayer::shouldBeSelfPaintingLayer): |
+ (WebCore::RenderLayer::styleChanged): |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
+ * rendering/RenderLayerBacking.h: |
+ (RenderLayerBacking): |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
+ (WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling): |
+ * rendering/RenderLayerCompositor.h: |
+ (RenderLayerCompositor): |
+ * testing/InternalSettings.cpp: |
+ * testing/InternalSettings.h: |
+ (InternalSettings): |
+ * testing/InternalSettings.idl: |
+ |
+2012-12-13 Andreas Kling <akling@apple.com> |
+ |
+ Event dispatch: Avoid heap allocations in ensureEventAncestors() typical case. |
+ <http://webkit.org/b/104938> |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ Give the EventTarget and EventContext vectors an inline capacity of 32 (no science here, just a |
+ non-zero number.) As these vectors are created on the stack already, this is merely using a bit |
+ more stack space to avoid malloc()ing all the gosh-darn time. |
+ |
+ Looks like ~6% improvement on Dromaeo/jslib-event-prototype. |
+ |
+ * dom/EventDispatcher.cpp: |
+ (WebCore::EventRelatedTargetAdjuster::adjust): |
+ (WebCore::EventRelatedTargetAdjuster::findRelatedTarget): |
+ (WebCore::EventDispatcher::ensureEventAncestors): |
+ * dom/EventDispatcher.h: |
+ (EventRelatedTargetAdjuster): |
+ (EventDispatcher): |
+ |
+2012-12-13 James Simonsen <simonjam@chromium.org> |
+ |
+ [Resource Timing] Don't report resources with data: urls |
+ https://bugs.webkit.org/show_bug.cgi?id=104868 |
+ |
+ Reviewed by Tony Gentilcore. |
+ |
+ Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url.html |
+ |
+ * loader/cache/CachedResourceLoader.cpp: |
+ (WebCore::CachedResourceLoader::loadDone): |
+ |
+2012-12-13 Ian Vollick <vollick@chromium.org> |
+ |
+ Add a missing nullity check in RenderObject::containingBlock |
+ https://bugs.webkit.org/show_bug.cgi?id=104961 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Adds a missing nullity check in an assert. |
+ |
+ No new tests, no change in functionality. |
+ |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::containingBlock): |
+ |
+2012-12-13 Tab Atkins <tabatkins@google.com> |
+ |
+ Switch the gradient drawing code to use bearing angles |
+ https://bugs.webkit.org/show_bug.cgi?id=104616 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ Switch the gradient math from polar-coordinate angles to bearing angles. |
+ To make this possible without behavior changes, |
+ switch the m_deprecatedType boolean to an m_gradientType enum, |
+ and fix all usages accordingly. |
+ |
+ No new tests, as this is a refactoring and should have no behavior changes. Existing tests suffice. |
+ |
+ * css/CSSGradientValue.cpp: |
+ (WebCore::endPointsFromAngle): |
+ This is the only mechanical change. The rest are just fixing the plumbing around the boolean->enum change. |
+ |
+ * css/CSSGradientValue.cpp: |
+ (WebCore::CSSGradientValue::sortStopsIfNeeded): |
+ (WebCore::CSSGradientValue::addStops): |
+ (WebCore::CSSLinearGradientValue::customCssText): |
+ (WebCore::CSSLinearGradientValue::createGradient): |
+ (WebCore::CSSRadialGradientValue::customCssText): |
+ * css/CSSGradientValue.h: |
+ (WebCore::CSSGradientValue::gradientType): |
+ (WebCore::CSSGradientValue::CSSGradientValue): |
+ (WebCore::CSSLinearGradientValue::create): |
+ (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): |
+ (WebCore::CSSRadialGradientValue::create): |
+ (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseDeprecatedGradient): |
+ (WebCore::CSSParser::parseDeprecatedLinearGradient): |
+ (WebCore::CSSParser::parseDeprecatedRadialGradient): |
+ |
+2012-12-13 Ian Vollick <vollick@chromium.org> |
+ |
+ [chromium] Automatically use composited scrolling |
+ https://bugs.webkit.org/show_bug.cgi?id=94743 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ We currently use the composited scrolling facilities provided by |
+ wkb.ug/91117 if the overflow scroll block element is styled with |
+ -webkit-overflow-scrolling: touch. Ideally, we could automatically |
+ opt into composited scrolling if it is safe to do so. This can affect |
+ antialiasing, so it is important that automatically opting in is only |
+ enabled via a setting. |
+ |
+ The way I determine if it is safe is by checking that z-ordering will |
+ not be affected if the overflow scrollable element were promoted to a |
+ stacking context (details below), and that clipping our scrolling |
+ descendants will not affect rendering. |
+ |
+ To check the first condition (that z-ordering will not be affected). |
+ I ensure that the candidate element and all its descendants appear as a |
+ continuous block in the candidate's stacking context. That is, if no |
+ other elements are 'between' any of the candidates descendants when we |
+ sort in paint order, then we're safe. This is overly conservative, |
+ however. We could, in future, only consider stacking problems between |
+ elements that actually overlap. |
+ |
+ To ensure that clipping will not cause a rendering change, I ensure |
+ that the layer has no out of flow positioned descendant whose |
+ containing block is not also a descendant of ours. |
+ |
+ Test: compositing/overflow/automatically-opt-into-compositing-scrolling.html |
+ |
+ (WebCore): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::RenderLayer): |
+ (WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled): |
+ (WebCore): |
+ (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder): |
+ (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive): |
+ (WebCore::RenderLayer::positionOverflowControlsAfterPromotionToCompositedScrolling): |
+ (WebCore::RenderLayer::canSafelyEstablishAStackingContext): |
+ Returns true if the RenderLayer could become a stacking context without |
+ affecting the stacking order. |
+ (WebCore::RenderLayer::updateDescendantDependentFlags): |
+ We now need to keep track of out of flow positioned descendants. |
+ (WebCore::RenderLayer::addChild): |
+ (WebCore::RenderLayer::removeChild): |
+ (WebCore::RenderLayer::usesCompositedScrolling): |
+ Has been updated to return true if it can safely establish a stacking |
+ context, and the setting is turned on. |
+ (WebCore::RenderLayer::needsCompositedScrolling): |
+ This function returns true if we would like to use composited |
+ scrolling. |
+ (WebCore::RenderLayer::updateNeedsCompositedScrolling): |
+ (WebCore::RenderLayer::scrollTo): |
+ (WebCore::RenderLayer::dirtyZOrderLists): |
+ (WebCore::RenderLayer::dirtyNormalFlowList): |
+ Since these could affect opting into composited scrolling, we must |
+ request that the RenderLayerCompositor reevaluate compositing. |
+ (WebCore::RenderLayer::updateLayerListsIfNeeded): |
+ We call updateCanSafelyEstablishStackingContext here, if necessary. |
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly): |
+ (WebCore::RenderLayer::shouldBeSelfPaintingLayer): |
+ usesCompositedScrolling -> needsCompositedScrolling |
+ (WebCore::RenderLayer::setAncestorChainHasOutOfFlowPositionedDescendant): |
+ (WebCore::RenderLayer::dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus): |
+ (WebCore::RenderLayer::updateOutOfFlowPositioned): |
+ Dirties and sets the out of flow positioned descendant state. |
+ (WebCore::RenderLayer::styleChanged): |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): |
+ (WebCore::RenderLayer::hasOutOfFlowPositionedDescendant): |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
+ (WebCore::RenderLayerBacking::hasUnpositionedOverflowControlsLayers): |
+ (WebCore): |
+ * rendering/RenderLayerBacking.h: |
+ (RenderLayerBacking): |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements): |
+ We now ensure that newly created overflow scroll controls get |
+ positioned. |
+ (WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling): |
+ * rendering/RenderLayerCompositor.h: |
+ (WebCore::RenderLayerCompositor::setShouldReevaluateCompositingAfterLayout): |
+ * testing/InternalSettings.cpp: |
+ (WebCore::InternalSettings::setEnableCompositingForOverflowScroll): |
+ Allows enabling the setting in layout tests. |
+ (WebCore): |
+ * testing/InternalSettings.h: |
+ (InternalSettings): |
+ * testing/InternalSettings.idl: |
+ |
+2012-12-13 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ REGRESSION(r137406): NodeTraversal changes causing large renderer crash |
+ https://bugs.webkit.org/show_bug.cgi?id=104937 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Add a null pointer check to exit early since ElementTraversal::next assumes a non-null pointer. |
+ |
+ No new tests since I don't think this function is ever exposed to any ES5 bindings. |
+ |
+ * editing/FrameSelection.cpp: |
+ (WebCore::scanForForm): |
+ |
+2012-12-13 David Grogan <dgrogan@chromium.org> |
+ |
+ IndexedDB: Improve error messages |
+ https://bugs.webkit.org/show_bug.cgi?id=104624 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Add detail to error messages so that they are more helpful and can be |
+ traced back to a specific line of code. |
+ |
+ Updated test: transaction-error.html |
+ |
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
+ (WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::perform): |
+ (WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::perform): |
+ (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform): |
+ (WebCore::IDBDatabaseBackendImpl::openConnection): |
+ (WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion): |
+ (WebCore::IDBDatabaseBackendImpl::deleteDatabase): |
+ (WebCore::IDBDatabaseBackendImpl::close): |
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp: |
+ (WebCore::IDBFactoryBackendImpl::getDatabaseNames): |
+ (WebCore::IDBFactoryBackendImpl::deleteDatabase): |
+ (WebCore::IDBFactoryBackendImpl::open): |
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
+ (WebCore::IDBObjectStoreBackendImpl::setIndexKeys): |
+ (WebCore::IDBObjectStoreBackendImpl::createIndex): |
+ (WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::perform): |
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp: |
+ (WebCore::IDBTransactionBackendImpl::abort): |
+ (WebCore::IDBTransactionBackendImpl::commit): |
+ |
+2012-12-13 Claudio Saavedra <csaavedra@igalia.com> |
+ |
+ [GTK] Safeguard against possible NULL-dereference |
+ https://bugs.webkit.org/show_bug.cgi?id=104931 |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ This was spotted by Coverity. See bug 104114. |
+ |
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
+ (webkitAccessibleGetIndexInParent): If parent is NULL |
+ bail out early. |
+ |
+2012-12-13 David Barton <dbarton@mathscribe.com> |
+ |
+ Heap-use-after-free in WebCore::RenderBlock::finishDelayUpdateScrollInfo |
+ https://bugs.webkit.org/show_bug.cgi?id=103750 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ MathML sometimes creates and destroys renderers for descendants during layout (or even to calculate |
+ preferred logical widths), e.g. for operator stretching. RenderBlock::finishDelayUpdateScrollInfo |
+ must therefore leave gDelayedUpdateScrollInfoSet intact as it iterates over it, so |
+ RenderBlock::willBeDestroyed can call gDelayedUpdateScrollInfoSet->remove(this) effectively if needed. |
+ This also prevents duplicate entries from being added to gDelayedUpdateScrollInfoSet. |
+ |
+ Test: mathml/mo-stretch-crash.html |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::startDelayUpdateScrollInfo): |
+ - Allow gDelayedUpdateScrollInfoSet to be non-null when gDelayUpdateScrollInfo is 0 during |
+ RenderBlock::finishDelayUpdateScrollInfo. |
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo): |
+ - Remove blocks from gDelayedUpdateScrollInfoSet one at a time, waiting for each block until it is |
+ about to be updated. |
+ |
+2012-12-13 Alexey Proskuryakov <ap@apple.com> |
+ |
+ <rdar://problem/12838354> Per-Tab WebProcess: DOM cookie access functions should respect private browsing |
+ https://bugs.webkit.org/show_bug.cgi?id=104691 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ * platform/network/NetworkingContext.h: Added a function that returns current |
+ context type. Ideally, we would track contexts across processes in a generic manner, |
+ but we only have two now, and don't need such complications. |
+ |
+2012-12-13 Alexey Proskuryakov <ap@apple.com> |
+ |
+ ResourceLoader::didReceiveAuthenticationChallenge uses a wrong client |
+ https://bugs.webkit.org/show_bug.cgi?id=104935 |
+ <rdar://problem/12870361> |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): |
+ The handle is null when NetworkProcess is used. In any case, it should be correct |
+ to use the client carried within AuthenticationChallenge. |
+ |
+2012-12-13 Stephen White <senorblanco@chromium.org> |
+ |
+ CanvasRenderingContext2D::setFont() is slow. |
+ https://bugs.webkit.org/show_bug.cgi?id=104923 |
+ |
+ Reviewed by James Robinson. |
+ |
+ This spends most of its time in the CSS parser. As a first step, |
+ early-out if the new value is the same as unparsed string for the current font. |
+ See also http://code.google.com/p/chromium/issues/detail?id=164016. |
+ |
+ Covered by existing tests in canvas/ and fast/canvas, and ManualTests/canvas-font-speed.html. |
+ |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ (WebCore::CanvasRenderingContext2D::setFont): |
+ |
+2012-12-13 Parth Patel <parpatel@rim.com>, Max Feil <mfeil@rim.com> |
+ |
+ Allow plugins to be disabled by shared library filename |
+ https://bugs.webkit.org/show_bug.cgi?id=101274 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ This fix makes PluginDatabase changes general so that other ports |
+ can use this mechanism if they wish. |
+ |
+ Layout test not included with this patch because there |
+ is currently no framework within LayoutTests to allow calls |
+ from an external application via platform API code (such as the |
+ WebView API). |
+ |
+ * plugins/PluginDatabase.cpp: |
+ (WebCore::PluginDatabase::fileExistsAndIsNotDisabled): |
+ (WebCore): |
+ (WebCore::PluginDatabase::getDeletedPlugins): |
+ (WebCore::PluginDatabase::removeDisabledPluginFile): |
+ (WebCore::PluginDatabase::addDisabledPluginFile): |
+ (WebCore::PluginDatabase::getPluginPathsInDirectories): |
+ * plugins/PluginDatabase.h: |
+ (PluginDatabase): |
+ |
+2012-12-13 Yongjun Zhang <yongjun_zhang@apple.com> |
+ |
+ Document will never be released when an Image is created inside unload event listener |
+ https://bugs.webkit.org/show_bug.cgi?id=104830 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ When setting src attribute to an Image object inside unload event listener, ImageLoader will |
+ mark it as load failure (by setting m_hasPendingErrorEvent to true) and the following call |
+ to updatedHasPendingEvent will ref the element but won't be deref-ed since the Document is |
+ being dismissed. This was introduced in r131670. To match pre r131670 behavior, we shouldn't |
+ trigger error event for image loading when the page is being dismissed. |
+ |
+ No new tests, there is no visual change. Manually tested to verify documents are released by |
+ using heap in Mac OS X. |
+ |
+ * loader/ImageLoader.cpp: |
+ (WebCore::pageIsBeingDismissed): add a helper function to test whether the page is being dismissed. |
+ (WebCore::ImageLoader::updateFromElement): don't trigger error event if the page is being dismissed. |
+ |
+2012-12-13 Claudio Saavedra <csaavedra@igalia.com> |
+ |
+ [GTK] Add missing breaks in switch-case statements |
+ https://bugs.webkit.org/show_bug.cgi?id=104929 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ * platform/gtk/ClipboardGtk.cpp: |
+ (WebCore::ClipboardGtk::clearData): Add missing breaks. |
+ |
+2012-12-13 Nate Chapin <japhet@chromium.org> |
+ |
+ Route main resource loads through the memory cache. |
+ https://bugs.webkit.org/show_bug.cgi?id=49246 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ Note that this patch doesn't actually enable caching of main resources. That will be done in a later patch. |
+ The MainResourceLoader actually has an underlying SubresourceLoader (with the cache layer between them). |
+ In several places, the MainResourceLoader's SubresourceLoader is treated as special. |
+ |
+ No new tests, as this is primarily a refactor. A couple of expected results changed slightly. |
+ |
+ * loader/DocumentLoader.cpp: |
+ (WebCore::DocumentLoader::setRequest): |
+ (WebCore::DocumentLoader::subresource): |
+ (WebCore::DocumentLoader::addSubresourceLoader): Because the SubresourceLoader underlying the main resource |
+ needs special handling in certain cases, track it separately from the real SubresourceLoaders. |
+ (WebCore::DocumentLoader::removeSubresourceLoader): |
+ (WebCore::DocumentLoader::startLoadingMainResource): |
+ * loader/MainResourceLoader.cpp: |
+ (WebCore::MainResourceLoader::MainResourceLoader): |
+ (WebCore::MainResourceLoader::receivedError): |
+ (WebCore::MainResourceLoader::cancel): |
+ (WebCore::MainResourceLoader::clearResource): |
+ (WebCore): |
+ (WebCore::MainResourceLoader::frameLoader): |
+ (WebCore::MainResourceLoader::request): |
+ (WebCore::MainResourceLoader::continueAfterNavigationPolicy): |
+ (WebCore::MainResourceLoader::resourceData): |
+ (WebCore::MainResourceLoader::redirectReceived): |
+ (WebCore::MainResourceLoader::willSendRequest): |
+ (WebCore::MainResourceLoader::continueAfterContentPolicy): |
+ (WebCore::MainResourceLoader::responseReceived): |
+ (WebCore::MainResourceLoader::dataReceived): |
+ (WebCore::MainResourceLoader::didFinishLoading): |
+ (WebCore::MainResourceLoader::notifyFinished): |
+ (WebCore::MainResourceLoader::reportMemoryUsage): |
+ (WebCore::MainResourceLoader::handleSubstituteDataLoadNow): |
+ (WebCore::MainResourceLoader::load): |
+ (WebCore::MainResourceLoader::setDefersLoading): |
+ (WebCore::MainResourceLoader::defersLoading): |
+ (WebCore::MainResourceLoader::setShouldBufferData): |
+ (WebCore::MainResourceLoader::loader): |
+ (WebCore::MainResourceLoader::identifier): |
+ * loader/MainResourceLoader.h: |
+ (MainResourceLoader): |
+ (WebCore::MainResourceLoader::documentLoader): |
+ * loader/ResourceLoader.cpp: |
+ (WebCore::ResourceLoader::willSendRequest): |
+ * loader/ResourceLoader.h: |
+ (WebCore::ResourceLoader::defersLoading): |
+ (WebCore::ResourceLoader::cancelled): |
+ * loader/appcache/ApplicationCacheHost.cpp: |
+ (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse): |
+ (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError): |
+ * loader/mac/DocumentLoaderMac.cpp: |
+ (WebCore::DocumentLoader::schedule): |
+ (WebCore::DocumentLoader::unschedule): |
+ |
+2012-12-13 Pratik Solanki <psolanki@apple.com> |
+ |
+ Duplicate code in GraphicsContext3D::validateAttributes() and GraphicsContext3D::validateDepthStencil() |
+ https://bugs.webkit.org/show_bug.cgi?id=97275 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ Remove duplicate code in validateAttributes(). validateAttributes() calls |
+ validateDepthStencil() which has the exact same code. |
+ |
+ No new tests because no change in functionality. |
+ |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ (WebCore::GraphicsContext3D::validateAttributes): |
+ |
+2012-12-13 Nate Chapin <japhet@chromium.org> |
+ |
+ CachedResources should hang on to stripped fragment identifiers |
+ https://bugs.webkit.org/show_bug.cgi?id=104721 |
+ |
+ Reviewed by Maciej Stachowiak. |
+ |
+ No new tests, this will be unused until bug |
+ https://bugs.webkit.org/show_bug.cgi?id=49246 re-lands. Then, it will |
+ allow http/tests/inspector/resource-parameters.html to continue passing. |
+ |
+ * loader/cache/CachedResource.cpp: |
+ (WebCore::CachedResource::CachedResource): |
+ (WebCore::CachedResource::load): |
+ * loader/cache/CachedResource.h: |
+ (CachedResource): |
+ * loader/cache/CachedResourceLoader.cpp: |
+ (WebCore::CachedResourceLoader::requestResource): We override the request's url with the |
+ local variable "url" here. The only difference between url and request.url() is that url |
+ has had any fragment identifier removed. Do this work later (in the CachedResource constructor) |
+ so that the CachedResource can save the fragment for later. |
+ |
+2012-12-13 Claudio Saavedra <csaavedra@igalia.com> |
+ |
+ [GTK] Remove deprecated API usage |
+ https://bugs.webkit.org/show_bug.cgi?id=104894 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Remove deprecated GTK+ API usage. |
+ |
+ * platform/gtk/RenderThemeGtk3.cpp: |
+ (WebCore::spinButtonArrowSize): Do not use deprecated |
+ gtk_style_context_get_font(). |
+ |
+2012-12-13 Zeno Albisser <zeno@webkit.org> |
+ |
+ [Qt] Remove temporary workaround from GraphicsSurfaceGLX constructor. |
+ https://bugs.webkit.org/show_bug.cgi?id=104904 |
+ |
+ QXcbNativeInterface::nativeResourceForContext() is now |
+ available in Qt5. Therefore the temporary workaround |
+ in GraphicsSurfaceGLX can be removed. |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: |
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate): |
+ |
+2012-12-13 Joanmarie Diggs <jdiggs@igalia.com> |
+ |
+ [GTK] Expose ARIA roles for tab, tabpanel and tablist |
+ https://bugs.webkit.org/show_bug.cgi?id=84043 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Mapped the ARIA roles to their corresponding ATK roles. |
+ |
+ No new tests; instead unskipped the associated test. |
+ |
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: |
+ (atkRole): Mapped the ARIA roles to their corresponding ATK roles |
+ |
+2012-12-13 Vivek Galatage <vivek.vg@samsung.com> |
+ |
+ Web Inspector: "Add Attribute" context menu on closing tag should apply on the opening tag on Elements Panel |
+ https://bugs.webkit.org/show_bug.cgi?id=104902 |
+ |
+ Reviewed by Alexander Pavlov. |
+ |
+ The context menu action on the closing tag scrolls to the opening tag for adding the attribute. |
+ |
+ No new tests as this is a UI change. |
+ |
+ * inspector/front-end/ElementsTreeOutline.js: |
+ (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): |
+ (WebInspector.ElementsTreeElement.prototype._addNewAttribute): |
+ |
+2012-12-13 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137512. |
+ http://trac.webkit.org/changeset/137512 |
+ https://bugs.webkit.org/show_bug.cgi?id=104912 |
+ |
+ The entire GTK+ layout test step has been failing for hours |
+ (Requested by mrobinson on #webkit). |
+ |
+ * accessibility/AccessibilityNodeObject.cpp: |
+ (WebCore::AccessibilityNodeObject::textUnderElement): |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::textUnderElement): |
+ |
+2012-12-13 Tamas Czene <tczene@inf.u-szeged.hu> |
+ |
+ OpenCL version of FEColorMatrix. |
+ https://bugs.webkit.org/show_bug.cgi?id=103398 |
+ |
+ Reviewed by Zoltan Herczeg. |
+ |
+ ~3x speed-up (depending on hardware configuration) |
+ |
+ * Target.pri: Added a new file to the build system. |
+ * platform/graphics/filters/FEColorMatrix.cpp: calculateSaturateComponents and calculateHueRotateComponents methodes are moved to the header, since they are used by OpenCL as well |
+ (WebCore::effectType): |
+ * platform/graphics/filters/FEColorMatrix.h: |
+ (FEColorMatrix): |
+ (WebCore::FEColorMatrix::calculateSaturateComponents): |
+ (WebCore): |
+ (WebCore::FEColorMatrix::calculateHueRotateComponents): |
+ * platform/graphics/gpu/opencl/FilterContextOpenCL.h: Required fields for the ColorMatrix kernels were added |
+ (WebCore::FilterContextOpenCL::FilterContextOpenCL): |
+ (FilterContextOpenCL): |
+ * platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp: the core implementation goes here |
+ (WebCore): |
+ (WebCore::FilterContextOpenCL::compileFEColorMatrix): |
+ (WebCore::FilterContextOpenCL::applyFEColorMatrix): |
+ (WebCore::FEColorMatrix::platformApplyOpenCL): |
+ |
+2012-12-13 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Web Inspector: Native Memory Instrumentation: do not validate pointers to objects in RenderArena agains tcmalloc data. |
+ https://bugs.webkit.org/show_bug.cgi?id=104903 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ This is a simplest approach to do that with zero performance overhead. |
+ |
+ * inspector/InspectorResourceAgent.cpp: |
+ (WebCore::InspectorResourceAgent::reportMemoryUsage): |
+ * rendering/InlineBox.cpp: |
+ (WebCore::InlineBox::reportMemoryUsage): |
+ (WebCore): |
+ * rendering/InlineBox.h: |
+ (InlineBox): |
+ * rendering/InlineTextBox.cpp: |
+ (WebCore::InlineTextBox::reportMemoryUsage): |
+ (WebCore): |
+ * rendering/InlineTextBox.h: |
+ (InlineTextBox): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::reportMemoryUsage): |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::reportMemoryUsage): |
+ |
+2012-12-13 Alberto Garcia <agarcia@igalia.com> |
+ |
+ [GTK] Don't leak GStaticRecMutex |
+ https://bugs.webkit.org/show_bug.cgi?id=104901 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ The mutex in WebKitWebAudioSourceGStreamer is allocated using |
+ g_new(), but that memory is not freed when the object is |
+ destroyed. |
+ |
+ This patch replaces that pointer with the structure itself, which |
+ is faster and doesn't need to be explicitly freed. |
+ |
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
+ (_WebKitWebAudioSourcePrivate): |
+ (webkit_web_audio_src_init): |
+ (webKitWebAudioSrcFinalize): |
+ |
+2012-12-13 Eugene Klyuchnikov <eustas@chromium.org> |
+ |
+ Web Inspector: Network: Sorting cookies by size is broken. |
+ https://bugs.webkit.org/show_bug.cgi?id=104893 |
+ |
+ Reviewed by Alexander Pavlov. |
+ |
+ Problem: cookie "size" is not a field now; its value is accessible |
+ through getter method. |
+ |
+ Solution: make cookie fields uniformly accessible (add getters for name, |
+ type and value). |
+ |
+ * inspector/front-end/CookieItemsView.js: Adopt changes. |
+ * inspector/front-end/CookieParser.js: |
+ (WebInspector.Cookie): Refine JsDoc. |
+ (WebInspector.Cookie.prototype.name): Added getter. |
+ (WebInspector.Cookie.prototype.value): Ditto. |
+ (WebInspector.Cookie.prototype.type): Ditto. |
+ (WebInspector.Cookies.buildCookiesFromString): Adopt changes. |
+ (WebInspector.Cookies.buildCookieProtocolObject): Ditto. |
+ * inspector/front-end/CookiesTable.js: |
+ (WebInspector.CookiesTable): Remove unused parameter. |
+ (WebInspector.CookiesTable.prototype._sortCookies): |
+ Use getters instead of field names. |
+ (WebInspector.CookiesTable.prototype._createGridNode): Adopt changes. |
+ * inspector/front-end/HAREntry.js: Ditto. |
+ * inspector/front-end/RequestCookiesView.js: Ditto. |
+ |
+2012-12-13 Kentaro Hara <haraken@chromium.org> |
+ |
+ Unreviewed, rolling out r137569. |
+ http://trac.webkit.org/changeset/137569 |
+ https://bugs.webkit.org/show_bug.cgi?id=104876 |
+ |
+ A bunch of CSS tests hit ASSERTs |
+ |
+ * css/CSSProperty.h: |
+ (WebCore::CSSProperty::CSSProperty): |
+ |
+2012-12-13 Byungwoo Lee <bw80.lee@samsung.com> |
+ |
+ [EFL] Remove redundant pipe write to prevent pipe buffer full. |
+ https://bugs.webkit.org/show_bug.cgi?id=101135 |
+ |
+ Reviewed by Gyuyoung Kim. |
+ |
+ To prevent a source of a deadlock, remove the redundant pipe write |
+ in wakeUp() function. |
+ |
+ EFL uses ecore_pipe_write() to wake up main run loop, and the function |
+ uses POSIX pipe write with O_NONBLOCK disabled. |
+ With O_NONBLOCK disabled, when written data is more than PIPE_BUF, |
+ pipe write will be blocked until it can be written. |
+ |
+ Currently, every wakeUp() function calls ecore_pipe_write() to invoke |
+ wakeUpEvent() callback. And this can make pipe buffer full status |
+ which is the one reason of the lockup problem described in Bug 99494. |
+ |
+ * platform/RunLoop.h: |
+ (RunLoop): |
+ * platform/efl/RunLoopEfl.cpp: |
+ (WebCore::RunLoop::RunLoop): |
+ (WebCore::RunLoop::wakeUpEvent): |
+ (WebCore::RunLoop::wakeUp): |
+ |
+2012-12-13 Antti Harju <antti.harju@ixonos.com> |
+ |
+ [Qt] Fix deleteAllCookies() invalid SQL statement |
+ https://bugs.webkit.org/show_bug.cgi?id=101580 |
+ |
+ Reviewed by Jocelyn Turcotte. |
+ |
+ * platform/network/qt/CookieJarQt.cpp: |
+ (WebCore::SharedCookieJarQt::deleteAllCookies): |
+ |
+2012-12-13 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Safari spends a lot of time in WebCore::findSimpleWordBoundary while selecting text on large scrabutility.com page |
+ https://bugs.webkit.org/show_bug.cgi?id=104884 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ We don't need to do anything in AlternativeTextController if selection is already outside of the editable region. |
+ |
+ No new tests are added since this is only a performance improvement, and doesn't change any asymptotic behavior. |
+ |
+ * editing/AlternativeTextController.cpp: |
+ (WebCore::AlternativeTextController::respondToChangedSelection): |
+ |
+2012-12-12 Jon Lee <jonlee@apple.com> |
+ |
+ Crash in PlugInOriginHash with empty MIME type (104882) |
+ https://bugs.webkit.org/show_bug.cgi?id=104882 |
+ <rdar://problem/12872298> |
+ |
+ Reviewed by Filip Pizlo. |
+ |
+ The crash occurs because the strings might be null. Add a check for it, but also try to infer a MIME type |
+ in case the markup does not include a type attribute, but we can find it from the extension in the URL. |
+ |
+ * platform/KURL.cpp: Add a new function mimeTypeFromURL() which tries to return the implied MIME type |
+ based on the URL provided. If nothing was found, return a null string. |
+ (WebCore::mimeTypeFromURL): Factored out from FrameLoader::defaultObjectContentType(). |
+ * platform/KURL.h: |
+ |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::defaultObjectContentType): Refactor to use mimeTypeFromURL(). |
+ * plugins/PlugInOriginHash.cpp: |
+ (WebCore::addCaseFoldedCharacters): Add a check for an empty string. |
+ (WebCore::PlugInOriginHash::hash): If the service type is empty, try to infer the MIME type. |
+ |
+2012-12-13 Christophe Dumez <christophe.dumez@intel.com> |
+ |
+ Regression(r137486): Broke EFL build |
+ https://bugs.webkit.org/show_bug.cgi?id=104883 |
+ |
+ Unreviewed EFL build fix. |
+ |
+ Fix EFL build break after r137486 due to missing WebCore:: |
+ namespace. |
+ |
+ No new tests, no behavior change for layout tests. |
+ |
+ * platform/NotImplemented.h: |
+ |
+2012-12-07 Levi Weintraub <leviw@chromium.org> |
+ |
+ Add support for tracking hit test rectangles to enable fast event rejection in the compositor |
+ https://bugs.webkit.org/show_bug.cgi?id=103914 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Adding support for tracking hit test target regions for the purpose of performing initial hit testing |
+ in the compositor to avoid blocking scrolling on the main thread while waiting to hit test events that |
+ aren't occuring in regions with handlers. This is initially being done to avoid having to go to the main |
+ thread when scrolling by flicking on touch devices when the flick occurs outside a tracked touch event |
+ region. This patch includes the implementation to turn this on in Chromium. |
+ |
+ To accomplish this goal, Document will now keep a counted hash set of nodes with touch event handlers |
+ instead of only an unsigned integer of the total count. ScrollingCoordinator then updates the compositor |
+ when new touch event handlers are registered or removed, or after layout much like how |
+ nonFastScrollableRegions are currently tracked. |
+ |
+ This implementation will not properly update the hit test rects when the renderers are inside a sub- |
+ tree that scrolls. |
+ |
+ Test: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): Added a HashCountedSet of touch target nodes. Note: DOMWindow targets |
+ are stored as the Document they point to. |
+ (WebCore::Document::didAddTouchEventHandler): Changed to keep track of the handler instead of a count, and |
+ to update the ScrollingCoordinator with the change. |
+ (WebCore::Document::didRemoveTouchEventHandler): Ditto. |
+ * dom/Document.h: |
+ (WebCore::Document::hasTouchEventHandlers): It's no longer O(1) to get the count of touch handlers, so |
+ expose whether there are any or not. |
+ (WebCore::Document::touchEventTargets): |
+ * dom/Node.cpp: |
+ (WebCore::Node::didMoveToNewDocument): |
+ (WebCore::tryAddEventListener): |
+ (WebCore::tryRemoveEventListener): |
+ * history/CachedFrame.cpp: |
+ (WebCore::CachedFrameBase::restore): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::~HTMLInputElement): |
+ (WebCore::HTMLInputElement::updateType): |
+ * page/DOMWindow.cpp: |
+ (WebCore::DOMWindow::addEventListener): Add the Document to the touch target set instead of DOMWindow. |
+ (WebCore::DOMWindow::removeEventListener): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::handleTouchEvent): |
+ * page/Frame.cpp: |
+ (WebCore::Frame::setDocument): |
+ * page/scrolling/ScrollingCoordinator.cpp: |
+ (WebCore::ScrollingCoordinator::computeAbsoluteTouchEventTargetRects): Walk the renderers for event handler |
+ nodes and generate the absolute hit testing rects. |
+ * page/scrolling/ScrollingCoordinator.h: |
+ (WebCore::ScrollingCoordinator::setTouchEventTargetRectsChanged): Hook to pass along the hit test rects to |
+ the scrolling tree/compositor. |
+ (ScrollingCoordinator): |
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: |
+ (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): |
+ (WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRectsChanged): |
+ (WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion): |
+ (WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects): |
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.h: |
+ (ScrollingCoordinatorChromium): |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::touchEventHandlerCount): Changed to do the work to calculate the actual count since |
+ it's no longer stored as an int in Document. |
+ (WebCore::Internals::touchEventTargetClientRects): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-12-12 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Add ASSERTions to ensure that CSSPropertys that are variables only ever refer to CSSValues that are variables. |
+ https://bugs.webkit.org/show_bug.cgi?id=104876 |
+ |
+ Reviewed by Steve Block. |
+ |
+ Add assertions to CSSProperty constructors to make that if it is initialized with CSSPropertyVariable that |
+ the value type associated with it is also a variable. This is already asserted at read time, but ASSERTing |
+ here will produce a more useful backtrace. |
+ |
+ No new tests as functionality unchanged. |
+ |
+ * css/CSSProperty.h: |
+ (WebCore::CSSProperty::CSSProperty): |
+ |
+2012-12-12 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
+ |
+ NetworkInfoController needs to support destructor |
+ https://bugs.webkit.org/show_bug.cgi?id=104642 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Though NetworkInfoController can be referenced by each port in order to update network status change, |
+ there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when |
+ controller is destroyed. |
+ |
+ * Modules/networkinfo/NetworkInfoClient.h: |
+ (NetworkInfoClient): |
+ * Modules/networkinfo/NetworkInfoConnection.h: |
+ (WebCore::NetworkInfoConnection::networkInfoControllerDestroyed): |
+ * Modules/networkinfo/NetworkInfoController.cpp: |
+ (WebCore::NetworkInfoController::~NetworkInfoController): |
+ |
+2012-12-12 Kent Tamura <tkent@chromium.org> |
+ |
+ Validity of a radio button is not updated correctly when it is detached from an invalid radio group |
+ https://bugs.webkit.org/show_bug.cgi?id=104873 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ When a radio button is detached from an invalid radio group, |
+ A) we should update button's validity, and |
+ B) it should be valid. |
+ |
+ A is handled by the following code in RadioButtonGroup::remove. |
+ if (!wasValid) { |
+ // A radio button not in a group is always valid. We need to make it |
+ // valid only if the group was invalid. |
+ button->setNeedsValidityCheck(); |
+ |
+ B was incomplete. |
+ bool RadioInputType::valueMissing(const String&) const |
+ { |
+ return element()->isInRequiredRadioButtonGroup() && !element()->checkedRadioButtonForGroup(); |
+ isInRequiredRadioButtonGroup checked required state of a group with the |
+ name attribute value even if the radio button was already detached from |
+ the group. isInRequiredRadioButtonGroup should check membership of the |
+ radio button precisely. |
+ |
+ Tests: Update fast/forms/radio/radio-live-validation-style.html |
+ |
+ * dom/CheckedRadioButtons.cpp: |
+ (RadioButtonGroup): Declare contains. |
+ (WebCore::RadioButtonGroup::contains): Added. |
+ (WebCore::CheckedRadioButtons::isInRequiredGroup): Renamed from |
+ isRequiredGroup. This function takes HTMLInputElement* argument. |
+ * dom/CheckedRadioButtons.h: |
+ (CheckedRadioButtons): Rename isRequiredGroup to isInRequiredGroup. |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::isInRequiredRadioButtonGroup): |
+ Make this non-const becaues RadioButtonGroup::m_members needs non-const |
+ pointers. Use CheckedRadioButtons::isInRequiredGroup. |
+ * html/HTMLInputElement.h: |
+ (HTMLInputElement): Make isInRequiredRadioButtonGroup non-const. |
+ |
+2012-12-12 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ ContainerNodeAlgorithm::notifyInsertedIntoDocument is not used |
+ https://bugs.webkit.org/show_bug.cgi?id=104874 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ ContainerNodeAlgorithm::notifyInsertedIntoDocument() is not used by anyone. We can remove it safely. |
+ |
+ No new tests, no change in behavior. |
+ |
+ * dom/ContainerNodeAlgorithms.h: |
+ |
+2012-12-12 Kunihiko Sakamoto <ksakamoto@chromium.org> |
+ |
+ Milliseconds field of date/time input UI should respect step attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=104628 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch makes step-up/-down UI of the milliseconds fields respect step attribute |
+ in a special case when the step is divisible by 1000 milliseconds. |
+ |
+ Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html |
+ |
+ * html/shadow/DateTimeEditElement.cpp: |
+ (WebCore::DateTimeEditBuilder::visitField): |
+ If step of the element (in milliseconds) is divisible by 1000, use it as the step of the milliseconds field. Otherwise, the millisecond field has step 1. |
+ * html/shadow/DateTimeFieldElements.cpp: |
+ (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement): Add step and stepBase arguments. |
+ (WebCore::DateTimeMillisecondFieldElement::create): Ditto. |
+ * html/shadow/DateTimeFieldElements.h: |
+ (DateTimeMillisecondFieldElement): Ditto. |
+ * html/shadow/DateTimeNumericFieldElement.cpp: |
+ (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): Ditto. |
+ (WebCore::DateTimeNumericFieldElement::stepDown): Changed to compute next allowed value using roundDown(). |
+ (WebCore::DateTimeNumericFieldElement::stepUp): Changed to compute next allowed value using roundUp(). |
+ (WebCore::DateTimeNumericFieldElement::roundDown): Added. |
+ (WebCore::DateTimeNumericFieldElement::roundUp): Added. |
+ * html/shadow/DateTimeNumericFieldElement.h: |
+ (DateTimeNumericFieldElement): Add m_step and m_stepBase fields. |
+ |
+2012-12-12 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ [CSS Grid Layout] Include paddings and borders into the grid element's logical height / width |
+ https://bugs.webkit.org/show_bug.cgi?id=104818 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ This change makes RenderGrid add the borders and paddings in the right direction during layout |
+ so that the grid element's size accounts them like any other renderer. |
+ |
+ Test: fast/css-grid-layout/grid-element-padding-margin.html |
+ |
+ * rendering/RenderGrid.cpp: |
+ (WebCore::RenderGrid::computePreferredLogicalWidths): |
+ (WebCore::RenderGrid::layoutGridItems): |
+ |
+2012-12-12 Roger Fong <roger_fong@apple.com> |
+ |
+ Include Apple Windows in GraphicsLayer::supportsBackgroundColorContent(). |
+ https://bugs.webkit.org/show_bug.cgi?id=104852. |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ * platform/graphics/GraphicsLayer.h: |
+ (WebCore::GraphicsLayer::supportsBackgroundColorContent): |
+ |
+2012-12-12 KyungTae Kim <ktf.kim@samsung.com> |
+ |
+ Unused parameters on TextureMapperImageBuffer.cpp |
+ https://bugs.webkit.org/show_bug.cgi?id=104857 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ The updateContents has unused parameter 'textureMapper', |
+ remove the parameter name to fix 'unused parameter' build warning. |
+ |
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp: |
+ (WebCore::BitmapTextureImageBuffer::updateContents): |
+ |
+2012-12-12 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ [Shadow] HTMLContentElement::getDistributedNodes() doesn't work correctly if not in document tree. |
+ https://bugs.webkit.org/show_bug.cgi?id=104345 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Since document->updateLayout() does affect nodes in Document, distribution will not occur in |
+ InsertionPoints out of Document. We have to find the element in document tree scope, and start distribution from it. |
+ |
+ Test: fast/dom/shadow/get-distributed-nodes-orphan.html |
+ |
+ * html/shadow/InsertionPoint.cpp: |
+ (WebCore::InsertionPoint::getDistributedNodes): |
+ |
+2012-12-12 Patrick Gansterer <paroga@webkit.org> |
+ |
+ [WIN] Implement WebCore::fileSystemRepresentation() for !USE(CF) |
+ https://bugs.webkit.org/show_bug.cgi?id=104456 |
+ |
+ Reviewed by Brent Fulgham. |
+ |
+ Convert the UTF-16 path to the system default Windows ANSI code page (usually Windows Latin1). |
+ |
+ * platform/win/FileSystemWin.cpp: |
+ (WebCore::fileSystemRepresentation): |
+ |
+2012-12-12 No'am Rosenthal <noam@webkit.org> |
+ |
+ [Texmap] Remove lowp/highp indicators as they're not needed with ANGLE. |
+ https://bugs.webkit.org/show_bug.cgi?id=104707 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ lowp/highp indicator were needed for GLES2, but ANGLE does not require them. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
+ (WebCore::getShaderSpec): |
+ |
+2012-12-12 Andy Estes <aestes@apple.com> |
+ |
+ Don't dispatch fake mousemove events when we don't know where the cursor is |
+ https://bugs.webkit.org/show_bug.cgi?id=104861 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ When EventHandler is instantiated or cleared, it sets the current mouse |
+ position to (0, 0), even though this is probably not where the mouse |
+ cursor really is (and we won't know until the mouse moves into the WebView). |
+ If a fake mousemove event fires and the page has an element at (0, 0) |
+ that responds to mousemove, we might end up changing the cursor or |
+ displaying a tooltip at the current mouse position, even if it is |
+ outside the WebView. |
+ |
+ Fake mousemove events are dispatched in order to update a cursor that |
+ is already over the WebView. Don't dispatch the event if we don't know |
+ this to be true. |
+ |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::EventHandler): Instantiate m_mousePositionIsUnknown to true. |
+ (WebCore::EventHandler::clear): Reset m_mousePositionIsUnknown to true. |
+ (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Return early if the mouse position is unknown. |
+ (WebCore::EventHandler::setLastKnownMousePosition): Set the mouse position from the PlatformMouseEvent and set m_mousePositionIsUnknown to false. |
+ (WebCore::EventHandler::handleMousePressEvent): Call setLastKnownMousePosition() instead of setting the position directly. |
+ (WebCore::EventHandler::handleMouseDoubleClickEvent): Ditto. |
+ (WebCore::EventHandler::handleMouseMoveEvent): Ditto. |
+ (WebCore::EventHandler::handleMouseReleaseEvent): Ditto. |
+ (WebCore::EventHandler::updateSelectionForMouseDrag): Rename currentMouse(Global)Position to lastKnownMouse(Global)Position. |
+ (WebCore::EventHandler::handleAutoscroll): Ditto. |
+ (WebCore::EventHandler::updatePanScrollState): Ditto. |
+ (WebCore::EventHandler::lastKnownMousePosition): Ditto. |
+ (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): Ditto. |
+ (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Ditto. |
+ (WebCore::EventHandler::hoverTimerFired): Ditto. |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::lastKnownMousePosition): Ditto. |
+ * platform/ScrollableArea.h: |
+ (WebCore::ScrollableArea::lastKnownMousePosition): Ditto. |
+ * platform/mac/ScrollAnimatorMac.mm: |
+ (-[WebScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]): Ditto. |
+ (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]): Ditto. |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::panScrollFromPoint): Ditto. |
+ (WebCore::RenderLayer::autoscroll): Ditto. |
+ (WebCore::RenderLayer::lastKnownMousePosition): Ditto. |
+ * rendering/RenderListBox.cpp: |
+ (WebCore::RenderListBox::panScroll): Ditto. |
+ (WebCore::RenderListBox::autoscroll): Ditto. |
+ (WebCore::RenderListBox::lastKnownMousePosition): Ditto. |
+ |
+2012-12-12 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Try to fix the GTK+ debug bulid |
+ |
+ Logging.h is no longer included in headers, so we need to include it manually in |
+ files that require logging macros. |
+ |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Include Logging.h. |
+ |
+2012-12-12 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137524. |
+ http://trac.webkit.org/changeset/137524 |
+ https://bugs.webkit.org/show_bug.cgi?id=104859 |
+ |
+ Causes m_deletionHasBegun assertion failures in |
+ MutationObserver tests (Requested by aklein on #webkit). |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ (WebCore::Document::~Document): |
+ (WebCore::Document::suggestedMIMEType): |
+ * dom/Document.h: |
+ (WebCore::Node::isDocumentNode): |
+ (WebCore): |
+ (WebCore::Node::treeScope): |
+ (WebCore::Node::Node): |
+ * dom/Element.cpp: |
+ (WebCore::Element::createRareData): |
+ * dom/ElementRareData.h: |
+ (ElementRareData): |
+ (WebCore::ElementRareData::ElementRareData): |
+ * dom/Node.cpp: |
+ (WebCore::Node::~Node): |
+ (WebCore::Node::setDocument): |
+ (WebCore): |
+ (WebCore::Node::setTreeScope): |
+ (WebCore::Node::createRareData): |
+ (WebCore::Node::attach): |
+ (WebCore::Node::reportMemoryUsage): |
+ * dom/Node.h: |
+ (WebCore): |
+ (WebCore::NodeRareDataBase::treeScope): |
+ (WebCore::NodeRareDataBase::setTreeScope): |
+ (NodeRareDataBase): |
+ (WebCore::NodeRareDataBase::NodeRareDataBase): |
+ (Node): |
+ (WebCore::Node::inDocument): |
+ (WebCore::Node::documentInternal): |
+ * dom/NodeRareData.cpp: |
+ (SameSizeAsNodeRareData): |
+ (WebCore::NodeRareData::reportMemoryUsage): |
+ * dom/NodeRareData.h: |
+ (WebCore::NodeRareData::NodeRareData): |
+ * dom/ShadowRoot.cpp: |
+ (WebCore::ShadowRoot::ShadowRoot): |
+ * dom/TreeScope.cpp: |
+ (SameSizeAsTreeScope): |
+ (WebCore::TreeScope::TreeScope): |
+ (WebCore::TreeScope::setParentTreeScope): |
+ * dom/TreeScope.h: |
+ (WebCore): |
+ (TreeScope): |
+ * dom/TreeScopeAdopter.cpp: |
+ (WebCore::TreeScopeAdopter::moveTreeToNewScope): |
+ (WebCore::TreeScopeAdopter::moveNodeToNewDocument): |
+ |
+2012-12-12 Seokju Kwon <seokju.kwon@gmail.com> |
+ |
+ Fix build warning when ENABLE_INSPECTOR is disabled |
+ https://bugs.webkit.org/show_bug.cgi?id=104757 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Use UNUSED_PARAM macro to fix build warning -Wunused-parameter. |
+ |
+ No new tests, no behavior change. |
+ |
+ * inspector/InspectorCanvasInstrumentation.h: |
+ (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation): |
+ (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation): |
+ * inspector/InspectorConsoleInstrumentation.h: |
+ (WebCore::InspectorInstrumentation::addMessageToConsole): |
+ (WebCore::InspectorInstrumentation::consoleCount): |
+ (WebCore::InspectorInstrumentation::startConsoleTiming): |
+ (WebCore::InspectorInstrumentation::stopConsoleTiming): |
+ (WebCore::InspectorInstrumentation::consoleTimeStamp): |
+ (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole): |
+ (WebCore::InspectorInstrumentation::addProfile): |
+ (WebCore::InspectorInstrumentation::profilerEnabled): |
+ (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName): |
+ * inspector/InspectorCounters.h: |
+ (WebCore::InspectorCounters::incrementCounter): |
+ (WebCore::InspectorCounters::decrementCounter): |
+ * inspector/InspectorDatabaseInstrumentation.h: |
+ (WebCore::InspectorInstrumentation::didOpenDatabase): |
+ * inspector/InspectorInstrumentation.h: |
+ (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld): |
+ (WebCore::InspectorInstrumentation::isDebuggerPaused): |
+ (WebCore::InspectorInstrumentation::willInsertDOMNode): |
+ (WebCore::InspectorInstrumentation::didInsertDOMNode): |
+ (WebCore::InspectorInstrumentation::willRemoveDOMNode): |
+ (WebCore::InspectorInstrumentation::willModifyDOMAttr): |
+ (WebCore::InspectorInstrumentation::didModifyDOMAttr): |
+ (WebCore::InspectorInstrumentation::didRemoveDOMAttr): |
+ (WebCore::InspectorInstrumentation::didInvalidateStyleAttr): |
+ (WebCore::InspectorInstrumentation::frameWindowDiscarded): |
+ (WebCore::InspectorInstrumentation::mediaQueryResultChanged): |
+ (WebCore::InspectorInstrumentation::didPushShadowRoot): |
+ (WebCore::InspectorInstrumentation::willPopShadowRoot): |
+ (WebCore::InspectorInstrumentation::didCreateNamedFlow): |
+ (WebCore::InspectorInstrumentation::willRemoveNamedFlow): |
+ (WebCore::InspectorInstrumentation::didUpdateRegionLayout): |
+ (WebCore::InspectorInstrumentation::mouseDidMoveOverElement): |
+ (WebCore::InspectorInstrumentation::handleTouchEvent): |
+ (WebCore::InspectorInstrumentation::handleMousePress): |
+ (WebCore::InspectorInstrumentation::forcePseudoState): |
+ (WebCore::InspectorInstrumentation::characterDataModified): |
+ (WebCore::InspectorInstrumentation::willSendXMLHttpRequest): |
+ (WebCore::InspectorInstrumentation::didScheduleResourceRequest): |
+ (WebCore::InspectorInstrumentation::didInstallTimer): |
+ (WebCore::InspectorInstrumentation::didRemoveTimer): |
+ (WebCore::InspectorInstrumentation::willCallFunction): |
+ (WebCore::InspectorInstrumentation::didCallFunction): |
+ (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent): |
+ (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent): |
+ (WebCore::InspectorInstrumentation::willDispatchEvent): |
+ (WebCore::InspectorInstrumentation::didDispatchEvent): |
+ (WebCore::InspectorInstrumentation::willHandleEvent): |
+ (WebCore::InspectorInstrumentation::didHandleEvent): |
+ (WebCore::InspectorInstrumentation::willDispatchEventOnWindow): |
+ (WebCore::InspectorInstrumentation::didDispatchEventOnWindow): |
+ (WebCore::InspectorInstrumentation::willEvaluateScript): |
+ (WebCore::InspectorInstrumentation::didEvaluateScript): |
+ (WebCore::InspectorInstrumentation::didCreateIsolatedContext): |
+ (WebCore::InspectorInstrumentation::willFireTimer): |
+ (WebCore::InspectorInstrumentation::didFireTimer): |
+ (WebCore::InspectorInstrumentation::didBeginFrame): |
+ (WebCore::InspectorInstrumentation::didCancelFrame): |
+ (WebCore::InspectorInstrumentation::didInvalidateLayout): |
+ (WebCore::InspectorInstrumentation::willLayout): |
+ (WebCore::InspectorInstrumentation::didLayout): |
+ (WebCore::InspectorInstrumentation::didScroll): |
+ (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent): |
+ (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent): |
+ (WebCore::InspectorInstrumentation::willPaint): |
+ (WebCore::InspectorInstrumentation::didPaint): |
+ (WebCore::InspectorInstrumentation::willScrollLayer): |
+ (WebCore::InspectorInstrumentation::didScrollLayer): |
+ (WebCore::InspectorInstrumentation::willComposite): |
+ (WebCore::InspectorInstrumentation::didComposite): |
+ (WebCore::InspectorInstrumentation::willRecalculateStyle): |
+ (WebCore::InspectorInstrumentation::didRecalculateStyle): |
+ (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation): |
+ (WebCore::InspectorInstrumentation::willMatchRule): |
+ (WebCore::InspectorInstrumentation::didMatchRule): |
+ (WebCore::InspectorInstrumentation::willProcessRule): |
+ (WebCore::InspectorInstrumentation::didProcessRule): |
+ (WebCore::InspectorInstrumentation::applyUserAgentOverride): |
+ (WebCore::InspectorInstrumentation::applyScreenWidthOverride): |
+ (WebCore::InspectorInstrumentation::applyScreenHeightOverride): |
+ (WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverride): |
+ (WebCore::InspectorInstrumentation::applyEmulatedMedia): |
+ (WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverride): |
+ (WebCore::InspectorInstrumentation::willSendRequest): |
+ (WebCore::InspectorInstrumentation::continueAfterPingLoader): |
+ (WebCore::InspectorInstrumentation::markResourceAsCached): |
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache): |
+ (WebCore::InspectorInstrumentation::willReceiveResourceData): |
+ (WebCore::InspectorInstrumentation::didReceiveResourceData): |
+ (WebCore::InspectorInstrumentation::willReceiveResourceResponse): |
+ (WebCore::InspectorInstrumentation::didReceiveResourceResponse): |
+ (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied): |
+ (WebCore::InspectorInstrumentation::continueWithPolicyDownload): |
+ (WebCore::InspectorInstrumentation::continueWithPolicyIgnore): |
+ (WebCore::InspectorInstrumentation::didReceiveData): |
+ (WebCore::InspectorInstrumentation::didFinishLoading): |
+ (WebCore::InspectorInstrumentation::didFailLoading): |
+ (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): |
+ (WebCore::InspectorInstrumentation::willLoadXHR): |
+ (WebCore::InspectorInstrumentation::didFailXHRLoading): |
+ (WebCore::InspectorInstrumentation::didFinishXHRLoading): |
+ (WebCore::InspectorInstrumentation::didReceiveXHRResponse): |
+ (WebCore::InspectorInstrumentation::willLoadXHRSynchronously): |
+ (WebCore::InspectorInstrumentation::didLoadXHRSynchronously): |
+ (WebCore::InspectorInstrumentation::scriptImported): |
+ (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP): |
+ (WebCore::InspectorInstrumentation::didReceiveScriptResponse): |
+ (WebCore::InspectorInstrumentation::domContentLoadedEventFired): |
+ (WebCore::InspectorInstrumentation::loadEventFired): |
+ (WebCore::InspectorInstrumentation::frameDetachedFromParent): |
+ (WebCore::InspectorInstrumentation::didCommitLoad): |
+ (WebCore::InspectorInstrumentation::loaderDetachedFromFrame): |
+ (WebCore::InspectorInstrumentation::willDestroyCachedResource): |
+ (WebCore::InspectorInstrumentation::willWriteHTML): |
+ (WebCore::InspectorInstrumentation::didWriteHTML): |
+ (WebCore::InspectorInstrumentation::didUseDOMStorage): |
+ (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent): |
+ (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart): |
+ (WebCore::InspectorInstrumentation::didStartWorkerContext): |
+ (WebCore::InspectorInstrumentation::workerContextTerminated): |
+ (WebCore::InspectorInstrumentation::didCreateWebSocket): |
+ (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest): |
+ (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse): |
+ (WebCore::InspectorInstrumentation::didCloseWebSocket): |
+ (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame): |
+ (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError): |
+ (WebCore::InspectorInstrumentation::didSendWebSocketFrame): |
+ (WebCore::InspectorInstrumentation::networkStateChanged): |
+ (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): |
+ (WebCore::InspectorInstrumentation::didRequestAnimationFrame): |
+ (WebCore::InspectorInstrumentation::didCancelAnimationFrame): |
+ (WebCore::InspectorInstrumentation::willFireAnimationFrame): |
+ (WebCore::InspectorInstrumentation::didFireAnimationFrame): |
+ (WebCore::InspectorInstrumentation::overrideGeolocationPosition): |
+ (WebCore::InspectorInstrumentation::overrideDeviceOrientation): |
+ * loader/appcache/ApplicationCacheGroup.cpp: |
+ (WebCore::ApplicationCacheGroup::didFinishLoading): |
+ (WebCore::ApplicationCacheGroup::didFail): |
+ |
+2012-12-12 Dean Jackson <dino@apple.com> |
+ |
+ Reinstate CIFilter code for Lion |
+ https://bugs.webkit.org/show_bug.cgi?id=104847 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ This basically reverts r137500 for Lion, because some |
+ CAFilter types are not available there. |
+ |
+ Covered by existing tests, with the warning that Lion |
+ baselines will need updating. |
+ |
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
+ (PlatformCALayer::setFilters): Put an ugly #if in to |
+ detect OS X 10.7, and rename caFilter variable to |
+ filter. |
+ |
+2012-12-12 Seokju Kwon <seokju.kwon@gmail.com> |
+ |
+ [EFL] Refactor duplicate code into EflInspectorUtilities |
+ https://bugs.webkit.org/show_bug.cgi?id=104329 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ Move duplicate work into EflInspectorUtilities. |
+ |
+ No new tests, refactoring. |
+ |
+ * PlatformEfl.cmake: |
+ * platform/efl/EflInspectorUtilities.cpp: Added. |
+ (WebCore): |
+ (WebCore::inspectorResourcePath): |
+ * platform/efl/EflInspectorUtilities.h: Added. |
+ (WebCore): |
+ |
+2012-12-12 Mark Lam <mark.lam@apple.com> |
+ |
+ Fixing a chromium build breakage due to r137520. |
+ https://bugs.webkit.org/show_bug.cgi?id=104741. |
+ |
+ Not reviewed. |
+ |
+ Added #ifdef !PLATFORM(CHROMIUM) for one function chromium doesn't use. |
+ |
+ No new tests. |
+ |
+ * Modules/webdatabase/DatabaseManager.cpp: |
+ (WebCore::DatabaseManager::initialize): |
+ * Modules/webdatabase/DatabaseTracker.h: |
+ (DatabaseTracker): |
+ |
+2012-12-11 Emil A Eklund <eae@chromium.org> |
+ |
+ REGRESSION (Subpixel layout): Gray vertical lines appear when moving insertion point to right on Mac |
+ https://bugs.webkit.org/show_bug.cgi?id=102402 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Round paintOffset in CaretBase::paintCaret to ensure that caret is painted at an integer pixel boundary. |
+ |
+ Test: fast/sub-pixel/input-caret-on-subpixel-bound.html |
+ |
+ * editing/FrameSelection.cpp: |
+ (WebCore::CaretBase::paintCaret): Round paintOffset to ensure it is on a pixel boundary. |
+ |
+2012-12-12 Elliott Sprehn <esprehn@gmail.com> |
+ |
+ REGRESSION(137336): Generated run-ins are not placed correctly |
+ https://bugs.webkit.org/show_bug.cgi?id=104840 |
+ |
+ Reviewed by Abhishek Arya. |
+ |
+ Now that :before and :after are not anonymous we no longer need special |
+ handling for run-ins. Currently placeRunInIfNeeded will only place |
+ a generated content run-in if a special flag is passed, but I removed |
+ the call with the flag as it wasn't needed in r137336. This patch just |
+ removes all special handling for generated content run-ins. |
+ |
+ Test: fast/css-generated-content/generated-runin.html |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): |
+ (WebCore::RenderBlock::placeRunInIfNeeded): |
+ (WebCore::RenderBlock::createReplacementRunIn): |
+ Lots of simplfication since there's no more anonymous run-ins. |
+ * rendering/RenderBlock.h: |
+ (RenderBlock): |
+ * rendering/RenderObject.h: |
+ |
+2012-12-12 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Don't unconditionally repaint compositing layers when their size changes |
+ https://bugs.webkit.org/show_bug.cgi?id=104461 |
+ |
+ Reviewed by James Robinson. |
+ |
+ In r137215 I attempted to avoid excessive repainting when compositing layers |
+ change size. This caused stretched layers when layer size changed as a result |
+ of bounds constraining in updateCompositedBounds(), so was conditionalized |
+ based on whether constraining happend, in r137248. |
+ |
+ However, the TileCache layer was affected by constraining, erroneously: |
+ shouldClipCompositedBounds() returned true of the tile cache layer. This |
+ is pointless, because we only constrain to the document bounds (or enclosing |
+ overflow), and the tile cache is already the size of the document bounds. |
+ |
+ So, disable size constraining for the tile cache layer, and fix |
+ a confusing comment in updateCompositedBounds() that refers to the |
+ view's bounds, rather than the document's bounds. |
+ |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::shouldClipCompositedBounds): |
+ (WebCore::RenderLayerBacking::updateCompositedBounds): |
+ |
+2012-12-12 Elliott Sprehn <esprehn@gmail.com> |
+ |
+ [Refactoring] Replace Node's Document pointer with a TreeScope pointer |
+ https://bugs.webkit.org/show_bug.cgi?id=59816 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Instead of giving every node in a shadow a rare data, which can be quite |
+ large, we replace the Document pointer in Node with a TreeScope pointer |
+ and we give TreeScope a pointer to it's document scope. |
+ |
+ This introduces no branches in document() because in the common |
+ case document() becomes equivalent to m_treeScope->m_documentScope where |
+ the documentScope is actually m_treeScope so this shouldn't introduce a |
+ perf regression. |
+ |
+ Note also that TreeScope can never be null after r136328, and the document |
+ pointer is only null for DocumentType nodes so we can use a special |
+ no-document TreeScope for this case that always returns null from |
+ documentScope(). |
+ |
+ No new tests, no change in behavior. |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ (WebCore::Document::~Document): |
+ (WebCore::Document::suggestedMIMEType): |
+ * dom/Document.h: |
+ (WebCore::Node::isDocumentNode): |
+ (WebCore::Node::Node): |
+ * dom/Element.cpp: |
+ (WebCore::Element::createRareData): |
+ * dom/ElementRareData.h: |
+ (ElementRareData): |
+ (WebCore::ElementRareData::ElementRareData): |
+ * dom/Node.cpp: |
+ (WebCore::Node::~Node): |
+ (WebCore::Node::createRareData): |
+ (WebCore::Node::attach): |
+ (WebCore::Node::reportMemoryUsage): |
+ * dom/Node.h: |
+ (WebCore): |
+ (WebCore::NodeRareDataBase::NodeRareDataBase): |
+ (NodeRareDataBase): |
+ (WebCore::Node::treeScope): |
+ (WebCore::Node::inDocument): |
+ (WebCore::Node::documentInternal): |
+ (WebCore::Node::setTreeScope): |
+ (Node): |
+ * dom/NodeRareData.cpp: |
+ (WebCore::NodeRareData::reportMemoryUsage): |
+ * dom/NodeRareData.h: |
+ (WebCore::NodeRareData::NodeRareData): |
+ * dom/ShadowRoot.cpp: |
+ (WebCore::ShadowRoot::ShadowRoot): |
+ * dom/TreeScope.cpp: |
+ (SameSizeAsTreeScope): |
+ (WebCore::TreeScope::TreeScope): |
+ (WebCore::TreeScope::setParentTreeScope): |
+ * dom/TreeScope.h: |
+ (WebCore): |
+ (TreeScope): |
+ (WebCore::TreeScope::documentScope): |
+ (WebCore::TreeScope::noDocumentInstance): |
+ Returns a special tree scope that has no document for use with |
+ DocumentType nodes. |
+ (WebCore::TreeScope::setDocumentScope): |
+ * dom/TreeScopeAdopter.cpp: |
+ (WebCore::TreeScopeAdopter::moveTreeToNewScope): |
+ (WebCore::TreeScopeAdopter::moveTreeToNewDocument): |
+ (WebCore::TreeScopeAdopter::moveNodeToNewDocument): |
+ |
+2012-12-12 Mark Lam <mark.lam@apple.com> |
+ |
+ Encapsulate externally used webdatabase APIs in DatabaseManager. |
+ https://bugs.webkit.org/show_bug.cgi?id=104741. |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase, |
+ and DatabaseContext directly. This is to prepare for upcoming webkit2 |
+ refactoring. |
+ |
+ No new tests. |
+ |
+ * CMakeLists.txt: |
+ * Modules/webdatabase/DatabaseManager.cpp: Added. |
+ (WebCore::DatabaseManager::manager): |
+ (WebCore::DatabaseManager::DatabaseManager): |
+ (WebCore::DatabaseManager::initialize): |
+ (WebCore::DatabaseManager::setClient): |
+ (WebCore::DatabaseManager::isAvailable): |
+ (WebCore::DatabaseManager::setIsAvailable): |
+ (WebCore::DatabaseManager::hasOpenDatabases): |
+ (WebCore::DatabaseManager::stopDatabases): |
+ (WebCore::DatabaseManager::fullPathForDatabase): |
+ (WebCore::DatabaseManager::databaseDirectoryPath): |
+ (WebCore::DatabaseManager::setDatabaseDirectoryPath): |
+ (WebCore::DatabaseManager::hasEntryForOrigin): |
+ (WebCore::DatabaseManager::origins): |
+ (WebCore::DatabaseManager::databaseNamesForOrigin): |
+ (WebCore::DatabaseManager::detailsForNameAndOrigin): |
+ (WebCore::DatabaseManager::usageForOrigin): |
+ (WebCore::DatabaseManager::quotaForOrigin): |
+ (WebCore::DatabaseManager::setQuota): |
+ (WebCore::DatabaseManager::deleteAllDatabases): |
+ (WebCore::DatabaseManager::deleteOrigin): |
+ (WebCore::DatabaseManager::deleteDatabase): |
+ (WebCore::DatabaseManager::closeDatabasesImmediately): |
+ (WebCore::DatabaseManager::interruptAllDatabasesForContext): |
+ * Modules/webdatabase/DatabaseManager.h: Added. |
+ (DatabaseManager): |
+ (WebCore::DatabaseManager::~DatabaseManager): |
+ * Modules/webdatabase/DatabaseManagerClient.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseTrackerClient.h. |
+ (WebCore::DatabaseManagerClient::~DatabaseManagerClient): |
+ * Modules/webdatabase/DatabaseTracker.cpp: |
+ (WebCore::DatabaseTracker::setClient): |
+ * Modules/webdatabase/DatabaseTracker.h: |
+ (DatabaseTracker): |
+ * Modules/webdatabase/DatabaseTrackerClient.h: Removed. |
+ * Target.pri: |
+ * WebCore.exp.in: |
+ * WebCore.gyp/WebCore.gyp: |
+ * WebCore.gypi: |
+ * WebCore.order: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled): |
+ (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled): |
+ * history/PageCache.cpp: |
+ (WebCore::logCanCacheFrameDecision): |
+ (WebCore::PageCache::canCachePageContainingThisFrame): |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::stopLoading): |
+ * page/DOMWindow.cpp: |
+ * workers/WorkerThread.cpp: |
+ (WebCore::WorkerThreadShutdownStartTask::performTask): |
+ (WebCore::WorkerThread::stop): |
+ |
+2012-12-12 Tony Chang <tony@chromium.org> |
+ |
+ [chromium] don't write additional idl files to a gyp temp file |
+ https://bugs.webkit.org/show_bug.cgi?id=104831 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ The <|( command doesn't work for files like <(PRODUCT_DIR) or <(SHARED_INTERMEDIATE_DIR). |
+ For additional_idl_files, pass it as a parameter instead of a file listing the filenames. |
+ There are currently only 3 files in this variable. This shouldn't overflow the command |
+ line since the limit on Windows is 8k and with this change, we're still only around 4.5k. |
+ Also, the longest part of the command line is the list of defines. If needed, we could put |
+ that in a file instead. |
+ |
+ No new tests, this is a refactoring of the build files. |
+ |
+ * WebCore.gyp/WebCore.gyp: Don't use <|( for additional_idl_files. |
+ * bindings/scripts/generate-bindings.pl: Change --additionalIdlFilesList to |
+ --additionalIdlFiles, which is a shell argument containing the filenames. |
+ |
+2012-12-12 Chris Rogers <crogers@google.com> |
+ |
+ Implement OfflineAudioContext constructor |
+ https://bugs.webkit.org/show_bug.cgi?id=104188 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ The Web Audio layout tests have relied on an undocumented way (in the specification) to render |
+ audio faster than realtime using an OfflineAudioContext. We want to expose a proper OfflineAudioContext |
+ object and constructor instead of piggybacking off of the normal AudioContext. |
+ |
+ * CMakeLists.txt: |
+ * DerivedSources.make: |
+ * DerivedSources.pri: |
+ * GNUmakefile.list.am: |
+ * Modules/webaudio/AudioContext.cpp: |
+ (WebCore::AudioContext::isSampleRateRangeGood): |
+ * Modules/webaudio/AudioContext.h: |
+ (AudioContext): |
+ * Modules/webaudio/DOMWindowWebAudio.idl: |
+ * Modules/webaudio/OfflineAudioContext.cpp: Added. |
+ (WebCore): |
+ (WebCore::OfflineAudioContext::create): |
+ (WebCore::OfflineAudioContext::OfflineAudioContext): |
+ (WebCore::OfflineAudioContext::~OfflineAudioContext): |
+ * Modules/webaudio/OfflineAudioContext.h: Added. |
+ (WebCore): |
+ (OfflineAudioContext): |
+ * Modules/webaudio/OfflineAudioContext.idl: Added. |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/generic/RuntimeEnabledFeatures.h: |
+ (WebCore::RuntimeEnabledFeatures::webkitOfflineAudioContextEnabled): |
+ * bindings/js/JSAudioContextCustom.cpp: |
+ (WebCore::JSAudioContextConstructor::constructJSAudioContext): |
+ * bindings/v8/custom/V8AudioContextCustom.cpp: |
+ (WebCore::V8AudioContext::constructorCallbackCustom): |
+ |
+2012-12-12 John Griggs <jgriggs@rim.com> |
+ |
+ 2012-12-12 John Griggs <jgriggs@rim.com> |
+ |
+ [BlackBerry] Update Media Controls for BlackBerry Platform |
+ https://bugs.webkit.org/show_bug.cgi?id=104443 |
+ https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=204748 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ Update Media Controls for BlackBerry platform to allow audio, embedded video and fullscreen video controls to be positioned and styled differently. |
+ |
+ BlackBerry-specific update to Media Controls - No new tests required. |
+ |
+ * PlatformBlackBerry.cmake: |
+ * css/mediaControlsBlackBerry.css: |
+ (audio): |
+ (audio::-webkit-media-controls-embedded-panel, video::-webkit-media-controls-embedded-panel): |
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): |
+ (video::-webkit-media-controls-button-group-container, audio::-webkit-media-controls-button-group-container): |
+ (video::-webkit-media-controls-fullscreen-time-display-container, audio::-webkit-media-controls-fullscreen-time-display-container): |
+ (video::-webkit-media-controls-time-display-container, audio::-webkit-media-controls-time-display-container): |
+ (video::-webkit-media-controls-fullscreen-play-button, audio::-webkit-media-controls-fullscreen-play-button): |
+ (video::-webkit-media-controls-play-button, audio::-webkit-media-controls-play-button): |
+ (audio::-webkit-media-controls-fullscreen-timeline-container, video::-webkit-media-controls-fullscreen-timeline-container): |
+ (video::-webkit-media-controls-timeline-container, audio::-webkit-media-controls-timeline-container): |
+ (audio::-webkit-media-controls-fullscreen-current-time-display, video::-webkit-media-controls-fullscreen-current-time-display): |
+ (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): |
+ (video::-webkit-media-controls-fullscreen-time-remaining-display, audio::-webkit-media-controls-fullscreen-time-remaining-display): |
+ (video::-webkit-media-controls-time-remaining-display, audio::-webkit-media-controls-time-remaining-display): |
+ (audio::-webkit-media-controls-fullscreen-timeline, video::-webkit-media-controls-fullscreen-timeline): |
+ (video::-webkit-media-controls-fullscreen-fullscreen-button, audio::-webkit-media-controls-fullscreen-fullscreen-button): |
+ (video::-webkit-media-controls-fullscreen-button): |
+ (audio::-webkit-media-controls-fullscreen-button): |
+ (audio::-webkit-media-controls-audio-mute-button): |
+ (video::-webkit-media-controls-audio-mute-button): |
+ (audio::-webkit-media-controls-volume-slider-container): |
+ (video::-webkit-media-controls-volume-slider-container): |
+ (audio::-webkit-media-controls-volume-slider): |
+ (video::-webkit-media-controls-volume-slider): |
+ (video::-webkit-media-controls-fullscreen-button-divider, audio::-webkit-media-controls-fullscreen-button-divider): |
+ (video::-webkit-media-controls-fullscreen-button-container, video::-webkit-media-controls-play-button-container, audio::-webkit-media-controls-fullscreen-button-container, audio::-webkit-media-controls-play-button-container): |
+ * css/mediaControlsBlackBerryFullscreen.css: Added. |
+ (body:-webkit-full-page-media): |
+ (video:-webkit-full-screen::-webkit-media-controls-embedded-panel): |
+ (video:-webkit-full-screen::-webkit-media-controls-panel): |
+ (video:-webkit-full-screen::-webkit-media-controls-button-group-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-display-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-time-display-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-play-button): |
+ (video:-webkit-full-screen::-webkit-media-controls-play-button): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-timeline-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-current-time-display): |
+ (video:-webkit-full-screen::-webkit-media-controls-current-time-display): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-remaining-display): |
+ (video:-webkit-full-screen::-webkit-media-controls-time-remaining-display): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline): |
+ (video:-webkit-full-screen::-webkit-media-controls-timeline): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-fullscreen-button): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button): |
+ (video:-webkit-full-screen::-webkit-media-controls-audio-mute-button): |
+ (video:-webkit-full-screen::-webkit-media-controls-volume-slider-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-volume-slider): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-divider): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container, video:-webkit-full-screen::-webkit-media-controls-play-button-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-play-button-container): |
+ (video:-webkit-full-screen::-webkit-media-controls-placeholder): |
+ * html/shadow/MediaControlsBlackBerry.cpp: Added. |
+ (WebCore): |
+ (WebCore::MediaControlButtonGroupContainerElement::MediaControlButtonGroupContainerElement): |
+ (WebCore::MediaControlButtonGroupContainerElement::create): |
+ (WebCore::MediaControlButtonGroupContainerElement::shadowPseudoId): |
+ (WebCore::MediaControlTimeDisplayContainerElement::MediaControlTimeDisplayContainerElement): |
+ (WebCore::MediaControlTimeDisplayContainerElement::create): |
+ (WebCore::MediaControlTimeDisplayContainerElement::shadowPseudoId): |
+ (WebCore::MediaControlEmbeddedPanelElement::MediaControlEmbeddedPanelElement): |
+ (WebCore::MediaControlEmbeddedPanelElement::create): |
+ (WebCore::MediaControlEmbeddedPanelElement::shadowPseudoId): |
+ (WebCore::MediaControlEmbeddedPanelElement::startDrag): |
+ (WebCore::MediaControlEmbeddedPanelElement::continueDrag): |
+ (WebCore::MediaControlEmbeddedPanelElement::endDrag): |
+ (WebCore::MediaControlEmbeddedPanelElement::startTimer): |
+ (WebCore::MediaControlEmbeddedPanelElement::stopTimer): |
+ (WebCore::MediaControlEmbeddedPanelElement::transitionTimerFired): |
+ (WebCore::MediaControlEmbeddedPanelElement::setPosition): |
+ (WebCore::MediaControlEmbeddedPanelElement::resetPosition): |
+ (WebCore::MediaControlEmbeddedPanelElement::makeOpaque): |
+ (WebCore::MediaControlEmbeddedPanelElement::makeTransparent): |
+ (WebCore::MediaControlEmbeddedPanelElement::defaultEventHandler): |
+ (WebCore::MediaControlEmbeddedPanelElement::setCanBeDragged): |
+ (WebCore::MediaControlEmbeddedPanelElement::setIsDisplayed): |
+ (WebCore::MediaControlFullscreenTimeDisplayContainerElement::MediaControlFullscreenTimeDisplayContainerElement): |
+ (WebCore::MediaControlFullscreenTimeDisplayContainerElement::create): |
+ (WebCore::MediaControlFullscreenTimeDisplayContainerElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenButtonContainerElement::MediaControlFullscreenButtonContainerElement): |
+ (WebCore::MediaControlFullscreenButtonContainerElement::create): |
+ (WebCore::MediaControlFullscreenButtonContainerElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenButtonDividerElement::MediaControlFullscreenButtonDividerElement): |
+ (WebCore::MediaControlFullscreenButtonDividerElement::create): |
+ (WebCore::MediaControlFullscreenButtonDividerElement::shadowPseudoId): |
+ (WebCore::MediaControlPlayButtonContainerElement::MediaControlPlayButtonContainerElement): |
+ (WebCore::MediaControlPlayButtonContainerElement::create): |
+ (WebCore::MediaControlPlayButtonContainerElement::shadowPseudoId): |
+ (WebCore::MediaControlPlaceholderElement::MediaControlPlaceholderElement): |
+ (WebCore::MediaControlPlaceholderElement::create): |
+ (WebCore::MediaControlPlaceholderElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenPlayButtonElement::MediaControlFullscreenPlayButtonElement): |
+ (WebCore::MediaControlFullscreenPlayButtonElement::create): |
+ (WebCore::MediaControlFullscreenPlayButtonElement::defaultEventHandler): |
+ (WebCore::MediaControlFullscreenPlayButtonElement::updateDisplayType): |
+ (WebCore::MediaControlFullscreenPlayButtonElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenFullscreenButtonElement::MediaControlFullscreenFullscreenButtonElement): |
+ (WebCore::MediaControlFullscreenFullscreenButtonElement::create): |
+ (WebCore::MediaControlFullscreenFullscreenButtonElement::defaultEventHandler): |
+ (WebCore::MediaControlFullscreenFullscreenButtonElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen): |
+ (WebCore::MediaControlFullscreenTimelineContainerElement::MediaControlFullscreenTimelineContainerElement): |
+ (WebCore::MediaControlFullscreenTimelineContainerElement::create): |
+ (WebCore::MediaControlFullscreenTimelineContainerElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenTimelineElement::MediaControlFullscreenTimelineElement): |
+ (WebCore::MediaControlFullscreenTimelineElement::create): |
+ (WebCore::MediaControlFullscreenTimelineElement::defaultEventHandler): |
+ (WebCore::MediaControlFullscreenTimelineElement::willRespondToMouseClickEvents): |
+ (WebCore::MediaControlFullscreenTimelineElement::setPosition): |
+ (WebCore::MediaControlFullscreenTimelineElement::setDuration): |
+ (WebCore::MediaControlFullscreenTimelineElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenTimeRemainingDisplayElement::create): |
+ (WebCore::MediaControlFullscreenTimeRemainingDisplayElement::MediaControlFullscreenTimeRemainingDisplayElement): |
+ (WebCore::MediaControlFullscreenTimeRemainingDisplayElement::shadowPseudoId): |
+ (WebCore::MediaControlFullscreenCurrentTimeDisplayElement::create): |
+ (WebCore::MediaControlFullscreenCurrentTimeDisplayElement::MediaControlFullscreenCurrentTimeDisplayElement): |
+ (WebCore::MediaControlFullscreenCurrentTimeDisplayElement::shadowPseudoId): |
+ (WebCore::MediaControlAudioMuteButtonElement::MediaControlAudioMuteButtonElement): |
+ (WebCore::MediaControlAudioMuteButtonElement::create): |
+ (WebCore::MediaControlAudioMuteButtonElement::defaultEventHandler): |
+ (WebCore::MediaControlAudioMuteButtonElement::shadowPseudoId): |
+ (WebCore::MediaControlsBlackBerry::MediaControlsBlackBerry): |
+ (WebCore::MediaControls::create): |
+ (WebCore::MediaControlsBlackBerry::createControls): |
+ (WebCore::MediaControlsBlackBerry::setMediaController): |
+ (WebCore::MediaControlsBlackBerry::show): |
+ (WebCore::MediaControlsBlackBerry::hide): |
+ (WebCore::MediaControlsBlackBerry::makeOpaque): |
+ (WebCore::MediaControlsBlackBerry::makeTransparent): |
+ (WebCore::MediaControlsBlackBerry::reset): |
+ (WebCore::MediaControlsBlackBerry::bufferingProgressed): |
+ (WebCore::MediaControlsBlackBerry::playbackStarted): |
+ (WebCore::MediaControlsBlackBerry::playbackProgressed): |
+ (WebCore::MediaControlsBlackBerry::playbackStopped): |
+ (WebCore::MediaControlsBlackBerry::updateCurrentTimeDisplay): |
+ (WebCore::MediaControlsBlackBerry::reportedError): |
+ (WebCore::MediaControlsBlackBerry::changedMute): |
+ (WebCore::MediaControlsBlackBerry::enteredFullscreen): |
+ (WebCore::MediaControlsBlackBerry::exitedFullscreen): |
+ (WebCore::MediaControlsBlackBerry::showVolumeSlider): |
+ (WebCore::MediaControlsBlackBerry::toggleVolumeSlider): |
+ (WebCore::MediaControlsBlackBerry::shouldHideControls): |
+ * html/shadow/MediaControlsBlackBerry.h: Added. |
+ (WebCore): |
+ (MediaControlButtonGroupContainerElement): |
+ (MediaControlTimeDisplayContainerElement): |
+ (MediaControlEmbeddedPanelElement): |
+ (MediaControlFullscreenTimeDisplayContainerElement): |
+ (MediaControlFullscreenButtonContainerElement): |
+ (MediaControlFullscreenButtonDividerElement): |
+ (MediaControlPlayButtonContainerElement): |
+ (MediaControlPlaceholderElement): |
+ (MediaControlFullscreenPlayButtonElement): |
+ (MediaControlFullscreenFullscreenButtonElement): |
+ (MediaControlFullscreenTimelineContainerElement): |
+ (MediaControlFullscreenTimelineElement): |
+ (MediaControlFullscreenTimeRemainingDisplayElement): |
+ (MediaControlFullscreenCurrentTimeDisplayElement): |
+ (MediaControlAudioMuteButtonElement): |
+ (MediaControlsBlackBerry): |
+ * platform/blackberry/RenderThemeBlackBerry.cpp: |
+ (WebCore): |
+ (WebCore::RenderThemeBlackBerry::extraFullScreenStyleSheet): |
+ (WebCore::RenderThemeBlackBerry::adjustSliderThumbSize): |
+ (WebCore::RenderThemeBlackBerry::paintSliderTrackRect): |
+ (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle): |
+ (WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle): |
+ (WebCore::RenderThemeBlackBerry::paintMediaRewindButton): |
+ (WebCore::RenderThemeBlackBerry::paintMediaMuteButton): |
+ (WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton): |
+ (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack): |
+ (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb): |
+ (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack): |
+ (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb): |
+ * platform/blackberry/RenderThemeBlackBerry.h: |
+ (WebCore::RenderThemeBlackBerry::usesVerticalVolumeSlider): |
+ (RenderThemeBlackBerry): |
+ |
+2012-12-12 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. This caused a crash |
+ if it was called by accessibilityIsIgnored during object destruction, |
+ so I simplified accessibilityIsIgnored to not actually call textUnderElement, |
+ without affecting test results, which should actually be a decent speedup. |
+ |
+ 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-12 Eberhard Graether <egraether@google.com> |
+ |
+ Web Inspector: follow up to r136974: handle visibility shortcut in keydown event of ElementsTreeOutline.element |
+ https://bugs.webkit.org/show_bug.cgi?id=104694 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Typing H in the StylesSidebarPane caused toggling of the selected elements visibility. This change only handles |
+ the H keydown when the ElementsPanel is focused. |
+ |
+ No new tests. |
+ |
+ * inspector/front-end/ElementsTreeOutline.js: |
+ (WebInspector.ElementsTreeOutline): |
+ (WebInspector.ElementsTreeOutline.prototype._onkeydown): |
+ (WebInspector.ElementsTreeOutline.prototype.handleShortcut): |
+ * inspector/front-end/KeyboardShortcut.js: |
+ (WebInspector.KeyboardShortcut.hasNoModifiers): |
+ |
+2012-12-12 Philip Rogers <pdr@google.com> |
+ |
+ Fix target element handling in SVGSMILElement. |
+ https://bugs.webkit.org/show_bug.cgi?id=104495 |
+ |
+ Reviewed by Abhishek Arya. |
+ |
+ This patch fixes two bugs that led to stale target elements in SVGSMILElement. |
+ |
+ r122449 changed the <use> code to call removeAllElementReferencesForTarget to rebuild |
+ dependent <use> trees. This contained a bug where element references would be incorrectly |
+ removed. removeAllElementReferencesForTarget calls svgAttributeChanged(href) on all |
+ references, which can then re-add the references back. The bug is that |
+ removeAllElementReferencesForTarget removes a newly-added reference as the last step. |
+ |
+ r136906 changed targetElement() to no longer be lazily resolved so any changes to an |
+ animation's href attribute needed to be tracked. r136906 refactored the code but did not |
+ fix a bug where animation elements not in the document would not react to |
+ svgAttributeChanged(href). |
+ |
+ The combination of these two bugs allowed stale targetElement references to exist. A |
+ target element could be removed from the document without dependent animation elements |
+ receiving a notification (bug 1) and not reacting to notifications they received (bug 2). |
+ |
+ This patch updates SVGUseElement::buildInstanceTree to only rebuild (not remove) the |
+ elements referencing the target by adding rebuildAllElementReferencesForTarget. This patch |
+ also updates SVGSMILElement to correctly react to svgAttributeChanged() notifications |
+ for href changes even when not in the document. |
+ |
+ Test: svg/animations/target-condition-crash.html |
+ |
+ * svg/SVGDocumentExtensions.cpp: |
+ (WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget): |
+ (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): |
+ |
+ Refactored so that we can notify element references to update without removing |
+ references. |
+ |
+ * svg/SVGDocumentExtensions.h: |
+ (SVGDocumentExtensions): |
+ * svg/SVGElement.cpp: |
+ (WebCore::SVGElement::~SVGElement): |
+ (WebCore::SVGElement::removedFrom): |
+ |
+ Similar to SVGUseElement::buildShadowAndInstanceTree, this callsite was updated to |
+ only rebuild references instead of removing them. |
+ |
+ (WebCore::SVGElement::attributeChanged): |
+ * svg/SVGUseElement.cpp: |
+ (WebCore::SVGUseElement::buildShadowAndInstanceTree): |
+ |
+ The comment indicates we just want to rebuild (not remove). This callsite has been |
+ updated to use the new rebuildAllElementReferencesForTarget function. |
+ |
+ (WebCore::SVGUseElement::buildInstanceTree): |
+ * svg/animation/SVGSMILElement.cpp: |
+ (WebCore::SVGSMILElement::buildPendingResource): |
+ (WebCore::SVGSMILElement::removedFrom): |
+ |
+ Previously, if an SVGSMILElement was not in the document, only clearResourceReferences |
+ would be called when the target changed. This has been refactored to reset the |
+ targetElement if the element needs to build resources but is not in the document. |
+ |
+ I looked at moving this into clearResourceReferences (since the target element might |
+ be considered a reference) but we run into issues calling pure virtual functions in |
+ the destructor. The current implementation seemed the cleanest. |
+ |
+ SVGSMILElement::removedFrom was cleaned up to match the rest of the code. The comment |
+ in removedFrom appears to be stale since disconnectConditions does not kill the element. |
+ |
+ (WebCore::SVGSMILElement::svgAttributeChanged): |
+ |
+ Removed the bad !inDocument() checks that broke href change notifications. |
+ |
+ (WebCore::SVGSMILElement::setTargetElement): |
+ |
+2012-12-12 Alpha Lam <hclam@chromium.org> |
+ |
+ [chromium] Minimize memcpy for encoded image data in ImageFrameGenerator |
+ https://bugs.webkit.org/show_bug.cgi?id=103797 |
+ |
+ Reviewed by Stephen White. |
+ |
+ Added a new class ThreadSafeDataTransport to help transporting data in |
+ SharedBuffer from one thread to another. This class is designed to minimize |
+ thread contention and memory copy. |
+ |
+ It is implemented using a data queue. New data segments are copied into |
+ this queue. The queue is then consolidated with existing data when user |
+ requests access to the final SharedBuffer. |
+ |
+ Memory is copied into and out of the queue but this approach avoid |
+ copying the entire SharedBuffer. |
+ |
+ ImageFrameGenerator is now using this class for data transport between |
+ threads. |
+ |
+ Unit tests in ThreadSafeDataTransportTest. Also existing ImageFrameGeneratorTest passes. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/ImageFrameGenerator.cpp: |
+ (WebCore::ImageFrameGenerator::ImageFrameGenerator): |
+ (WebCore::ImageFrameGenerator::setData): |
+ (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale): |
+ Added logic to skip decoding if there's no new data. |
+ (WebCore::ImageFrameGenerator::decode): |
+ * platform/graphics/chromium/ImageFrameGenerator.h: |
+ (ImageFrameGenerator): |
+ * platform/graphics/chromium/ThreadSafeDataTransport.cpp: Added. |
+ (WebCore): |
+ (WebCore::ThreadSafeDataTransport::ThreadSafeDataTransport): |
+ (WebCore::ThreadSafeDataTransport::~ThreadSafeDataTransport): |
+ (WebCore::ThreadSafeDataTransport::setData): |
+ (WebCore::ThreadSafeDataTransport::data): |
+ (WebCore::ThreadSafeDataTransport::hasNewData): |
+ * platform/graphics/chromium/ThreadSafeDataTransport.h: Added. |
+ (WebCore): |
+ (ThreadSafeDataTransport): |
+ |
+2012-12-12 Roger Fong <roger_fong@apple.com> |
+ |
+ Enable VIDEO_TRACK on Windows. |
+ https://bugs.webkit.org/show_bug.cgi?id=104706. |
+ |
+ Reviewed by Timothy Horton. |
+ |
+ Enable VIDEO_TRACK on Windows and update project property files. |
+ |
+ * DerivedSources.cpp: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.vcproj/WebCoreCommon.vsprops: |
+ * WebCore.vcproj/copyForwardingHeaders.cmd: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore): |
+ * html/HTMLElementsAllInOne.cpp: |
+ * rendering/RenderingAllInOne.cpp: |
+ |
+2012-12-12 No'am Rosenthal <noam.rosenthal@nokia.com> |
+ |
+ REGRESSION: r137481 caused a build failure with GTK |
+ https://bugs.webkit.org/show_bug.cgi?id=104826 |
+ |
+ Unreviewed build fix. |
+ |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
+ (WebCore::GraphicsLayerTextureMapper::prepareBackingStore): |
+ Brought back #if PLATFORM(QT) to surround the dynamic_cast call. |
+ |
+2012-12-12 Dean Jackson <dino@apple.com> |
+ |
+ Use CAFilter rather than CIFilter |
+ https://bugs.webkit.org/show_bug.cgi?id=104759 |
+ |
+ Reviewed by Tim Horton. |
+ |
+ In order to get better performance in the simple CSS filter |
+ cases, use CAFilter rather than CIFilter. This involved |
+ defining some platform-specific values inside |
+ PlatformCALayerMac to expose CAFilter. |
+ |
+ The great side-effect is that this brings our hardware |
+ output much closer to our software filters. For example, |
+ on a random location in the hue-rotate test. |
+ |
+ Software: rgb(255, 148, 16) |
+ Hardware before: rgb(255, 204, 50) |
+ Hardware after: rgb(255, 165, 33) |
+ |
+ Still some improvement needed, but better. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
+ (CAColorMatrix): New structure to hold 5x4 matrix representing a color operation. |
+ (PlatformCALayer::setFilters): Use CAFilter objects rather than CIFilter. |
+ |
+2012-12-12 No'am Rosenthal <noam@webkit.org> |
+ |
+ [Texmap] Consolidate redundant code for ARB_RECT texture |
+ https://bugs.webkit.org/show_bug.cgi?id=104705 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ Instead of having a whole different function for RECT textures, |
+ keep the existing functions and pass a flag that tells |
+ TextureMapperGL to use the non-normalized coordinates and the |
+ RECT shaders. |
+ |
+ No new tests, refactor only. Tested to not break WebGL on |
+ Qt-Mac. |
+ |
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: |
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: |
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper): |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore::TextureMapperGL::drawQuad): |
+ Compensate for rect textures in drawQuad. |
+ |
+ (WebCore::TextureMapperGL::drawBorder): |
+ (WebCore::TextureMapperGL::drawTexture): |
+ (WebCore::TextureMapperGL::drawSolidColor): |
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing): |
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): |
+ Pass flags to TextureMapperGL::drawQuad instead of a bool. |
+ |
+ * platform/graphics/texmap/TextureMapperGL.h: |
+ (TextureMapperGL): |
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
+ (WebCore::getShaderSpec): |
+ * platform/graphics/texmap/TextureMapperShaderManager.h: |
+ (TextureMapperShaderProgram): |
+ Compensate for the texture-size in the vertex |
+ shader instead of in the fragment shader. |
+ |
+2012-12-12 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137491. |
+ http://trac.webkit.org/changeset/137491 |
+ https://bugs.webkit.org/show_bug.cgi?id=104828 |
+ |
+ broke the builtd (Requested by rfong on #webkit). |
+ |
+ * DerivedSources.cpp: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.vcproj/WebCoreCommon.vsprops: |
+ * WebCore.vcproj/copyForwardingHeaders.cmd: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore): |
+ * html/HTMLElementsAllInOne.cpp: |
+ * platform/NotImplemented.cpp: |
+ (WebCore): |
+ (WebCore::notImplementedLoggingChannel): |
+ * rendering/RenderingAllInOne.cpp: |
+ |
+2012-12-12 John J. Barton <johnjbarton@chromium.org> |
+ |
+ Web Inspector: remove protocol-externs.js temp file after compile-front-end.py |
+ https://bugs.webkit.org/show_bug.cgi?id=98799 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Add os.system rm for protocol-externs.js to the end of the compile script |
+ |
+ * inspector/compile-front-end.py: |
+ |
+2012-12-12 Robert Hogan <robert@webkit.org> |
+ |
+ White space between inline blocks should be affected by word-spacing property |
+ https://bugs.webkit.org/show_bug.cgi?id=69072 |
+ |
+ Reviewed by Levi Weintraub. |
+ |
+ Allow word-spacing to get added to the spaces between inline blocks in placeBoxesInInlineDirection by setting |
+ needsWordSpacing to true each time an inline block is encountered. This ensures that the next space encountered |
+ in a text run will be treated as a space between two words and will get word-spacing added to it if it is present |
+ in the style. |
+ |
+ Tests: fast/css/word-spacing-between-blocks.html |
+ fast/css/word-spacing-between-inlines.html |
+ |
+ * rendering/InlineFlowBox.cpp: |
+ (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): |
+ |
+2012-12-12 Xianzhu Wang <wangxianzhu@chromium.org> |
+ |
+ Pre-painting should not paint out-of-view fixed position elements |
+ https://bugs.webkit.org/show_bug.cgi?id=104724 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Test: ManualTests/compositing/fixed-position-out-of-view-scroll-prepaint.html |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::paintLayer): Don't paint out-of-view fixed position elements. |
+ |
+2012-12-11 Roger Fong <roger_fong@apple.com> |
+ |
+ Enable VIDEO_TRACK on Windows. |
+ https://bugs.webkit.org/show_bug.cgi?id=104706. |
+ |
+ Reviewed by Timothy Horton. |
+ |
+ Enable VIDEO_TRACK on Windows and update project property files. |
+ |
+ * DerivedSources.cpp: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.vcproj/WebCoreCommon.vsprops: |
+ * WebCore.vcproj/copyForwardingHeaders.cmd: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore): |
+ * html/HTMLElementsAllInOne.cpp: |
+ * rendering/RenderingAllInOne.cpp: |
+ |
+2012-12-12 James Simonsen <simonjam@chromium.org> |
+ |
+ [Resource Timing] Failed resources shouldn't be recorded in the buffer |
+ https://bugs.webkit.org/show_bug.cgi?id=104762 |
+ |
+ Reviewed by Tony Gentilcore. |
+ |
+ Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures.html |
+ |
+ * loader/cache/CachedResourceLoader.cpp: |
+ (WebCore::CachedResourceLoader::loadDone): |
+ |
+2012-12-12 Martin Robinson <mrobinson@igalia.com> |
+ |
+ [GTK] Add authentication support to DRT and fix exposed issues in the libsoup backend |
+ https://bugs.webkit.org/show_bug.cgi?id=104285 |
+ |
+ Reviewed by Gustavo Noronha Silva. |
+ |
+ Fix issues in the libsoup networking backend that were causing test |
+ failures. |
+ |
+ No new tests. This patch unskips authentication tests. |
+ |
+ * platform/network/soup/ResourceHandleSoup.cpp: |
+ (WebCore::isAuthenticationFailureStatusCode): Added this helper to catch authentication status codes |
+ and use it everywhere. |
+ (WebCore::applyAuthenticationToRequest): Use an early return instead of an if-statement |
+ and instead of always using manually specified credentials, apply those found in the session |
+ storage as well. Instead of applying the credentials to firstRequest always, accept the request |
+ as a parameter, so this method can be properly used with redirects. |
+ (WebCore::restartedCallback): Instead of creating the KURL directly from soup_uri_to_string |
+ use soupURIToKURL, which preserves the password from the SoupURI. soup_uri_to_string doesn't |
+ include the password. When calling applyAuthenticationToRequest update the new request. Before |
+ applyAuthenticationToRequest always updated the firstRequest. Do not call willSendRequest for |
+ instances when this method is called for authentication handling. willSendRequest should only |
+ be called for server-side redirects. |
+ (WebCore::createSoupRequestAndMessageForHandle): Use soup_requester_request_uri instead of |
+ soup_requester_request. Request::soupURI properly creates a SoupURI with non-null empty strings |
+ when either the username and password are empty. A null username or password does not trigger |
+ the URI-embedded credential override in SoupAuthenticationManager within libsoup. This is important |
+ because sometimes either the username or password might empty for a request, but the other |
+ part of the credential should still override the per-session credential storage. |
+ (WebCore::ResourceHandle::start): We don't need to clear the username and password from the |
+ internal data structure any longer. These need to be cleared in the CFNetwork backend because |
+ it prevents the same failed per-request credentials from being used over and over again. In our |
+ case we don't use these members during didReceiveAuthenticationChallenge, so this isn't an issue. |
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't look at the per-request |
+ m_user/m_pass pair here any longer. We use these when initially creating a request, so we don't |
+ want to re-use them if they fail. |
+ * platform/network/soup/ResourceRequest.h: |
+ (ResourceRequest): Rename urlStringForSoup to soupURI. |
+ * platform/network/soup/ResourceRequestSoup.cpp: |
+ (WebCore::ResourceRequest::soupURI): Instead of returning a string for the soup-bound URL |
+ return a SoupURI that properly embeds empty usernames and passwords. |
+ |
+2012-12-12 Alexey Proskuryakov <ap@apple.com> |
+ |
+ Make LOG() work in WebProcess and NetworkProcess |
+ https://bugs.webkit.org/show_bug.cgi?id=104718 |
+ |
+ Reviewed by Tim Horton. |
+ |
+ Split initialization function into a new InitializeLogging.h file, because it's |
+ needed in WebKit, but cannot be included along with WebKit version of this file. |
+ We'd have a confilct between LOG_CHANNEL_PREFIX definitions if we tried. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: Make Logging.h a project header, and |
+ InitializeLogging.h a private one. |
+ |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * platform/InitializeLogging.h: Added. |
+ * platform/Logging.h: |
+ |
+ * platform/blackberry/LoggingBlackBerry.cpp: |
+ * platform/efl/LoggingEfl.cpp: |
+ * platform/gtk/LoggingGtk.cpp: |
+ * platform/mac/LoggingMac.mm: |
+ * platform/qt/LoggingQt.cpp: |
+ * platform/win/LoggingWin.cpp: |
+ * platform/wx/LoggingWx.cpp: |
+ Include InitializeLogging.h where this function is implemented. |
+ |
+ * platform/NotImplemented.h: |
+ * platform/NotImplemented.cpp: Added. |
+ Changed to not include WebCore's Logging.h in the header, because NotImplemented.h |
+ is used in WebKits, which have incompatibe logging headers. |
+ |
+2012-12-12 Chris Fleizach <cfleizach@apple.com> |
+ |
+ AX: aria-busy should be exposed everywhere, not just on live regions |
+ https://bugs.webkit.org/show_bug.cgi?id=104814 |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ The aria-busy attribute should be exposed on all elements. |
+ This isn't entirely clear in the ARIA spec, but that will be fixed with |
+ ARIA1.1 (ISSUE-538). |
+ |
+ Existing tests that dump attributes cover this new behavior. |
+ |
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm: |
+ (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]): |
+ |
+2012-12-12 Gavin Peters <gavinp@chromium.org> |
+ |
+ [chromium] Add destructor to WebPrerender |
+ https://bugs.webkit.org/show_bug.cgi?id=104820 |
+ |
+ Reviewed by James Robinson. |
+ |
+ When making WebPrerender default constructible and assignable, the destructor should have been moved out of WEBKIT_IMPLEMENTATION. |
+ |
+ Existing WebKit unit tests should test this, as do chromium browser tests. |
+ |
+ * platform/chromium/support/WebPrerender.cpp: |
+ (WebKit::WebPrerender::toPrerender): |
+ (WebKit::WebPrerender::reset): |
+ |
+2012-12-12 Allan Sandfeld Jensen <allan.jensen@digia.com> |
+ |
+ [Qt] Animation fails on large layers |
+ https://bugs.webkit.org/show_bug.cgi?id=104538 |
+ |
+ Reviewed by Noam Rosenthal. |
+ |
+ The backing tiles had no upper limit defined for the non-GL backend, which could cause them |
+ to allocate pixmaps widier or higher than what the underlying graphics systems can handle. |
+ |
+ On top of that GraphicsLayerTextureMapper::prepareBackingStore() would allocate an intermediate |
+ pixmap the size of the dirty rect, which would at least on the first paint be the size of the |
+ entire layer, again causing allocation of pixmaps with dimensions outside of platform bounds. |
+ |
+ This patch introduces a limit to the size of image buffer tiles, and adds an alternative path |
+ for painting where the GraphicsLayer paints directly to the tile instead of over an intermediate |
+ pixmap. This alternative path can also be useful later to minimize the amount of pixel copying |
+ happening in full repaints. |
+ |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
+ (WebCore::GraphicsLayerTextureMapper::prepareBackingStore): |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
+ (GraphicsLayerTextureMapper): |
+ * platform/graphics/texmap/TextureMapper.cpp: |
+ (WebCore::BitmapTexture::updateContents): |
+ * platform/graphics/texmap/TextureMapper.h: |
+ (BitmapTexture): |
+ (TextureMapper): |
+ * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
+ (WebCore::TextureMapperTile::updateContents): |
+ (WebCore::TextureMapperTiledBackingStore::updateContents): |
+ * platform/graphics/texmap/TextureMapperBackingStore.h: |
+ (TextureMapperTile): |
+ (TextureMapperTiledBackingStore): |
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp: |
+ (WebCore::BitmapTextureImageBuffer::updateContents): |
+ (WebCore::TextureMapperImageBuffer::maxTextureSize): |
+ * platform/graphics/texmap/TextureMapperImageBuffer.h: |
+ (BitmapTextureImageBuffer): |
+ |
+2012-12-12 Aaron Colwell <acolwell@chromium.org> |
+ |
+ Remove MediaSource 'ended' to 'open' transition when seeking. |
+ https://bugs.webkit.org/show_bug.cgi?id=104583 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ Remove the 'ended' to 'open' transition on a seek. |
+ |
+ No new tests. The following tests were updated to reflect the new behavior. |
+ http/tests/media/media-source/video-media-source-seek.html |
+ http/tests/media/media-source/video-media-source-state-changes.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::seek): |
+ |
+2012-12-12 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ [CSS Grid Layout] Implement CSS parsing and handling for min-content and max-content |
+ https://bugs.webkit.org/show_bug.cgi?id=104747 |
+ |
+ Reviewed by Alexis Menard. |
+ |
+ This change adds -webkit-min-content and -webkit-max-content to our <track-breadth> parsing. |
+ The rendering is not plugged in and will probably depend on bug 103311. |
+ |
+ Tests: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html: |
+ fast/css-grid-layout/grid-columns-rows-get-set.html: |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseGridBreadth): |
+ * css/StyleResolver.cpp: |
+ (WebCore::createGridTrackBreadth): |
+ Straight-forward extension of the new code. We were already serializing back properly |
+ so no need to touch CSSComputedStyleDeclaration. |
+ |
+2012-12-12 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Copying text with ruby inserts new lines around rt elements |
+ https://bugs.webkit.org/show_bug.cgi?id=104765 |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ Don't emit new lines before and after rt. |
+ |
+ Test: editing/pasteboard/copy-paste-ruby-text.html |
+ |
+ * editing/TextIterator.cpp: |
+ (WebCore::shouldEmitNewlinesBeforeAndAfterNode): |
+ |
+2012-12-12 Krzysztof Czech <k.czech@samsung.com> |
+ |
+ [EFL] Possibility to turn off accessibility feature for WebKit-EFL. |
+ https://bugs.webkit.org/show_bug.cgi?id=103036 |
+ |
+ Reviewed by Laszlo Gombos. |
+ |
+ Guard dependencies for accessibility (ATK), so that they can be turned off. |
+ |
+ No new tests as there is no new functionality. |
+ |
+ * PlatformEfl.cmake: |
+ * accessibility/AccessibilityObject.cpp: |
+ (WebCore::AccessibilityObject::AccessibilityObject): |
+ * accessibility/AccessibilityObject.h: |
+ (AccessibilityObject): |
+ |
+2012-12-12 Justin Novosad <junov@google.com> |
+ |
+ Use render box background over border draw strategy in cases with background-image |
+ https://bugs.webkit.org/show_bug.cgi?id=103409 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ The BackgroundOverBorderBleedAvoidance mode was not being used in |
+ cases where the background is an opaque image. It was also not |
+ being used in cases with multiple layers. The multiple layer |
+ case is now safe with respect to color bleeding if the top layer |
+ is opaque, thank to the recent addition of layer occlusion culling |
+ in r135629. |
+ |
+ No new tests. Testing already covered by the following tests: |
+ fast/backgrounds/background-opaque-images-over-color.html |
+ fast/backgrounds/gradient-background-leakage-2.html |
+ |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::determineBackgroundBleedAvoidance): |
+ (WebCore::RenderBox::backgroundHasOpaqueTopLayer): |
+ * rendering/RenderBox.h: |
+ (RenderBox): |
+ |
+2012-12-12 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Web Inspector: instrument static parts of RenderBlock and RenderBox |
+ https://bugs.webkit.org/show_bug.cgi?id=104660 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Plain vanilla instrumentation. |
+ |
+ * dom/WebCoreMemoryInstrumentation.cpp: |
+ (WebCore): |
+ (WebCore::WebCoreMemoryInstrumentation::reportMemoryUsage): |
+ * dom/WebCoreMemoryInstrumentation.h: |
+ (WebCoreMemoryTypes): |
+ (WebCoreMemoryInstrumentation): |
+ (WebCore): |
+ * inspector/InspectorMemoryAgent.cpp: |
+ (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::reportStaticMembersMemoryUsage): |
+ (WebCore): |
+ * rendering/RenderBlock.h: |
+ (RenderBlock): |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::reportStaticMembersMemoryUsage): |
+ (WebCore): |
+ * rendering/RenderBox.h: |
+ (RenderBox): |
+ |
+2012-12-12 Ilya Tikhonovsky <loislo@chromium.org> |
+ |
+ Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo. |
+ https://bugs.webkit.org/show_bug.cgi?id=104796 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ It was not a good idea to introduce a fake root MemoryObjectInfo. |
+ It makes a problem when we visit an object without its own MemoryObjectType. |
+ |
+ Example: RenderBox has a global pointer to a hash map. |
+ HashMap doesn't have its own object type because it is a generic container. |
+ It will inherit object type from the fake root memory object info. |
+ The same could happen for another container in another class with other MemoryObjectType. |
+ |
+ This fact forces me to create custom process method for root objects |
+ because they need to have their own MemoryObjectInfo with customisable memory object type. |
+ |
+ Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using |
+ for instrumented and not instrumented object classes. |
+ |
+ * inspector/MemoryInstrumentationImpl.cpp: |
+ (WebCore::MemoryInstrumentationImpl::processDeferredObjects): |
+ (WebCore::MemoryInstrumentationImpl::deferObject): |
+ (WebCore::MemoryInstrumentationImpl::reportMemoryUsage): |
+ * inspector/MemoryInstrumentationImpl.h: |
+ (MemoryInstrumentationImpl): |
+ |
+2012-12-12 Kondapally Kalyan <kalyan.kondapally@intel.com> |
+ |
+ [EFL [WebGL] [Wk2] Resizing the canvas breaks WebGL. |
+ https://bugs.webkit.org/show_bug.cgi?id=104535. |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ GraphicsContext3DEfl does not re-create the surface on canvas resize, this |
+ conflicted with the logic in coordinated graphics Layer. |
+ CoordinatedGraphicsLayer checks for GraphicsSurfaceToken to decide if the surface |
+ in UI-Process should be recreated or not. With this |
+ patch we also check for size of the platform Layer. |
+ |
+ * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
+ (WebCore::GraphicsContext3D::createGraphicsSurfaces): |
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp: |
+ (GraphicsContext3DPrivate::didResizeCanvas): |
+ (GraphicsContext3DPrivate::platformLayerSize): |
+ * platform/graphics/efl/GraphicsContext3DPrivate.h: |
+ (GraphicsContext3DPrivate): |
+ |
+2012-12-12 Antoine Quint <graouts@apple.com> |
+ |
+ Web Inspector: Crash in InspectorDOMAgent::pushNodePathToFrontend when inspecting document with CSS generated content |
+ https://bugs.webkit.org/show_bug.cgi?id=104780 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ The pushNodePathForRenderLayerToFrontend() method added to InspectorDOMAgent naively assumed |
+ that all RenderLayers have a Node associated to them. However, in the case of CSS generated |
+ content, that will not be the case and we would call into pushNodePathToFrontend() with a 0 |
+ parameter that would hit the first ASSERT in this method. We're now checking that we indeed |
+ have an associated node for the provided RenderLayer and return 0 in case we don't, without |
+ calling into pushNodePathToFrontend(). |
+ |
+ Test: inspector-protocol/layer-tree-generated-content.html |
+ |
+ * inspector/InspectorDOMAgent.cpp: |
+ (WebCore::InspectorDOMAgent::pushNodePathForRenderLayerToFrontend): |
+ |
+2012-12-12 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Web Inspector: [Crash] Clear cached stylesheet rules in InspectorStyleSheet::deleteRule() |
+ https://bugs.webkit.org/show_bug.cgi?id=104806 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Cached rules (m_flatRules) should get cleared whenever a rule is deleted. |
+ |
+ Test: inspector/styles/undo-add-rule-crash.html |
+ |
+ * inspector/InspectorStyleSheet.cpp: |
+ (WebCore::InspectorStyleSheet::deleteRule): |
+ |
+2012-12-12 Stephen White <senorblanco@chromium.org> |
+ |
+ Unreviewed, rolling out r136975. |
+ http://trac.webkit.org/changeset/136975 |
+ https://bugs.webkit.org/show_bug.cgi?id=90405 |
+ |
+ Correctness issues. |
+ |
+ * dom/Element.cpp: |
+ * dom/Element.h: |
+ (Element): |
+ * dom/ElementRareData.h: |
+ (ElementRareData): |
+ (WebCore::ElementRareData::ElementRareData): |
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp: |
+ (WebCore::BitmapTextureImageBuffer::applyFilters): |
+ * rendering/FilterEffectRenderer.cpp: |
+ (WebCore::createCustomFilterEffect): |
+ (WebCore::FilterEffectRenderer::buildReferenceFilter): |
+ (WebCore::FilterEffectRenderer::build): |
+ * rendering/FilterEffectRenderer.h: |
+ (FilterEffectRenderer): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::willBeDestroyed): |
+ * rendering/svg/RenderSVGResourceContainer.cpp: |
+ (WebCore::RenderSVGResourceContainer::registerResource): |
+ * rendering/svg/SVGResources.cpp: |
+ (WebCore::SVGResources::buildCachedResources): |
+ * rendering/svg/SVGResourcesCache.cpp: |
+ (WebCore::SVGResourcesCache::addResourcesFromRenderObject): |
+ (WebCore::SVGResourcesCache::clientStyleChanged): |
+ (WebCore::SVGResourcesCache::resourceDestroyed): |
+ * svg/SVGDocumentExtensions.cpp: |
+ (WebCore::SVGDocumentExtensions::addPendingResource): |
+ (WebCore::SVGDocumentExtensions::isElementPendingResources): |
+ (WebCore::SVGDocumentExtensions::isElementPendingResource): |
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): |
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval): |
+ * svg/SVGDocumentExtensions.h: |
+ (WebCore): |
+ (SVGDocumentExtensions): |
+ * svg/SVGElement.cpp: |
+ (WebCore::SVGElement::hasPendingResources): |
+ (WebCore): |
+ (WebCore::SVGElement::setHasPendingResources): |
+ (WebCore::SVGElement::clearHasPendingResourcesIfPossible): |
+ * svg/SVGElement.h: |
+ (SVGElement): |
+ (WebCore::SVGElement::buildPendingResource): |
+ * svg/SVGElementRareData.h: |
+ (WebCore::SVGElementRareData::SVGElementRareData): |
+ (WebCore::SVGElementRareData::hasPendingResources): |
+ (WebCore::SVGElementRareData::setHasPendingResources): |
+ (SVGElementRareData): |
+ * svg/SVGStyledElement.cpp: |
+ (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded): |
+ |
+2012-12-12 Stephen White <senorblanco@chromium.org> |
+ |
+ Unreviewed, rolling out r137022. |
+ http://trac.webkit.org/changeset/137022 |
+ |
+ Precursor to rollout of 136975. |
+ |
+ * rendering/svg/SVGResources.cpp: |
+ (WebCore::SVGResources::buildCachedResources): |
+ |
+2012-12-12 Stephen White <senorblanco@chromium.org> |
+ |
+ Unreviewed, rolling out r137027. |
+ http://trac.webkit.org/changeset/137027 |
+ |
+ Precursor to rollout of 136975. |
+ |
+ * dom/ElementRareData.h: |
+ (ElementRareData): |
+ |
+2012-12-12 Alexei Filippov <alph@chromium.org> |
+ |
+ Web Inspector: add memory used by memory allocator itself to NMI |
+ https://bugs.webkit.org/show_bug.cgi?id=93372 |
+ |
+ Make native memory instrumentation report memory retained |
+ for the memory allocator internal purposes. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/NativeMemorySnapshotView.js: |
+ (WebInspector.MemoryBlockViewProperties._initialize): |
+ * platform/chromium/MemoryUsageSupportChromium.cpp: |
+ (WebCore::MemoryUsageSupport::memoryUsageByComponents): |
+ |
+2012-12-12 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137438. |
+ http://trac.webkit.org/changeset/137438 |
+ https://bugs.webkit.org/show_bug.cgi?id=104798 |
+ |
+ assertion reached when removing tile (Requested by tmpsantos |
+ on #webkit). |
+ |
+ * page/Frame.cpp: |
+ (WebCore::Frame::setTiledBackingStoreEnabled): |
+ * platform/graphics/TiledBackingStore.cpp: |
+ (WebCore::TiledBackingStore::TiledBackingStore): |
+ (WebCore::TiledBackingStore::setTileCreationDelay): |
+ (WebCore::TiledBackingStore::coverWithTilesIfNeeded): |
+ (WebCore::TiledBackingStore::updateTileBuffers): |
+ (WebCore::TiledBackingStore::createTiles): |
+ (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended): |
+ (WebCore::TiledBackingStore::startTileBufferUpdateTimer): |
+ (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): |
+ (WebCore::TiledBackingStore::startBackingStoreUpdateTimer): |
+ (WebCore::TiledBackingStore::backingStoreUpdateTimerFired): |
+ * platform/graphics/TiledBackingStore.h: |
+ (TiledBackingStore): |
+ (WebCore::TiledBackingStore::tileCreationDelay): |
+ * platform/graphics/TiledBackingStoreClient.h: |
+ (WebCore::TiledBackingStoreClient::tiledBackingStoreUpdatesAllowed): |
+ |
+2012-12-12 Csaba Osztrogonác <ossy@webkit.org> |
+ |
+ [Qt] Unreviewed typo fix after r137446. |
+ |
+ * WebCore.pri: |
+ |
+2012-12-12 Zan Dobersek <zandobersek@gmail.com> |
+ |
+ [GTK] Remove the last of unnecessary configuration options in configure.ac |
+ https://bugs.webkit.org/show_bug.cgi?id=104793 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Remove the feature define overriding that's based on the automake variables which are |
+ not set anymore due to the corresponding configuration options being removed. |
+ |
+ No new tests - no new functionality. |
+ |
+ * GNUmakefile.am: |
+ |
+2012-12-12 Simon Hausmann <simon.hausmann@digia.com> |
+ |
+ [Qt] Fix build on Mac |
+ |
+ Reviewed by Csaba Osztrogonác. |
+ |
+ On Mac OS X we have sqlite as a system library available. |
+ |
+ * WebCore.pri: |
+ |
+2012-12-12 Simon Hausmann <simon.hausmann@digia.com> |
+ |
+ [Qt] Fix linkage against SQLite |
+ https://bugs.webkit.org/show_bug.cgi?id=104781 |
+ |
+ Reviewed by Csaba Osztrogonác. |
+ |
+ Detect SQLite either through pkg-config, from the SQLITE3SRCDIR |
+ environment variable or from qtbase via a qt5.git build. Bail out early |
+ with an error message if neither option applies. |
+ |
+ This removes the usage of $$QT.core.sources and the dependency on Qt's |
+ system-sqlite configure setting. We should always favour a system |
+ library over a copy in Qt. |
+ |
+ * Target.pri: |
+ * WebCore.pri: |
+ |
+2012-12-12 Allan Sandfeld Jensen <allan.jensen@digia.com> |
+ |
+ [TexMap] Uninitialized m_context pointer in TextureMapper |
+ https://bugs.webkit.org/show_bug.cgi?id=104785 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ * platform/graphics/texmap/TextureMapper.cpp: |
+ (WebCore::TextureMapper::TextureMapper): |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore::TextureMapperGL::TextureMapperGL): |
+ |
+2012-12-12 Tommy Widenflycht <tommyw@google.com> |
+ |
+ MediaStream API: Change the data channel descriptor pattern to a handler pattern |
+ https://bugs.webkit.org/show_bug.cgi?id=104543 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ In short the code is refactured to use the Handler/Client pattern (see RTCPeerConnectionHandler) |
+ instead of the Descriptor pattern. |
+ This will fix lifetime/memory/code structure issues in the chromium port. |
+ |
+ Existing tests cover this patch. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Modules/mediastream/RTCDataChannel.cpp: |
+ (WebCore::RTCDataChannel::create): |
+ (WebCore::RTCDataChannel::RTCDataChannel): |
+ (WebCore::RTCDataChannel::~RTCDataChannel): |
+ (WebCore::RTCDataChannel::label): |
+ (WebCore::RTCDataChannel::reliable): |
+ (WebCore::RTCDataChannel::readyState): |
+ (WebCore::RTCDataChannel::bufferedAmount): |
+ (WebCore::RTCDataChannel::send): |
+ (WebCore::RTCDataChannel::close): |
+ (WebCore::RTCDataChannel::didChangeReadyState): |
+ (WebCore::RTCDataChannel::didReceiveStringData): |
+ (WebCore::RTCDataChannel::didReceiveRawData): |
+ (WebCore::RTCDataChannel::didDetectError): |
+ (WebCore::RTCDataChannel::stop): |
+ * Modules/mediastream/RTCDataChannel.h: |
+ (WebCore): |
+ (RTCDataChannel): |
+ * Modules/mediastream/RTCPeerConnection.cpp: |
+ (WebCore::RTCPeerConnection::didAddRemoteDataChannel): |
+ * Modules/mediastream/RTCPeerConnection.h: |
+ (RTCPeerConnection): |
+ * WebCore.gypi: |
+ * platform/chromium/support/WebRTCDataChannel.cpp: Removed. |
+ * platform/mediastream/RTCDataChannelDescriptor.h: Removed. |
+ * platform/mediastream/RTCDataChannelHandler.h: Copied from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp. |
+ (WebCore): |
+ (RTCDataChannelHandler): |
+ (WebCore::RTCDataChannelHandler::~RTCDataChannelHandler): |
+ * platform/mediastream/RTCDataChannelHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/RTCDataChannelDescriptor.cpp. |
+ (WebCore): |
+ (RTCDataChannelHandlerClient): |
+ (WebCore::RTCDataChannelHandlerClient::~RTCDataChannelHandlerClient): |
+ * platform/mediastream/RTCPeerConnectionHandler.cpp: |
+ (WebCore): |
+ (WebCore::RTCPeerConnectionHandler::create): |
+ * platform/mediastream/RTCPeerConnectionHandler.h: |
+ (WebCore): |
+ (RTCPeerConnectionHandler): |
+ * platform/mediastream/RTCPeerConnectionHandlerClient.h: |
+ (WebCore): |
+ (RTCPeerConnectionHandlerClient): |
+ * platform/mediastream/chromium/RTCDataChannelHandlerChromium.cpp: Added. |
+ (WebCore): |
+ (WebCore::RTCDataChannelHandlerChromium::create): |
+ (WebCore::RTCDataChannelHandlerChromium::RTCDataChannelHandlerChromium): |
+ (WebCore::RTCDataChannelHandlerChromium::~RTCDataChannelHandlerChromium): |
+ (WebCore::RTCDataChannelHandlerChromium::setClient): |
+ (WebCore::RTCDataChannelHandlerChromium::label): |
+ (WebCore::RTCDataChannelHandlerChromium::isReliable): |
+ (WebCore::RTCDataChannelHandlerChromium::bufferedAmount): |
+ (WebCore::RTCDataChannelHandlerChromium::sendStringData): |
+ (WebCore::RTCDataChannelHandlerChromium::sendRawData): |
+ (WebCore::RTCDataChannelHandlerChromium::close): |
+ (WebCore::RTCDataChannelHandlerChromium::didChangeReadyState): |
+ (WebCore::RTCDataChannelHandlerChromium::didReceiveStringData): |
+ (WebCore::RTCDataChannelHandlerChromium::didReceiveRawData): |
+ (WebCore::RTCDataChannelHandlerChromium::didDetectError): |
+ * platform/mediastream/chromium/RTCDataChannelHandlerChromium.h: Added. |
+ (WebCore): |
+ (RTCDataChannelHandlerChromium): |
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: |
+ (WebCore::RTCPeerConnectionHandlerChromium::createDataChannel): |
+ (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel): |
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: |
+ (WebCore): |
+ (RTCPeerConnectionHandlerChromium): |
+ |
+2012-12-12 Huang Dongsung <luxtella@company100.net> |
+ |
+ Coordinated Graphics: Refactor TiledBackingStore code in CoordinatedGraphicsLayer. |
+ https://bugs.webkit.org/show_bug.cgi?id=103959 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop() is used when class |
+ methods cannot be called asynchronously by client. Updates of tiles are |
+ committed as soon as all the events in event queue have been processed. |
+ After this patch Frame sets m_commitTileUpdatesOnIdleEventLoop to true. |
+ |
+ In addition, remove TiledBackingStoreClient::tiledBackingStoreUpdatesAllowed() |
+ which was introduced for Coordinated Graphics. |
+ |
+ Refactoring covered by existing tests. |
+ |
+ * page/Frame.cpp: |
+ (WebCore::Frame::setTiledBackingStoreEnabled): |
+ * platform/graphics/TiledBackingStore.cpp: |
+ (WebCore::TiledBackingStore::TiledBackingStore): |
+ (WebCore::TiledBackingStore::setTrajectoryVector): |
+ Separate setting a trajectory vector from coverWithTilesIfNeeded(). |
+ (WebCore::TiledBackingStore::coverWithTilesIfNeeded): |
+ (WebCore::TiledBackingStore::updateTileBuffers): |
+ (WebCore::TiledBackingStore::createTiles): |
+ (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended): |
+ (WebCore::TiledBackingStore::startTileBufferUpdateTimer): |
+ (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): |
+ (WebCore::TiledBackingStore::startBackingStoreUpdateTimer): |
+ (WebCore::TiledBackingStore::backingStoreUpdateTimerFired): |
+ * platform/graphics/TiledBackingStore.h: |
+ (TiledBackingStore): |
+ (WebCore::TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop): |
+ * platform/graphics/TiledBackingStoreClient.h: |
+ (WebCore::TiledBackingStoreClient::tiledBackingStoreHasPendingTileCreation): |
+ If TiledBackingStore does not create all tiles, TiledBackingStore |
+ notifies a client of needing to create tiles more, when |
+ m_commitTileUpdatesOnIdleEventLoop is false. |
+ |
+2012-12-11 Jocelyn Turcotte <jocelyn.turcotte@digia.com> |
+ |
+ [Qt] Fix the inspector not showing up on Windows |
+ https://bugs.webkit.org/show_bug.cgi?id=104677 |
+ |
+ Reviewed by Simon Hausmann. |
+ |
+ * Target.pri: |
+ |
+2012-11-29 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: Heap snapshot crashes on any page in MacOS Canary |
+ https://bugs.webkit.org/show_bug.cgi?id=103076 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Provide global object name resolver to the heap profiler. The callback allows |
+ to safely retrieve document URL to be used as a label for corresponding global |
+ object in the heap snapshot. |
+ |
+ Test: inspector-protocol/take-heap-snapshot.html |
+ |
+ * bindings/v8/ScriptProfiler.cpp: |
+ (WebCore): |
+ (WebCore::ScriptProfiler::takeHeapSnapshot): |
+ |
+2012-12-12 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137428. |
+ http://trac.webkit.org/changeset/137428 |
+ https://bugs.webkit.org/show_bug.cgi?id=104776 |
+ |
+ It broke the build everywhere (Requested by Ossy on #webkit). |
+ |
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: |
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper): |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore::TextureMapperGL::drawQuad): |
+ (WebCore::TextureMapperGL::drawBorder): |
+ (WebCore::TextureMapperGL::drawTexture): |
+ (WebCore): |
+ (WebCore::TextureMapperGL::drawTextureRectangleARB): |
+ (WebCore::TextureMapperGL::drawSolidColor): |
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing): |
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): |
+ * platform/graphics/texmap/TextureMapperGL.h: |
+ (TextureMapperGL): |
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
+ (WebCore::getShaderSpec): |
+ * platform/graphics/texmap/TextureMapperShaderManager.h: |
+ (TextureMapperShaderProgram): |
+ |
+2012-12-12 Martin Robinson <mrobinson@igalia.com> |
+ |
+ Web inspector prints a warning about "Debug" not being localized |
+ https://bugs.webkit.org/show_bug.cgi?id=104679 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Add a missing localization entry for the "Debug" string which is used in the web |
+ inspector front-end. This prevents warnings about a missing localized version |
+ of the word "Debug" and allows it to be properly localized. |
+ |
+ * English.lproj/localizedStrings.js: Add "Debug" |
+ |
+2012-12-12 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ [Shadow DOM] Implement HTMLShadowElement::olderShadowRoot |
+ https://bugs.webkit.org/show_bug.cgi?id=104218 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Implements HTMLShadowElement::olderShadowRoot, which returns the ShadowRoot the HTMLShadowElement is assigned to. |
+ When such ShadowRoot does not exist, 0 is returned. |
+ |
+ Test: fast/dom/shadow/olderShadowRoot-in-shadowelement.html |
+ |
+ * dom/ElementShadow.cpp: |
+ (WebCore::ElementShadow::ensureDistributionFromDocument): Ensures distribution of this ElementShadow and |
+ all of the parent TreeScope distribution. This function will be shared for Bug 104345. |
+ (WebCore): |
+ * dom/ElementShadow.h: |
+ (ElementShadow): |
+ * html/shadow/HTMLShadowElement.cpp: |
+ (WebCore::HTMLShadowElement::olderShadowRoot): |
+ (WebCore): |
+ * html/shadow/HTMLShadowElement.h: |
+ * html/shadow/HTMLShadowElement.idl: |
+ |
+2012-12-12 No'am Rosenthal <noam@webkit.org> |
+ |
+ [Texmap] Consolidate redundant code for ARB_RECT texture |
+ https://bugs.webkit.org/show_bug.cgi?id=104705 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ Instead of having a whole different function for RECT textures, |
+ keep the existing functions and pass a flag that tells |
+ TextureMapperGL to use the non-normalized coordinates and the |
+ RECT shaders. |
+ |
+ No new tests, refactor only. Tested to not break WebGL on |
+ Qt-Mac. |
+ |
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: |
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper): |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore::TextureMapperGL::drawQuad): |
+ Compensate for rect textures in drawQuad. |
+ |
+ (WebCore::TextureMapperGL::drawBorder): |
+ (WebCore::TextureMapperGL::drawTexture): |
+ (WebCore::TextureMapperGL::drawSolidColor): |
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing): |
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): |
+ Pass flags to TextureMapperGL::drawQuad instead of a bool. |
+ |
+ * platform/graphics/texmap/TextureMapperGL.h: |
+ (TextureMapperGL): |
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
+ (WebCore::getShaderSpec): |
+ * platform/graphics/texmap/TextureMapperShaderManager.h: |
+ (TextureMapperShaderProgram): |
+ Compensate for the texture-size in the vertex |
+ shader instead of in the fragment shader. |
+ |
+2012-12-11 Hayato Ito <hayato@chromium.org> |
+ |
+ REGRESSION(r137408): breaks chromium's browser tests which use WebKitShadowRoot (Requested by hayato on #webkit). |
+ https://bugs.webkit.org/show_bug.cgi?id=104770 |
+ |
+ Unreviewed, build fix. |
+ |
+ * dom/ShadowRoot.idl: |
+ * page/DOMWindow.idl: |
+ |
+2012-12-11 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r137333, r137344, r137364, and |
+ r137377. |
+ http://trac.webkit.org/changeset/137333 |
+ http://trac.webkit.org/changeset/137344 |
+ http://trac.webkit.org/changeset/137364 |
+ http://trac.webkit.org/changeset/137377 |
+ https://bugs.webkit.org/show_bug.cgi?id=104771 |
+ |
+ Caused a raft of browser_test failures in Chromium (Requested |
+ by aklein on #webkit). |
+ |
+ * loader/DocumentLoader.cpp: |
+ (WebCore::DocumentLoader::setRequest): |
+ (WebCore::DocumentLoader::subresource): |
+ (WebCore::DocumentLoader::addSubresourceLoader): |
+ (WebCore::DocumentLoader::removeSubresourceLoader): |
+ (WebCore::DocumentLoader::startLoadingMainResource): |
+ * loader/MainResourceLoader.cpp: |
+ (WebCore::MainResourceLoader::MainResourceLoader): |
+ (WebCore::MainResourceLoader::~MainResourceLoader): |
+ (WebCore::MainResourceLoader::receivedError): |
+ (WebCore::MainResourceLoader::willCancel): |
+ (WebCore::MainResourceLoader::didCancel): |
+ (WebCore::MainResourceLoader::continueAfterNavigationPolicy): |
+ (WebCore::MainResourceLoader::addData): |
+ (WebCore::MainResourceLoader::willSendRequest): |
+ (WebCore::MainResourceLoader::continueAfterContentPolicy): |
+ (WebCore::MainResourceLoader::didReceiveResponse): |
+ (WebCore::MainResourceLoader::didReceiveData): |
+ (WebCore::MainResourceLoader::didFinishLoading): |
+ (WebCore::MainResourceLoader::didFail): |
+ (WebCore::MainResourceLoader::reportMemoryUsage): |
+ (WebCore::MainResourceLoader::handleSubstituteDataLoadNow): |
+ (WebCore::MainResourceLoader::loadNow): |
+ (WebCore): |
+ (WebCore::MainResourceLoader::load): |
+ (WebCore::MainResourceLoader::setDefersLoading): |
+ * loader/MainResourceLoader.h: |
+ (MainResourceLoader): |
+ * loader/ResourceLoader.cpp: |
+ (WebCore::ResourceLoader::willSendRequest): |
+ * loader/ResourceLoader.h: |
+ (ResourceLoader): |
+ (WebCore::ResourceLoader::defersLoading): |
+ * loader/SubresourceLoader.cpp: |
+ (WebCore::SubresourceLoader::willSendRequest): |
+ * loader/appcache/ApplicationCacheHost.cpp: |
+ (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse): |
+ (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError): |
+ * loader/cache/CachedRawResource.cpp: |
+ (WebCore::CachedRawResource::willSendRequest): |
+ * loader/cache/CachedResourceLoader.cpp: |
+ (WebCore::CachedResourceLoader::loadDone): |
+ * loader/mac/DocumentLoaderMac.cpp: |
+ (WebCore::DocumentLoader::schedule): |
+ (WebCore::DocumentLoader::unschedule): |
+ |
+2012-12-11 Kentaro Hara <haraken@chromium.org> |
+ |
+ Unreviewed, rolling out r137398. |
+ http://trac.webkit.org/changeset/137398 |
+ https://bugs.webkit.org/show_bug.cgi?id=104188 |
+ |
+ A bunch of webaudio tests hit ASSERTs |
+ |
+ * CMakeLists.txt: |
+ * DerivedSources.make: |
+ * DerivedSources.pri: |
+ * GNUmakefile.list.am: |
+ * Modules/webaudio/AudioContext.cpp: |
+ (WebCore::AudioContext::createOfflineContext): |
+ (WebCore): |
+ * Modules/webaudio/AudioContext.h: |
+ (AudioContext): |
+ * Modules/webaudio/DOMWindowWebAudio.idl: |
+ * Modules/webaudio/OfflineAudioContext.cpp: Removed. |
+ * Modules/webaudio/OfflineAudioContext.h: Removed. |
+ * Modules/webaudio/OfflineAudioContext.idl: Removed. |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/generic/RuntimeEnabledFeatures.h: |
+ * bindings/js/JSAudioContextCustom.cpp: |
+ (WebCore::JSAudioContextConstructor::constructJSAudioContext): |
+ * bindings/v8/custom/V8AudioContextCustom.cpp: |
+ (WebCore::V8AudioContext::constructorCallbackCustom): |
+ |
+2012-12-11 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ [Shadow DOM] registering InsertionPoints to ShadowRoot should work out of a document. |
+ https://bugs.webkit.org/show_bug.cgi?id=104346 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ We need to register InsertionPoints even if ShadowRoot is out of Document, since distribution should work |
+ out of Document, too. |
+ |
+ Instead of checking isInDocument(), we have to make sure InsertionPoint and an element which InsertionPoint |
+ inserted into have the same treescope. |
+ |
+ Tests: fast/dom/shadow/has-content-elements.html |
+ fast/dom/shadow/has-shadow-insertion-point.html |
+ |
+ * html/shadow/InsertionPoint.cpp: |
+ (WebCore::InsertionPoint::insertedInto): |
+ (WebCore::InsertionPoint::removedFrom): |
+ |
+2012-12-11 Takashi Sakamoto <tasak@google.com> |
+ |
+ Text nodes in shadow roots don't inherit style properly |
+ https://bugs.webkit.org/show_bug.cgi?id=101116 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Use NodeRenderingContext to resolve styles of text nodes. |
+ If text nodes are direct children of shadow roots, the text nodes |
+ should be inherited styles from their shadow hosts. |
+ But if reset-style-inheritance flag is true, the text nodes should |
+ not be inherited. And if text nodes are distributed nodes, |
+ we have to check whether their insertion point's |
+ reset-style-inheritance. |
+ c.f. shadow dom spec is: |
+ http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles |
+ |
+ Test: fast/dom/shadow/text-node-in-shadow.html |
+ |
+ * css/StyleResolver.cpp: |
+ (WebCore::StyleResolver::styleForElement): |
+ Modified to use defaultStyleForElement if the given element has |
+ no parent style. |
+ (WebCore::StyleResolver::initForStyleResolve): |
+ Removed shouldResetStyleInheritance, because now NodeRenderingContext |
+ resetStyleInheritance() takes care of reset-style-inheritance of |
+ both shadow roots and insertion points. |
+ (WebCore::StyleResolver::defaultStyleForElement): |
+ Added to create a default style for elements. |
+ (WebCore): |
+ (WebCore::StyleResolver::styleForText): |
+ Use NodeRenderingContext to find the parent node for style from the |
+ given text node. If no parent node is found or reset-style-inheritance |
+ is true, returns a default style (i.e. empty render style). |
+ Otherwise, just returns the found node's style. |
+ * css/StyleResolver.h: |
+ (StyleResolver): |
+ * dom/ComposedShadowTreeWalker.cpp: |
+ (WebCore::ComposedShadowTreeWalker::ParentTraversalDetails::didTraverseInsertionPoint): |
+ Modify to consider insertion point's resetStyleInheritance. |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRenderingContext::createRendererForTextIfNeeded): |
+ Since NodeRenderingContext has already found a parent node for |
+ rendering and style and a parentRenderer is just the found node's |
+ renderer, we have to only check reset-style-inheritance. |
+ If reset, use default style. Otherwise, the parentRenderer's style. |
+ * dom/Text.cpp: |
+ (WebCore::Text::recalcTextStyle): |
+ Use styleForText instead of parentRenderer's styles if the given text |
+ node is a direct child of a shadow root or a direct child of a shadow |
+ host. |
+ |
+2012-12-11 Takashi Sakamoto <tasak@google.com> |
+ |
+ Hide HOST_RULE behind SHADOW_DOM flag. |
+ https://bugs.webkit.org/show_bug.cgi?id=102321 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ @host @-rules are only available when the rules are declared in styles |
+ in shadow dom trees. So if SHADOW_DOM is disabled, we don't need |
+ @host @-rules. |
+ |
+ No new tests. Just hide HOST_RULE behind SHADOW_DOM flag. |
+ |
+ * css/StyleResolver.h: |
+ Hide "class ShadowRuleHost". |
+ * css/StyleRule.cpp: |
+ (WebCore::StyleRuleBase::reportMemoryUsage): |
+ (WebCore::StyleRuleBase::destroy): |
+ (WebCore::StyleRuleBase::copy): |
+ (WebCore::StyleRuleBase::createCSSOMWrapper): |
+ * css/StyleRule.h: |
+ (StyleRuleBase): |
+ Hide "Host" type and isHostRule. |
+ (StyleRuleHost): |
+ Hide "class StyleRuleHost". |
+ * css/StyleSheetContents.cpp: |
+ (WebCore::childRulesHaveFailedOrCanceledSubresources): |
+ |
+2012-12-11 Dominic Mazzoni <dmazzoni@google.com> |
+ |
+ AX: accessibilityIsIgnored should avoid computing textUnderElement |
+ https://bugs.webkit.org/show_bug.cgi?id=104688 |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Simplify the logic in accessibilityIsIgnored without affecting |
+ the results of any tests. In particular, avoid expensive calls to |
+ textUnderElement. |
+ |
+ Covered by existing tests. |
+ |
+ * accessibility/AccessibilityNodeObject.cpp: |
+ (WebCore::AccessibilityNodeObject::isGenericFocusableElement): |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): |
+ |
+2012-12-11 Kentaro Hara <haraken@chromium.org> |
+ |
+ [V8] Reachable event listeners on image elements can be collected in a minor DOM GC |
+ https://bugs.webkit.org/show_bug.cgi?id=104734 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ A major DOM GC treats image elements specially. In |
+ V8GCController::opaqueRootForGC(), a major DOM GC puts image elements |
+ that have pending activities into the same object group of their document. |
+ This guarantees that image elements that have pending activities |
+ are not garbage collected in the major DOM GC. |
+ |
+ This patch adds the same special handling to a minor DOM GC to guarantee |
+ the same thing in the minor DOM GC too. |
+ |
+ In long-term, we might want to remove the special handling by making |
+ image elements active DOM nodes. |
+ |
+ Test: Manually confirmed that all characters in |
+ http://alteredqualia.com/three/examples/webgl_animation_skinning_tf2.html |
+ are rendered correctly. |
+ |
+ * bindings/v8/V8GCController.cpp: |
+ (WebCore::V8GCController::opaqueRootForGC): |
+ (WebCore::gcTree): |
+ |
+2012-12-11 Dominic Mazzoni <dmazzoni@google.com> |
+ |
+ AX: Make isActionSupported cross-platform. |
+ https://bugs.webkit.org/show_bug.cgi?id=104681 |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Add UserGestureIndicator to increment() and decrement() |
+ so that all accessibility actions are treated as |
+ user actions, not scripted actions. |
+ |
+ * accessibility/AccessibilityNodeObject.cpp: |
+ (WebCore::AccessibilityNodeObject::increment): |
+ (WebCore::AccessibilityNodeObject::decrement): |
+ |
+2012-12-11 Viatcheslav Ostapenko <v.ostapenko@samsung.com> |
+ |
+ Remove conversion to/from float and float division from ImageFrame::setRGBA |
+ https://bugs.webkit.org/show_bug.cgi?id=103693 |
+ |
+ Reviewed by Brent Fulgham. |
+ |
+ Replace floating point operations used for alpha premultiply with fixed point arithmetic |
+ which is basically integer operations. Allows to shave extra couple percent from decoding |
+ images with transparency. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/image-decoders/ImageDecoder.h: |
+ (ImageFrame): |
+ (WebCore::ImageFrame::fixPointUnsignedMultiply): |
+ (WebCore::ImageFrame::setRGBA): |
+ |
+2012-12-11 Kihong Kwon <kihong.kwon@samsung.com> |
+ |
+ Vibration API: IDL type doesn't match implementation type |
+ https://bugs.webkit.org/show_bug.cgi?id=103899 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform. |
+ Therefore unsigned long need to be changed to unsigned for the Vibration API. |
+ - Change a parameter type of vibrate function from unsigned long to unsigned. |
+ |
+ No new tests, it is covered by exist test. |
+ |
+ * Modules/vibration/NavigatorVibration.cpp: |
+ (WebCore::NavigatorVibration::vibrate): |
+ * Modules/vibration/NavigatorVibration.h: |
+ (NavigatorVibration): |
+ * Modules/vibration/Vibration.cpp: |
+ (WebCore::Vibration::vibrate): |
+ * Modules/vibration/Vibration.h: |
+ (Vibration): |
+ * Modules/vibration/VibrationClient.h: |
+ (VibrationClient): |
+ * bindings/js/JSDOMBinding.h: |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ Remove workaround codes for the Vibration API which is mapped from unsigned long to unsigned long. |
+ It should be mapped from unsigned long to unsigned by WebIDL spec. |
+ (GetNativeVectorInnerType): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10): |
+ (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): |
+ |
+2012-12-11 Xinazhu Wang <wangxianzhu@chromium.org> |
+ |
+ ScrollingCoordinator::hasVisibleSlowRepaintFixedObject() should exclude out-of-view fixed position elements |
+ https://bugs.webkit.org/show_bug.cgi?id=102543 |
+ |
+ Let RenderLayerCompositor manage the reasons that fixed position elements are not composited. |
+ Check the reason in ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects(), don't let fixed position layer not composited with explicit reasons cause slow scrolling. |
+ |
+ Reviewed by James Robinson. |
+ |
+ Test: compositing/layer-creation/fixed-position-out-of-view-scroll-reason.html |
+ |
+ * page/scrolling/ScrollingCoordinator.cpp: |
+ (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects): Exclude fixed position elements that are not composited for explicit reasons. |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements): Manages m_fixedPositionLayerNotCompositedReasonMap. |
+ (WebCore::RenderLayerCompositor::needsToBeComposited): |
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer): |
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition): |
+ * rendering/RenderLayerCompositor.h: |
+ (WebCore::RenderLayerCompositor::fixedPositionLayerNotCompositedReason): Now outputs fixedPositionLayerNotCompositedreason. |
+ (RenderLayerCompositor): |
+ |
+2012-12-11 Hayato Ito <hayato@chromium.org> |
+ |
+ [Shadow DOM] Kill ShadowRoot constructor |
+ https://bugs.webkit.org/show_bug.cgi?id=102913 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Remove ShadowRoot constructor in favor of Element.webkitCreateShadowRoot(). |
+ |
+ No new tests. Update existing tests. |
+ |
+ * dom/ShadowRoot.idl: |
+ * page/DOMWindow.idl: |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::createShadowRoot): |
+ (WebCore): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-12-11 Antti Koivisto <antti@apple.com> |
+ |
+ Add Element-specific traversal functions |
+ https://bugs.webkit.org/show_bug.cgi?id=104685 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ In many cases where we use NodeTraversal we really only want Elements. By having |
+ Element specific iteration functions we can tighten the code and make it faster too. |
+ |
+ This patch adds ElementTraversal namespace, similar to NodeTraversal. It also switches |
+ bunch of NodeTraversal call sites that obviously only care about elements to using |
+ the new interface. |
+ |
+ This should be a speedup too as we avoid number of branches by not having to look |
+ for children of non-ContainerNodes and by allowing use of ContainerNode specific |
+ accessors. |
+ |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::addImageMapChildren): |
+ * css/SelectorChecker.cpp: |
+ (WebCore::linkAttribute): |
+ (WebCore::SelectorChecker::allVisitedStateChanged): |
+ (WebCore::SelectorChecker::visitedStateChanged): |
+ * css/StyleInvalidationAnalysis.cpp: |
+ (WebCore::elementMatchesSelectorScopes): |
+ (WebCore::StyleInvalidationAnalysis::invalidateStyle): |
+ * dom/ContainerNodeAlgorithms.h: |
+ (WebCore::ChildFrameDisconnector::collectDescendant): |
+ * dom/Document.cpp: |
+ (WebCore::Document::buildAccessKeyMap): |
+ (WebCore::Document::updateBaseURL): |
+ (WebCore::Document::processBaseElement): |
+ * dom/DocumentOrderedMap.cpp: |
+ (WebCore::DocumentOrderedMap::get): |
+ * dom/Element.cpp: |
+ (WebCore::Element::firstElementChild): |
+ * dom/Element.h: |
+ (WebCore): |
+ * dom/ElementShadow.cpp: |
+ (WebCore::ElementShadow::collectSelectFeatureSetFrom): |
+ * dom/NodeTraversal.h: |
+ (ElementTraversal): |
+ (WebCore): |
+ (WebCore::ElementTraversal::traverseNextElementTemplate): |
+ (WebCore::ElementTraversal::next): |
+ (WebCore::ElementTraversal::firstWithin): |
+ (WebCore::ElementTraversal::traverseNextElementSkippingChildrenTemplate): |
+ (WebCore::ElementTraversal::nextSkippingChildren): |
+ (NodeTraversal): |
+ * dom/TreeScope.cpp: |
+ (WebCore::TreeScope::labelElementForId): |
+ (WebCore::TreeScope::findAnchor): |
+ * editing/CompositeEditCommand.cpp: |
+ (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): |
+ * editing/DeleteSelectionCommand.cpp: |
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete): |
+ * editing/FrameSelection.cpp: |
+ (WebCore::scanForForm): |
+ * editing/markup.cpp: |
+ (WebCore::completeURLs): |
+ * html/HTMLFieldSetElement.cpp: |
+ (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder): |
+ (WebCore::HTMLFieldSetElement::childrenChanged): |
+ (WebCore::HTMLFieldSetElement::legend): |
+ (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded): |
+ * html/HTMLFormElement.cpp: |
+ (WebCore::HTMLFormElement::formElementIndex): |
+ * html/HTMLLabelElement.cpp: |
+ (WebCore::HTMLLabelElement::control): |
+ * html/HTMLLegendElement.cpp: |
+ (WebCore::HTMLLegendElement::associatedControl): |
+ * html/HTMLMapElement.cpp: |
+ (WebCore::HTMLMapElement::mapMouseEvent): |
+ * html/HTMLNameCollection.cpp: |
+ (WebCore::HTMLNameCollection::virtualItemAfter): |
+ * html/HTMLObjectElement.cpp: |
+ (WebCore::HTMLObjectElement::containsJavaApplet): |
+ * html/HTMLSelectElement.cpp: |
+ (WebCore::HTMLSelectElement::recalcListItems): |
+ * html/shadow/ContentDistributor.cpp: |
+ (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList): |