Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: Source/WebCore/ChangeLog

Side-by-side diff isn't available for this file because of its large size.
Issue 12084049: Merge 140202 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « LayoutTests/platform/mac/TestExpectations ('k') | Source/WebCore/rendering/RenderLayer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 141136)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,9504 @@
+2013-01-18 Chris Hopman <cjhopman@google.com>
+
+ Fix scrollRectToVisible in the presence of transforms
+ https://bugs.webkit.org/show_bug.cgi?id=105574
+
+ Reviewed by Simon Fraser.
+
+ When scrolling to reveal an overflow layer, the required scroll was
+ being calculated in absolute coordinates. To properly account for
+ transforms, this calculation should be done in the local coordinates
+ of the renderBox.
+
+ Tests: editing/input/reveal-selection-transformed-overflow-parent.html
+ editing/input/reveal-selection-transformed-textarea.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollRectToVisible):
+ When scrolling to reveal an overflow layer, calculate the required
+ scroll in the local coordinates of the RenderBox.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::absoluteToLocalQuad):
+ (WebCore):
+ * rendering/RenderObject.h:
+ (RenderObject):
+ Add function to convert an absolute quad to a local quad.
+
+2013-01-18 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Add support for min-content
+ https://bugs.webkit.org/show_bug.cgi?id=106474
+
+ Reviewed by Ojan Vafai.
+
+ Tests: fast/css-grid-layout/minmax-min-content-column-resolution-columns.html
+ fast/css-grid-layout/minmax-min-content-column-resolution-rows.html
+
+ This change adds support to properly size min-content as long as the grid items and the grid element
+ don't have orthogonal writing-modes. Orthogonal writing modes will be handled in a follow-up bug
+ to keep the patch small-ish.
+
+ This change implements a subset of the specification's algorithm, taking some shortcuts where the
+ extra complexity wasn't a clear win for now: e.g. the specification relies on behavior customization
+ through functors to share code among more complex cases - like spanning columns / rows. These shortcuts
+ have been marked as FIXME / comments in the code so that they can be evaluated and fixed as we implement
+ more of the complexity.
+
+ * platform/Length.h:
+ (WebCore::Length::isMinContent):
+ (WebCore::Length::isMaxContent):
+ Helper functions.
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::GridTrack::maxBreadthIfNotInfinite):
+ Helper function that returns the max breadth if finite and the used breadth otherwise.
+
+ (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
+ Updated to call resolveContentBasedTrackSizingFunctions.
+
+ (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
+ (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
+ (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
+ Split computeUsedBreadthOfLength into min and max side so that we can return the default values accordingly.
+ computeUsedBreadthOfSpecifiedLength shares the common code. Also made these functions 'const'.
+
+ (WebCore::RenderGrid::minContentForChild):
+ This function returns the 'min-content' value based on layout / compute preferred logical widths information.
+
+ (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
+ This is the core function that implements the sizing. It currently doesn't share much code between the branches,
+ which will be done as we implement more of the algorithm.
+
+ (WebCore::RenderGrid::distributeSpaceToTracks):
+ Clamped the growthShare to positive value only. This is required to handle cases where min-content is bigger
+ than max track breadth. Added a comment about this deviation from the specification.
+
+ (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
+ Debug only method. It is a sanity check as our algorithm should *never* shrink the used breadth to a value
+ smaller than the computed min track breadth.
+
+ (WebCore::RenderGrid::layoutGridItems):
+ Added 2 ASSERT using tracksAreWiderThanMinTrackBreadth.
+
+ (WebCore::RenderGrid::resolveGridPosition):
+ Helper overriden instance.
+ * rendering/RenderGrid.h:
+ Added the new functions. Also made more core functions take both grid tracks.
+
+2013-01-18 Geoffrey Garen <ggaren@apple.com>
+
+ Weak GC maps should be easier to use
+ https://bugs.webkit.org/show_bug.cgi?id=107312
+
+ Reviewed by Sam Weinig.
+
+ Since weak GC maps are so easy to use now, let's use them for the DOM
+ string cache.
+
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.cpp:
+ (WebCore):
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld):
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore):
+ (WebCore::DOMWrapperWorld::globalData):
+ (DOMWrapperWorld):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore):
+ (WebCore::jsStringWithCache):
+
+2013-01-18 Tim Volodine <timvolodine@chromium.org>
+
+ Text Autosizing: don't autosize headers with multiple inline links.
+ https://bugs.webkit.org/show_bug.cgi?id=106792
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This patch includes code for detecting rows of links typically seen
+ in headers or footers of webpages. Such rows of links should not be
+ autosized.
+
+ The heuristics to detect such rows of links are based on the appearance
+ of headers in most websites: i.e. links are inline, there are at least three
+ of them, they should have the same font size with possibly only short textual
+ separators between them (max 3 characters) and there should be no line breaks
+ (i.e. <br> elements) between them.
+
+ Tests: fast/text-autosizing/header-li-links-autosizing.html
+ fast/text-autosizing/header-links-autosizing-different-fontsize.html
+ fast/text-autosizing/header-links-autosizing.html
+
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::containerShouldBeAutosized):
+ (WebCore::TextAutosizer::containerIsRowOfLinks):
+ (WebCore):
+ * rendering/TextAutosizer.h:
+
+2013-01-18 Levi Weintraub <leviw@chromium.org>
+
+ LayoutUnit should round half consistently, not away from zero
+ https://bugs.webkit.org/show_bug.cgi?id=107208
+
+ Reviewed by Eric Seidel.
+
+ The current implementation of LayoutUnit::round() always rounds half away from zero. This can result in
+ a shift of 1 pixel moving an element aligned at a half-pixel by 2. This problem is particularly common with
+ RenderLayers, which pass the sub-pixel accumulation into their renderers after translating the graphics
+ context passed in by their rounded location. This changes round() to always round 0.5 up.
+
+ Test: fast/sub-pixel/sub-pixel-root-layer.html
+
+ * platform/LayoutUnit.h:
+ (WebCore::LayoutUnit::round): Always round 0.5 up.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayerContents): We no longer need to prevent rootLayers from passing in a
+ sub-pixel offset. This eliminates the shifting of elements when applying translateZ(0) or similar.
+
+2013-01-18 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Remove custom V8ScriptProfileNodeCustom::toV8()
+ https://bugs.webkit.org/show_bug.cgi?id=107245
+
+ Reviewed by Adam Barth.
+
+ V8ScriptProfileNodeCustom::toV8() needs not to be custom.
+ Furthermore, the current custom toV8() is wrong in that
+ it doesn't use a creationContext and it doesn't set a wrapper
+ class id. This is one of steps to avoiding ASSERT()s
+ that will be added in https://bugs.webkit.org/show_bug.cgi?id=107137 .
+
+ No tests. No change in behavior.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed.
+ * inspector/ScriptProfileNode.idl:
+
+2013-01-18 Ali Juma <ajuma@chromium.org>
+
+ [chromium] Convert WebTransformOperations into pure virtual
+ https://bugs.webkit.org/show_bug.cgi?id=105553
+
+ Reviewed by James Robinson.
+
+ This removes the implementation of WebTransformOperations and updates
+ users to construct instances using a factory function. This also adds
+ the implementation of WebTransformKeyFrame.
+
+ No new tests, no change in functionality.
+
+ * WebCore.gypi:
+ * platform/chromium/support/WebTransformKeyframe.cpp: Copied from Source/Platform/chromium/public/WebTransformKeyframe.h.
+ (WebKit):
+ (WebKit::WebTransformKeyframe::WebTransformKeyframe):
+ (WebKit::WebTransformKeyframe::~WebTransformKeyframe):
+ (WebKit::WebTransformKeyframe::time):
+ (WebKit::WebTransformKeyframe::value):
+ * platform/chromium/support/WebTransformOperations.cpp: Removed.
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::toWebTransformOperations):
+ (WebCore::WebTransformAnimationCurve):
+
+2013-01-18 Arko Saha <arko@motorola.com>
+
+ PropertyCollection test fails on JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=106997
+
+ Reviewed by Kentaro Hara.
+
+ Made changes in CodeGeneratorJS.pm so that it can use
+ toJS(JSC::ExecState*, JSDOMGlobalObject*, PropertyNodeList*)
+ to wrap the object and return PropertyNodeList instead of NodeList.
+
+ Test: fast/dom/MicroData/propertiescollection-crash.html
+ fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+
+2013-01-18 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Improve table-guessing heuristics
+ https://bugs.webkit.org/show_bug.cgi?id=107042
+
+ Reviewed by Chris Fleizach.
+
+ Adds some more rules so that tables with cell borders, empty-cells,
+ col, colgroup, or >= 20 rows are all considered data tables, not
+ layout tables.
+
+ Test: accessibility/table-detection.html (modified)
+
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::isDataTable):
+
+2013-01-18 Terry Anderson <tdanderson@chromium.org>
+
+ Scroll gestures should not create wheel events
+ https://bugs.webkit.org/show_bug.cgi?id=103952
+
+ Reviewed by James Robinson.
+
+ Tests: fast/events/touch/gesture/touch-gesture-scroll-div-propagated.html
+ fast/events/touch/gesture/touch-gesture-scroll-div-twice-propagated.html
+ fast/events/touch/gesture/touch-gesture-scroll-iframe-editable.html
+ fast/events/touch/gesture/touch-gesture-scroll-iframe-propagated.html
+ fast/events/touch/gesture/touch-gesture-scroll-page-propagated.html
+
+ In EventHandler::handleGestureEvent(), scroll gestures should not be handled by synthesizing
+ and dispatching wheel events; we should instead scroll the relevant layer directly.
+
+ Note that this patch should be landed together with the patch for
+ https://bugs.webkit.org/show_bug.cgi?id=106589.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler):
+ (WebCore::EventHandler::clear):
+ (WebCore::EventHandler::handleGestureEvent):
+ (WebCore::EventHandler::passGestureEventToWidget):
+ (WebCore::EventHandler::passGestureEventToWidgetIfPossible):
+ (WebCore):
+ (WebCore::closestScrollableNodeInDocumentIfPossibleOrSelfIfNotScrollable):
+ (WebCore::EventHandler::handleGestureScrollBegin):
+ (WebCore::EventHandler::handleGestureScrollUpdate):
+ (WebCore::EventHandler::isScrollbarHandlingGestures):
+ * page/EventHandler.h:
+ (EventHandler):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollByRecursively):
+ * rendering/RenderLayer.h:
+
+2013-01-18 Nate Chapin <japhet@chromium.org>
+
+ Cannot abort multiple XHR POSTs made to same url
+ https://bugs.webkit.org/show_bug.cgi?id=106937
+
+ Reviewed by Alexey Proskuryakov.
+
+ Test: http/tests/cache/cancel-multiple-post-xhrs.html
+
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::removeClient): Call allClientsRemoved() regardless
+ of whether this resource is inCache(). Otherwise, CachedRawResources will
+ not have the opportunity to cancel as expected. However, don't cancel
+ if the last client was removed because we're in the middle of switching
+ the clients over to a successfully revalidated resource.
+
+2013-01-18 Dima Gorbik <dgorbik@apple.com>
+
+ Implement ::cue() pseudo element property whitelist
+ https://bugs.webkit.org/show_bug.cgi?id=105477
+
+ Reviewed by Antti Koivisto.
+
+ Only allowed by specs properties are applied to WebVTT nodes. We used whitelists before for the region
+ style rule so this refactors the code a little bit to pass bitfields that contain the information on which
+ whitelists should be used.
+
+ Test: media/track/track-css-property-whitelist.html
+
+ * css/RuleSet.cpp:
+ (WebCore::RuleData::RuleData): set a region bit when creating a RuleData.
+ (WebCore::RuleSet::addRule): set a cue bit when PseudoCue type is set for a selector.
+ * css/RuleSet.h: add the new bitfield as an ivar and setters/getters to access it.
+ (WebCore::RuleData::isInRegionRule):
+ (WebCore::RuleData::whitelistType):
+ (WebCore::RuleData::isInCueRule):
+ (WebCore::RuleData::setIsInCueRule):
+ * css/StyleResolver.cpp: refactor the code to pass a bitfield instead of single bits.
+ (WebCore::StyleResolver::addMatchedProperties):
+ (WebCore::StyleResolver::sortAndTransferMatchedRules):
+ (WebCore::StyleResolver::applyProperties):
+ (WebCore::StyleResolver::applyMatchedProperties):
+ (WebCore::StyleResolver::isValidCueStyleProperty):
+ * css/StyleResolver.h:
+
+2013-01-18 Tony Chang <tony@chromium.org>
+
+ Incorrect scrollable height during simplified layout
+ https://bugs.webkit.org/show_bug.cgi?id=107193
+
+ Reviewed by Ojan Vafai.
+
+ Test: fast/overflow/height-during-simplified-layout.html
+
+ When computing overflow, we use the height of the block before it was clamped
+ (i.e., before updateLogicalHeight() has been called).
+
+ During simplfied layout, we use the previous sizes rather than doing a full
+ layout. We still compute overflow, but we were using the clamped height rather
+ than the full height.
+
+ This caused us to incorrectly compute the overflow by the vertical padding.
+ Since we were passing in the already clamped clientHeight to RenderBlock::computeOverflow,
+ we would only include the overflow from our children sizes and not include the overflow
+ from ourselves caused by padding + content.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::simplifiedLayout): Use the scrollable height rather than the
+ already clamped height.
+
+2013-01-18 Joe Mason <jmason@rim.com>
+
+ [BlackBerry] fix compile warnings in NetworkJob
+ https://bugs.webkit.org/show_bug.cgi?id=107293
+
+ Reviewed by Yong Li.
+
+ Internal PR: 283096
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore):
+ (WebCore::isAppendableHeader):
+
+2013-01-18 Dominic Mazzoni <dmazzoni@google.com>
+
+ REGRESSION (r132699): Crashes in WebCore::TextIterator::handleTextNodeFirstLetter
+ https://bugs.webkit.org/show_bug.cgi?id=100688
+
+ Reviewed by Martin Robinson.
+
+ Prevent crashes when accessibilityObjectIsIgnored calls textUnderElement
+ while a subtree is being destroyed.
+
+ Covered by existing tests.
+
+ * accessibility/atk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+
+2013-01-18 Joe Mason <jmason@rim.com>
+
+ [BlackBerry] Only clear credentials when purgeCredentials is called
+ https://bugs.webkit.org/show_bug.cgi?id=107124
+
+ Reviewed by Yong Li.
+
+ Stop clearing credentials when sending out a request just in case they're wrong. That's stupid and
+ has race conditions. Only clear them when we know they're wrong.
+
+ Internal PR: 231158
+ Internal Reviewer: George Staikos
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::sendRequestWithCredentials):
+ (WebCore::NetworkJob::purgeCredentials):
+
+2013-01-18 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] UI: add a context selector to show screenshot of any canvas in the log
+ https://bugs.webkit.org/show_bug.cgi?id=107274
+
+ Reviewed by Pavel Feldman.
+
+ Adding a canvas context selector to display in the replay image screenshot.
+ Drive-by: Reuse common CSS class "status-bar-item" to remove a lot of CSS duplication.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/CanvasProfileView.js:
+ (WebInspector.CanvasProfileView):
+ (WebInspector.CanvasProfileView.prototype._createControlButton):
+ (WebInspector.CanvasProfileView.prototype._onReplayContextChanged):
+ (WebInspector.CanvasProfileView.prototype._onReplayFirstStepClick):
+ (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
+ (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
+ (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
+ (WebInspector.CanvasProfileView.prototype._replayTraceLog):
+ (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
+ (WebInspector.CanvasProfileView.prototype._requestReplayContextInfo.didReceiveResourceInfo):
+ (WebInspector.CanvasProfileView.prototype._requestReplayContextInfo):
+ * inspector/front-end/canvasProfiler.css:
+ * inspector/front-end/inspector.css:
+ (.status-bar button.status-bar-item img):
+
+2013-01-18 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] add getResourceInfo and getResourceState methods to the protocol
+ https://bugs.webkit.org/show_bug.cgi?id=107280
+
+ Reviewed by Pavel Feldman.
+
+ We need to expose replayable resource info and replay state via the protocol.
+ The ResourceInfo describes a replayable resource, i.e. the info about a resource that was stored to replay it later.
+ The ResourceState describes a current state of a resource being replayed on the back-end.
+
+ * inspector/CodeGeneratorInspector.py:
+ * inspector/InjectedScriptCanvasModule.cpp:
+ (WebCore::InjectedScriptCanvasModule::replayTraceLog):
+ (WebCore):
+ (WebCore::InjectedScriptCanvasModule::resourceInfo):
+ (WebCore::InjectedScriptCanvasModule::resourceState):
+ * inspector/InjectedScriptCanvasModule.h:
+ (InjectedScriptCanvasModule):
+ * inspector/InjectedScriptCanvasModuleSource.js:
+ (.):
+ * inspector/Inspector.json:
+ * inspector/InspectorCanvasAgent.cpp:
+ (WebCore::InspectorCanvasAgent::replayTraceLog):
+ (WebCore):
+ (WebCore::InspectorCanvasAgent::getResourceInfo):
+ (WebCore::InspectorCanvasAgent::getResourceState):
+ * inspector/InspectorCanvasAgent.h:
+ (InspectorCanvasAgent):
+ * inspector/front-end/CanvasProfileView.js:
+ (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
+ (WebInspector.CanvasProfileView.prototype._replayTraceLog):
+
+2013-01-18 Sergio Villar Senin <svillar@igalia.com>
+
+ [Soup] Frequent crashes on redirections
+ https://bugs.webkit.org/show_bug.cgi?id=107240
+
+ Reviewed by Martin Robinson.
+
+ We must ensure that the ResourceHandle has not being cancelled
+ before performing a redirect. This could happen while we close the
+ stream used to read the redirect response because it is done
+ asynchronously.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::redirectCloseCallback): also renamed res to result.
+
+2013-01-18 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: array grouping does not work big sparse arrays
+ https://bugs.webkit.org/show_bug.cgi?id=106897
+
+ Reviewed by Pavel Feldman.
+
+ Now we will choose between array index iteration and object properties iteration for sparse arrays.
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (.doLoop):
+ (.countIterationCallback):
+ (.loopIterationCallback):
+
+2013-01-18 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Fix Memory leaks in EGL and GLX surface.
+ https://bugs.webkit.org/show_bug.cgi?id=107100
+
+ Reviewed by Laszlo Gombos.
+
+ GLX and EGL surface don't release GL resources created by them.
+ This patch ensures that the leaks are fixed and
+ native display is not closed before releasing the current
+ context and surface.
+
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
+ (GraphicsContext3DPrivate::releaseResources):
+ * platform/graphics/surfaces/egl/EGLSurface.cpp:
+ (WebCore::EGLWindowTransportSurface::destroy): Call base class to free any allocated GL resources.
+ * platform/graphics/surfaces/glx/GLXContext.cpp:
+ (WebCore::GLXOffScreenContext::platformReleaseCurrent):
+ (WebCore::GLXOffScreenContext::freeResources): Don't reset the display to null.
+ * platform/graphics/surfaces/glx/GLXSurface.cpp:
+ (WebCore::GLXTransportSurface::destroy): Call base class to free any allocated GL resources.
+ (WebCore::GLXPBuffer::freeResources): Call base class to free any allocated GL resources.
+
+2013-01-18 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] introduce Resource.toDataURL
+ https://bugs.webkit.org/show_bug.cgi?id=107019
+
+ Reviewed by Pavel Feldman.
+
+ Resource.toDataURL will return string data url representation of a resource, if applicable.
+ For example, for a rendering context resource (2D or WebGL) it will return canvas.toDataURL().
+
+ * inspector/InjectedScriptCanvasModuleSource.js:
+ (.):
+
+2013-01-18 Csaba Osztrogonác <ossy@webkit.org>
+
+ One more unreviewed Windows buildfix after r140097.
+
+ * html/HTMLPlugInElement.h: Remove non-existent include.
+
+2013-01-18 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Windows buildfix after r140097.
+
+ * html/HTMLPlugInElement.h:
+
+2013-01-18 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: remove dead code from heap profiler front-end
+ https://bugs.webkit.org/show_bug.cgi?id=107265
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/HeapSnapshotView.js: removed unused methods.
+
+2013-01-18 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix Qt minimal compilation after r140127
+
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentationCookie):
+
+2013-01-18 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: make sure InspectorInstrumentationCookie is invalidated if inspected page was destroyed
+ https://bugs.webkit.org/show_bug.cgi?id=107232
+
+ Reviewed by Pavel Feldman.
+
+ Made InstrumentingAgents reference counted to make sure it is not deleted while there is
+ InspectorInstrumentationCookie with reference to it.
+
+ Introduced InstrumentingAgents::reset that is called from inspector controller destructor
+ to double check that references to all deleted agents are cleared.
+
+ InspectorInstrumentationCookie turned from std::pair into a custom class so that
+ we can avoid inclusion of InstrumentingAgents.h into InspectorInstrumentation.h
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::~InspectorController):
+ * inspector/InspectorController.h:
+ (InspectorController):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):
+ (WebCore::InspectorInstrumentationCookie::operator=):
+ (WebCore::InspectorInstrumentationCookie::~InspectorInstrumentationCookie):
+ (WebCore::InspectorInstrumentation::didHandleEventImpl):
+ (WebCore::InspectorInstrumentation::didFireTimerImpl):
+ (WebCore::InspectorInstrumentation::didLayoutImpl):
+ (WebCore::InspectorInstrumentation::didPaintImpl):
+ (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
+ (WebCore::InspectorInstrumentation::didMatchRuleImpl):
+ (WebCore::InspectorInstrumentation::didProcessRuleImpl):
+ (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
+ (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentationCookie):
+ (WebCore::InspectorInstrumentation::didCallFunction):
+ (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
+ (WebCore::InspectorInstrumentation::didDispatchEvent):
+ (WebCore::InspectorInstrumentation::didHandleEvent):
+ (WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
+ (WebCore::InspectorInstrumentation::didEvaluateScript):
+ (WebCore::InspectorInstrumentation::didFireTimer):
+ (WebCore::InspectorInstrumentation::didLayout):
+ (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
+ (WebCore::InspectorInstrumentation::didPaint):
+ (WebCore::InspectorInstrumentation::didRecalculateStyle):
+ (WebCore::InspectorInstrumentation::didMatchRule):
+ (WebCore::InspectorInstrumentation::didProcessRule):
+ (WebCore::InspectorInstrumentation::didReceiveResourceData):
+ (WebCore::InspectorInstrumentation::didWriteHTML):
+ (WebCore::InspectorInstrumentation::didFireAnimationFrame):
+ * inspector/InstrumentingAgents.cpp:
+ (WebCore::InstrumentingAgents::InstrumentingAgents):
+ (WebCore):
+ (WebCore::InstrumentingAgents::reset):
+ * inspector/InstrumentingAgents.h:
+ (WebCore::InstrumentingAgents::create):
+ (InstrumentingAgents):
+ * inspector/WorkerInspectorController.cpp:
+ (WebCore::WorkerInspectorController::WorkerInspectorController):
+ (WebCore::WorkerInspectorController::~WorkerInspectorController):
+ * inspector/WorkerInspectorController.h:
+ (WorkerInspectorController):
+
+2013-01-18 Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+ [CMake] Fix indexeddb module build
+ https://bugs.webkit.org/show_bug.cgi?id=107247
+
+ Reviewed by Kentaro Hara.
+
+ Add missing files to WebCore_SOURCES so the indexeddb module
+ can be built.
+
+ * CMakeLists.txt:
+
+2013-01-17 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Add early version of file system mappings editor to settings.
+ https://bugs.webkit.org/show_bug.cgi?id=107136
+
+ Reviewed by Pavel Feldman.
+
+ FileMapping simplified to use only one type of entries.
+ Added start/stopBatchUpdates to FileSystemWorkspaceProvider for better TabbedPane performance.
+ Added fileSystemProject experiment for file system support and (early and ugly) file system mappings editor behind this experiment.
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * inspector/front-end/FileMapping.js:
+ (WebInspector.FileMapping):
+ (WebInspector.FileMapping.prototype._entryMatchesURL):
+ (WebInspector.FileMapping.prototype._entryURIPrefix):
+ (WebInspector.FileMapping.prototype.hasMappingForURL):
+ (WebInspector.FileMapping.prototype._innerURIForURL):
+ (WebInspector.FileMapping.prototype.uriForURL):
+ (WebInspector.FileMapping.prototype.urlForURI):
+ (WebInspector.FileMapping.prototype.mappingEntries):
+ (WebInspector.FileMapping.prototype.setMappingEntries):
+ (WebInspector.FileMapping.prototype.set _loadFromSettings.get this):
+ (WebInspector.FileMapping.prototype.set _loadFromSettings):
+ (WebInspector.FileMapping.Entry):
+ * inspector/front-end/FileSystemWorkspaceProvider.js:
+ (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
+ * inspector/front-end/IsolatedFileSystemModel.js:
+ (WebInspector.IsolatedFileSystemModel.prototype._fileSystemAdded):
+ * inspector/front-end/Settings.js:
+ (WebInspector.ExperimentsSettings):
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.WorkspaceSettingsTab):
+ (WebInspector.WorkspaceSettingsTab.prototype._createFileSystemsEditor):
+ (WebInspector.WorkspaceSettingsTab.prototype._createShowTextInput):
+ (WebInspector.WorkspaceSettingsTab.prototype._createEditTextInput):
+ (WebInspector.WorkspaceSettingsTab.prototype._createRemoveButton):
+ (WebInspector.WorkspaceSettingsTab.prototype._createAddButton):
+ (WebInspector.WorkspaceSettingsTab.prototype._addFileSystemRow.removeFileSystemClicked):
+ (WebInspector.WorkspaceSettingsTab.prototype._addFileSystemRow.fileSystemRemoved):
+ (WebInspector.WorkspaceSettingsTab.prototype._addFileSystemRow):
+ (WebInspector.WorkspaceSettingsTab.prototype._addFileSystemClicked):
+ (WebInspector.WorkspaceSettingsTab.prototype._fileSystemAdded):
+ (WebInspector.WorkspaceSettingsTab.prototype._createFileMappingEditor):
+ (WebInspector.WorkspaceSettingsTab.prototype._addMappingRow.removeMappingClicked):
+ (WebInspector.WorkspaceSettingsTab.prototype._addMappingRow):
+ (WebInspector.WorkspaceSettingsTab.prototype._addFileMappingClicked):
+ * inspector/front-end/helpScreen.css:
+ (.settings-tab .file-systems-editor input.file-system-path):
+ (.settings-tab .file-mappings-editor .workspace-settings-row input):
+ (.settings-tab .file-mappings-editor .workspace-settings-row input.file-mapping-url):
+ (#workspace-tab-content .button:hover):
+ (#workspace-tab-content .workspace-settings-row:hover .button):
+ (#workspace-tab-content .workspace-settings-row .button):
+ (#workspace-tab-content .workspace-settings-row .remove-button):
+ (#workspace-tab-content .workspace-settings-row .add-button):
+ (#workspace-tab-content .workspace-settings-row .file-system-add-button):
+ (#workspace-tab-content .workspace-settings-row .file-system-add-button:hover):
+ * inspector/front-end/addIcon.png: Added.
+
+2013-01-18 Eugene Klyuchnikov <eustas.bug@gmail.com>
+
+ Web Inspector: Timeline: nest time/timeEnd records when possible (in glue-mode)
+ https://bugs.webkit.org/show_bug.cgi?id=100114
+
+ Reviewed by Pavel Feldman.
+
+ Nesting time/timeEnd intervals will provide a better overview on
+ what is happening.
+
+ * inspector/front-end/TimelinePresentationModel.js: Added logic that
+ reparents "time" record when "timeEnd" arrives.
+
+2013-01-18 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: do not use localeCompare unless necessary
+ https://bugs.webkit.org/show_bug.cgi?id=107242
+
+ Reviewed by Vsevolod Vlasov.
+
+ Saving on performance here.
+
+ * inspector/front-end/CSSSelectorProfileView.js:
+ (WebInspector.CSSSelectorProfileView.prototype._sortProfile.selectorComparator):
+ (WebInspector.CSSSelectorProfileView.prototype._sortProfile.sourceComparator):
+ * inspector/front-end/CookiesTable.js:
+ (WebInspector.CookiesTable.prototype._sortCookies.compareTo):
+ (WebInspector.CookiesTable.prototype._sortCookies):
+ * inspector/front-end/DirectoryContentView.js:
+ (.nameCompare):
+ (.typeCompare):
+ * inspector/front-end/FileSystemModel.js:
+ (WebInspector.FileSystemModel.Entry.compare):
+ * inspector/front-end/FileSystemView.js:
+ (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived):
+ * inspector/front-end/FilteredItemSelectionDialog.js:
+ (WebInspector.OpenResourceDialog.compareFunction):
+ (WebInspector.OpenResourceDialog):
+ * inspector/front-end/NetworkRequest.js:
+ * inspector/front-end/ScriptsSearchScope.js:
+ (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes.comparator):
+ (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
+ * inspector/front-end/utilities.js:
+
+2013-01-18 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: fix Closure r2388 warnings
+ https://bugs.webkit.org/show_bug.cgi?id=107252
+
+ Reviewed by Pavel Feldman.
+
+ Surround all casts with brackets to avoid Closure warnings.
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/BottomUpProfileDataGridTree.js:
+ (WebInspector.BottomUpProfileDataGridTree):
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.prototype._filteredBreakpointLocations):
+ (WebInspector.BreakpointManager.prototype.toggleAllBreakpoints):
+ (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
+ (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
+ (WebInspector.DOMAgent.prototype.querySelector):
+ (WebInspector.DOMAgent.prototype.querySelectorAll):
+ * inspector/front-end/DefaultScriptMapping.js:
+ (WebInspector.DefaultScriptMapping.prototype._scriptEdited):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
+ * inspector/front-end/TopDownProfileDataGridTree.js:
+ (WebInspector.TopDownProfileDataGridTree):
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
+
+2013-01-18 Takashi Sakamoto <tasak@google.com>
+
+ Implement CSSHostRule for @host @-rules.
+ https://bugs.webkit.org/show_bug.cgi?id=102344
+
+ Reviewed by Dimitri Glazkov.
+
+ CSSHostRule is defined in Shadow DOM spec:
+ http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#css-host-rule-interface
+ To see or to modify @host @-rules by using inspector, we need to
+ implement CSSHostRule interface.
+
+ Test: fast/dom/shadow/css-hostrule-api.html
+
+ * DerivedSources.cpp:
+ Modified to include JSCSSHostRule.cpp.
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Added CSSHostRule.cpp, CSSHostRule.h, and CSSHostRule.idl.
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS):
+ Add a new case that the given rule is @host @-rules to support @host
+ @-rules.
+ * bindings/objc/DOMCSS.mm:
+ (kitClass):
+ Add a new case that the given rule is @host @-rules to support @host
+ @-rules.
+ * bindings/v8/custom/V8CSSRuleCustom.cpp:
+ (WebCore::wrap):
+ * css/CSSAllInOne.cpp:
+ * css/CSSHostRule.cpp: Added.
+ (WebCore):
+ (WebCore::CSSHostRule::CSSHostRule):
+ (WebCore::CSSHostRule::cssText):
+ * css/CSSHostRule.h: Added.
+ (WebCore):
+ (CSSHostRule):
+ (WebCore::CSSHostRule::create):
+ Implemented class CSSHostRule which inherits CSSGroupingRule.
+ Since CSSHostRule has the same interface as CSSGroupingRule, it is
+ required to implement its constructor and to override only type
+ method and cssText method.
+ * css/CSSHostRule.idl: Added.
+ * css/CSSRule.h:
+ * css/CSSRule.idl:
+ Added internal HOST_RULE type number.
+ * css/StyleResolver.cpp:
+ (WebCore::collectCSSOMWrappers):
+ * css/StyleRule.cpp:
+ (WebCore::StyleRuleBase::reportMemoryUsage):
+ (WebCore::StyleRuleBase::destroy):
+ (WebCore::StyleRuleBase::copy):
+ (WebCore::StyleRuleBase::createCSSOMWrapper):
+ Modified to handle StyleRuleHost.
+ * css/StyleRule.h:
+ (WebCore::StyleRuleBase::isHostRule):
+ (WebCore::StyleRuleHost::StyleRuleHost):
+ * css/StyleSheetContents.cpp:
+ (WebCore::childRulesHaveFailedOrCanceledSubresources):
+ * page/DOMWindow.idl:
+ Added CSSHostRule constructor.
+
+2013-01-18 John J. Barton <johnjbarton@chromium.org>
+
+ Web Inspector: inspectedWindow.eval("IamUndefined.prop", callback) fails to give exception text
+ https://bugs.webkit.org/show_bug.cgi?id=106926
+
+ Reviewed by Pavel Feldman.
+
+ Return .description from exceptions rather than .value (which is undefined)
+
+ New test added to extensions/extensions-eval.html
+
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype.):
+ (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
+
+2013-01-14 Dominik Röttsches <dominik.rottsches@intel.com>
+
+ [EFL] Update freetype in jhbuild to 2.4.11 and activate subpixel layout
+ https://bugs.webkit.org/show_bug.cgi?id=106774
+
+ In order to fix a long standing linespacing/font ascent & descent issue
+ we found that FreeType commit b0962ac34e660 solves that problem.
+ Let's update FreeType accordingly, but bump it to 2.4.11 due to the
+ maintainer recommending several security updates after that said commit.
+
+ Also, in order to avoid extra rebaselining, let's activate subpixel
+ layout at the same time. With subpixel layout I propose to remove
+ rounding of the linespacing value in order to not introduce rounding
+ inaccuracies at the SimpleFontData level. Other platforms don't do that
+ anymore, furthermore the linegap value is not rounded either.
+
+ Reviewed by Martin Robinson.
+
+ No new tests, affects a large number of tests that will require rebaselining.
+
+ * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
+ (WebCore::SimpleFontData::platformInit): Remove rounding when setting linespacing.
+
+2013-01-18 Vivek Galatage <vivek.vg@samsung.com>
+
+ Web Inspector: Search shortcut clears the current search box contents
+ https://bugs.webkit.org/show_bug.cgi?id=107109
+
+ Reviewed by Pavel Feldman.
+
+ The search box contents should be changed only when the current focus element is
+ different than the _searchInputElement.
+
+ * inspector/front-end/SearchController.js:
+ (WebInspector.SearchController.prototype.showSearchField):
+
+2013-01-18 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] Fix JSDocs and deduplicate code.
+ https://bugs.webkit.org/show_bug.cgi?id=107116
+
+ Reviewed by Pavel Feldman.
+
+ Add / fix JSDocs to see possible type mismatches.
+ Deduplicate code for styling network log items.
+
+ * inspector/front-end/NetworkPanel.js: Fix JSDocs.
+ (WebInspector.NetworkDataGridNode.prototype._updateElementStyleClasses):
+ Extract common code.
+ * inspector/front-end/NetworkRequest.js: Fix JSDocs.
+
+2013-01-18 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r140005.
+ http://trac.webkit.org/changeset/140005
+ https://bugs.webkit.org/show_bug.cgi?id=107235
+
+ broke downstream Chromium interactive_ui_tests (Requested by
+ dominicc on #webkit).
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ * dom/Document.h:
+ (WebCore::Document::documentElement):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadedResourceFromMemoryCache):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::MainResourceLoader):
+ (WebCore::MainResourceLoader::receivedError):
+ (WebCore::MainResourceLoader::willSendRequest):
+ (WebCore::MainResourceLoader::responseReceived):
+ (WebCore::MainResourceLoader::didFinishLoading):
+ (WebCore::MainResourceLoader::load):
+ (WebCore::MainResourceLoader::identifier):
+ * loader/MainResourceLoader.h:
+ (MainResourceLoader):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::didAddClient):
+ (WebCore::CachedRawResource::willSendRequest):
+ (WebCore::CachedRawResource::canReuse):
+ * loader/cache/CachedRawResource.h:
+ (CachedRawResource):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::addClientToSet):
+ * loader/cache/CachedResource.h:
+ (CachedResource):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::determineRevalidationPolicy):
+ * testing/Internals.cpp:
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2013-01-18 Yoshifumi Inoue <yosin@chromium.org>
+
+ REGRESSION(r137726): Spring Loaded Pan Scrolling doesn't stop
+ https://bugs.webkit.org/show_bug.cgi?id=107205
+
+ Reviewed by Hajime Morita.
+
+ The bug is caused by forgetting to set true m_panScrollButtonPressed
+ in AutoscrollController::startPanScroll().
+
+ This patch changes state management during pan scroll by replacing
+ m_panScrollButtonPressed and m_springLoadedPanScrollInProgress by
+ m_autoscrollType with introducing new AutoscrollController state
+ AutoscrollForPanCanStop.
+
+ Tests: platform/chromium-win/fast/events/panScroll-click.html
+ platform/chromium-win/fast/events/panScroll-drag.html
+
+ * page/AutoscrollController.cpp:
+ (WebCore::AutoscrollController::AutoscrollController): Changed to remove initialization of m_panScrollButtonPressed and m_springLoadedPanScrollInProgress.
+ (WebCore::AutoscrollController::stopAutoscrollTimer): Changed to remove resetting m_panScrollButtonPressed and m_springLoadedPanScrollInProgress.
+ (WebCore::AutoscrollController::handleMouseReleaseEvent): Changed to handle AutoscrollForPan and AutoscrollForPanCanStop.
+ (WebCore::AutoscrollController::panScrollInProgress): Changed to check AutoscrollForPanCanStop too.
+ (WebCore::AutoscrollController::startPanScrolling): Changed to remove setting of m_springLoadedPanScrollInProgress.
+ (WebCore::AutoscrollController::autoscrollTimerFired): Changed to add case for AutoscrollForPanCanStop.
+ (WebCore::AutoscrollController::updatePanScrollState): Chagned to use AutoscrollForPan and AutoscrollForPanCanStop.
+ * page/AutoscrollController.h:
+ (AutoscrollController): Changed to add AutoscrollForPanCanStop to AutoscrollType.
+
+2013-01-17 Takashi Sakamoto <tasak@google.com>
+
+ Heap-use-after-free in WebCore::LiveNodeListBase::invalidateCache
+ https://bugs.webkit.org/show_bug.cgi?id=106958
+
+ Reviewed by Ryosuke Niwa.
+
+ Need to update node lists that nodes in shadow dom trees have
+ when document is changed.
+
+ No new tests; it is difficult to reproduce crash by using
+ DumpRenderTree. Manually tested by using attached repro.html.
+
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::adoptTreeScope):
+ Added to adopt node lists when tree scope is changed.
+ (WebCore::NodeListsNodeData::adoptDocument):
+ Renamed the original adoptTreeScope to adoptDocument.
+ * dom/TreeScopeAdopter.cpp:
+ (WebCore::TreeScopeAdopter::moveTreeToNewScope):
+ If document scope is not changed, modify to invoke adoptTreeScope.
+ (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
+ Modify to invoked adoptDocument.
+
+2013-01-17 Sankeerth V S <sankeerth.vs@samsung.com>
+
+ Search for a selected word should trigger _performSearch to populate
+ search results
+ https://bugs.webkit.org/show_bug.cgi?id=106423
+
+ Reviewed by Pavel Feldman.
+
+ No new tests as this is a UI related change.
+
+ * inspector/front-end/SearchController.js:
+ (WebInspector.SearchController.prototype.showSearchField):
+
+2013-01-17 Rafael Weinstein <rafaelw@chromium.org>
+
+ Ensure the parser adopts foster-parented children into the document of their parent.
+ https://bugs.webkit.org/show_bug.cgi?id=107023
+
+ Reviewed by Adam Barth.
+
+ Tests: fast/parser/foster-parent-adopted.html
+ fast/parser/foster-parent-adopted2.html
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::insertTextNode):
+ (WebCore::HTMLConstructionSite::fosterParent):
+
+2013-01-17 Martin Robinson <mrobinson@igalia.com>
+
+ 2013-01-17 Martin Robinson <mrobinson@igalia.com>
+
+ IndexedDB: Conditionalize usage of env_idb.h to fix build for non-Chromium ports
+ https://bugs.webkit.org/show_bug.cgi?id=107182
+
+ No new tests. This is a build fix.
+
+ * platform/leveldb/LevelDBDatabase.cpp: Use the default environment for non-Chromium
+ ports instead of the Chromium-specific one provided by env_idb.h.
+
+2013-01-17 Rik Cabanier <cabanier@adobe.com>
+
+ Update GraphicsContext to support winding rule in clip operator for Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=106872
+
+ Reviewed by Dirk Schulze.
+
+ Added support for winding to clip() and canvasClip() functions.
+
+ No new tests, no change in behavior.
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::clip): Call clipPath() instead with winding rule.
+ (WebCore::GraphicsContext::canvasClip): Honor the winding rule.
+
+2013-01-17 Shinya Kawanaka <shinyak@chromium.org>
+
+ Revert r122824 for a while
+ https://bugs.webkit.org/show_bug.cgi?id=97867
+
+ Reviewed by Hajime Morita.
+
+ In r122824, we have introduced ImageInnerElement for making an image element ShadowDOM-available.
+ However, it turned out that making a replaced-element ShadowDOM-available has a lot of difficulty.
+ So we would like to postpone it for a while.
+
+ Since that patch makes an image element really complicated, we would like to revert it.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/html.css:
+ * html/HTMLImageElement.cpp:
+ (WebCore):
+ (WebCore::HTMLImageElement::parseAttribute):
+ (WebCore::HTMLImageElement::createRenderer):
+ (WebCore::HTMLImageElement::attach):
+ * html/HTMLImageElement.h:
+ (WebCore):
+ (HTMLImageElement):
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::HTMLImageLoader):
+ (WebCore::HTMLImageLoader::dispatchLoadEvent):
+ (WebCore::HTMLImageLoader::sourceURI):
+ (WebCore::HTMLImageLoader::notifyFinished):
+ * html/HTMLImageLoader.h:
+ (HTMLImageLoader):
+ * html/HTMLInputElement.h:
+ * html/HTMLObjectElement.h:
+ * html/HTMLPlugInElement.h:
+ (WebCore):
+ * html/HTMLPlugInImageElement.h:
+ * html/HTMLTagNames.in:
+ * html/HTMLVideoElement.h:
+ * html/shadow/ImageInnerElement.cpp: Removed.
+ * html/shadow/ImageInnerElement.h: Removed.
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::ImageLoader):
+ (WebCore::ImageLoader::~ImageLoader):
+ (WebCore::ImageLoader::updateFromElement):
+ (WebCore::ImageLoader::notifyFinished):
+ (WebCore::ImageLoader::renderImageResource):
+ (WebCore::ImageLoader::updatedHasPendingEvent):
+ (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
+ (WebCore::ImageLoader::dispatchPendingLoadEvent):
+ (WebCore::ImageLoader::dispatchPendingErrorEvent):
+ * loader/ImageLoader.h:
+ (WebCore):
+ (ImageLoader):
+ (WebCore::ImageLoader::element):
+ * loader/ImageLoaderClient.h: Removed.
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintIntoRect):
+ (WebCore::RenderImage::imageMap):
+ (WebCore::RenderImage::updateAltText):
+ * rendering/RenderImage.h:
+ (WebCore):
+ (RenderImage):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::shouldRespectImageOrientation):
+ * svg/SVGImageElement.h:
+ (SVGImageElement):
+ * svg/SVGImageLoader.cpp:
+ (WebCore::SVGImageLoader::SVGImageLoader):
+ (WebCore::SVGImageLoader::dispatchLoadEvent):
+ (WebCore::SVGImageLoader::sourceURI):
+ * svg/SVGImageLoader.h:
+ (SVGImageLoader):
+
+2013-01-17 Joanmarie Diggs <jdiggs@igalia.com>
+
+ REGRESSION (r139444): Crashes in three accessibility tests on GTK
+ https://bugs.webkit.org/show_bug.cgi?id=106922
+
+ Reviewed by Chris Fleizach.
+
+ r139444 exposed an infinite loop that was just waiting to happen.
+ Currently, getting the role value of an ARIA table row involves
+ getting the parent table via parentObjectUnignored() which in turn
+ can lead to the role value of the table row being checked. Moving
+ the roleValue() logic to determineAccessibilityRole() avoids this.
+
+ This fix, however, introduced a regression when an accessible row
+ was examined without having first examined the parent table for
+ non-ARIA tables. Now that it is safe to call parentObjectUnignored(),
+ the parentTable() method used for ARIA table rows can also be used
+ by non-ARIA table rows.
+
+ No new tests; instead unskipped the three crashing tests.
+
+ * accessibility/AccessibilityTableRow.cpp:
+ (WebCore::AccessibilityTableRow::determineAccessibilityRole):
+ * accessibility/AccessibilityTableRow.h:
+ (AccessibilityTableRow):
+
+2013-01-17 Rik Cabanier <cabanier@adobe.com>
+
+ Update GraphicsContext to support winding rule in clip operator for QT
+ https://bugs.webkit.org/show_bug.cgi?id=106873
+
+ Reviewed by Dirk Schulze.
+
+ Added support for winding to clip() and canvasClip() functions.
+
+ No new tests, no change in behavior.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::clip): Use passed in winding rule.
+ (WebCore::GraphicsContext::canvasClip): Rename variable.
+
+2013-01-17 Rik Cabanier <cabanier@adobe.com>
+
+ Update GraphicsContext to support winding rule in clip operator for Cairo
+ https://bugs.webkit.org/show_bug.cgi?id=107065
+
+ Reviewed by Dirk Schulze.
+
+ Added support for winding to clip() and canvasClip() functions.
+
+ No new tests, no change in behavior.
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::clip): Use passed in winding rule.
+ (WebCore::GraphicsContext::canvasClip): Rename variable.
+
+2013-01-17 Elliott Sprehn <esprehn@chromium.org>
+
+ Track subframe count to avoid traversing the tree when there's no subframes
+ https://bugs.webkit.org/show_bug.cgi?id=101821
+
+ Reviewed by Ojan Vafai.
+
+ Make removeChild 9-14% faster by not walking the descendants looking for
+ frames when there's known to be no frames.
+
+ This is a more generalized version of the fix in Bug 101619 that only
+ avoided this walk when the whole document had no frames. This patch extends
+ it to skip traversing subtrees that have no frames by tracking the number of
+ frames in subtrees and then only walking those subtrees that are known to
+ contain frames in removeChild.
+
+ Test: fast/frames/parser-append-subframe-count.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::willRemoveChildren):
+ (WebCore::parserAppendChild):
+ (WebCore::parserRemoveChild):
+ (WebCore::parserInsertBefore):
+ The parser may move nodes without doing frame disconnection so we
+ must maintain the connected subframe count manually during these
+ mutations.
+ * dom/ContainerNodeAlgorithms.cpp:
+ (WebCore::ChildFrameDisconnector::collectFrameOwners):
+ * dom/ContainerNodeAlgorithms.h:
+ (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
+ (ChildFrameDisconnector):
+ (WebCore::ChildFrameDisconnector::collectFrameOwners):
+ Renamed from collectDescendant() to better reflect what it really does.
+ (WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):
+ Renamed from disconnect() to better reflect what it really does.
+ (WebCore::ChildFrameDisconnector::disconnect):
+ New method that does the collection of frame owners on either the root
+ or only it's descendants.
+ * dom/Node.cpp:
+ (WebCore::Node::connectedSubframeCount):
+ (WebCore::Node::incrementConnectedSubframeCount):
+ (WebCore::Node::decrementConnectedSubframeCount):
+ * dom/Node.h:
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::NodeRareData):
+ (WebCore::NodeRareData::connectedSubframeCount):
+ (WebCore::NodeRareData::incrementConnectedSubframeCount):
+ (WebCore::NodeRareData::decrementConnectedSubframeCount):
+ * html/HTMLFrameOwnerElement.cpp:
+ (WebCore::HTMLFrameOwnerElement::setContentFrame):
+ (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
+
+2013-01-17 Tim Horton <timothy_horton@apple.com>
+
+ [WK2] Minimum layout width auto-sizing should use FrameView::enableAutoSizeMode so that it can shrink the viewport
+ https://bugs.webkit.org/show_bug.cgi?id=107200
+ <rdar://problem/12849029>
+
+ Reviewed by Simon Fraser.
+
+ * WebCore.exp.in: Export FrameView::enableAutoSize(...).
+
+2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r139402.
+ http://trac.webkit.org/changeset/139402
+ https://bugs.webkit.org/show_bug.cgi?id=107212
+
+ Perf regression on DOMDivWalk (Requested by falken_ on
+ #webkit).
+
+ * dom/Element.cpp:
+ (WebCore::Element::removedFrom):
+ (WebCore::Element::setIsInTopLayer):
+
+2013-01-17 Adam Barth <abarth@webkit.org>
+
+ BackgroundHTMLParser should go 18% faster on html-parser-srcdoc benchmark
+ https://bugs.webkit.org/show_bug.cgi?id=107201
+
+ Reviewed by Tony Gentilcore.
+
+ Prior to this patch, we would tokenize all the input before delivering
+ any tokens to the main thread. Effectively, that prevented the
+ background parser from running in parallel with the main thread.
+
+ This patch causes us to send tokens to the main thread periodically.
+ The constant in this patch is somewhat arbitrary. We'll need to tune it
+ later with more realistic workloads.
+
+ This patch improves the performance of the html-parser-srcdoc benchmark
+ by 18%. (This patch is based on Eric's work in
+ https://github.com/tonygentilcore/webkit/commit/072331194520c7770b5e34baefbbbba948834971.)
+
+ * html/parser/BackgroundHTMLParser.cpp:
+ (WebCore):
+ (WebCore::BackgroundHTMLParser::pumpTokenizer):
+ (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
+
+2013-01-17 Matt Falkenhagen <falken@chromium.org>
+
+ Top layer fails for inline elements
+ https://bugs.webkit.org/show_bug.cgi?id=106538
+
+ Reviewed by Hajime Morita.
+
+ This patch makes position 'static' and 'relative' compute to
+ 'absolute' for elements in the top layer, as mandated by the
+ Fullscreen spec.[1] By doing so, we also fix a crash that occurred in
+ RenderLayer::rebuildZOrderLists when an inline element wrapped in an
+ anonymous block was added to the top layer.
+
+ [1]: http://fullscreen.spec.whatwg.org/#new-stacking-layer
+
+ Tests: fast/dom/HTMLDialogElement/element-removed-from-top-layer-has-original-position.html
+ fast/dom/HTMLDialogElement/top-layer-position-relative.html
+ fast/dom/HTMLDialogElement/top-layer-position-static.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::adjustRenderStyle): Set position 'absolute'
+ for an element in the top layer. Typically, absolutely positioned
+ elements also automatically get display 'block', but it seems we must do
+ that manually here. We require display 'block' to ensure the renderer is not
+ considered inline and consequently wrapped in an anonymous block.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::rebuildZOrderLists): Check node() so we don't
+ crash on, e.g., an anonymous block. We don't expect top layer
+ renderers to have anonymous blocks anymore, but we nevertheless
+ shouldn't crash if some other renderer is parented by RenderView.
+
+2013-01-17 Simon Fraser <simon.fraser@apple.com>
+
+ Fix crash accessing RenderView's layer's backing when not composited
+ https://bugs.webkit.org/show_bug.cgi?id=107203
+
+ Reviewed by Benjamin Poulain.
+
+ The RenderView isn't always layer-backed in WebKit1, so null-check the backing.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):
+
+2013-01-16 Ryosuke Niwa <rniwa@webkit.org>
+
+ Remove NodeListsNodeData when it's no longer needed
+ https://bugs.webkit.org/show_bug.cgi?id=107074
+
+ Reviewed by Darin Adler.
+
+ Remove NodeListsNodeData when the last node list is removed from it.
+
+ If we detect that we have only one node list left in the data structure,
+ we'll simply destroy the entire "this" object to free up the memory space.
+
+ This reduced the memory usage of the micro benchmark by roughly 3%.
+
+ Performance Tests: DOM/TraverseChildNodes.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::clearNodeLists): Added.
+ * dom/Node.h:
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::removeChildNodeList):
+ (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
+ (WebCore::NodeListsNodeData::removeCacheWithName):
+ (WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
+ (WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList): Added.
+ Removes "this" NodeListsNodeData if there is only one node list left.
+
+2013-01-17 Abhishek Arya <inferno@chromium.org>
+
+ Heap-use-after-free in WebCore::RenderBlock::checkFloatsInCleanLine
+ https://bugs.webkit.org/show_bug.cgi?id=90802
+
+ Reviewed by Julien Chaffraix.
+
+ Test: fast/multicol/float-not-removed-crash.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::moveChildrenTo):
+ 1. When fullRemoveInsert is True, make sure to clear the
+ floating objects from our list (similar to positioned objects).
+ Our children are getting moved to another block and we won't
+ get notified when they are going away.
+ 2. Remove the redundant hasPositionedObjects check since it
+ is already done inside removePositionedObjects.
+
+2013-01-17 Simon Fraser <simon.fraser@apple.com>
+
+ Make it possible for the root background to be painted into its own GraphicsLayer
+ https://bugs.webkit.org/show_bug.cgi?id=107177
+
+ Reviewed by Dave Hyatt.
+
+ Make it possible to paint the root background into its own GraphicsLayer, and enable
+ this when the root background has background-images that are all background-attachment: fixed.
+
+ This is a step towards optimizing scrolling on pages with fixed root backgrounds.
+
+ Tests: platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer.html
+ platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html
+ platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html
+ platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed.html
+ platform/mac/tiled-drawing/fixed-background/fixed-body-background.html
+ platform/mac/tiled-drawing/fixed-background/fixed-html-background.html
+ platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html
+
+ * rendering/PaintInfo.h:
+ (WebCore::PaintInfo::skipRootBackground): Utility function to check the paintBehavior flag.
+ (WebCore::PaintInfo::paintRootBackgroundOnly): Ditto.
+ * rendering/PaintPhase.h: New paint behavior flags to indicate that we should skip painting
+ the root background, and only paint the root background.
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paint): When we're only painting the root background, avoid painting column
+ rules, and bail early.
+ (WebCore::RenderBlock::paintObject): Don't paint children if we're just painting the root background.
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleWillChange): If this box can paint the root background, tell the compositor
+ when the fixedness of those backgrounds changes.
+ (WebCore::RenderBox::paintRootBoxFillLayers): If the paintBehavior flag is set to skip painting the root
+ background, bail. This will be true for the non-background GraphicsLayers which are painting the root.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayerContents): We can bail early if we're not a root-like renderer and the
+ flag is set to paint the root background only. This avoids walking the whole layer tree when just painting
+ into the root background GraphicsLayer.
+ Migrate layer paint flags into PaintBehavior flags, and use them.
+ * rendering/RenderLayer.h: Layer painting flags that replicate the paintBehavior flags.
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::RenderLayerBacking): Init the m_backgroundLayerPaintsFixedRootBackground bit.
+ (WebCore::RenderLayerBacking::~RenderLayerBacking): Clear the background layer.
+ (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): No need to handle the transparent background
+ stuff here. We'll do it later in updateRootLayerConfiguration().
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Actually make a background layer now
+ if the compositor says we should.
+ Call updateRootLayerConfiguration() to adjust the background color and opaqueness of the background/primary layers.
+ (WebCore::RenderLayerBacking::updateInternalHierarchy): Parent the m_backgroundLayer in the containment layer,
+ not m_graphicsLayer (this is a bug fix).
+ (WebCore::RenderLayerBacking::updateDrawsContent):
+ (WebCore::RenderLayerBacking::setBackgroundLayerPaintsFixedRootBackground):
+ (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
+ (WebCore::RenderLayerBacking::updateBackgroundColor): This no longer needs to update the tile cache
+ background color; updateRootLayerConfiguration() does this now.
+ (WebCore::RenderLayerBacking::updateRootLayerConfiguration): Update the opaqueness and background color
+ of the background and/or main graphics layers.
+ (WebCore::RenderLayerBacking::setContentsNeedDisplay): Invalidate the background layer if we have one.
+ (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Invalidate the background layer if we have one.
+ This will be optimized to only repaint the background if it was the background that changed.
+ (WebCore::RenderLayerBacking::paintIntoLayer): Take a GraphicsLayer, not a RenderLayer argument.
+ Adjust the paintFlags if we're being asked to paint the background layer, or if we have one, but are painting the foreground.
+ (WebCore::RenderLayerBacking::paintContents):
+ (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
+ (WebCore::RenderLayerBacking::reportMemoryUsage):
+ * rendering/RenderLayerBacking.h:
+ (WebCore::RenderLayerBacking::backgroundLayer):
+ (WebCore::RenderLayerBacking::backgroundLayerPaintsFixedRootBackground):
+ (RenderLayerBacking):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged): If we're told that the fixed-ness of
+ the root background changed and we're using a TileCache, we need to re-evaluate compositing (this could be
+ optimized to only update the root layer).
+ (WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer): For the root (RenderView's) layer,
+ check whether the renderer that will paint the root (taking background propagation into account) has
+ background images that are all fixed.
+ (WebCore::RenderLayerCompositor::fixedRootBackgroundLayer): Accessor for the GraphicsLayer that paints
+ the root background (will be used later).
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::hasEntirelyFixedBackground): Returns true there are background images
+ and all are fixed.
+ * rendering/RenderObject.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paintBoxDecorations): This function paints a solid color if we know that the root
+ isn't going to fill the viewport; we want to avoid this painting if we're not painting the root background
+ in this pass.
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::allLayersAreFixed):
+ (WebCore::RenderStyle::hasEntirelyFixedBackground): New helper function.
+ * rendering/style/RenderStyle.h:
+
+2013-01-17 Rafael Weinstein <rafaelw@chromium.org>
+
+ [Template] Avoid reading beyond the end of the buffer in preload scanner when check for </template>
+ https://bugs.webkit.org/show_bug.cgi?id=107143
+
+ Reviewed by Adam Barth.
+
+ This patch corrects to use AtomicString constructor which takes an explicit size. Additionally, the logic
+ for exiting early is slightly improved.
+
+ No new tests.
+
+ * html/parser/HTMLPreloadScanner.cpp:
+ (WebCore::PreloadTask::PreloadTask):
+ (WebCore::HTMLPreloadScanner::processToken):
+
+2013-01-17 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] Match initializing members in GraphicsLayerTransform to initializing members in GraphicsLayer.
+ https://bugs.webkit.org/show_bug.cgi?id=107090
+
+ Reviewed by Noam Rosenthal.
+
+ GraphicsLayer initializes m_anchorPoint to FloatPoint3D(0.5, 0.5, 0) and
+ m_preserves3D to false, while GraphicsLayerTransform initializes m_anchorPoint
+ to FloatPoint3D(0, 0, 0) and m_flattening (= !m_preserves3D) to false. It is a
+ potential bug. This patch corrects initialization of GraphicsLayerTransform.
+
+ Covered by existing compositing pixel tests.
+
+ * platform/graphics/GraphicsLayerTransform.cpp:
+ (WebCore::GraphicsLayerTransform::GraphicsLayerTransform):
+
+2013-01-17 Filip Pizlo <fpizlo@apple.com>
+
+ ScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack to pop
+ https://bugs.webkit.org/show_bug.cgi?id=107186
+
+ Reviewed by Geoffrey Garen.
+
+ No new tests, because I'm not sure how to test this. I can repro it on a gnarly web site,
+ but I don't know how to create a reduced case that triggers it.
+
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::didExecuteProgram):
+
+2013-01-17 Michael Pruett <michael@68k.org>
+
+ [GTK] IndexedDB: Add LevelDB headers to include path if IndexedDB is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=107181
+
+ Reviewed by Martin Robinson.
+
+ No new tests as this is just a build change.
+
+ * GNUmakefile.am:
+
+2013-01-17 Eric Seidel <eric@webkit.org>
+
+ The threaded html parser hangs when parsing empty documents (and about:blank)
+ https://bugs.webkit.org/show_bug.cgi?id=107160
+
+ Reviewed by Tony Gentilcore.
+
+ This is covered by many existing tests including the html5lib suite.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::finish):
+
+2013-01-17 Alexis Hetu <sugoi@chromium.org>
+
+ imageSmoothingEnabled frequent, unpredictable crashes
+ https://bugs.webkit.org/show_bug.cgi?id=107161
+
+ Reviewed by Stephen White.
+
+ Added a NULL pointer check to fix a crash.
+
+ Test: fast/canvas/canvas-imageSmoothingEnabled-zero-size.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
+
+2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r140049.
+ http://trac.webkit.org/changeset/140049
+ https://bugs.webkit.org/show_bug.cgi?id=107187
+
+ Breaks lots of stuff (Requested by schenney on #webkit).
+
+ * svg/SVGViewSpec.cpp:
+ (WebCore::SVGViewSpec::setPreserveAspectRatioString):
+ (WebCore):
+ (WebCore::SVGViewSpec::viewTarget):
+ (WebCore::SVGViewSpec::transform):
+ (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
+ (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
+ (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
+ * svg/SVGViewSpec.h:
+ (SVGViewSpec):
+ (WebCore::SVGViewSpec::viewBoxAnimated):
+ (WebCore::SVGViewSpec::preserveAspectRatioAnimated):
+ * svg/SVGViewSpec.idl:
+
+2013-01-17 Eric Seidel <eric@webkit.org>
+
+ Threaded parser hangs when encountering an unmatched </script> tag
+ https://bugs.webkit.org/show_bug.cgi?id=107170
+
+ Reviewed by Adam Barth.
+
+ The bug was that the BackgroundHTMLParser naively yields to the
+ main thread every time it encounters a </script>
+ (as we may have to run script on the main thread). However, not every
+ </script> results in script execution, so the main thread needs to know
+ how to tell the BackgroundHTMLParser to continue in cases where no
+ script execution is needed.
+
+ This whole infrastructure will be replaced when we let the BackgroundHTMLParser
+ continue speculatively tokenizing after yielding.
+
+ * html/parser/BackgroundHTMLParser.cpp:
+ (WebCore::TokenDelivery::TokenDelivery):
+ (TokenDelivery):
+ (WebCore::TokenDelivery::execute):
+ (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
+ * html/parser/HTMLDocumentParser.h:
+ (HTMLDocumentParser):
+
+2013-01-17 Eric Seidel <eric@webkit.org>
+
+ Stop the background parser when canceling parsing to avoid crashing on many layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=107159
+
+ Reviewed by Adam Barth.
+
+ Covered by many existing tests.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::stopParsing):
+
+2013-01-17 Stephen Chenney <schenney@chromium.org>
+
+ SVGViewSpec fails when corresponding element has been removed
+ https://bugs.webkit.org/show_bug.cgi?id=106957
+
+ Reviewed by Dirk Schulze.
+
+ When JS holds an SVGViewSpec object while deleting the object that
+ defines the spec (an SVGSVGElement, or one of a few others) the
+ pointer to the target is cleared in the SVGViewSpec but the methods
+ that serve JS queries do not check and try to access the now null
+ target. This atch fixes the prooblem, throwing JS exceptions where
+ possible and returning null where necessary.
+
+ Test: svg/dom/SVGViewSpec-invalid-ref-crash.html
+
+ * svg/SVGViewSpec.cpp:
+ (WebCore):
+ (WebCore::SVGViewSpec::viewTarget): Check for null target and throw an exception.
+ (WebCore::SVGViewSpec::transform): Check for null target and return
+ null. It is not possible to throw an exception here because it leads
+ to an invalid cast in the code generated from IDLs.
+ (WebCore::SVGViewSpec::viewBoxAnimated): Check for null target and throw an exception.
+ (WebCore::SVGViewSpec::preserveAspectRatioAnimated): Check for null target and throw an exception.
+ (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): ASSERT non-null target
+ (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): ASSERT non-null target
+ (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): ASSERT non-null target
+ * svg/SVGViewSpec.h:
+ (SVGViewSpec): Add Exception arguments to getter methods.
+ * svg/SVGViewSpec.idl: Mark attributes as throwing exceptions.
+
+2013-01-17 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Remove unnecessary call to IDBDatabaseBackendInterface::metadata()
+ https://bugs.webkit.org/show_bug.cgi?id=107142
+
+ Reviewed by Kentaro Hara.
+
+ This call isn't necessary, and probably slipped through an earlier review
+ because of the mention of 'm_metadata'.
+
+ No new tests, as this code has no side effects and all tests sill pass.
+
+ * Modules/indexeddb/IDBIndex.cpp:
+ (WebCore::IDBIndex::count):
+
+2013-01-17 Ojan Vafai <ojan@chromium.org>
+
+ Table layout does not need to explicitly call computePreferredLogicalWidths
+ https://bugs.webkit.org/show_bug.cgi?id=106931
+
+ Reviewed by Julien Chaffraix.
+
+ Code shouldn't need to explicitly call computePreferredLogicalWidths.
+ It should only get called as a by-product of calling minPreferredLogicalWidth
+ or maxPreferredLogicalWidth.
+
+ Instead, make it clear that the calling code is just trying to clear
+ preferred width dirty bits.
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn):
+ The computePreferredLogicalWidths call on the table cell is redundant
+ with the minPreferredLogicalWidth call on the next line.
+
+ * rendering/FixedTableLayout.cpp:
+ (WebCore::FixedTableLayout::calcWidthArray):
+ We only need to clear the dirty bit here. Table cells don't use
+ their preferred widths in fixed table layout calculations.
+
+ * rendering/RenderTableCell.h:
+ * rendering/RenderTableCol.cpp:
+ (WebCore::RenderTableCol::clearPreferredLogicalWidthsDirtyBits):
+ * rendering/RenderTableCol.h:
+
+2013-01-17 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Updating -webkit-grid-rows or -webkit-grid-columns doesn't work as expected
+ https://bugs.webkit.org/show_bug.cgi?id=107062
+
+ Reviewed by Tony Chang.
+
+ Tests: fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
+ fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
+
+ This change makes -webkit-grid-rows and -webkit-grid-columns dynamic change properly
+ relayout their children, thus making them work!
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::layoutGridItems):
+ Fixed the logic to force a grid item relayout if the grid area size changes. This is the
+ safest approach as margins or paddings can also be a percent of the grid area's size.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+ Fixed a dumb mistake.
+
+2013-01-17 Timothy Hatcher <timothy@apple.com>
+
+ Make logging console messages to STDOUT work in WebKit2 via a new setting.
+
+ https://bugs.webkit.org/show_bug.cgi?id=107157
+
+ Reviewed by Joseph Pecoraro.
+
+ * page/Console.cpp:
+ (WebCore::Console::addMessage): Check logsPageMessagesToSystemConsoleEnabled().
+ (WebCore::internalAddMessage): Ditto. Refactored to return early and drop printExceptions argument.
+ (WebCore::Console::error): Removed call to shouldPrintExceptions().
+ (WebCore::Console::log): Ditto.
+ (WebCore::Console::warn): Ditto.
+ (WebCore::Console::dir): Ditto.
+ (WebCore::Console::dirxml): Ditto.
+ (WebCore::Console::clear): Ditto.
+ (WebCore::Console::trace): Ditto.
+ (WebCore::Console::assertCondition): Ditto.
+ * page/Settings.in: Added logsPageMessagesToSystemConsoleEnabled.
+
+2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r140023.
+ http://trac.webkit.org/changeset/140023
+ https://bugs.webkit.org/show_bug.cgi?id=107176
+
+ Broke some tests (Requested by anttik on #webkit).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateScrollCorner):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::createReplacementRunIn):
+ (WebCore::RenderBlock::updateFirstLetterStyle):
+ (WebCore::RenderBlock::createFirstLetterRenderer):
+ (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
+ (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
+ (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
+ * rendering/RenderDeprecatedFlexibleBox.h:
+ (RenderDeprecatedFlexibleBox):
+ * rendering/RenderDetailsMarker.cpp:
+ (WebCore::RenderDetailsMarker::RenderDetailsMarker):
+ * rendering/RenderDetailsMarker.h:
+ (RenderDetailsMarker):
+ * rendering/RenderDialog.h:
+ (WebCore::RenderDialog::RenderDialog):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::RenderFieldset):
+ * rendering/RenderFieldset.h:
+ (RenderFieldset):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::RenderFlexibleBox):
+ * rendering/RenderFlexibleBox.h:
+ (RenderFlexibleBox):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::RenderFlowThread):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderFullScreen.cpp:
+ (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
+ (RenderFullScreen::RenderFullScreen):
+ (RenderFullScreen::wrapRenderer):
+ * rendering/RenderFullScreen.h:
+ (RenderFullScreen):
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::RenderGrid):
+ * rendering/RenderGrid.h:
+ (RenderGrid):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::RenderImage):
+ * rendering/RenderImage.h:
+ (RenderImage):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::RenderInline):
+ (WebCore::RenderInline::addChildIgnoringContinuation):
+ * rendering/RenderInline.h:
+ (RenderInline):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollCornerStyle):
+ (WebCore::RenderLayer::updateResizerStyle):
+ (WebCore::RenderLayer::createReflection):
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::RenderListItem):
+ (WebCore::RenderListItem::styleDidChange):
+ * rendering/RenderListItem.h:
+ (RenderListItem):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::RenderListMarker):
+ * rendering/RenderListMarker.h:
+ (RenderListMarker):
+ * rendering/RenderMediaControlElements.cpp:
+ (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
+ (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
+ (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
+ * rendering/RenderMediaControlElements.h:
+ (RenderMediaVolumeSliderContainer):
+ (RenderMediaControlTimeDisplay):
+ (RenderTextTrackContainerElement):
+ * rendering/RenderMultiColumnBlock.cpp:
+ (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
+ (WebCore::RenderMultiColumnBlock::ensureColumnSets):
+ * rendering/RenderMultiColumnBlock.h:
+ (RenderMultiColumnBlock):
+ * rendering/RenderMultiColumnFlowThread.cpp:
+ (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
+ * rendering/RenderMultiColumnFlowThread.h:
+ (RenderMultiColumnFlowThread):
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
+ * rendering/RenderMultiColumnSet.h:
+ (RenderMultiColumnSet):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
+ * rendering/RenderNamedFlowThread.h:
+ (RenderNamedFlowThread):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::RenderObject):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::setIsAnonymous):
+ (RenderObject):
+ (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::RenderRegion):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ * rendering/RenderRegionSet.cpp:
+ (WebCore::RenderRegionSet::RenderRegionSet):
+ * rendering/RenderRegionSet.h:
+ (RenderRegionSet):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::RenderReplaced):
+ * rendering/RenderReplaced.h:
+ (RenderReplaced):
+ * rendering/RenderReplica.cpp:
+ (WebCore::RenderReplica::RenderReplica):
+ * rendering/RenderReplica.h:
+ (RenderReplica):
+ * rendering/RenderRuby.cpp:
+ (WebCore::createAnonymousRubyInlineBlock):
+ (WebCore::RenderRubyAsInline::RenderRubyAsInline):
+ (WebCore):
+ (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
+ * rendering/RenderRuby.h:
+ (RenderRubyAsInline):
+ (RenderRubyAsBlock):
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::RenderRubyBase):
+ * rendering/RenderRubyBase.h:
+ (RenderRubyBase):
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::RenderRubyRun):
+ (WebCore::RenderRubyRun::createRubyBase):
+ (WebCore::RenderRubyRun::staticCreateRubyRun):
+ * rendering/RenderRubyRun.h:
+ (RenderRubyRun):
+ * rendering/RenderRubyText.cpp:
+ (WebCore::RenderRubyText::RenderRubyText):
+ * rendering/RenderRubyText.h:
+ (RenderRubyText):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::RenderScrollbarPart):
+ * rendering/RenderScrollbarPart.h:
+ (RenderScrollbarPart):
+ * rendering/RenderSearchField.cpp:
+ (WebCore::RenderSearchField::RenderSearchField):
+ * rendering/RenderSearchField.h:
+ (RenderSearchField):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::RenderTable):
+ (WebCore::RenderTable::createAnonymousWithParentRenderer):
+ * rendering/RenderTable.h:
+ (RenderTable):
+ * rendering/RenderTableCaption.cpp:
+ (WebCore::RenderTableCaption::RenderTableCaption):
+ * rendering/RenderTableCaption.h:
+ (RenderTableCaption):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::RenderTableCell):
+ (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
+ * rendering/RenderTableCell.h:
+ (RenderTableCell):
+ * rendering/RenderTableCol.cpp:
+ (WebCore::RenderTableCol::RenderTableCol):
+ * rendering/RenderTableCol.h:
+ (RenderTableCol):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::RenderTableRow):
+ (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
+ * rendering/RenderTableRow.h:
+ (RenderTableRow):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::RenderTableSection):
+ (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
+ * rendering/RenderTableSection.h:
+ (RenderTableSection):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::RenderTextControl):
+ * rendering/RenderTextControl.h:
+ (RenderTextControl):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
+ * rendering/RenderTextControlMultiLine.h:
+ (RenderTextControlMultiLine):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine):
+ (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
+ * rendering/RenderTextTrackCue.cpp:
+ (WebCore::RenderTextTrackCue::RenderTextTrackCue):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::RenderWidget):
+ * rendering/RenderWidget.h:
+ (RenderWidget):
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::RenderMathMLBlock):
+ (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
+ * rendering/mathml/RenderMathMLBlock.h:
+ (RenderMathMLBlock):
+ * rendering/mathml/RenderMathMLFenced.cpp:
+ (WebCore::RenderMathMLFenced::createMathMLOperator):
+ * rendering/mathml/RenderMathMLOperator.cpp:
+ (WebCore::RenderMathMLOperator::RenderMathMLOperator):
+ (WebCore::RenderMathMLOperator::updateFromElement):
+ (WebCore::RenderMathMLOperator::createGlyph):
+ * rendering/mathml/RenderMathMLOperator.h:
+ (RenderMathMLOperator):
+ * rendering/mathml/RenderMathMLRow.cpp:
+ (WebCore::RenderMathMLRow::RenderMathMLRow):
+ (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
+ * rendering/mathml/RenderMathMLRow.h:
+ (RenderMathMLRow):
+ * rendering/style/ContentData.cpp:
+ (WebCore::ImageContentData::createRenderer):
+ * rendering/svg/RenderSVGBlock.cpp:
+ (WebCore::RenderSVGBlock::RenderSVGBlock):
+ * rendering/svg/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::RenderSVGInline):
+ * rendering/svg/RenderSVGInline.h:
+ (RenderSVGInline):
+ * rendering/svg/RenderSVGTSpan.cpp:
+ (WebCore::RenderSVGTSpan::RenderSVGTSpan):
+ * rendering/svg/RenderSVGTSpan.h:
+ (RenderSVGTSpan):
+ * rendering/svg/RenderSVGTextPath.cpp:
+ (WebCore::RenderSVGTextPath::RenderSVGTextPath):
+ * rendering/svg/RenderSVGTextPath.h:
+ (RenderSVGTextPath):
+
+2013-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Fix a logic error in AuthenticationChallengeMac
+ https://bugs.webkit.org/show_bug.cgi?id=107164
+
+ Reviewed by Brady Eidson.
+
+ No new tests, as this is not currently observable.
+
+ * platform/network/cf/AuthenticationCF.cpp:
+ (WebCore::createCF): Added a FIXME about making this more like Mac counterpart.
+
+ * platform/network/cf/AuthenticationChallenge.h:
+ (AuthenticationChallenge): Corrected an slightly misleading explanation.
+
+ * platform/network/mac/AuthenticationMac.mm:
+ (WebCore::AuthenticationChallenge::setAuthenticationClient): Don't create a dummy
+ m_nsChallenge object in place of a nil one.
+
+2013-01-17 Tony Gentilcore <tonyg@chromium.org>
+
+ Remove unused finishWasCalled() method
+ https://bugs.webkit.org/show_bug.cgi?id=107148
+
+ Reviewed by Eric Seidel.
+
+ Based on patch by Eric Seidel.
+
+ No new tests because no new functionality.
+
+ * dom/DocumentParser.h:
+ (DocumentParser):
+ * dom/RawDataDocumentParser.h:
+ (WebCore::RawDataDocumentParser::append):
+ * html/parser/HTMLDocumentParser.cpp:
+ * html/parser/HTMLDocumentParser.h:
+ (HTMLDocumentParser):
+ * html/parser/HTMLViewSourceParser.cpp:
+ * html/parser/HTMLViewSourceParser.h:
+ (HTMLViewSourceParser):
+ * xml/parser/NewXMLDocumentParser.cpp:
+ (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
+ (WebCore::NewXMLDocumentParser::finish):
+ * xml/parser/NewXMLDocumentParser.h:
+ (NewXMLDocumentParser):
+ * xml/parser/XMLDocumentParser.cpp:
+ * xml/parser/XMLDocumentParser.h:
+ (XMLDocumentParser):
+
+2013-01-17 Ojan Vafai <ojan@chromium.org>
+
+ MathML padding overrides only need to be on RenderMathMLRoot
+ https://bugs.webkit.org/show_bug.cgi?id=107151
+
+ Reviewed by Tony Chang.
+
+ RenderMathMLRoot is the only class that uses these.
+ No need for them to be on the generic MathML superclass.
+
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::RenderMathMLBlock):
+ * rendering/mathml/RenderMathMLBlock.h:
+ * rendering/mathml/RenderMathMLRoot.cpp:
+ (WebCore::RenderMathMLRoot::RenderMathMLRoot):
+ (WebCore::RenderMathMLRoot::paddingTop):
+ (WebCore::RenderMathMLRoot::paddingBottom):
+ (WebCore::RenderMathMLRoot::paddingLeft):
+ (WebCore::RenderMathMLRoot::paddingRight):
+ (WebCore::RenderMathMLRoot::paddingBefore):
+ (WebCore::RenderMathMLRoot::paddingAfter):
+ (WebCore::RenderMathMLRoot::paddingStart):
+ (WebCore::RenderMathMLRoot::paddingEnd):
+ * rendering/mathml/RenderMathMLRoot.h:
+
+2013-01-17 Poul Sysolyatin <psytonx@gmail.com>
+
+ 32-bit build for Qt5 on Mac OS fails.
+ https://bugs.webkit.org/show_bug.cgi?id=107094
+
+ We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
+ Fixed 32-bit build detection for support Qt5.
+
+ Reviewed by Benjamin Poulain.
+
+ * Target.pri:
+
+2013-01-17 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Prevent crash dereferencing null if script context has stopped
+ https://bugs.webkit.org/show_bug.cgi?id=107146
+
+ Reviewed by Tony Chang.
+
+ We have crash reports from Chromium users (but no local repro) for a crash coming
+ from IDBRequest::dispatchEvent() that looks like it's calling toV8Context() after
+ the script execution context has stopped. The dispatch shouldn't be occurring
+ and we ASSERT as such, but something weird is going on during Worker tear down.
+ If this patch prevents the crash it would indicate that stop() is called before
+ dispatchEvent() which shouldn't be happening, and would let us continue chasing
+ the issue.
+
+ No new tests - this shouldn't be happening.
+
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::dispatchEvent):
+
+2013-01-17 Robert Hogan <robert@webkit.org>
+
+ Nested fixed position element not staying with parent
+ https://bugs.webkit.org/show_bug.cgi?id=65477
+
+ Reviewed by David Hyatt.
+
+ Tests: fast/inline/fixed-pos-moves-with-abspos-inline-parent.html
+ fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html
+ fast/inline/fixed-pos-moves-with-abspos-parent.html
+ fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::simplifiedLayout):
+ If an absolute position element inside a relative positioned container moves, and the absolute element has a fixed position
+ child, neither the container nor the fixed element learn of the movement since posChildNeedsLayout() is only marked as far as the
+ relative positioned container. So if our positioned objects list can contain fixed position elements perform the
+ checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
+ (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
+ For a fixed position element in the positioned objects list that has a static x or y position check for an absolute positioned ancestor
+ and if we find one, see if the static x or y position of the fixed pos element has changed. If it has, mark it for layout.
+ (WebCore):
+ (WebCore::RenderBlock::layoutPositionedObjects):
+ A fixed position element with an absolute position ancestor has no way of learning if the latter has changed position. So perform the
+ checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::containingBlock): Use new helper function canContainFixedPositionObjects().
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::canContainFixedPositionObjects):
+ (RenderObject):
+
+2013-01-17 Antti Koivisto <antti@apple.com>
+
+ Make renderer constructors take Element where possible
+ https://bugs.webkit.org/show_bug.cgi?id=107138
+
+ Reviewed by David Hyatt.
+
+ Tighter typing prevents bugs and enables optimizations.
+
+ The patch changes how anonymous rendererer are constructed. Previously Document* as the node parameter
+ indicated that the renderer was anonymous. This forced the code to operate on ContainerNodes (Document
+ is not an Element). Now anonymous renderers are constructed by passing null and the document is set by
+ separate setDocumentForAnonymous() call. The patch uses RenderFoo::createAnonymous() pattern consistently.
+
+ Most constructors are switched to take Element. RenderBlock still takes ContainerNode due to a few subclasses
+ (RenderView and RenderFlowThread) that pass in a Document.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateScrollCorner):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::createAnonymous):
+ (WebCore):
+ (WebCore::RenderBlock::createReplacementRunIn):
+ (WebCore::RenderBlock::updateFirstLetterStyle):
+ (WebCore::RenderBlock::createFirstLetterRenderer):
+ (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
+ (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
+ (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
+ (WebCore::RenderDeprecatedFlexibleBox::createAnonymous):
+ (WebCore):
+ * rendering/RenderDeprecatedFlexibleBox.h:
+ (RenderDeprecatedFlexibleBox):
+ * rendering/RenderDetailsMarker.cpp:
+ (WebCore::RenderDetailsMarker::RenderDetailsMarker):
+ * rendering/RenderDetailsMarker.h:
+ (RenderDetailsMarker):
+ * rendering/RenderDialog.h:
+ (WebCore::RenderDialog::RenderDialog):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::RenderFieldset):
+ * rendering/RenderFieldset.h:
+ (RenderFieldset):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::RenderFlexibleBox):
+ * rendering/RenderFlexibleBox.h:
+ (RenderFlexibleBox):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore):
+ (WebCore::RenderFlowThread::RenderFlowThread):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderFullScreen.cpp:
+ (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
+ (RenderFullScreen::RenderFullScreen):
+ (RenderFullScreen::createAnonymous):
+ (RenderFullScreen::wrapRenderer):
+ * rendering/RenderFullScreen.h:
+ (RenderFullScreen):
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::RenderGrid):
+ * rendering/RenderGrid.h:
+ (RenderGrid):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::RenderImage):
+ (WebCore::RenderImage::createAnonymous):
+ (WebCore):
+ * rendering/RenderImage.h:
+ (RenderImage):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::RenderInline):
+ (WebCore::RenderInline::createAnonymous):
+ (WebCore):
+ (WebCore::RenderInline::addChildIgnoringContinuation):
+ * rendering/RenderInline.h:
+ (RenderInline):
+ (WebCore::RenderInline::node):
+
+ Add version with covariant Element return type.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollCornerStyle):
+ (WebCore::RenderLayer::updateResizerStyle):
+ (WebCore::RenderLayer::createReflection):
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::RenderListItem):
+ (WebCore::RenderListItem::styleDidChange):
+ * rendering/RenderListItem.h:
+ (RenderListItem):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::RenderListMarker):
+ (WebCore::RenderListMarker::createAnonymous):
+ (WebCore):
+ * rendering/RenderListMarker.h:
+ (RenderListMarker):
+ * rendering/RenderMediaControlElements.cpp:
+ (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
+ (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
+ (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
+ * rendering/RenderMediaControlElements.h:
+ (RenderMediaVolumeSliderContainer):
+ (RenderMediaControlTimeDisplay):
+ (RenderTextTrackContainerElement):
+ * rendering/RenderMultiColumnBlock.cpp:
+ (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
+ (WebCore::RenderMultiColumnBlock::ensureColumnSets):
+ * rendering/RenderMultiColumnBlock.h:
+ (RenderMultiColumnBlock):
+ * rendering/RenderMultiColumnFlowThread.cpp:
+ (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
+ * rendering/RenderMultiColumnFlowThread.h:
+ (RenderMultiColumnFlowThread):
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
+ (WebCore::RenderMultiColumnSet::createAnonymous):
+ (WebCore):
+ * rendering/RenderMultiColumnSet.h:
+ (RenderMultiColumnSet):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
+ * rendering/RenderNamedFlowThread.h:
+ (RenderNamedFlowThread):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::RenderObject):
+ * rendering/RenderObject.h:
+
+ Passed in null node indicates that the renderer is anonymous. Remove now unnecessary setIsAnonymous() function.
+
+ (WebCore::RenderObject::isAnonymous):
+ (WebCore::RenderObject::setDocumentForAnonymous):
+ (RenderObject):
+ (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::RenderRegion):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ * rendering/RenderRegionSet.cpp:
+ (WebCore::RenderRegionSet::RenderRegionSet):
+ * rendering/RenderRegionSet.h:
+ (RenderRegionSet):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::RenderReplaced):
+ * rendering/RenderReplaced.h:
+ (RenderReplaced):
+ * rendering/RenderReplica.cpp:
+ (WebCore::RenderReplica::RenderReplica):
+ (WebCore::RenderReplica::createAnonymous):
+ (WebCore):
+ * rendering/RenderReplica.h:
+ (RenderReplica):
+ * rendering/RenderRuby.cpp:
+ (WebCore::createAnonymousRubyInlineBlock):
+ (WebCore::RenderRubyAsInline::RenderRubyAsInline):
+ (WebCore):
+ (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
+ * rendering/RenderRuby.h:
+ (RenderRubyAsInline):
+ (RenderRubyAsBlock):
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::RenderRubyBase):
+ (WebCore::RenderRubyBase::createAnonymous):
+ (WebCore):
+ * rendering/RenderRubyBase.h:
+ (RenderRubyBase):
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::RenderRubyRun):
+ (WebCore::RenderRubyRun::createRubyBase):
+ (WebCore::RenderRubyRun::staticCreateRubyRun):
+ * rendering/RenderRubyRun.h:
+ (RenderRubyRun):
+ * rendering/RenderRubyText.cpp:
+ (WebCore::RenderRubyText::RenderRubyText):
+ * rendering/RenderRubyText.h:
+ (RenderRubyText):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::RenderScrollbarPart):
+ (WebCore::RenderScrollbarPart::createAnonymous):
+ (WebCore):
+ * rendering/RenderScrollbarPart.h:
+ (RenderScrollbarPart):
+ * rendering/RenderSearchField.cpp:
+ (WebCore::RenderSearchField::RenderSearchField):
+ * rendering/RenderSearchField.h:
+ (RenderSearchField):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::RenderTable):
+ (WebCore::RenderTable::createAnonymousWithParentRenderer):
+ * rendering/RenderTable.h:
+ (RenderTable):
+ * rendering/RenderTableCaption.cpp:
+ (WebCore::RenderTableCaption::RenderTableCaption):
+ * rendering/RenderTableCaption.h:
+ (RenderTableCaption):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::RenderTableCell):
+ (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
+ * rendering/RenderTableCell.h:
+ (RenderTableCell):
+ * rendering/RenderTableCol.cpp:
+ (WebCore::RenderTableCol::RenderTableCol):
+ * rendering/RenderTableCol.h:
+ (RenderTableCol):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::RenderTableRow):
+ (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
+ * rendering/RenderTableRow.h:
+ (RenderTableRow):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::RenderTableSection):
+ (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
+ * rendering/RenderTableSection.h:
+ (RenderTableSection):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::RenderTextControl):
+ * rendering/RenderTextControl.h:
+ (RenderTextControl):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
+ * rendering/RenderTextControlMultiLine.h:
+ (RenderTextControlMultiLine):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine):
+ (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
+ * rendering/RenderTextTrackCue.cpp:
+ (WebCore::RenderTextTrackCue::RenderTextTrackCue):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::RenderWidget):
+ * rendering/RenderWidget.h:
+ (RenderWidget):
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::RenderMathMLBlock):
+ (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
+ * rendering/mathml/RenderMathMLBlock.h:
+ (RenderMathMLBlock):
+ * rendering/mathml/RenderMathMLFenced.cpp:
+ (WebCore::RenderMathMLFenced::createMathMLOperator):
+ * rendering/mathml/RenderMathMLOperator.cpp:
+ (WebCore::RenderMathMLOperator::RenderMathMLOperator):
+ (WebCore::RenderMathMLOperator::updateFromElement):
+ (WebCore::RenderMathMLOperator::createGlyph):
+ * rendering/mathml/RenderMathMLOperator.h:
+ (RenderMathMLOperator):
+ * rendering/mathml/RenderMathMLRow.cpp:
+ (WebCore::RenderMathMLRow::RenderMathMLRow):
+ (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
+ * rendering/mathml/RenderMathMLRow.h:
+ (RenderMathMLRow):
+ * rendering/style/ContentData.cpp:
+ (WebCore::ImageContentData::createRenderer):
+ * rendering/svg/RenderSVGBlock.cpp:
+ (WebCore::RenderSVGBlock::RenderSVGBlock):
+ * rendering/svg/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::RenderSVGInline):
+ * rendering/svg/RenderSVGInline.h:
+ (RenderSVGInline):
+ * rendering/svg/RenderSVGTSpan.cpp:
+ (WebCore::RenderSVGTSpan::RenderSVGTSpan):
+ * rendering/svg/RenderSVGTSpan.h:
+ (RenderSVGTSpan):
+ * rendering/svg/RenderSVGTextPath.cpp:
+ (WebCore::RenderSVGTextPath::RenderSVGTextPath):
+ * rendering/svg/RenderSVGTextPath.h:
+ (RenderSVGTextPath):
+
+2013-01-17 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Update Authentication Type and Scheme implementation
+ https://bugs.webkit.org/show_bug.cgi?id=107045
+ PR #281292
+
+ Reviewed by Yong Li.
+
+ Reviewed internally by Joe Mason. A typo is also fixed by Joe Mason.
+
+ The BlackBerry platform layer has defined both authentication type and authentication scheme.
+ This patch is adapting the porting layer to the platform layer change.
+
+ No functionalities changed no new tests.
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::notifyAuthReceived):
+ * platform/network/blackberry/NetworkJob.h:
+ (NetworkJob):
+ * platform/network/blackberry/NetworkManager.cpp:
+ (WebCore::NetworkManager::startJob):
+
+2013-01-17 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Build with LevelDB when IndexedDB is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=103220
+
+ Reviewed by Gustavo Noronha Silva.
+
+ No new tests. This is just a build change. IndexedDatabase support
+ is already covered by the suite of storage layout tests.
+
+ * GNUmakefile.am: Add the leveldb convenience library.
+ * GNUmakefile.list.am: Add the list of sources.
+
+2013-01-17 Tony Gentilcore <tonyg@chromium.org>
+
+ Wire BackgroundHTMLParser to HTMLDocumentParser
+ https://bugs.webkit.org/show_bug.cgi?id=107140
+
+ Reviewed by Adam Barth.
+
+ With this patch, we now pass the majority of html5lib and fast/parser tests with threaded HTML parsing enabled.
+
+ No new tests because covered by existing fast/parser tests.
+
+ * html/parser/BackgroundHTMLParser.cpp:
+ (WebCore::TokenDelivery::execute):
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::processingData):
+ (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
+ (WebCore::HTMLDocumentParser::canTakeNextToken):
+ (WebCore::HTMLDocumentParser::feedTokens):
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ (WebCore):
+ (WebCore::HTMLDocumentParser::startBackgroundParser):
+ (WebCore::HTMLDocumentParser::stopBackgroundParser):
+ (WebCore::HTMLDocumentParser::append):
+ (WebCore::HTMLDocumentParser::end):
+ (WebCore::HTMLDocumentParser::finish):
+ (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
+ * html/parser/HTMLDocumentParser.h:
+ (WebCore):
+ (HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::hasPreloadScanner):
+ (WebCore::HTMLDocumentParser::shouldUseThreading):
+
+2013-01-17 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Move all ExtraDataContainers into anonymous namespaces
+ https://bugs.webkit.org/show_bug.cgi?id=107128
+
+ Reviewed by Kentaro Hara.
+
+ Tests not needed.
+
+ * platform/chromium/support/WebMediaStreamDescriptor.cpp:
+ * platform/chromium/support/WebMediaStreamSource.cpp:
+ * platform/chromium/support/WebRTCSessionDescriptionRequest.cpp:
+ * platform/chromium/support/WebRTCVoidRequest.cpp:
+
+2013-01-17 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: InstrumentingAgents should be registered in InspectorInstrumentation only when there is a front-end
+ https://bugs.webkit.org/show_bug.cgi?id=107127
+
+ Reviewed by Vsevolod Vlasov.
+
+ InspectorInstrumentation::registerInstrumentingAgents is called when front-end
+ is connected to corresponding InspectorController. When the front-end disconnects
+ InspectorInstrumentation::unregisterInstrumentingAgents is called.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::inspectedPageDestroyed):
+ (WebCore::InspectorController::connectFrontend):
+ (WebCore::InspectorController::disconnectFrontend):
+
+2013-01-17 Andrei Bucur <abucur@adobe.com>
+
+ [CSS Regions] Content flows incorrectly in autoheight regions with min/max-height set
+ https://bugs.webkit.org/show_bug.cgi?id=102099
+
+ Reviewed by David Hyatt.
+
+ The current layout algorithm for auto-height regions is gives wrong results when the max-height property is set on them. The reason is we
+ consider the max-height restriction too late in the layout, when applying a forced break. This is what happens when content is laid out
+ in an auto-height region.
+ 1. The content flows without a limit until a forced break appears. If there's no forced break in the content, one is forced anyway at the end
+ of the layout.
+ 2. The region where the forced break is placed is not always the one where content is laid out because of max-height restrictions.
+ 3. All the regions with max-height are iterated and their height accumulated until the break offset is reached and the region at that point is ended.
+ This gives wrong results because the forced break position in the content was computed assuming there's only one region where the content is laid out.
+ The regions with max-height could have generated unforced breaks at their height and the forced break actually should have a different position.
+
+ This patch changes the algorithm in this way:
+ 1. From the flow thread perspective all the regions start with a height: max-height for auto-height regions (or LayoutSize.max()/2 if not defined)
+ or the fixed height value when specified.
+ 2. When the content is laid out, if there's no forced break, the height of the content is correctly estimated because the layout sees unforced breaks
+ at the max-height values.
+ 3. If a forced break appears, the affected region can be obtained only by looking at the break offset in the region chain. If the region has auto-height,
+ its height is updated by the forced break.
+ 4. At the end of the layout, there's the additional task to clear the height of all the regions that didn't receive content. This can be done optimally
+ without adding a new iteration through the regions by attaching to the RegionOverset computation loop.
+
+ Tests: fast/regions/autoheight-maxheight-mixed-break.html
+ fast/regions/autoheight-maxheight-simple-break.html
+ fast/regions/autoheight-maxheight-simple-nobreak.html
+ fast/regions/autoheight-minmaxheight-mixed-break-hbt.html
+ fast/regions/autoheight-minmaxheight-mixed-break-vlr.html
+ fast/regions/autoheight-minmaxheight-mixed-break-vrl.html
+ fast/regions/autoheight-minmaxheight-mixed-break.html
+ fast/regions/autoheight-minmaxheight-simple-break.html
+ fast/regions/autoheight-minmaxheight-simple-nobreak.html
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::layout):
+ (WebCore::RenderFlowThread::computeLogicalHeight):
+ (WebCore::RenderFlowThread::regionAtBlockOffset):
+ (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
+ (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
+ (WebCore::RenderFlowThread::computeOverflowStateForRegions): Attach to the loop in this function to clear the overrideLogicalHeight on empty regions.
+ (WebCore):
+ (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): Add an ASSERT that a region always has overrideLogicalHeight or a fixed height.
+ (WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight): A new function that updates the region chain height to use the max-height value
+ for auto-height regions.
+ (WebCore::RenderFlowThread::addForcedRegionBreak):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::pageLogicalHeight): the decorations size is incorrectly considered in the page height.
+ (WebCore):
+ (WebCore::RenderRegion::maxPageLogicalHeight): new function that returns the max page size for a region. It shouldn't be called too often
+ or the returned value can be cached
+ (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent): the decorations size is incorrectly considered in the logical height of
+ the flow thread content.
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+
+
+2013-01-17 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Open resource dialog has poor performance.
+ https://bugs.webkit.org/show_bug.cgi?id=107122
+
+ Reviewed by Pavel Feldman.
+
+ Open resource dialog does not make linear number of relayouts on highlight anymore.
+ Replaced localeCompare with string compare since it is significantly faster.
+
+ * inspector/front-end/FilteredItemSelectionDialog.js:
+ (WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
+ (WebInspector.OpenResourceDialog.compareFunction):
+ (WebInspector.OpenResourceDialog):
+
+2013-01-17 Alexis Menard <alexis@webkit.org>
+
+ Add ontransitionend attribute on HTML elements.
+ https://bugs.webkit.org/show_bug.cgi?id=107134
+
+ Reviewed by Simon Fraser.
+
+ Add ontransitionend attribute on HTML elements to match the prefixed
+ attribute onwebkittransitionend. As it uses the same plumbing as a
+ regular event listener, it behaves the same which means that if
+ ontransitionend only is defined then only the code attached to this
+ attribute will be called, if only onwebkittransitionend is defined then
+ only the code attached to this attribute will be called and finally if
+ both attributes are defined then only the code attached to the
+ unprefixed attribute will be called.
+
+ Tests: transitions/transition-end-event-unprefixed-03.html
+ transitions/transition-end-event-unprefixed-04.html
+
+ * html/HTMLAttributeNames.in:
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseAttribute):
+ * page/DOMWindow.h:
+ (DOMWindow):
+ * page/DOMWindow.idl: only define the property if the unprefixing is
+ turn on.
+
+2013-01-17 Andrei Bucur <abucur@adobe.com>
+
+ Widows and orphans test4 fails if isolated
+ https://bugs.webkit.org/show_bug.cgi?id=106006
+
+ Reviewed by Dean Jackson.
+
+ To determine if the orphans condition is not respected, every time a fragmentation break is encountered adjustLinePositionForPagination() is called for the current line.
+ If the index on the line in the block is smaller than the number of orphans specified in the style object, the block is shifted in the next fragmentainer. The index of
+ the line is obtained by calling RenderBlock::lineCount. However, this only works in a full layout when lineCount() will coincidentally return the index of the line.
+ In subsequent layouts, during the determineStartPosition() phase, lineCount() returns all the lines in the block so the orphans condition is never triggered.
+ The patch modifies the lineCount() function to have two optional parameters. The first parameter is the line where lineCount should stop counting lines. The second
+ is an output boolean parameter indicating if the line was found or not. This change makes the lineCount() more flexible and allows retreiving the index of a
+ specific line (e.g. the index of the current line inside adjustLinePositionForPagination()).
+
+ Tests: fast/multicol/orphans-relayout.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::lineCount): See the detailed description.
+ (WebCore::RenderBlock::adjustLinePositionForPagination): Make use of the modified lineCount() function.
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+
+2013-01-17 Martin Robinson <mrobinson@igalia.com>
+
+ REGRESSION (r137487): Crashes in editing/execCommand/indent-paragraphs.html on GTK, EFL
+ https://bugs.webkit.org/show_bug.cgi?id=105042
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Explicitly handle the situation where the creation of a SoupURI fails. This
+ can happen if the URI is invalid. In that case the constructor returns null.
+
+ No new tests. This patch unskips a failing test.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::createSoupRequestAndMessageForHandle): Handle a null Soup URI.
+
+2013-01-17 Nate Chapin <japhet@chromium.org>
+
+ Enable reuse of cached main resources
+ https://bugs.webkit.org/show_bug.cgi?id=105667
+
+ Reviewed by Antti Koivisto.
+
+ Test: http/tests/cache/cached-main-resource.html
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
+ * dom/Document.h:
+ (Document):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
+ MainResourceLoader will take care of it.
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::MainResourceLoader):
+ (WebCore::MainResourceLoader::receivedError):
+ (WebCore::MainResourceLoader::willSendRequest):
+ (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
+ (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
+ (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
+ ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
+ (WebCore::MainResourceLoader::identifier):
+ * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
+ to better describe when it is used.
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
+ (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
+ (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
+ * loader/cache/CachedRawResource.h:
+ (CachedRawResource):
+ (RedirectPair):
+ (WebCore::CachedRawResource::RedirectPair::RedirectPair):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::addClientToSet):: Don't return cached data for a main resource synchronously
+ * loader/cache/CachedResource.h:
+ (WebCore::CachedResource::canReuse):
+ (CachedResource):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
+ * testing/Internals.cpp:
+ (WebCore::Internals::isLoadingFromMemoryCache):
+ (WebCore):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2013-01-17 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] Remove boilerplate CSS selectors.
+ https://bugs.webkit.org/show_bug.cgi?id=107121
+
+ Reviewed by Vsevolod Vlasov.
+
+ There are rules that are used for filtration and styling
+ whose selectors should be autogenerated.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._injectStyles):
+ * inspector/front-end/networkLogView.css:
+
+2013-01-17 Tim Horton <timothy_horton@apple.com>
+
+ Fix the Mac build sans ENABLE(CSS_FILTERS)
+
+ Reviewed by Darin Adler.
+
+ Move an export from a USE(ACCELERATED_COMPOSITING) block to a ENABLE(CSS_FILTERS)
+ block, to match the code that backs it.
+
+ * WebCore.exp.in:
+
+2013-01-17 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Mac] svg/custom/text-use-click-crash.xhtml added by r139029 hits assertion in enclosingTextFormControl
+ https://bugs.webkit.org/show_bug.cgi?id=106361
+
+ Reviewed by Darin Adler.
+
+ When ASSERT hit in enclosingTextFormControl(Position), position.anchorNode() was /use/shadow-root/text,
+ and position.anchorType() was PositionIsBeforeAnchor. In this case, position.containerNode() should be
+ ShadowRoot if SHADOW_DOM flag is enabled. However, SHADOW_DOM flag is not enabled in mac port,
+ position.containerNode() returns 0. This hits ASSERT.
+
+ We have two options to solve this problem. (1) is to allow Position to have ShadowRoot as a container node,
+ but this will affect a lot of code. (2) is to loosen ASSERT condition.
+
+ I've chosen (2) option in this patch.
+
+ Test: svg/custom/text-use-click-crash.xhtml should cover this.
+
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::enclosingTextFormControl):
+
+2013-01-17 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: Profiler: split "getProfile" to "getCPUProfile" and "loadHeapSnapshot"
+ https://bugs.webkit.org/show_bug.cgi?id=104545
+
+ Reviewed by Yury Semikhatsky.
+
+ This change will allow stronger typing of profiler output.
+
+ * inspector/Inspector.json:
+ Split "getProfile" to "getCPUProfile" and "getHeapSnapshot".
+ * inspector/InspectorProfilerAgent.cpp: Ditto.
+ * inspector/InspectorProfilerAgent.h: Ditto.
+ * inspector/front-end/CPUProfileView.js: Adopd changes.
+ * inspector/front-end/HeapSnapshotView.js: Ditto.
+
+2013-01-17 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] Memory leaks when user walks between requests.
+ https://bugs.webkit.org/show_bug.cgi?id=107114
+
+ Reviewed by Vsevolod Vlasov.
+
+ Unregister event listeners when view is detached.
+
+ * inspector/front-end/RequestCookiesView.js: Fixed memory leak.
+ * inspector/front-end/RequestHeadersView.js: Ditto.
+ * inspector/front-end/RequestTimingView.js: Ditto.
+
+2013-01-17 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Timeline] REGRESSION: Sidebar shrinks when user switches to memory statistics mode.
+ https://bugs.webkit.org/show_bug.cgi?id=105857
+
+ Reviewed by Pavel Feldman.
+
+ Fix: do not apply constraints to sidebar width while view is offscreen;
+ constraint check will be applied when view goes visible.
+
+ * inspector/front-end/SidebarView.js:
+ (WebInspector.SidebarView.prototype.applyConstraints): Check if view is
+ offscreen.
+
+2013-01-17 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Spectrum] Color picker in CSS editor does not update textual color value
+ https://bugs.webkit.org/show_bug.cgi?id=107110
+
+ Reviewed by Vsevolod Vlasov.
+
+ The Spectrum picker was never told to update the textual color upon user-initiated color changes.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
+
+2013-01-17 Jae Hyun Park <jae.park@company100.net>
+
+ Remove unnecessary public method TiledBackingStore::supportsAlpha()
+ https://bugs.webkit.org/show_bug.cgi?id=107067
+
+ Reviewed by Kentaro Hara.
+
+ This patch removes unnecessary public method TiledBackingStore::supportsAlpha()
+ because supportsAlpha() is never called from other classes.
+
+ No new tests, no change in behavior.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::setSupportsAlpha):
+ * platform/graphics/TiledBackingStore.h:
+ (TiledBackingStore):
+
+2013-01-17 Peter Rybin <peter.rybin@gmail.com>
+
+ [V8] Remove a --es5_readonly flag from V8 initialization and address duplicated code
+ https://bugs.webkit.org/show_bug.cgi?id=106790
+
+ Reviewed by Kentaro Hara.
+
+ Couple of statements are moved to a newly created method. Old V8 flag setter is removed
+ according to FIXME and per V8 change http://code.google.com/p/v8/source/detail?r=12415
+
+ * bindings/v8/V8Initializer.cpp:
+ (WebCore::initializeV8Common): newly created method
+ (WebCore):
+ (WebCore::V8Initializer::initializeMainThreadIfNeeded):
+ (WebCore::V8Initializer::initializeWorker):
+
+2013-01-17 John Bauman <jbauman@chromium.org>
+
+ Fix texImage2D from a WebGL canvas.
+ https://bugs.webkit.org/show_bug.cgi?id=106941
+
+ Reviewed by Kenneth Russell.
+
+ Clear the copied image whenever the canvas is modified, even if using
+ accelerated compositing.
+
+ Test: fast/canvas/webgl/tex-image-webgl.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::markContextChanged):
+
+2013-01-17 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
+
+ [AC] Memory leak in GLXConfigSelector::createConfig()
+ https://bugs.webkit.org/show_bug.cgi?id=106657
+
+ Reviewed by Laszlo Gombos.
+
+ Free the memory returned by glXGetVisualFromFBConfig() using
+ XFree to avoid a memory leak.
+
+ No new tests. No change in behavior.
+
+ * platform/graphics/surfaces/glx/GLXConfigSelector.h:
+ (WebCore::GLXConfigSelector::createConfig):
+
+2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r139929.
+ http://trac.webkit.org/changeset/139929
+ https://bugs.webkit.org/show_bug.cgi?id=107141
+
+ Speculative fix didn't work (Requested by jsbell on #webkit).
+
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::createIndex):
+
+2013-01-16 Alexey Proskuryakov <ap@apple.com>
+
+ Don't use NSApplication run loop in NetworkProcess
+ https://bugs.webkit.org/show_bug.cgi?id=107061
+
+ Reviewed by Anders Carlsson.
+
+ Added a way to tell RunLoop whether it should use NSApplication run loop
+ (defaulting to not using it, as this should be an exception for child processes).
+
+ * WebCore.exp.in:
+ * platform/RunLoop.cpp:
+ (WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop):
+ * platform/RunLoop.h:
+ * platform/mac/RunLoopMac.mm:
+ (WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop):
+ (WebCore::RunLoop::run):
+ (WebCore::RunLoop::stop):
+
+2013-01-17 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: fix DefaultTextEditor's broken backspace
+ https://bugs.webkit.org/show_bug.cgi?id=107130
+
+ Reviewed by Pavel Feldman.
+
+ Remove css "position: relative;" style from "webkit-line-content" class, which
+ somehow brakes editing experience. Remove "height: 100%" from text-editor-overlay-highlight
+ class and cast necessary height via inserting "&nbsp;" into overlay span elements.
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
+ * inspector/front-end/textEditor.css:
+ (.text-editor-overlay-highlight):
+
+2013-01-16 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Introduce FileSystemWorkspaceProvider to allow showing files from file system in workspace.
+ https://bugs.webkit.org/show_bug.cgi?id=107021
+
+ Reviewed by Pavel Feldman.
+
+ Added FileSystemWorkspaceProvider that populates workspace with files
+ loaded from file systems registered in FileSystemMapping and listens
+ for FileSystemAdded / FileSystemRemoved events to update workspace.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/FileMapping.js:
+ (WebInspector.FileMapping.prototype.urlForURI):
+ (WebInspector.FileMapping.MappingEntry.prototype.urlForURI):
+ * inspector/front-end/FileSystemMapping.js:
+ (WebInspector.FileSystemMapping.prototype.uriForPath):
+ (WebInspector.FileSystemMapping.prototype.addEventListener):
+ (WebInspector.FileSystemMapping.prototype.removeEventListener):
+ (WebInspector.FileSystemMappingImpl):
+ (get WebInspector.FileSystemMappingImpl.prototype.uriForPath):
+ * inspector/front-end/FileSystemWorkspaceProvider.js: Added.
+ * inspector/front-end/IsolatedFileSystemModel.js:
+ (WebInspector.IsolatedFileSystemModel):
+ (WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/Workspace.js:
+ * inspector/front-end/externs.js:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ * inspector/front-end/navigatorView.css:
+ (.navigator-other-tree-item .icon):
+
+2013-01-17 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: add createOption method to WebInspector.StatusBarComboBox
+ https://bugs.webkit.org/show_bug.cgi?id=107102
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/CPUProfileView.js:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._addFrame):
+ (WebInspector.ConsoleView.prototype._appendContextOption):
+ * inspector/front-end/StatusBarButton.js:
+ (WebInspector.StatusBarButton.prototype.set state):
+ (WebInspector.StatusBarButton.prototype.set visible):
+ (WebInspector.StatusBarComboBox.prototype.createOption):
+
+2013-01-16 Grzegorz Czajkowski <g.czajkowski@samsung.com>
+
+ [EFL][GTK] checkSpellingOfString treats the multiple words as spelled correctly
+ https://bugs.webkit.org/show_bug.cgi?id=106662
+
+ Reviewed by Antonio Gomes.
+
+ No new tests, covered by spelling-backspace-between-lines.html.
+
+ TextCheckerEnchant::checkSpellingOfString() method, treats the multiple words
+ as spelled correctly if one of them is ok. For example, string such as
+ "OK zz OK" is spelled correctly!
+
+ The method at the beginning assumes that the given string is spelled correctly,
+ then it iterates over the words to find out the misspelled location and length
+ in the whole string. In checkSpellingOfWord, if the word is ok, we mark
+ it as spelled correctly and we do return to check the next words. In the fact,
+ the location and length of the previously misspelled words are overwritten.
+
+ * platform/text/enchant/TextCheckerEnchant.cpp:
+ (WebCore::TextCheckerEnchant::checkSpellingOfWord):
+ Update of the word's misspeling location and length was moved out the loop.
+
+ (WebCore::TextCheckerEnchant::checkSpellingOfString):
+ Stop checking the next words If the current word is misspelled, to do not overwrite
+ its misspelled location and length.
+
+2013-01-17 Chris Fleizach <cfleizach@apple.com>
+
+ WebSpeech: implement voices list
+ https://bugs.webkit.org/show_bug.cgi?id=107014
+
+ Reviewed by Adam Barth.
+
+ Add in the Mac side code to return a list of voices.
+ Adds a layout test, which is skipped for now, until the feature is enabled.
+
+ Test: platform/mac/fast/speechsynthesis/speech-synthesis-voices.html
+
+ * Modules/speech/SpeechSynthesis.cpp:
+ (WebCore::SpeechSynthesis::SpeechSynthesis):
+ * Modules/speech/SpeechSynthesis.h:
+ (SpeechSynthesis):
+ * Modules/speech/mac/SpeechSynthesisMac.mm:
+ (WebCore::SpeechSynthesis::initializeVoiceList):
+
+2013-01-16 Rik Cabanier <cabanier@adobe.com>
+
+ Update GraphicsContext to support winding rule in clip operator for Core Graphics
+ https://bugs.webkit.org/show_bug.cgi?id=106871
+
+ Reviewed by Dirk Schulze.
+
+ Changed the interface to GraphicsContext so it's possible to pass the winding
+ rule to canvasClip() and clip().
+
+ No new tests, no change in functionality.
+
+ * WebCore.exp.in: Change signature of canvasClip function.
+ * platform/graphics/GraphicsContext.h: Change canvasClip and clip signature with default winding rule.
+ * platform/graphics/cairo/GraphicsContextCairo.cpp: Update interface with new signature so it still compiles.
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::canvasClip):
+ * platform/graphics/cg/GraphicsContextCG.cpp: Update interface with new signature and implement winding rules.
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::canvasClip):
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Update interface with new signature so it still compiles.
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::canvasClip):
+ * platform/graphics/qt/GraphicsContextQt.cpp: Update interface with new signature so it still compiles.
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::canvasClip):
+ * platform/graphics/skia/GraphicsContextSkia.cpp: Update interface with new signature so it still compiles.
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::canvasClip):
+ * platform/graphics/wince/GraphicsContextWinCE.cpp: Update interface with new signature so it still compiles.
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::canvasClip):
+ * platform/graphics/wx/GraphicsContextWx.cpp: Update interface with new signature so it still compiles.
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::canvasClip):
+
+2013-01-16 Hajime Morrita <morrita@google.com>
+
+ NoEventDispatchAssertion in ContainerNode::removeChildren is too strict
+ https://bugs.webkit.org/show_bug.cgi?id=106985
+
+ Reviewed by Ryosuke Niwa.
+
+ This change narrowed the lifetime of NoEventDispatchAssertion in removeChildren().
+ It is as safe as other mutation method even after this change: childrenChanged() and
+ ChildNodeRemovalNotifier are used outside the assertion scope.
+
+ Test: svg/custom/use-mutation-crash.xhtml
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removeChildren):
+
+2013-01-16 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Refactoring] HTMLTextFormControlElement should use shadowHost instead of shadowAncestorNode
+ https://bugs.webkit.org/show_bug.cgi?id=106533
+
+ Reviewed by Kent Tamura.
+
+ Since Node::shadowAncestorNode() is deprecated, we would like to use Node::shadowHost().
+
+ No new tests, simple refactoring.
+
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::setSelectionRange): Here, startPosition and endPosition is in ShadowDOM,
+ converting shadowAncestorNode to shadowHost is safe.
+ (WebCore::enclosingTextFormControl): Actually ASSERT in this method is wrong since shadowAncestorNode() does not
+ return NULL. This should be shadowHost().
+
+2013-01-16 Tony Gentilcore <tonyg@chromium.org>
+
+ Disable an ASSERT for the threaded parser
+ https://bugs.webkit.org/show_bug.cgi?id=107087
+
+ Reviewed by Adam Barth.
+
+ Since tokenizing happens on the background thread, when the tree builder runs there isn't a valid tokenizer for which to check the state.
+ The background parser has minimal code to update its tokenizer's state properly.
+
+ No new tests because covered by existing fast/parser tests.
+
+ * html/parser/HTMLParserOptions.cpp:
+ (WebCore::HTMLParserOptions::HTMLParserOptions):
+ * html/parser/HTMLParserOptions.h:
+ (HTMLParserOptions):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processEndTag):
+
+2013-01-16 MORITA Hajime <morrita@google.com>
+
+ Attr.ownerDocument should change if its parent's owner did
+ https://bugs.webkit.org/show_bug.cgi?id=97644
+
+ Reviewed by Darin Adler.
+
+ moveTreeToNewScope() didn't traverse its Attr instances. But it should.
+
+ Test: fast/dom/Attr/parent-adopt-node.html
+
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::getExistingAttrs):
+ (WebCore):
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+ * dom/TreeScopeAdopter.cpp:
+ (WebCore::TreeScopeAdopter::moveTreeToNewScope):
+
+2013-01-16 Adam Barth <abarth@webkit.org>
+
+ Address tonyg's feedback on BackgroundHTMLParser
+ https://bugs.webkit.org/show_bug.cgi?id=107086
+
+ Reviewed by Tony Gentilcore.
+
+ As requested in https://bugs.webkit.org/show_bug.cgi?id=107083#c5
+
+ * html/parser/BackgroundHTMLParser.cpp:
+ (WebCore::BackgroundHTMLParser::pumpTokenizer):
+ (TokenDelivery):
+ (WebCore::TokenDelivery::TokenDelivery):
+ (WebCore::TokenDelivery::execute):
+
+2013-01-16 Tony Gentilcore <tonyg@chromium.org>
+
+ Introduce a method to build the tree from a CompactHTMLToken
+ https://bugs.webkit.org/show_bug.cgi?id=107082
+
+ Reviewed by Adam Barth.
+
+ No new tests because covered by existing fast/parser tests.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore):
+ (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
+ * html/parser/HTMLDocumentParser.h:
+ * html/parser/HTMLToken.h:
+ (AtomicHTMLToken):
+ (WebCore::AtomicHTMLToken::create):
+ (WebCore::AtomicHTMLToken::AtomicHTMLToken):
+ * xml/parser/MarkupTokenBase.h:
+ (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
+ (AtomicMarkupTokenBase):
+
+2013-01-16 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed build fix following r139918.
+ Add speech synthesis to include path and WebCore vcproj file.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+
+2013-01-16 Chris Rogers <crogers@google.com>
+
+ Switch AudioDestinationChromium over to new createAudioDevice() method
+ https://bugs.webkit.org/show_bug.cgi?id=106816
+
+ Reviewed by James Robinson.
+
+ * platform/audio/chromium/AudioDestinationChromium.cpp:
+ (WebCore::AudioDestinationChromium::AudioDestinationChromium):
+
+2013-01-16 Adam Barth <abarth@webkit.org>
+
+ Introduce BackgroundHTMLParser for parsing HTML on a background thread
+ https://bugs.webkit.org/show_bug.cgi?id=107083
+
+ Reviewed by Eric Seidel.
+
+ This patch contains a basic version of an HTML parser that runs on a
+ background thread. The parser passes the majority of the tests in
+ fast/parser and a large number of the subtests in html5lib.
+
+ Notably absent from this early version of the parser is speculation
+ (which will eventually replace preload scanning) and atomization (which
+ we suspect will be important for performance). Our plan is to introduce
+ those elements in subsequent patches.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/parser/BackgroundHTMLParser.cpp: Added.
+ (WebCore):
+ (WebCore::checkThatTokensAreSafeToSendToAnotherThread):
+ (WebCore::parserMap):
+ (WebCore::ParserMap::backgroundParsers):
+ (WebCore::ParserMap::mainThreadParsers):
+ (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
+ (WebCore::BackgroundHTMLParser::append):
+ (WebCore::BackgroundHTMLParser::continueParsing):
+ (WebCore::BackgroundHTMLParser::finish):
+ (WebCore::BackgroundHTMLParser::pumpTokenizer):
+ (TokenDelivery):
+ (WebCore::TokenDelivery::execute):
+ (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
+ (WebCore::BackgroundHTMLParser::createPartial):
+ (WebCore::BackgroundHTMLParser::stopPartial):
+ (WebCore::BackgroundHTMLParser::appendPartial):
+ (WebCore::BackgroundHTMLParser::continuePartial):
+ (WebCore::BackgroundHTMLParser::finishPartial):
+ * html/parser/BackgroundHTMLParser.h: Added.
+ (WebCore):
+ (BackgroundHTMLParser):
+ (WebCore::BackgroundHTMLParser::create):
+ (ParserMap):
+ (WebCore::ParserMap::identifierForParser):
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore):
+ (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
+ * html/parser/HTMLDocumentParser.h:
+ (WebCore):
+ (HTMLDocumentParser):
+
+2013-01-16 Donghyun Kim <dhkim715@hotmail.com>
+
+ [soup] Fix build warning in ResourceHandleSoup.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=107063
+
+ Reviewed by Martin Robinson.
+
+ The restartedCallback has unused parameter 'message',
+ remove the parameter name to fix 'unused parameter' build warning.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback):
+
+2013-01-16 Tony Gentilcore <tonyg@chromium.org>
+
+ Introduce a CompactHTMLToken for the threaded HTML parser
+ https://bugs.webkit.org/show_bug.cgi?id=107069
+
+ Reviewed by Adam Barth.
+
+ This class is used for transporting tokens from the parser thread to the main thread where they are fed to the tree builder.
+
+ No new tests because covered by existing fast/parser tests.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/parser/CompactHTMLToken.cpp: Added.
+ (WebCore):
+ (WebCore::CompactHTMLToken::CompactHTMLToken):
+ (WebCore::isStringSafeToSendToAnotherThread):
+ (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
+ * html/parser/CompactHTMLToken.h: Added.
+ (WebCore):
+ (CompactAttribute):
+ (WebCore::CompactAttribute::CompactAttribute):
+ (WebCore::CompactAttribute::name):
+ (WebCore::CompactAttribute::value):
+ (CompactHTMLToken):
+ (WebCore::CompactHTMLToken::type):
+ (WebCore::CompactHTMLToken::data):
+ (WebCore::CompactHTMLToken::selfClosing):
+ (WebCore::CompactHTMLToken::attributes):
+ (WebCore::CompactHTMLToken::publicIdentifier):
+ (WebCore::CompactHTMLToken::systemIdentifier):
+ * xml/parser/MarkupTokenBase.h:
+ (WebCore::MarkupTokenBase::data):
+ (MarkupTokenBase):
+
+2013-01-16 Adam Barth <abarth@webkit.org>
+
+ Introduce HTMLParserThread to be able to parse on a background thread
+ https://bugs.webkit.org/show_bug.cgi?id=107071
+
+ Reviewed by Tony Gentilcore.
+
+ This patch introduces a simple thread class that we can use to parse
+ HTML. This patch is unlikely to be the final design because we'll
+ likely want to use libdispatch or some other platform-specific thread
+ pool. However, this implementation is enough to let us work on the
+ parser-specific aspects of this feature.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/parser/HTMLParserThread.cpp: Added.
+ (WebCore):
+ (WebCore::HTMLParserThread::HTMLParserThread):
+ (WebCore::HTMLParserThread::~HTMLParserThread):
+ (WebCore::HTMLParserThread::start):
+ (WebCore::HTMLParserThread::stop):
+ (WebCore::HTMLParserThread::shared):
+ (WebCore::HTMLParserThread::postTask):
+ (WebCore::HTMLParserThread::threadStart):
+ (WebCore::HTMLParserThread::runLoop):
+ * html/parser/HTMLParserThread.h: Added.
+ (WebCore):
+ (HTMLParserThread):
+ (WebCore::HTMLParserThread::create):
+ (WebCore::HTMLParserThread::threadId):
+
+2013-01-16 MORITA Hajime <morrita@google.com>
+
+ WebCore::ScriptRunner::timerFired() is reported to crash.
+ https://bugs.webkit.org/show_bug.cgi?id=92211
+
+ Reviewed by Darin Adler.
+
+ This is a speculative fix to address some crash reports.
+ Here is my rough guess.
+
+ The crash report says there is a PendingScript instance whose m_element is null.
+ - It happens only if the instance is created through the default constructor,
+ - that could happen if m_pendingAsyncScripts doesn't contains matched PendingScript in ScriptRunner::notifyScriptReady(),
+ - that could happen when notifyScriptReady() is called more than once.
+ - It turns out that the call site, ScriptElement::notifyFinished(), could be called multiple times since
+ it doesn't remove itself from the CachedResource, which is done separately in ScriptElement::execute().
+ - So if notifyFinished() is called before execute(), it could happen
+
+ This change added a guard to prevent notifyFinished() from being invoked multiple times.
+ We should watch if these crash reports disappear.
+
+ No new tests. I couldn't create any repro for this.
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::notifyFinished):
+
+2013-01-16 Pablo Flouret <pablof@motorola.com>
+
+ Fix mac build system warnings introduced by r139866
+ https://bugs.webkit.org/show_bug.cgi?id=107056
+
+ Reviewed by Benjamin Poulain.
+
+ warning: no rule to process file '$(PROJECT_DIR)/css/CSSSupportsRule.h' of type sourcecode.c.h for architecture x86_64
+ warning: no rule to process file '$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSCSSSupportsRule.h' of type sourcecode.c.h for architecture x86_64
+
+ {JS,}CSSSupportsRule.h somehow ended up marked as sources in the XCode
+ project.
+
+ No new tests. Build warning fix.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-01-16 Elliott Sprehn <esprehn@chromium.org>
+
+ Merge RenderObjectChildList::appendChildNode and insertChildNode
+ https://bugs.webkit.org/show_bug.cgi?id=106392
+
+ Reviewed by Eric Seidel.
+
+ insertChildNode and appendChildNode are nearly identical methods and
+ we can combine them into insertChildNode and handle cases where the
+ renderer to insert before is null as if it was an append.
+
+ No new tests, just refactoring.
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::insertChildNode):
+ * rendering/RenderObjectChildList.h:
+ (RenderObjectChildList):
+ (WebCore::RenderObjectChildList::appendChildNode):
+ Now inline and delegates to insertChildNode.
+
+2013-01-16 Elliott Sprehn <esprehn@chromium.org>
+
+ Cursor stops blinking after clicking on scrollbar
+ https://bugs.webkit.org/show_bug.cgi?id=106470
+
+ Reviewed by Ojan Vafai.
+
+ Restore the caret blinking when doing a mouseup on a
+ scrollbar so scrolling a textarea doesn't cause the
+ caret to freeze.
+
+ No new tests, there doesn't seem to be any way to test
+ cursor blinking.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+
+2013-01-16 Adam Barth <abarth@webkit.org>
+
+ Teach HTMLParserOptions about Settings::threadedHTMLParser
+ https://bugs.webkit.org/show_bug.cgi?id=107068
+
+ Reviewed by Tony Gentilcore.
+
+ We use this option to enable the threaded HTML parser at runtime.
+
+ * html/parser/HTMLParserOptions.cpp:
+ (WebCore::HTMLParserOptions::HTMLParserOptions):
+ * html/parser/HTMLParserOptions.h:
+ (HTMLParserOptions):
+
+2013-01-16 Brady Eidson <beidson@apple.com>
+
+ Synchronous XMLHTTPRequests need to go to the NetworkProcess.
+ <rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826
+
+ Reviewed by Sam Weinig and Alexey Proskuryakov.
+
+ No new tests (No changes to any config that is currently tested)
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadResourceSynchronously): Consult the LoaderStrategy when strategies are
+ being used.
+
+ * loader/LoaderStrategy.cpp:
+ (WebCore::LoaderStrategy::loadResourceSynchronously): Defaults to using ResourceHandle directly.
+ * loader/LoaderStrategy.h:
+
+ Break out the StoredCredentials enum to a new header:
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleTypes.h:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-01-16 Robert Iannucci <iannucci@chromium.org>
+
+ Explicitly set msvs_cygwin_shell to true for bison rule
+ https://bugs.webkit.org/show_bug.cgi?id=107058
+
+ Reviewed by Tony Chang.
+
+ Currently, msvs_cygwin_shell is set to 1 by default. This patch
+ explicitly sets it on the actions which will break if msvs_cygwin_shell
+ were set to 0. This is in preparation for changing the default value of
+ msvs_cygwin_shell, which in turn is in preparation of the removal of
+ cygwin as a buld-system requirement.
+
+ Since this change will have no semantic effect, no new tests are
+ required.
+
+ A previous instance of this bug is here:
+ https://bugs.webkit.org/show_bug.cgi?id=106706
+
+ * WebCore.gyp/WebCore.gyp:
+
+2013-01-16 Benjamin Poulain <bpoulain@apple.com>
+
+ Fix the warning for the exported Objective-C binding of DOMCSSSupportsRule
+
+ Rubber-stamped by Simon Fraser.
+
+ * WebCore.exp.in: r139866 exported the Objective-C class DOMCSSSupportsRule
+ without #ifdefing the symbol between its feature flag.
+
+2013-01-16 Victor Carbune <vcarbune@chromium.org>
+
+ Cues not rendered when they should be
+ https://bugs.webkit.org/show_bug.cgi?id=106943
+
+ Reviewed by Eric Carlson.
+
+ Forced rendering update, even if the active set of cues didn't change.
+
+ Test: media/track/track-cue-rendering-mode-changed.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::updateActiveTextTrackCues): If exiting early,
+ update the cues rendered by the text track container.
+ (WebCore::HTMLMediaElement::textTrackModeChanged): Trigger update of the
+ re-checking the active cues and render the ones not yet on screen.
+
+2013-01-16 Benjamin Poulain <bpoulain@apple.com>
+
+ Force a rebuild of RenderObject
+
+ Unreviewed. One bot is using old object file. Change RenderObject.cpp to force it
+ to build the file again.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::addLayers):
+ (WebCore::RenderObject::findNextLayer):
+
+2013-01-16 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Possible null ScriptExecutionContext passed to callbacks during frame destruction
+ https://bugs.webkit.org/show_bug.cgi?id=107050
+
+ Reviewed by Tony Chang.
+
+ Temporary code to defend against null contexts. Will either refute a hypothesis, or we'll
+ need to make a more systemic fix elsewhere. Either way it will be removed in a few days.
+ We're unable to repro, but watching crash reports from users. One possible source is
+ that during page tear-down WorkerScriptController::controllerForContext() returns null
+ (there's a comment about that case) leading to a null context.
+
+ No new tests - this shouldn't be happening.
+
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::createIndex):
+
+2013-01-16 Kenneth Russell <kbr@google.com>
+
+ Simplify validation and data copying in WebGLBuffer
+ https://bugs.webkit.org/show_bug.cgi?id=106975
+
+ Reviewed by Dean Jackson.
+
+ Re-landing after testing locally; was not able to reproduce the
+ crash seen once with the earlier patch.
+
+ No new tests; covered by existing tests. Ran WebGL layout tests and conformance tests.
+
+ * html/canvas/WebGLBuffer.cpp:
+ (WebCore::WebGLBuffer::associateBufferDataImpl):
+ Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
+ (WebCore::WebGLBuffer::associateBufferData):
+ Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
+ (WebCore::WebGLBuffer::associateBufferSubDataImpl):
+ Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
+ (WebCore::WebGLBuffer::associateBufferSubData):
+ Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
+ * html/canvas/WebGLBuffer.h:
+ (WebGLBuffer):
+ Change signatures of associateBufferDataImpl and associateBufferSubDataImpl.
+
+2013-01-16 Timothy Hatcher <timothy@apple.com>
+
+ Fix a crash when printing console messages to STDOUT.
+
+ https://bugs.webkit.org/show_bug.cgi?id=107039
+
+ Reviewed by Joseph Pecoraro.
+
+ * page/Console.cpp:
+ (WebCore::internalAddMessage): Don't release the RefPtr early. Also log the line number
+ and convert non-string arguments to strings when printing them.
+
+2013-01-16 Kenneth Russell <kbr@google.com>
+
+ Unreviewed, rolling out r139914.
+ http://trac.webkit.org/changeset/139914
+ https://bugs.webkit.org/show_bug.cgi?id=106975
+
+ Caused crashes in compositing/visibility/visibility-simple-
+ webgl-layer.html
+
+ * html/canvas/WebGLBuffer.cpp:
+ (WebCore::WebGLBuffer::associateBufferDataImpl):
+ (WebCore::WebGLBuffer::associateBufferData):
+ (WebCore::WebGLBuffer::associateBufferSubDataImpl):
+ (WebCore::WebGLBuffer::associateBufferSubData):
+ * html/canvas/WebGLBuffer.h:
+ (WebGLBuffer):
+
+2013-01-16 Alexis Menard <alexis@webkit.org>
+
+ Monitor usage of unprefixed and prefixed DOM events for CSS Transitions.
+ https://bugs.webkit.org/show_bug.cgi?id=107004
+
+ Reviewed by Adam Barth.
+
+ Monitor the usage of transitionEnd events as well as
+ webkitTransitionEnd events so we can know in the future how much the
+ prefixed version is used to remove it becomes irrelevant.
+
+ No new tests : no behavior changes, we're just adding monitoring.
+
+ * dom/EventTarget.cpp:
+ (WebCore):
+ (WebCore::EventTarget::fireEventListeners):
+ * page/FeatureObserver.h:
+
+2013-01-16 Antti Koivisto <antti@apple.com>
+
+ Tighten RenderLayerModelObject subclass constructors to operate on ContainerNodes.
+ https://bugs.webkit.org/show_bug.cgi?id=107041
+
+ Reviewed by Simon Fraser.
+
+ In rendering code only Nodes that are not ContainerNodes are used by RenderText. Tighter typing is better in general.
+ It also enables better code generation (especially with Document* moving from Node to ContainerNode).
+
+ This patch tightens constuctors for better static type checking. It also overrides node() with a covariant ContainerNode* return type
+ version in RenderLayerModelObject. RenderObject::createObject() is tightened to take Element*.
+
+ This patch does not change Node* usage in non-construction code (expect for the node() override).
+
+ With some further work it should be possible to tighten most of the rendering tree to operate on Elements for even less branchiness.
+
+ * dom/Document.cpp:
+ (WebCore::Document::attach):
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::RenderSliderThumb::RenderSliderThumb):
+ (WebCore::RenderSliderContainer::RenderSliderContainer):
+ * html/shadow/SliderThumbElement.h:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::RenderBlock):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::RenderBox):
+ * rendering/RenderBox.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::RenderBoxModelObject):
+ * rendering/RenderBoxModelObject.h:
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::RenderButton):
+ * rendering/RenderButton.h:
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
+ * rendering/RenderDeprecatedFlexibleBox.h:
+ * rendering/RenderDetailsMarker.cpp:
+ (WebCore::RenderDetailsMarker::RenderDetailsMarker):
+ * rendering/RenderDetailsMarker.h:
+ * rendering/RenderDialog.h:
+ (WebCore::RenderDialog::RenderDialog):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::RenderFieldset):
+ * rendering/RenderFieldset.h:
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::RenderFlexibleBox):
+ * rendering/RenderFlexibleBox.h:
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::RenderFlowThread):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderFullScreen.cpp:
+ (RenderFullScreen::RenderFullScreen):
+ * rendering/RenderFullScreen.h:
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::RenderGrid):
+ * rendering/RenderGrid.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::RenderImage):
+ * rendering/RenderImage.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::RenderInline):
+ * rendering/RenderInline.h:
+ * rendering/RenderLayerModelObject.cpp:
+ (WebCore::RenderLayerModelObject::RenderLayerModelObject):
+ * rendering/RenderLayerModelObject.h:
+ (WebCore::RenderLayerModelObject::node):
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::RenderListItem):
+ * rendering/RenderListItem.h:
+ * rendering/RenderMediaControlElements.cpp:
+ (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
+ (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
+ (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
+ * rendering/RenderMediaControlElements.h:
+ * rendering/RenderMultiColumnBlock.cpp:
+ (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
+ * rendering/RenderMultiColumnBlock.h:
+ * rendering/RenderMultiColumnFlowThread.cpp:
+ (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
+ * rendering/RenderMultiColumnFlowThread.h:
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
+ * rendering/RenderMultiColumnSet.h:
+ (RenderMultiColumnSet):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
+ * rendering/RenderNamedFlowThread.h:
+ (RenderNamedFlowThread):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createObject):
+ * rendering/RenderObject.h:
+ (RenderObject):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::RenderRegion):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ * rendering/RenderRegionSet.cpp:
+ (WebCore::RenderRegionSet::RenderRegionSet):
+ * rendering/RenderRegionSet.h:
+ (RenderRegionSet):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::RenderReplaced):
+ * rendering/RenderReplaced.h:
+ (RenderReplaced):
+ * rendering/RenderReplica.cpp:
+ (WebCore::RenderReplica::RenderReplica):
+ (WebCore::RenderReplica::~RenderReplica):
+ * rendering/RenderReplica.h:
+ * rendering/RenderRuby.cpp:
+ (WebCore::RenderRubyAsInline::RenderRubyAsInline):
+ (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
+ * rendering/RenderRuby.h:
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::RenderRubyBase):
+ * rendering/RenderRubyBase.h:
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::RenderRubyRun):
+ * rendering/RenderRubyRun.h:
+ (RenderRubyRun):
+ * rendering/RenderRubyText.cpp:
+ (WebCore::RenderRubyText::RenderRubyText):
+ * rendering/RenderRubyText.h:
+ (RenderRubyText):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::RenderScrollbarPart):
+ * rendering/RenderScrollbarPart.h:
+ (RenderScrollbarPart):
+ * rendering/RenderSearchField.cpp:
+ (WebCore::RenderSearchField::RenderSearchField):
+ * rendering/RenderSearchField.h:
+ (RenderSearchField):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::RenderTable):
+ * rendering/RenderTable.h:
+ (RenderTable):
+ * rendering/RenderTableCaption.cpp:
+ (WebCore::RenderTableCaption::RenderTableCaption):
+ * rendering/RenderTableCaption.h:
+ (RenderTableCaption):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::RenderTableCell):
+ * rendering/RenderTableCell.h:
+ (RenderTableCell):
+ * rendering/RenderTableCol.cpp:
+ (WebCore::RenderTableCol::RenderTableCol):
+ * rendering/RenderTableCol.h:
+ (RenderTableCol):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::RenderTableRow):
+ * rendering/RenderTableRow.h:
+ (RenderTableRow):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::RenderTableSection):
+ * rendering/RenderTableSection.h:
+ (RenderTableSection):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::RenderTextControl):
+ * rendering/RenderTextControl.h:
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
+ * rendering/RenderTextControlMultiLine.h:
+ (RenderTextControlMultiLine):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine):
+ (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
+ * rendering/RenderTextTrackCue.cpp:
+ (WebCore::RenderTextTrackCue::RenderTextTrackCue):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView):
+ * rendering/RenderView.h:
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::RenderWidget):
+ * rendering/RenderWidget.h:
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::RenderMathMLBlock):
+ * rendering/mathml/RenderMathMLBlock.h:
+ (WebCore::RenderMathMLTable::RenderMathMLTable):
+ * rendering/mathml/RenderMathMLOperator.cpp:
+ (WebCore::RenderMathMLOperator::RenderMathMLOperator):
+ * rendering/mathml/RenderMathMLOperator.h:
+ * rendering/mathml/RenderMathMLRow.cpp:
+ (WebCore::RenderMathMLRow::RenderMathMLRow):
+ * rendering/mathml/RenderMathMLRow.h:
+ (RenderMathMLRow):
+ (WebCore::RenderSVGInline::RenderSVGInline):
+ * rendering/svg/RenderSVGInline.h:
+ * rendering/svg/RenderSVGTSpan.cpp:
+ (WebCore::RenderSVGTSpan::RenderSVGTSpan):
+ * rendering/svg/RenderSVGTSpan.h:
+ * rendering/svg/RenderSVGTextPath.cpp:
+ (WebCore::RenderSVGTextPath::RenderSVGTextPath):
+ * rendering/svg/RenderSVGTextPath.h:
+
+2013-01-16 Chris Fleizach <cfleizach@apple.com>
+
+ Stub out WebSpeech synthesis
+ https://bugs.webkit.org/show_bug.cgi?id=106847
+
+ Reviewed by Adam Barth.
+
+ This adds in the necessary IDLs and stubs out the code for the WebSpeech
+ synthesis specification.
+ It does not turn on the feature in any platform, but it can be enabled
+ and built for Mac.
+
+ The feature flag is SPEECH_SYNTHESIS.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.make:
+ * Modules/speech/DOMWindowSpeechSynthesis.cpp: Added.
+ (WebCore::DOMWindowSpeechSynthesis::DOMWindowSpeechSynthesis):
+ (WebCore::DOMWindowSpeechSynthesis::~DOMWindowSpeechSynthesis):
+ (WebCore::DOMWindowSpeechSynthesis::from):
+ (WebCore::DOMWindowSpeechSynthesis::speechSynthesis):
+ * Modules/speech/DOMWindowSpeechSynthesis.h: Added.
+ * Modules/speech/DOMWindowSpeechSynthesis.idl: Added.
+ * Modules/speech/SpeechSynthesis.cpp: Added.
+ (WebCore::SpeechSynthesis::create):
+ (WebCore::SpeechSynthesis::SpeechSynthesis):
+ * Modules/speech/SpeechSynthesis.h: Added.
+ (SpeechSynthesis):
+ (WebCore::SpeechSynthesis::getVoices):
+ * Modules/speech/SpeechSynthesis.idl: Added.
+ * Modules/speech/SpeechSynthesisEvent.cpp: Added.
+ (WebCore::SpeechSynthesisEvent::create):
+ (WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
+ * Modules/speech/SpeechSynthesisEvent.h: Added.
+ (SpeechSynthesisEvent):
+ (WebCore::SpeechSynthesisEvent::charIndex):
+ (WebCore::SpeechSynthesisEvent::elapsedTime):
+ (WebCore::SpeechSynthesisEvent::name):
+ * Modules/speech/SpeechSynthesisEvent.idl: Added.
+ * Modules/speech/SpeechSynthesisUtterance.cpp: Added.
+ (WebCore::SpeechSynthesisUtterance::create):
+ (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::scriptExecutionContext):
+ (WebCore::SpeechSynthesisUtterance::interfaceName):
+ * Modules/speech/SpeechSynthesisUtterance.h: Added.
+ (SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::text):
+ (WebCore::SpeechSynthesisUtterance::setText):
+ (WebCore::SpeechSynthesisUtterance::lang):
+ (WebCore::SpeechSynthesisUtterance::setLang):
+ (WebCore::SpeechSynthesisUtterance::voiceURI):
+ (WebCore::SpeechSynthesisUtterance::setVoiceURI):
+ (WebCore::SpeechSynthesisUtterance::volume):
+ (WebCore::SpeechSynthesisUtterance::setVolume):
+ (WebCore::SpeechSynthesisUtterance::rate):
+ (WebCore::SpeechSynthesisUtterance::setRate):
+ (WebCore::SpeechSynthesisUtterance::pitch):
+ (WebCore::SpeechSynthesisUtterance::setPitch):
+ * Modules/speech/SpeechSynthesisUtterance.idl: Added.
+ * Modules/speech/SpeechSynthesisVoice.cpp: Added.
+ (WebCore::SpeechSynthesisVoice::create):
+ (WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
+ * Modules/speech/SpeechSynthesisVoice.h: Added.
+ (SpeechSynthesisVoice):
+ (WebCore::SpeechSynthesisVoice::voiceURI):
+ (WebCore::SpeechSynthesisVoice::name):
+ (WebCore::SpeechSynthesisVoice::lang):
+ (WebCore::SpeechSynthesisVoice::localService):
+ (WebCore::SpeechSynthesisVoice::isDefault):
+ * Modules/speech/SpeechSynthesisVoice.idl: Added.
+ * Modules/speech/mac: Added.
+ * Modules/speech/mac/SpeechSynthesisMac.mm: Added.
+ (WebCore::SpeechSynthesis::pending):
+ (WebCore::SpeechSynthesis::speaking):
+ (WebCore::SpeechSynthesis::paused):
+ (WebCore::SpeechSynthesis::speak):
+ (WebCore::SpeechSynthesis::cancel):
+ (WebCore::SpeechSynthesis::pause):
+ (WebCore::SpeechSynthesis::resume):
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/EventNames.h:
+ * dom/EventNames.in:
+ * dom/EventTargetFactory.in:
+
+2013-01-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r139853.
+ http://trac.webkit.org/changeset/139853
+ https://bugs.webkit.org/show_bug.cgi?id=107049
+
+ Broke the ChromeOS ppapi_unittests (Requested by leviw on
+ #webkit).
+
+ * inspector/Inspector.json:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ * inspector/InspectorPageAgent.cpp:
+ * inspector/InspectorPageAgent.h:
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.PageDispatcher.prototype.frameDetached):
+ * loader/NavigationScheduler.cpp:
+ (WebCore::NavigationScheduler::clear):
+ (WebCore::NavigationScheduler::timerFired):
+ (WebCore::NavigationScheduler::startTimer):
+ (WebCore::NavigationScheduler::cancel):
+ * loader/ProgressTracker.cpp:
+ (WebCore::ProgressTracker::progressStarted):
+ (WebCore::ProgressTracker::finalProgressComplete):
+
+2013-01-16 Kenneth Russell <kbr@google.com>
+
+ Simplify validation and data copying in WebGLBuffer
+ https://bugs.webkit.org/show_bug.cgi?id=106975
+
+ Reviewed by Dean Jackson.
+
+ No new tests; covered by existing tests. Ran WebGL layout tests and conformance tests.
+
+ * html/canvas/WebGLBuffer.cpp:
+ (WebCore::WebGLBuffer::associateBufferDataImpl):
+ Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
+ (WebCore::WebGLBuffer::associateBufferData):
+ Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
+ (WebCore::WebGLBuffer::associateBufferSubDataImpl):
+ Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
+ (WebCore::WebGLBuffer::associateBufferSubData):
+ Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
+ * html/canvas/WebGLBuffer.h:
+ (WebGLBuffer):
+ Change signatures of associateBufferDataImpl and associateBufferSubDataImpl.
+
+2013-01-16 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ inconsistency in drawImage with target rect negative dimensions.
+ https://bugs.webkit.org/show_bug.cgi?id=100026
+
+ Reviewed by Dean Jackson.
+
+ Remove -1, -1 special case in drawImage and drawImageBuffer. Replace
+ all -1 -1 arguments calls to with the correct rectangle dimensions.
+
+ Remove FloatRect(0, 0, -1, -1) default argument for srcRect, and
+ instead, add new overloaded functions to create a FloatRect from image
+ size.
+
+ Replace -1 -1 arguments calls in FEComposite::platformApplySoftware
+ with correct rectangle dimensions.
+
+ Replace ImageGStreamer rect method (which may return -1 -1 rectangle)
+ with cropRect method, and make caller check for rectangle emptiness.
+
+ * fast/canvas/drawImage-with-negative-source-destination-expected.txt:
+ * fast/canvas/drawImage-with-negative-source-destination.js:
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawImage):
+ (WebCore):
+ (WebCore::GraphicsContext::drawImageBuffer):
+ * platform/graphics/GraphicsContext.h:
+ (GraphicsContext):
+ * platform/graphics/filters/FEComposite.cpp:
+ (WebCore::FEComposite::platformApplySoftware):
+ * platform/graphics/gstreamer/ImageGStreamer.h:
+ (WebCore::ImageGStreamer::rect):
+
+2013-01-16 Simon Fraser <simon.fraser@apple.com>
+
+ Allow PaintInfo to carry all PaintBehavior flags
+ https://bugs.webkit.org/show_bug.cgi?id=106980
+
+ Reviewed by Beth Dakin.
+
+ In r139908 I missed one instance of the PaintInfo constructor that should take PaintBehaviorNormal
+ instead of "false".
+
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::paintIntoRect):
+
+2013-01-16 Simon Fraser <simon.fraser@apple.com>
+
+ Allow PaintInfo to carry all PaintBehavior flags
+ https://bugs.webkit.org/show_bug.cgi?id=106980
+
+ Reviewed by Sam Weinig.
+
+ PaintInfo has a single boolean for forceBlackText, but I'll be adding additional
+ paint behaviors that I'd like to access from PaintInfo, so it makes sense for
+ PaintInfo to just include the set of PaintBehavior flags.
+
+ Also add default values in the constructor arguments for rarely used parameters.
+
+ No behavior change, no tests.
+
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint): Use the forceBlackText() function.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint): Call forceBlackText().
+ * rendering/PaintInfo.h:
+ (WebCore::PaintInfo::PaintInfo): Pass PaintBehavior rather than a forceBlackText boolean.
+ (WebCore::PaintInfo::forceBlackText): Return true if the behavior flags contain PaintBehaviorForceBlackText.
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass PaintBehaviorForceBlackText instead of 'true'
+ when painting for background-clip: text.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayerContents): Pass PaintBehaviorNormal where we used to pass 'false',
+ and omit default 0 parameters.
+ * rendering/svg/SVGRenderingContext.cpp:
+ (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer): PaintBehaviorNormal and remove default params.
+
+2013-01-16 Tim Horton <timothy_horton@apple.com>
+
+ Add a missing #if to fix the Mac build sans ENABLE_CSS_FILTERS.
+
+ Rubber-stamped by Simon Fraser.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::cloneLayer):
+
+2013-01-16 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Make a creationContext parameter of toV8() mandatory
+ https://bugs.webkit.org/show_bug.cgi?id=107020
+
+ Reviewed by Adam Barth.
+
+ Currently a creationContext parameter of toV8() is optional:
+
+ Handle<Value> toV8(..., Handle<Object> creationContext = Handle<Object>(), ...) {
+ ...;
+ }
+
+ On the other hand, looking at the implementation of
+ V8WrapperInstantiationScope:
+
+ explicit V8WrapperInstantiationScope(v8::Handle<v8::Object> creationContext)
+ : m_didEnterContext(false)
+ , m_context(v8::Context::GetCurrent())
+ {
+ if (creationContext.IsEmpty()) // We do nothing for this case!
+ return;
+ v8::Handle<v8::Context> contextForWrapper = creationContext->CreationContext();
+ if (contextForWrapper == m_context)
+ return;
+ m_context = v8::Local<v8::Context>::New(contextForWrapper);
+ m_didEnterContext = true;
+ m_context->Enter();
+ }
+
+ we're assuming that a creationContext parameter is passed
+ to toV8() when a creationContext exists. In other words,
+ if we forget to pass a creationContext parameter, we will
+ end up with creating an object on the current context, which
+ is wrong. To avoid the mistake, we should make the
+ creationContext parameter mandatory. When we really do not
+ have a creationContext, we can pass Handle<Object>() explicitly.
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (WebCore::toV8):
+ * bindings/v8/IDBBindingUtilities.cpp:
+ (WebCore::injectIDBKeyIntoScriptValue):
+ (WebCore::idbKeyToScriptValue):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::createScriptObject):
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::currentCallFrame):
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::handleEvent):
+ (WebCore::V8AbstractEventListener::getReceiverObject):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::updateDocumentProperty):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::toObjectWrapper):
+ * bindings/v8/V8MutationCallback.cpp:
+ (WebCore::V8MutationCallback::handleEvent):
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::acceptNode):
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::V8WorkerContextEventListener::handleEvent):
+ (WebCore::V8WorkerContextEventListener::getReceiverObject):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8SQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::InjectedScriptHost::nodeAsScriptValue):
+ * css/MediaQueryListListener.cpp:
+ (WebCore::MediaQueryListListener::queryChanged):
+ * testing/v8/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::injectInternalsObject):
+
+2013-01-15 Jer Noble <jer.noble@apple.com>
+
+ Add a Setting to disable QTKit media engine.
+ https://bugs.webkit.org/show_bug.cgi?id=106972
+
+ Reviewed by Eric Carlson.
+
+ Allow the MediaPlayerPrivateQTKit engine to be disabled by adding a
+ runtime setting to Settings. Make the setting 'live' by requerying the
+ installed media engines when the setting changes.
+
+ * WebCore.exp.in: Add new symbols to export list.
+ * page/Settings.cpp: Add new gQTKitEnabled global.
+ (WebCore::Settings::setAVFoundationEnabled): Requery media engines.
+ (WebCore::Settings::setQTKitEnabled): Ditto. Setter for global setting variable.
+ * page/Settings.h:
+ (WebCore::Settings::isQTKitEnabled): Getter for same.
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::installedMediaEngines): Check isQTKitEnabled() before adding
+ MediaPlayerPrivateQTKit engine.
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::requeryMediaEngines): Pass through to MediaPlayer.
+ * html/HTMLMediaElement.h:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::installedMediaEngines): Take an optional requery options parameter.
+ (WebCore::MediaPlayer::requeryMediaEngines): Pass through to installedMediaEngines().
+ * platform/graphics/MediaPlayer.h:
+
+2013-01-16 Christophe Dumez <christophe.dumez@intel.com>
+
+ [gstreamer] Some media tests occasionally crash with gstreamer 1.0 backend
+ https://bugs.webkit.org/show_bug.cgi?id=106551
+
+ Reviewed by Philippe Normand.
+
+ ImageGStreamerCairo was passing mapped memory to
+ cairo_image_surface_create_for_data() and then unmapping it straight
+ away even though the cairo_surface_t is still used. The cairo
+ documentation states:
+ "The output buffer must be kept around until the cairo_surface_t is
+ destroyed or cairo_surface_finish() is called on the surface."
+
+ This patch keeps the GstBuffer memory mapped until the ImageGStreamer
+ is destroyed so that the internal cairo_surface_t stays valid while
+ avoiding copying the image data.
+
+ No new tests, already covered by existing tests.
+
+ * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
+ (WTF::adoptGRef):
+ (WTF):
+ (WTF::GstBuffer):
+ * platform/graphics/gstreamer/GRefPtrGStreamer.h:
+ (WTF): Add support for using GRefPtr with GstBuffer.
+ * platform/graphics/gstreamer/ImageGStreamer.h:
+ (ImageGStreamer):
+ * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
+ (ImageGStreamer::ImageGStreamer):
+ (ImageGStreamer::~ImageGStreamer):
+
+2013-01-16 Mike Reed <reed@google.com>
+
+ Use SkMatrix::I() when we need to pass identity, rather than constructing a new matrix.
+ https://bugs.webkit.org/show_bug.cgi?id=107016
+
+ Reviewed by James Robinson.
+
+ No new tests. existing tests exercise this code.
+
+ The default constructor is being deprecated, so this change is also part of that effort,
+ though it is a perf-improvement regardless, since we avoid making a new (temp) matrix.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
+2013-01-16 Ojan Vafai <ojan@chromium.org>
+
+ RenderListMarker::computePreferredLogicalWidth should not be public
+ https://bugs.webkit.org/show_bug.cgi?id=106956
+
+ Reviewed by Tony Chang.
+
+ RenderListItem was calling computePreferredLogicalWidths for the side
+ effects of updating the marker content and margins. Instead, call
+ updateMarginsAndContent directly.
+
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::updateMarkerLocation):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::layout):
+ The isImage() codepath never calls computePreferredLogicalWidths, so we need to make
+ sure the content and margins are updated.
+
+ (WebCore::RenderListMarker::updateContent):
+ (WebCore::RenderListMarker::computePreferredLogicalWidths):
+ (WebCore::RenderListMarker::updateMarginsAndContent):
+ * rendering/RenderListMarker.h:
+
+2013-01-16 Claudio Saavedra <csaavedra@igalia.com>
+
+ [GTK] Safeguard against possible NULL-dereference
+ https://bugs.webkit.org/show_bug.cgi?id=104931
+
+ Reviewed by Martin Robinson.
+
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
+ (webkitAccessibleGetIndexInParent): Move the NULL-safeguard to a
+ place where it actually makes sense.
+
+2013-01-16 Avi Drissman <avi@google.com>
+
+ West-panning cursor does not match resize cursor, unlike all other directions
+ https://bugs.webkit.org/show_bug.cgi?id=89405
+
+ Reviewed by Alexey Proskuryakov.
+
+ Existing manual tests.
+
+ * platform/mac/CursorMac.mm:
+ (WebCore::Cursor::ensurePlatformCursor):
+
+2013-01-16 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: array grouping does not work for float number keys
+ https://bugs.webkit.org/show_bug.cgi?id=106998
+
+ Reviewed by Pavel Feldman.
+
+ Now we do the array index check according to the ECMAScript 5, section 15.4:
+ "A property name P (in the form of a String value) is an array index if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32-1."
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (.buildObjectFragment):
+
+2013-01-16 Sergey Ryazanov <serya@chromium.org>
+
+ Web Inspector: Show formatted content of JSON request
+ https://bugs.webkit.org/show_bug.cgi?id=106900
+
+ Reviewed by Vsevolod Vlasov.
+
+ "Request payload" section showed raw content for POST requests.
+ This change show it in structured format if it's JSON parsable.
+ Raw format is also available.
+
+ * inspector/front-end/RequestHeadersView.js:
+ (WebInspector.RequestHeadersView.prototype._refreshQueryString):
+ (WebInspector.RequestHeadersView.prototype._refreshFormData):
+ (WebInspector.RequestHeadersView.prototype.toggleViewSource):
+ (WebInspector.RequestHeadersView.prototype._refreshParams):
+
+2013-01-16 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: UISourceCode scriptFile / styleFile should be reset on navigation (debugger or css model reset).
+ https://bugs.webkit.org/show_bug.cgi?id=107008
+
+ Reviewed by Pavel Feldman.
+
+ ScriptFiles and styleFiles are now reset and disposed on UISourceCodes on corresponding models reset.
+ StyleSourceMapping now tries to setup mapping for newly added resource as well as for uiSourceCodes previously.
+
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype._mainFrameCreatedOrNavigated):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype._unbindUISourceCodeFromScripts):
+ (WebInspector.ResourceScriptMapping.prototype._initialize):
+ (WebInspector.ResourceScriptMapping.prototype._debuggerReset):
+ (WebInspector.ResourceScriptFile.prototype.dispose):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype._addFrame):
+ (WebInspector.ResourceTreeModel.prototype._frameNavigated):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel):
+ (WebInspector.ScriptSnippetModel.prototype._debuggerReset):
+ * inspector/front-end/StylesSourceMapping.js:
+ (WebInspector.StylesSourceMapping):
+ (WebInspector.StylesSourceMapping.prototype._resourceAdded):
+ (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):
+ (WebInspector.StylesSourceMapping.prototype._bindUISourceCode):
+ (WebInspector.StylesSourceMapping.prototype._projectWillReset):
+ (WebInspector.StylesSourceMapping.prototype._initialize):
+ (WebInspector.StylesSourceMapping.prototype._mainFrameCreatedOrNavigated):
+ (WebInspector.StyleFile.prototype.dispose):
+
+2013-01-16 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
+
+ [GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
+ https://bugs.webkit.org/show_bug.cgi?id=105552
+
+ Reverting 139877. It made a couple of API tests fail.
+
+ * platform/graphics/gstreamer/GStreamerVersioning.cpp:
+ * platform/graphics/gstreamer/GStreamerVersioning.h:
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (StreamingClient):
+ (_WebKitWebSrcPrivate):
+ (webKitWebSrcFinalize):
+ (webKitWebSrcStop):
+ (StreamingClient::didReceiveData):
+ * platform/network/ResourceHandleClient.h:
+ (ResourceHandleClient):
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ (ResourceHandleInternal):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::cleanupSoupRequestOperation):
+ (WebCore::nextMultipartResponsePartCallback):
+ (WebCore::sendRequestCallback):
+ (WebCore::readCallback):
+
+2013-01-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: cookies with empty value are parsed incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=107012
+
+ Reviewed by Pavel Feldman.
+
+ Require cookie value to be a string, not a non-empty string, before
+ employing legacy compatibility hack of treating bare token as value
+ for the cookie with an empty name.
+
+ * inspector/front-end/CookieParser.js:
+ (WebInspector.CookieParser.prototype._addCookie):
+
+2013-01-16 Grzegorz Czajkowski <g.czajkowski@samsung.com>
+
+ Unreviewed EFL build fix after r139877.
+
+ * platform/graphics/gstreamer/GStreamerVersioning.cpp:
+ (getGstBufferDataPointer): Add const modifier to webkitGstMapInfoQuarkString.
+
+2013-01-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: [Extensions API] remove inspectedWindow.onReset event
+ https://bugs.webkit.org/show_bug.cgi?id=107009
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/ExtensionAPI.js:
+ (defineCommonExtensionSymbols):
+ (injectedExtensionAPI.InspectorExtensionAPI):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype.initExtensions):
+
+2013-01-16 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: fix text-editor-highlight-regexp test
+ https://bugs.webkit.org/show_bug.cgi?id=107006
+
+ Reviewed by Vsevolod Vlasov.
+
+ Use 'height: 100%' instead of pixel values on highlight spans to bring in some platform independency in test expectations.
+
+ No new tests: no changes in behaviour.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorMainPanel.prototype._measureRegex):
+ (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
+ * inspector/front-end/textEditor.css:
+ (.text-editor-overlay-highlight):
+ (.webkit-line-content):
+
+2013-01-16 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Use the shared HistoryItem serialization for QWebHistory
+ https://bugs.webkit.org/show_bug.cgi?id=106671
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ This allows a few things missing from the previous serialization code
+ to function while using commonly maintained code:
+ - The itemSequenceNumber and documentSequenceNumber that were needed
+ to properly restore same-document navigations
+ - The form data
+ - The navigation hierarchy mapping the frame tree
+
+ * history/HistoryItem.h:
+ (HistoryItem):
+ * history/qt/HistoryItemQt.cpp:
+ (QDataStreamCoder):
+ (WebCore):
+ (WebCore::QDataStreamCoder::QDataStreamCoder):
+ (WebCore::QDataStreamCoder::encodeBytes):
+ (WebCore::QDataStreamCoder::encodeBool):
+ (WebCore::QDataStreamCoder::encodeUInt32):
+ (WebCore::QDataStreamCoder::encodeUInt64):
+ (WebCore::QDataStreamCoder::encodeInt32):
+ (WebCore::QDataStreamCoder::encodeInt64):
+ (WebCore::QDataStreamCoder::encodeFloat):
+ (WebCore::QDataStreamCoder::encodeDouble):
+ (WebCore::QDataStreamCoder::encodeString):
+ (WebCore::QDataStreamCoder::decodeBytes):
+ (WebCore::QDataStreamCoder::decodeBool):
+ (WebCore::QDataStreamCoder::decodeUInt32):
+ (WebCore::QDataStreamCoder::decodeUInt64):
+ (WebCore::QDataStreamCoder::decodeInt32):
+ (WebCore::QDataStreamCoder::decodeInt64):
+ (WebCore::QDataStreamCoder::decodeFloat):
+ (WebCore::QDataStreamCoder::decodeDouble):
+ (WebCore::QDataStreamCoder::decodeString):
+ (WebCore::HistoryItem::restoreState):
+ (WebCore::WebCore::HistoryItem::saveState):
+
+2013-01-15 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
+
+ [GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
+ https://bugs.webkit.org/show_bug.cgi?id=105552
+
+ Reviewed by Philippe Normand.
+
+ Makes it possible for the GStreamer media backend to provide the buffer to which
+ the Soup networking backend will use to download data to. This makes copying
+ memory unnecessary when ResourceHandle hands data over to the media player's
+ StreamingClient. Thanks to Dan Winship for help designing the interface.
+
+ No behaviour change, covered by existing tests.
+
+ * platform/graphics/gstreamer/GStreamerVersioning.cpp:
+ (getGstBufferSize): Abstract obtaining the size of the buffer, so the code
+ is cleaner while still working for both GST 0.10 and 1.0.
+ (setGstBufferSize): Ditto, but for setting the size.
+ (getGstBufferDataPointer): Ditto, but for grabbing the data pointer.
+ (mapGstBuffer): Convenience method to take care of mapping the buffer so that
+ we can provide the data pointer to ResourceHandle.
+ (unmapGstBuffer): Convenience method which takes care of unmapping the buffer
+ and properly freeing the GstMapInfo.
+ * platform/graphics/gstreamer/GStreamerVersioning.h:
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (StreamingClient): New methods.
+ (_WebKitWebSrcPrivate): We now store the GstBuffer we provided the data pointer from
+ so we can later unmap it and push it to the pipeline.
+ (webKitWebSrcDispose): Deal with the GstBuffer in case it exists when the source is
+ destroyed.
+ (webKitWebSrcStop): Also clear the GstBuffer in this case.
+ (StreamingClient::didReceiveData): Handle the hand-over of the buffer.
+ (StreamingClient::getBuffer): Provide ResourceHandle with a new GstBuffer's data pointer.
+ * platform/network/ResourceHandleClient.h:
+ (ResourceHandleClient):
+ (WebCore::ResourceHandleClient::ResourceHandleClient): Constructor to initialize the buffer
+ member variable to 0.
+ (WebCore::ResourceHandleClient::~ResourceHandleClient): Destructor to free the buffer if it
+ has been allocated.
+ (WebCore::ResourceHandleClient::getBuffer): Default implementation which returns a
+ newly allocated char pointer.
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ (ResourceHandleInternal): Store actual buffer size, which is no longer a constant.
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::cleanupSoupRequestOperation): Clear the buffer pointer, the life-cycle of the
+ buffer is handled by the ResourceHandleClient.
+ (WebCore::nextMultipartResponsePartCallback): Get a new buffer from the client before reading.
+ (WebCore::sendRequestCallback): Ditto.
+ (WebCore::readCallback): Ditto.
+
+2013-01-16 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+
+ [Qt] Crash in WebCore::CachedFrame::destroy
+ https://bugs.webkit.org/show_bug.cgi?id=104525
+
+ Reviewed by Adam Barth.
+
+ Add an assert to increase the chances of catching this crash
+ early on in the future.
+
+ * dom/Document.cpp:
+ (WebCore::Document::takeDOMWindowFrom):
+
+2013-01-16 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: fix Сlosure warnings in devTools front-end
+ https://bugs.webkit.org/show_bug.cgi?id=106993
+
+ Reviewed by Vsevolod Vlasov.
+
+ Add missing annotations and rename Element.remove() method to avoid collision with HTMLSelectElement.remove() method.
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype.hasChildNodes):
+ (WebInspector.DOMNode.prototype.getChildNodes):
+ * inspector/front-end/DOMExtension.js:
+ (Element.prototype.removeSelf):
+ (removeSubsequentNodes):
+ * inspector/front-end/DefaultTextEditor.js:
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.OverridesSettingsTab):
+ * inspector/front-end/SourceTokenizer.js:
+ (WebInspector.SourceTokenizer):
+
+2013-01-16 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: fix backward compatibility issues with Element.remove() method
+ https://bugs.webkit.org/show_bug.cgi?id=106996
+
+ Reviewed by Vsevolod Vlasov.
+
+ Add javascript implementations for CharacterData.prototype.remove and DocumentType.prototype.remove.
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/DOMExtension.js:
+
+2013-01-16 Zeno Albisser <zeno@webkit.org>
+
+ GraphicsSurfaceGLX is leaking an XWindow
+ https://bugs.webkit.org/show_bug.cgi?id=107002
+
+ The XWindow created as a backing surface for
+ the GraphicsSurfaceGLX needs to be destroyed
+ together with the GraphicsSurface.
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
+ (WebCore::GraphicsSurfacePrivate::clear):
+
+2013-01-16 Pablo Flouret <pablof@motorola.com>
+
+ Implement CSSSupportsRule
+ https://bugs.webkit.org/show_bug.cgi?id=104822
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface
+
+ Right now, @supports is not implemented as a proper CSSRule. Apart from
+ the CSSOM implications it gives wrong results when, for instance, an
+ @supports rule is nested inside a @media rule.
+
+ Test: css3/supports-cssom.html
+
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Add CSSSupportsRule.* and associated files.
+
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS):
+ * bindings/objc/DOMCSS.mm:
+ (kitClass):
+ * bindings/v8/custom/V8CSSRuleCustom.cpp:
+ (WebCore::wrap):
+ Create the correct wrappers for the rule.
+
+ * css/CSSGrammar.y.in:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createSupportsRule):
+ (WebCore::CSSParser::markSupportsRuleHeaderStart):
+ (WebCore::CSSParser::markSupportsRuleHeaderEnd):
+ * css/CSSParser.h:
+ Create the supports rule when parsing and add it where it corresponds,
+ instead of directly adding the child rules to the stylesheet.
+
+ * css/CSSPropertySourceData.h:
+ * css/CSSRule.h:
+ * css/CSSRule.idl:
+ Add SUPPORTS_RULE type to enums.
+
+ * css/CSSSupportsRule.cpp: Added.
+ (WebCore::CSSSupportsRule::CSSSupportsRule):
+ (WebCore::CSSSupportsRule::~CSSSupportsRule):
+ (WebCore::CSSSupportsRule::cssText):
+ (WebCore::CSSSupportsRule::conditionText):
+ * css/CSSSupportsRule.h: Added.
+ (WebCore::CSSSupportsRule::create):
+ * css/CSSSupportsRule.idl: Added.
+ DOM interface.
+
+ * css/RuleSet.cpp:
+ (WebCore::RuleSet::addChildRules):
+ Add rules included in the @supports rule.
+
+ * css/StyleResolver.cpp:
+ (WebCore::collectCSSOMWrappers):
+ Collect CSSSupportsRule wrappers.
+
+ * css/StyleRule.cpp:
+ (WebCore::StyleRuleBase::reportMemoryUsage):
+ (WebCore::StyleRuleBase::destroy):
+ (WebCore::StyleRuleBase::copy):
+ (WebCore::StyleRuleBase::createCSSOMWrapper):
+ (WebCore::StyleRuleSupports::StyleRuleSupports):
+ * css/StyleRule.h:
+ (StyleRuleBase):
+ (WebCore::StyleRuleBase::isSupportsRule):
+ (StyleRuleSupports):
+ (WebCore::StyleRuleSupports::create):
+ (WebCore::StyleRuleSupports::conditionText):
+ (WebCore::StyleRuleSupports::conditionIsSupported):
+ (WebCore::StyleRuleSupports::copy):
+ (WebCore::toStyleRuleSupports):
+ New subclass of StyleRuleBlock: StyleRuleSupports.
+
+ * css/StyleSheetContents.cpp:
+ (WebCore::childRulesHaveFailedOrCanceledSubresources):
+ * inspector/InspectorStyleSheet.cpp:
+ (flattenSourceData):
+ (WebCore::asCSSRuleList):
+ Handle @supports rules where needed.
+
+2013-01-16 Kent Tamura <tkent@chromium.org>
+
+ INPUT_MULTIPLE_FIELDS_UI: Unable to edit a time field with step=86400, and confusing appearance
+ https://bugs.webkit.org/show_bug.cgi?id=106983
+
+ Reviewed by Kentaro Hara.
+
+ For example, we show a read-only hour field and a read-only minutes
+ field for <input type=time min="17:00" step=86400> because the step
+ value is 24 hours and the hour field can be only 17. However, we need to
+ provide a way to clear the value of the time field in such case. We
+ shouldn't make the hour field read-only if no other fields are editable.
+
+ - We don't make hour fields read-only for input[type=time].
+
+ - We make hour fields read-only for input[type=datetime-local] only if
+ year, month, or day field is editable. e.g.
+ <input type=datetime-local min=2013-01-16T17:00 step=86400>:
+ The hour field is read-only, and year/month/day fields are editable.
+ <input type=datetime-local min=2013-01-16T17:00 max=2013-01-16T18:00 step=86400>:
+ The hour field is editable, and year/month/day fields are read-only.
+
+ Test: fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html
+
+ * html/shadow/DateTimeEditElement.cpp:
+ (DateTimeEditBuilder): Declare new functions.
+ (WebCore::DateTimeEditBuilder::getRangeOfDayOfMonthField):
+ Added a function by extracting some code from visitField.
+ (WebCore::DateTimeEditBuilder::visitField):
+ (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldReadOnly):
+ Added a function by extracting some code from visitField.
+ (WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
+ If the type is "time", we don't make hour fields read-only.
+ Otherwise, we don't make hour fields read-only if year/month/day fields
+ are read-only. Note that we don't need to check read-only status of year
+ and month fields explicitly here because a day field can be read-only
+ only if the year field and the month field are read-only.
+
+2013-01-16 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [TexMap] Composited CSS shaders crash when using non-GL TextureMapper
+ https://bugs.webkit.org/show_bug.cgi?id=106796
+
+ Reviewed by Noam Rosenthal.
+
+ Fail gracefully when FilterEffectRenderer fails to build the filter effects.
+
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
+ (WebCore::BitmapTextureImageBuffer::applyFilters):
+
+2013-01-15 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Store project UISourceCodes in a map with uri as a key for faster lookup.
+ https://bugs.webkit.org/show_bug.cgi?id=106911
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/Workspace.js:
+ (WebInspector.Project):
+ (WebInspector.Project.prototype._fileAdded):
+ (WebInspector.Project.prototype._fileRemoved):
+ (WebInspector.Project.prototype._reset):
+ (WebInspector.Project.prototype.uiSourceCodeForOriginURL):
+ (WebInspector.Project.prototype.uiSourceCodeForURI):
+ (WebInspector.Project.prototype.uiSourceCodes):
+
+2013-01-15 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Introduce file mapping allowing to map network loaded scripts and stylesheets to file system files.
+ https://bugs.webkit.org/show_bug.cgi?id=106795
+
+ Reviewed by Pavel Feldman.
+
+ Introduced file mapping for inspector.
+ FileMapping is essentially an array of MappingEntries where each MappingEntry is a pair of urlPrefix and pathPrefix.
+ When scripts and stylesheets are mapped to uiSourceCodes FileMapping methods are used to establish
+ prefix based matching with file system uiSourceCodes if possible.
+
+ Test: inspector/file-mapping.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping):
+ (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
+ (WebInspector.CompilerScriptMapping.prototype.get addScript.get this):
+ (WebInspector.CompilerScriptMapping.prototype.get addScript):
+ (WebInspector.CompilerScriptMapping.prototype._bindUISourceCode):
+ (WebInspector.CompilerScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
+ * inspector/front-end/FileMapping.js: Added.
+ (WebInspector.FileMapping):
+ (WebInspector.FileMapping.prototype.hasMappingForURL):
+ (WebInspector.FileMapping.prototype.uriForURL):
+ (WebInspector.FileMapping.prototype.urlForURI):
+ (WebInspector.FileMapping.prototype.setMappings):
+ (WebInspector.FileMapping.prototype.mappings):
+ (WebInspector.FileMapping.prototype._deserialize):
+ (WebInspector.FileMapping.prototype._serialize):
+ (WebInspector.FileMapping.MappingEntry):
+ (WebInspector.FileMapping.MappingEntry.deserialize):
+ (WebInspector.FileMapping.MappingEntry.prototype.matchesURL):
+ (WebInspector.FileMapping.MappingEntry.prototype.matchesURI):
+ (WebInspector.FileMapping.MappingEntry.prototype.uriForURL):
+ (WebInspector.FileMapping.MappingEntry.prototype.urlForURI):
+ (WebInspector.FileMapping.MappingEntry.prototype.serialize):
+ * inspector/front-end/NetworkUISourceCodeProvider.js:
+ (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
+ (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
+ * inspector/front-end/ResourceUtils.js:
+ (WebInspector.displayNameForURL):
+ * inspector/front-end/SASSSourceMapping.js:
+ (WebInspector.SASSSourceMapping):
+ (WebInspector.SASSSourceMapping.prototype._reloadCSS):
+ (_addURLMapping):
+ (rawLocationToUILocation):
+ (_reset):
+ (WebInspector.SASSSourceMapping.MappingEntry):
+ * inspector/front-end/StylesSourceMapping.js:
+ (WebInspector.StylesSourceMapping):
+ (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
+ (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):
+ (WebInspector.StylesSourceMapping.prototype._projectWillReset):
+ (WebInspector.StyleContentBinding.prototype.):
+ (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/Workspace.js:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2013-01-15 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Introduce UISourceCode.originURL().
+ https://bugs.webkit.org/show_bug.cgi?id=106909
+
+ Reviewed by Pavel Feldman.
+
+ Introduced originURL on UISourceCode showing where UISourceCode in workspace was loaded from.
+ This is neeeded to distinguish it from network request url used by mappings.
+
+ * inspector/front-end/AdvancedSearchController.js:
+ (WebInspector.FileBasedSearchResultsPane.prototype._createAnchor):
+ (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane.Placard.prototype._update):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._handleOpenURL):
+ (WebInspector.ExtensionServer.prototype._onGetResourceContent):
+ (WebInspector.ExtensionServer.prototype._onSetResourceContent):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
+ * inspector/front-end/Linkifier.js:
+ (WebInspector.Linkifier.prototype._updateAnchor):
+ (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
+ * inspector/front-end/NavigatorView.js:
+ (WebInspector.NavigatorSourceTreeElement):
+ * inspector/front-end/SASSSourceMapping.js:
+ (uiLocationToRawLocation):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
+ (WebInspector.ScriptsPanel.prototype._showSourceLine):
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
+ * inspector/front-end/ScriptsSearchScope.js:
+ (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
+ (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes.comparator):
+ * inspector/front-end/SimpleWorkspaceProvider.js:
+ (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
+ * inspector/front-end/StyleSheetOutlineDialog.js:
+ (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
+ * inspector/front-end/StylesSourceMapping.js:
+ (WebInspector.StylesSourceMapping.prototype.uiLocationToRawLocation):
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode):
+ (WebInspector.UISourceCode.prototype.originURL):
+ (WebInspector.UISourceCode.prototype.urlChanged):
+ (WebInspector.UISourceCode.prototype.contentURL):
+ (WebInspector.Revision.prototype.contentURL):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.FileDescriptor):
+ (WebInspector.Project.prototype._fileAdded):
+ (WebInspector.Project.prototype.uiSourceCodeForOriginURL):
+ (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
+
+2013-01-16 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ [EFL] Move 'DefaultTheme' folder to WebCore/platform/efl
+ https://bugs.webkit.org/show_bug.cgi?id=106969
+
+ Reviewed by Benjamin Poulain.
+
+ DefaultTheme is used by both EFL WK1 and WK2 ports. So, WebCore/platform/efl is appropriate place for it.
+
+ * platform/efl/DefaultTheme/CMakeLists.txt: Renamed from Source/WebKit/efl/DefaultTheme/CMakeLists.txt.
+ * platform/efl/DefaultTheme/default.edc: Renamed from Source/WebKit/efl/DefaultTheme/default.edc.
+ * platform/efl/DefaultTheme/widget/button/button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/button.edc.
+ * platform/efl/DefaultTheme/widget/button/img_button_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_focus.png.
+ * platform/efl/DefaultTheme/widget/button/img_button_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_hover.png.
+ * platform/efl/DefaultTheme/widget/button/img_button_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_normal.png.
+ * platform/efl/DefaultTheme/widget/button/img_button_press.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_press.png.
+ * platform/efl/DefaultTheme/widget/check/check.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/check.edc.
+ * platform/efl/DefaultTheme/widget/check/img_check_bg_disabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_bg_disabled.png.
+ * platform/efl/DefaultTheme/widget/check/img_check_bg_enabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_bg_enabled.png.
+ * platform/efl/DefaultTheme/widget/check/img_check_off.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_off.png.
+ * platform/efl/DefaultTheme/widget/check/img_check_off_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_off_focus.png.
+ * platform/efl/DefaultTheme/widget/check/img_check_off_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_off_hover.png.
+ * platform/efl/DefaultTheme/widget/check/img_check_on.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_on.png.
+ * platform/efl/DefaultTheme/widget/check/img_check_on_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_on_focus.png.
+ * platform/efl/DefaultTheme/widget/check/img_check_on_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_on_hover.png.
+ * platform/efl/DefaultTheme/widget/combo/combo.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo.edc.
+ * platform/efl/DefaultTheme/widget/combo/combo_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_focus.png.
+ * platform/efl/DefaultTheme/widget/combo/combo_focus_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_focus_button.png.
+ * platform/efl/DefaultTheme/widget/combo/combo_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_hover.png.
+ * platform/efl/DefaultTheme/widget/combo/combo_hover_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_hover_button.png.
+ * platform/efl/DefaultTheme/widget/combo/combo_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_normal.png.
+ * platform/efl/DefaultTheme/widget/combo/combo_normal_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_normal_button.png.
+ * platform/efl/DefaultTheme/widget/combo/combo_press.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_press.png.
+ * platform/efl/DefaultTheme/widget/combo/combo_press_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_press_button.png.
+ * platform/efl/DefaultTheme/widget/combo/icon.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/icon.png.
+ * platform/efl/DefaultTheme/widget/entry/entry.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/entry.edc.
+ * platform/efl/DefaultTheme/widget/entry/img_focused.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/img_focused.png.
+ * platform/efl/DefaultTheme/widget/entry/img_hovered.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/img_hovered.png.
+ * platform/efl/DefaultTheme/widget/entry/img_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/img_normal.png.
+ * platform/efl/DefaultTheme/widget/file/file.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file.edc.
+ * platform/efl/DefaultTheme/widget/file/file_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_focus.png.
+ * platform/efl/DefaultTheme/widget/file/file_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_hover.png.
+ * platform/efl/DefaultTheme/widget/file/file_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_normal.png.
+ * platform/efl/DefaultTheme/widget/file/file_press.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_press.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/enterfullscreenbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/enterfullscreenbutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/exitfullscreenbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/exitfullscreenbutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc.
+ * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc.
+ * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mutebutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/mutebutton/mutebutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/unmutebutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/mutebutton/unmutebutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/pausebutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/playpausebutton/pausebutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playbutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc.
+ * platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc.
+ * platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackwardbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackwardbutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc.
+ * platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforwardbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforwardbutton.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png.
+ * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc.
+ * platform/efl/DefaultTheme/widget/progressbar/bt_base.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/progressbar/bt_base.png.
+ * platform/efl/DefaultTheme/widget/progressbar/progressbar.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/progressbar/progressbar.edc.
+ * platform/efl/DefaultTheme/widget/progressbar/shelf_inset.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/progressbar/shelf_inset.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_bg_disabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_bg_disabled.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_bg_enabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_bg_enabled.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_off.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_off.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_off_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_off_focus.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_off_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_off_hover.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_on.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_on.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_on_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_on_focus.png.
+ * platform/efl/DefaultTheme/widget/radio/img_radio_on_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_on_hover.png.
+ * platform/efl/DefaultTheme/widget/radio/radio.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/radio.edc.
+ * platform/efl/DefaultTheme/widget/scrollbar/scrollbar.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar.edc.
+ * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_h.png.
+ * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_h.png.
+ * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_v.png.
+ * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_v.png.
+ * platform/efl/DefaultTheme/widget/search/cancel/cancel_normal_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/cancel/cancel_normal_button.png.
+ * platform/efl/DefaultTheme/widget/search/cancel/cancel_normal_button2.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/cancel/cancel_normal_button2.png.
+ * platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/cancel/search_cancel.edc.
+ * platform/efl/DefaultTheme/widget/search/decoration/decoration_normal_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/decoration/decoration_normal_button.png.
+ * platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/decoration/search_decoration.edc.
+ * platform/efl/DefaultTheme/widget/search/field/field_focused.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/field_focused.png.
+ * platform/efl/DefaultTheme/widget/search/field/field_hovered.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/field_hovered.png.
+ * platform/efl/DefaultTheme/widget/search/field/field_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/field_normal.png.
+ * platform/efl/DefaultTheme/widget/search/field/search_field.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/search_field.edc.
+ * platform/efl/DefaultTheme/widget/slider/slider.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc.
+ * platform/efl/DefaultTheme/widget/slider/slider_fill_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_fill_h.png.
+ * platform/efl/DefaultTheme/widget/slider/slider_fill_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_fill_v.png.
+ * platform/efl/DefaultTheme/widget/slider/slider_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_h.png.
+ * platform/efl/DefaultTheme/widget/slider/slider_thumb_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png.
+ * platform/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png.
+ * platform/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png.
+ * platform/efl/DefaultTheme/widget/slider/slider_thumb_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png.
+ * platform/efl/DefaultTheme/widget/slider/slider_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_v.png.
+ * platform/efl/DefaultTheme/widget/spinner/sp_bg.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_bg.png.
+ * platform/efl/DefaultTheme/widget/spinner/sp_down_default.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_down_default.png.
+ * platform/efl/DefaultTheme/widget/spinner/sp_down_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_down_hover.png.
+ * platform/efl/DefaultTheme/widget/spinner/sp_down_pressed.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_down_pressed.png.
+ * platform/efl/DefaultTheme/widget/spinner/sp_up_default.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_up_default.png.
+ * platform/efl/DefaultTheme/widget/spinner/sp_up_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_up_hover.png.
+ * platform/efl/DefaultTheme/widget/spinner/sp_up_pressed.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_up_pressed.png.
+ * platform/efl/DefaultTheme/widget/spinner/spinner.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/spinner.edc.
+
+2013-01-16 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Make an Isolate parameter mandatory in SerializedScriptValue::deserialize()
+ https://bugs.webkit.org/show_bug.cgi?id=106916
+
+ Reviewed by Adam Barth.
+
+ This is one of steps to remove optional Isolate parameters.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::SerializedScriptValue::deserialize):
+ (WebCore):
+ (WebCore::SerializedScriptValue::deserializeForInspector):
+ * bindings/v8/SerializedScriptValue.h:
+ (SerializedScriptValue):
+ * bindings/v8/custom/V8HistoryCustom.cpp:
+ (WebCore::V8History::stateAccessorGetter):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::dataAccessorGetter):
+ * bindings/v8/custom/V8PopStateEventCustom.cpp:
+ (WebCore::V8PopStateEvent::stateAccessorGetter):
+
+2013-01-16 Ken Kania <kkania@chromium.org>
+
+ [Inspector] Add events for tracking page loads and scheduled navigations.
+ https://bugs.webkit.org/show_bug.cgi?id=104168
+
+ Reviewed by Pavel Feldman.
+
+ These events are needed for clients who need to be aware of when a page is
+ navigating or about to navigate. Some clients may wish to prevent interaction
+ with the page during this time. Two of the new events track loading start and
+ stop, as measured by the ProgressTracker. The other two events track when a
+ page has a new scheduled navigation and when it no longer has a scheduled
+ navigation. These latter two events won't allow the client to determine if
+ a load is going to happen in all circumstances, but is sufficient for many cases.
+
+ Tests: inspector-protocol/page/frameScheduledNavigation.html
+ inspector-protocol/page/frameStartedLoading.html
+
+ * inspector/Inspector.json:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::frameStartedLoadingImpl):
+ (WebCore::InspectorInstrumentation::frameStoppedLoadingImpl):
+ (WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
+ (WebCore::InspectorInstrumentation::frameClearedScheduledNavigationImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::frameStartedLoading):
+ (WebCore):
+ (WebCore::InspectorInstrumentation::frameStoppedLoading):
+ (WebCore::InspectorInstrumentation::frameScheduledNavigation):
+ (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::frameStartedLoading):
+ (WebCore):
+ (WebCore::InspectorPageAgent::frameStoppedLoading):
+ (WebCore::InspectorPageAgent::frameScheduledNavigation):
+ (WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
+ * inspector/InspectorPageAgent.h:
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.PageDispatcher.prototype.frameDetached):
+ (WebInspector.PageDispatcher.prototype.frameStartedLoading):
+ (WebInspector.PageDispatcher.prototype.frameStoppedLoading):
+ (WebInspector.PageDispatcher.prototype.frameScheduledNavigation):
+ (WebInspector.PageDispatcher.prototype.frameClearedScheduledNavigation):
+ * loader/NavigationScheduler.cpp:
+ (WebCore::NavigationScheduler::clear):
+ (WebCore::NavigationScheduler::timerFired):
+ (WebCore::NavigationScheduler::startTimer):
+ (WebCore::NavigationScheduler::cancel):
+ * loader/ProgressTracker.cpp:
+ (WebCore::ProgressTracker::progressStarted):
+ (WebCore::ProgressTracker::finalProgressComplete):
+
+2013-01-16 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Update MediaStreamTrack::readyState to match specification
+ https://bugs.webkit.org/show_bug.cgi?id=106781
+
+ Reviewed by Kentaro Hara.
+
+ MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
+
+ Existing tests expanded to cover patch.
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::processTrack):
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::readyState):
+ (WebCore::MediaStreamTrack::ended):
+ (WebCore):
+ * Modules/mediastream/MediaStreamTrack.h:
+ (MediaStreamTrack):
+ * Modules/mediastream/MediaStreamTrack.idl:
+
+2013-01-16 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: array grouping does not work for big and negative number keys
+ https://bugs.webkit.org/show_bug.cgi?id=106891
+
+ Reviewed by Pavel Feldman.
+
+ Fixing array grouping for arrays that contain big or negative number representations as object keys.
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (.buildObjectFragment):
+
+2013-01-16 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: highlight regexp API for DefaultTextEditor
+ https://bugs.webkit.org/show_bug.cgi?id=106801
+
+ Reviewed by Pavel Feldman.
+
+ Add highlightRegexp and removeRegexpHighlight methods to DefaultTextEditor that highlight
+ all occurrences of given regexp in text with given css class.
+ Highlight is done via spans positioned absolutely over the regexp occurences in text.
+
+ Test: inspector/editor/text-editor-highlight-regexp.html
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype.highlightRegex):
+ (WebInspector.DefaultTextEditor.prototype.removeRegexHighlight):
+ (WebInspector.TextEditorMainPanel):
+ (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
+ (WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
+ (WebInspector.TextEditorMainPanel.prototype._repaintVisibleChunks):
+ (WebInspector.TextEditorMainPanel.prototype._findRegexOccurrences):
+ (WebInspector.TextEditorMainPanel.prototype._measureRegex):
+ (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
+ (WebInspector.TextEditorMainPanel.prototype._paintLine):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.highlightRegex):
+ (WebInspector.TextEditor.prototype.removeRegexHighlight):
+ * inspector/front-end/textEditor.css:
+ (.text-editor-overlay-highlight):
+ (.debug-fadeout):
+
+2013-01-16 Ryosuke Niwa <rniwa@webkit.org>
+
+ Get rid of Node::createRareData
+ https://bugs.webkit.org/show_bug.cgi?id=106981
+
+ Reviewed by Benjamin Poulain.
+
+ Deleted Node::createRareData. Node::ensureRareData() instantiates NodeRareData
+ or ElementRareData according to the node type. Also encapsulate new by create
+ functions in NodeRareData and ElementRareData.
+
+ * dom/Element.cpp:
+ (WebCore):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementRareData.h:
+ (WebCore::ElementRareData::create):
+ (ElementRareData):
+ (WebCore::ElementRareData::ElementRareData):
+ * dom/Node.cpp:
+ (WebCore::Node::ensureRareData):
+ (WebCore):
+ * dom/Node.h:
+ (WebCore::NodeRareDataBase::NodeRareDataBase):
+ * dom/NodeRareData.h:
+ (NodeRareData):
+ (WebCore::NodeRareData::create):
+ (WebCore::NodeRareData::NodeRareData):
+
+2013-01-15 Ryosuke Niwa <rniwa@webkit.org>
+
+ GTK+ and Qt build fix after r139833.
+ Explicitly cast NodeRareDataBase to NodeRareData before deleting it.
+
+ * dom/Node.cpp:
+ (WebCore::Node::clearRareData):
+
+2013-01-15 Qiankun Miao <qiankun.miao@intel.com>
+
+ Remove extra space in CustomFilterRenderer.h
+ https://bugs.webkit.org/show_bug.cgi?id=105783
+
+ Reviewed by Dean Jackson.
+
+ * platform/graphics/filters/CustomFilterRenderer.h:
+ (CustomFilterRenderer):
+
+2013-01-15 Tab Atkins <tabatkins@google.com>
+
+ Update CSS3 gradient support to the latest spec version and unprefix.
+ https://bugs.webkit.org/show_bug.cgi?id=67166
+
+ Reviewed by Dean Jackson.
+
+ Tests: fast/gradients/unprefixed-color-stop-units.html
+ fast/gradients/unprefixed-color-stops.html
+ fast/gradients/unprefixed-generated-gradients.html
+ fast/gradients/unprefixed-gradient-parsing.html
+ fast/gradients/unprefixed-linear-angle-gradients.html
+ fast/gradients/unprefixed-linear-right-angle-gradients.html
+ fast/gradients/unprefixed-list-item-gradient.html
+ fast/gradients/unprefixed-radial-gradients.html
+ fast/gradients/unprefixed-radial-gradients2.html
+ fast/gradients/unprefixed-radial-gradients3.html
+ fast/gradients/unprefixed-repeating-end-fill.html
+ fast/gradients/unprefixed-repeating-linear-gradient.html
+ fast/gradients/unprefixed-repeating-radial-gradients.html
+ fast/gradients/unprefixed-zero-range-repeating-gradient-hang.html
+
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::computeEndPoint): Rename parameters to make more sense.
+ (WebCore::CSSLinearGradientValue::customCssText):
+ (WebCore::CSSLinearGradientValue::createGradient):
+ (WebCore::CSSRadialGradientValue::customCssText):
+ (WebCore::CSSRadialGradientValue::createGradient):
+ * css/CSSGradientValue.h:
+ (CSSGradientValue):
+ (CSSRadialGradientValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseLinearGradient):
+ (WebCore::CSSParser::parseRadialGradient):
+ (WebCore::CSSParser::isGeneratedImageValue):
+ (WebCore::CSSParser::parseGeneratedImage):
+ * css/CSSParser.h:
+
+2013-01-15 Ryosuke Niwa <rniwa@webkit.org>
+
+ NodeRareData doesn't need to have a vtable pointer
+ https://bugs.webkit.org/show_bug.cgi?id=106965
+
+ Reviewed by Benjamin Poulain.
+
+ Made the destructor and reportMemoryUsage of NodeRareDataBase and NodeRareData
+ respectively and their subclasses non-virtual.
+
+ * dom/ElementRareData.cpp:
+ (SameSizeAsElementRareData): Added.
+ (WebCore): Added a compile assertion for the size of ElementRareData.
+ * dom/ElementRareData.h:
+ (ElementRareData):
+ * dom/Node.cpp:
+ (WebCore::Node::clearRareData): Explicitely delete NodeRareData or ElementRareData.
+ (WebCore::Node::reportMemoryUsage): Explicitely add NodeRareData or ElementRareData.
+ * dom/Node.h:
+ (NodeRareDataBase): Deleted the virtual destructor.
+ * dom/NodeRareData.cpp:
+ (SameSizeAsNodeRareData): Removed one pointer.
+ * dom/NodeRareData.h:
+ (NodeRareData): Removed the virtual destructor.
+ (NodeRareData::reportMemoryUsage): Made non-virtual.
+
+2013-01-15 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Create GraphicsLayerChromiums using a factory
+ https://bugs.webkit.org/show_bug.cgi?id=103635
+
+ Reviewed by James Robinson.
+
+ Refactor graphics layer creation for chromium to go through a factory.
+
+ No new tests, no change in functionality.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayer::create):
+
+2013-01-15 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] LayerRenderingResults doesn't need to maintain the hole punch rect
+ https://bugs.webkit.org/show_bug.cgi?id=106896
+
+ Reviewed by George Staikos.
+ Internally reviewed by Arvid Nilsson and John Griggs.
+
+ No new tests,clean up code which is not used anymore.
+
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::drawHolePunchRect):
+ * platform/graphics/blackberry/LayerRenderer.h:
+ (LayerRenderingResults):
+
+2013-01-15 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ Fullscreen element should not share styles with it's siblings.
+ https://bugs.webkit.org/show_bug.cgi?id=106888
+
+ Reviewed by George Staikos.
+
+ Test: fullscreen/full-screen-no-style-sharing.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::canShareStyleWithElement):
+
+2013-01-15 Tim Horton <timothy_horton@apple.com>
+
+ Clamp TileCache visibleRect to WKView's visibleRect
+ https://bugs.webkit.org/show_bug.cgi?id=106601
+ <rdar://problem/12843164>
+
+ Reviewed by Simon Fraser.
+
+ * platform/graphics/TiledBacking.h:
+ (TiledBacking): Add setExposedRect and setClipsToExposedRect.
+ * platform/graphics/ca/mac/TileCache.h:
+ (TileCache): Add setExposedRect, setClipsToExposedRect, and storage for their respective values.
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::TileCache): Initialize m_clipsToExposedRect to false.
+ (WebCore::TileCache::setExposedRect): Update exposedRect and revalidate tiles.
+ (WebCore::TileCache::setClipsToExposedRect): Update clipsToExposedRect and revalidate tiles;
+ if we're going from unclipped to clipped, we already have tiles, so we can skip tile revalidation.
+ (WebCore::TileCache::computeTileCoverageRect): Intersect exisiting visible rect with
+ exposed rect to get the visible rect we actually care about.
+ (WebCore::TileCache::revalidateTiles): Ditto.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer): Don't create an overhang layer if the frame isn't scrollable.
+ (WebCore::RenderLayerCompositor::requiresContentShadowLayer): Don't create a shadow layer if the frame isn't scrollable.
+
+2013-01-15 Roger Fong <roger_fong@apple.com>
+
+ Get rid of a straggling dependency on SafariThemeConstants in RenderThemeWin.
+
+ Rubberstamped by Timothy Horton.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::supportsClosedCaptioning):
+ * rendering/RenderThemeWin.h:
+
+2013-01-15 Hayato Ito <hayato@chromium.org>
+
+ Group all request parameters which are used to match CSS Rules into a parameter object.
+ https://bugs.webkit.org/show_bug.cgi?id=106879
+
+ Reviewed by Dimitri Glazkov.
+
+ Introduces a MatchRequest which groups all request parameters to match CSS rules.
+
+ Factoring, no change in behavior.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRules):
+ (WebCore::StyleResolver::collectMatchingRulesForRegion):
+ (WebCore::StyleResolver::matchScopedAuthorRules):
+ (WebCore::StyleResolver::matchHostRules):
+ (WebCore::StyleResolver::matchAuthorRules):
+ (WebCore::StyleResolver::matchUserRules):
+ (WebCore::StyleResolver::matchUARules):
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
+ * css/StyleResolver.h:
+ (WebCore::StyleResolver::MatchRequest::MatchRequest):
+ (MatchRequest):
+ (StyleResolver):
+
+2013-01-15 Simon Fraser <simon.fraser@apple.com>
+
+ Add the ability for a RenderLayerBacking to have a layer that renders backgrounds.
+ https://bugs.webkit.org/show_bug.cgi?id=106961
+
+ Reviewed by Dean Jackson.
+
+ In some cases we need a compositing layer to render its background into
+ a separate GraphicsLayer (e.g. for background-attachment: fixed in some scenarios).
+
+ To support this, have RenderLayer optionally create a GraphicsLayer for the background.
+ Currently nothing causes background layers to get created.
+
+ Having a background layer requires that we add an additional containment layer
+ which encloses the background, primary and foreground layers, since the
+ background layer has to be composited behind the primary content. This containment
+ layer gets any transform, including page scale on the RenderView's layer.
+
+ No new tests; there's no way to create a background layer yet. This was tested during
+ development by forcing a background layer.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateDebugIndicators): Show borders on both new layers
+ and repaint counters on the background layer.
+ (WebCore::RenderLayerBacking::destroyGraphicsLayers): Clear the two new layers.
+ (WebCore::RenderLayerBacking::updateTransform): If we have a containment layer, it
+ takes the transform (and clear the transform on the primary layer).
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Make the background
+ layer if we need one (currently never).
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Position and size
+ the containment layer if we have one. If we do, then the m_graphicsLayer will
+ be at 0,0 in that containment layer. The background layer is also sized similarly
+ to the foreground layer.
+ (WebCore::RenderLayerBacking::updateInternalHierarchy): Adapt to the new hierarchy
+ with containment and background layers if we have them.
+ (WebCore::RenderLayerBacking::updateBackgroundLayer): Here's where we create the background
+ and containment layers.
+ (WebCore::RenderLayerBacking::childForSuperlayers): If we have a containment layer, that's
+ what gets attached to our parent.
+ (WebCore::RenderLayerBacking::getCurrentTransform): The containment layer gets the transform
+ if we have one, so check that here.
+ (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
+ (WebCore::RenderLayerBacking::reportMemoryUsage):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::deviceOrPageScaleFactorChanged): We need to start notifying
+ about page/device scale on the containment layer if there is one (since it takes page scale), so
+ use childForSuperlayers() rather than just getting the primary layer.
+
+2013-01-15 Pan Deng <pan.deng@intel.com>
+
+ Remove Key3 and Challenge Response fields from Websocket implementation and Web Inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=105738.
+
+ Reviewed by Kent Tamura.
+
+ Key3 and Challenge Response fields were obsoleted in IETF websocket spec, this patch removes related
+ code in Websocket and Web Inspector
+
+ No new tests as no new functionality added.
+
+ * Modules/websockets/WebSocketHandshakeRequest.cpp: remove Key3 related code
+ * Modules/websockets/WebSocketHandshakeRequest.h:
+ (WebSocketHandshakeRequest):
+ * Modules/websockets/WebSocketHandshakeResponse.cpp: remove Challenge response related code
+ * Modules/websockets/WebSocketHandshakeResponse.h:
+ (WebSocketHandshakeResponse):
+ * inspector/Inspector.json: remove Key3 and Challenge response fields definition
+ * inspector/InspectorResourceAgent.cpp: remove Key3 and Challenge response field from inspector agent
+ (WebCore):
+ (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
+ (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
+ (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
+ * inspector/front-end/RequestHeadersView.js: remove Key3 and Challenge response item from front-end.
+ (WebInspector.RequestHeadersView.prototype._refreshRequestHeaders):
+ (WebInspector.RequestHeadersView.prototype._refreshResponseHeaders):
+ (WebInspector.RequestHeadersView.prototype._refreshHeaders):
+
+2013-01-15 Antti Koivisto <antti@apple.com>
+
+ ASSERT(!m_queue.killed() && m_threadID) hit in StorageThread::scheduleTask on low memory warning
+ https://bugs.webkit.org/show_bug.cgi?id=106960
+
+ Reviewed by Mark Rowe.
+
+ We were scheduling a memory clearing task to terminated StorageThreads.
+
+ Remove thread from the active thread list when terminate is scheduled. Add when thread is started.
+
+ * storage/StorageThread.cpp:
+ (WebCore::activeStorageThreads):
+ (WebCore::StorageThread::StorageThread):
+ (WebCore::StorageThread::~StorageThread):
+ (WebCore::StorageThread::start):
+ (WebCore::StorageThread::terminate):
+ (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
+
+2013-01-15 Luke Macpherson <macpherson@chromium.org>
+
+ Don't do indiscriminate cast & call in StylePropertySet::PropertyReference::cssName() on release builds.
+ https://bugs.webkit.org/show_bug.cgi?id=106867
+
+ Reviewed by Darin Adler.
+
+ Check CSSValue::isVariableValue() before casting to CSSVariableValue.
+
+ Covered by existing variables tests.
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::PropertyReference::cssName):
+
+2013-01-15 Emil A Eklund <eae@chromium.org>
+
+ [Sub pixel layout] RTL cells with padding wraps
+ https://bugs.webkit.org/show_bug.cgi?id=106843
+
+ Reviewed by Levi Weintraub.
+
+ At certain zoom levels table cells with padding wraps for rtl
+ content.
+
+ Test: fast/sub-pixel/table-rtl-padding.html
+
+ * rendering/RenderTable.h: Override paddingStart/End to return
+ integer values for padding as we do elsewhere in the table code.
+
+2013-01-15 Dominic Mazzoni <dmazzoni@google.com>
+
+ Use-after-free in AXObjectCache::notificationPostTimerFired
+ https://bugs.webkit.org/show_bug.cgi?id=106106
+
+ Reviewed by Ryosuke Niwa.
+
+ Fixes a crash that occurs when a Node is adopted by another document,
+ in particular one that isn't part of the page, and then deleted,
+ which wasn't triggering the code that removed the Node from
+ AXObjectCache. Now, a Node is removed from the AXObjectCache whenever
+ its Document changes.
+
+ Test: accessibility/crash-adopt-node-from-new-document.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::didMoveToNewDocument):
+
+2013-01-15 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ Add Canvas blend modes to Cairo
+ https://bugs.webkit.org/show_bug.cgi?id=105074
+
+ Reviewed by Martin Robinson.
+
+ Blend mode implementation for cairo. If BlendMode is normal, use
+ CompositeOperator; otherwise, consider CompositeOperator is
+ source-over.
+
+ Add toCairoOperator(BlendMode) to translate BlendMode to matching
+ cairo_operator_t.
+
+ * platform/graphics/cairo/BitmapImageCairo.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/cairo/CairoUtilities.cpp:
+ (WebCore::toCairoOperator):
+ * platform/graphics/cairo/CairoUtilities.h:
+ (WebCore):
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::setPlatformCompositeOperation):
+
+2013-01-15 Dima Gorbik <dgorbik@apple.com>
+ Implement matching by the voice attribute for WebVTT ::cue pseudo element
+ https://bugs.webkit.org/show_bug.cgi?id=106762
+
+ Reviewed by Eric Carlson.
+
+ Implemented matching cue WebVTT elements by a voice attribute by adding a WebVTT specific voice attribute.
+ For DOM trees title attribute is used instead as this is required by specs.
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): set a title argument instead of a voice attribute for the DOM tree.
+ * html/track/TextTrackCue.h:
+ (WebCore::TextTrackCue::voiceAttributeName):
+ * html/track/WebVTTParser.cpp:
+ (WebCore::WebVTTParser::constructTreeFromToken):
+
+2013-01-15 Simon Fraser <simon.fraser@apple.com>
+
+ Some ScrollingCoördinator-related cleanup in RenderLayerBacking
+ https://bugs.webkit.org/show_bug.cgi?id=106950
+
+ Reviewed by Beth Dakin.
+
+ Wrap up code that gets the ScrollingCoordinator into a utility function.
+ Pull code out of updateGraphicsLayerGeometry() that registers layers with
+ the ScrollingCoordinator, for cleanliness.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::scrollingCoordinatorFromLayer):
+ (WebCore::RenderLayerBacking::adjustTileCacheCoverage):
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ (WebCore::RenderLayerBacking::registerScrollingLayers):
+ (WebCore::RenderLayerBacking::attachToScrollingCoordinatorWithParent):
+ (WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+
+2013-01-15 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=106940
+ Suspend CSS animations for background tabs
+
+ Reviewed by Simon Fraser.
+
+ * page/Page.cpp:
+ (WebCore::Page::setVisibilityState):
+
+2013-01-15 Levi Weintraub <leviw@chromium.org>
+
+ Unreviewed, rolling out r139790.
+ http://trac.webkit.org/changeset/139790
+ https://bugs.webkit.org/show_bug.cgi?id=106948
+
+ The patch is failing its own test.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::parserInsertBefore):
+ (WebCore::ContainerNode::parserRemoveChild):
+ (WebCore::ContainerNode::parserAppendChild):
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ (WebCore::HTMLScriptRunner::execute):
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
+ (WebCore::HTMLScriptRunner::runScript):
+
+2013-01-15 Emil A Eklund <eae@chromium.org>
+
+ REGRESSION (r121599): incorrect border scaling when zoomed
+ https://bugs.webkit.org/show_bug.cgi?id=106944
+
+ Reviewed by Levi Weintraub.
+
+ Fix bug in ApplyPropertyComputeLength::applyValue where zooming
+ of non-pixel values was incorrect.
+
+ Test: fast/sub-pixel/zoomed-em-border.html
+
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyComputeLength::applyValue):
+
+2013-01-15 Simon Fraser <simon.fraser@apple.com>
+
+ Rename RenderLayerBacking's m_containmentLayer to m_childContainmentLayer to better describe its purpose
+ https://bugs.webkit.org/show_bug.cgi?id=106947
+
+ Reviewed by Dean Jackson.
+
+ Simple rename of m_containmentLayer to m_childContainmentLayer. I'll
+ be adding another "container" layer for background layers shortly,
+ and wanted to improve clarity.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
+ (WebCore::RenderLayerBacking::destroyGraphicsLayers):
+ (WebCore::RenderLayerBacking::updateInternalHierarchy):
+ (WebCore::RenderLayerBacking::updateClippingLayers):
+ (WebCore::RenderLayerBacking::parentForSublayers):
+ (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
+ (WebCore::RenderLayerBacking::reportMemoryUsage):
+ * rendering/RenderLayerBacking.h:
+ (WebCore::RenderLayerBacking::hasClippingLayer):
+ (WebCore::RenderLayerBacking::clippingLayer):
+ (WebCore::RenderLayerBacking::hasTileCacheFlatteningLayer):
+ (WebCore::RenderLayerBacking::tileCacheFlatteningLayer):
+ (RenderLayerBacking):
+
+2013-01-15 Enrica Casucci <enrica@apple.com>
+
+ Add a new set of WebKit2 APIs for text search and
+ search results management.
+ https://bugs.webkit.org/show_bug.cgi?id=106834.
+ <rdar://problem/12597159>
+
+ Reviewed by Simon Fraser.
+
+ Adding new API to perform text search in WebKit2 without using
+ the stock UI. The new interface provides all the information
+ necessary to write a custom UI for search.
+
+ Added new TextWebKitAPI test.
+
+ * WebCore.exp.in: Added new exported methods.
+ * editing/Editor.cpp:
+ (WebCore::Editor::countMatchesForText): Added new parameter to store
+ all the ranges relative to the matches found.
+ * editing/Editor.h: Modified the interface of countMatchesForText and removed
+ the other definition of countMatchesForText with a different signature.
+ * page/Page.cpp:
+ (WebCore::Page::findStringMatchingRanges): Added.
+ (WebCore::Page::markAllMatchesForText): Changed to use the new unified
+ countMatchesForText.
+ * page/Page.h:
+
+2013-01-15 Alexandru Chiculita <achicu@adobe.com>
+
+ [Compositor] Do not disable overlap testing for layers in front of 3D transformed layers
+ https://bugs.webkit.org/show_bug.cgi?id=106721
+
+ Reviewed by Simon Fraser.
+
+ RenderLayerCompositor is checking for overlapping layers and tries to figure out all the layers that need
+ to be drawn using composited layers. It doesn't know anything about animations yet and it only works with "start"
+ and "end" states. However, it knows that animations might happen, so in that cases it will avoid to do any optimizations,
+ as layers might get moved.
+
+ The overlapping layers optimization was also disabled for 3D layers. However, 3D layers can be computed in WebKit and
+ can be checked for overlap using just the "start"/"stop" states. In this patch I enable that optimization for 3D layers, too.
+ The result is that more layers are drawn in software mode now, so I've updated a couple of test results.
+
+ Tests: compositing/layer-creation/overlap-transformed-3d.html
+ compositing/layer-creation/overlap-transformed-preserved-3d.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2013-01-15 Elliott Sprehn <esprehn@gmail.com>
+
+ HTML parser should queue MutationRecords for its operations
+ https://bugs.webkit.org/show_bug.cgi?id=89351
+
+ Reviewed by Eric Seidel.
+
+ Generate mutation records inside the parser. This is done by using a
+ ChildListMutationScope in the ContainerNode::parser* methods and then
+ adding delivery before each <script> element would be processed by
+ the parser.
+
+ Test: fast/dom/MutationObserver/parser-mutations.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::parserInsertBefore):
+ (WebCore::ContainerNode::parserRemoveChild):
+ (WebCore::ContainerNode::parserAppendChild):
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ (WebCore::HTMLScriptRunner::execute):
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
+ (WebCore::HTMLScriptRunner::runScript):
+
+2013-01-15 Ojan Vafai <ojan@chromium.org>
+
+ Unreviewed, rolling out r139782.
+ http://trac.webkit.org/changeset/139782
+ https://bugs.webkit.org/show_bug.cgi?id=106939
+
+ Broke preferred widths on list markers.
+
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::layout):
+ (WebCore::RenderListMarker::computePreferredLogicalWidths):
+
+2013-01-15 Elliott Sprehn <esprehn@chromium.org>
+
+ Heap-use-after-free in WebCore::RenderObject::willBeRemovedFromTree
+ https://bugs.webkit.org/show_bug.cgi?id=106384
+
+ Reviewed by Abhishek Arya.
+
+ Always walk up from beforeChild until the parent() is the owner of the
+ child list, otherwise we can end up in situations where
+ newChild->parent() == owner but newChild->nextSibling()->parent() != owner
+ which is a recipe for security bugs. Previously we only walked up through
+ anonymous blocks, but missed anonymous inline blocks like those generated
+ by <ruby>.
+
+ Test: fast/css-generated-content/bug-106384.html
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::insertChildNode):
+
+2013-01-15 Ojan Vafai <ojan@chromium.org>
+
+ Remove bogus assert added in http://trac.webkit.org/changeset/139772.
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::computePreferredLogicalWidths):
+
+2013-01-15 Ojan Vafai <ojan@chromium.org>
+
+ Moving updating of margins from computePreferredLogicalWidths to layout
+ https://bugs.webkit.org/show_bug.cgi?id=106939
+
+ Reviewed by Levi Weintraub.
+
+ The margins don't affect it's preferred width. We should update them
+ during layout like we do in other classes (e.g. RenderBlock).
+
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::layout):
+ (WebCore::RenderListMarker::computePreferredLogicalWidths):
+
+2013-01-15 Adam Barth <abarth@webkit.org>
+
+ Generalize DocumentWeakReference into WTF::WeakPtr
+ https://bugs.webkit.org/show_bug.cgi?id=106854
+
+ Reviewed by Darin Adler.
+
+ This patch replaces DocumentWeakReference with WeakPtr. There should be
+ no change in behavior.
+
+ * dom/Document.cpp:
+ (WebCore):
+ (WebCore::Document::Document):
+ (WebCore::Document::~Document):
+ (WebCore::PerformTaskContext::PerformTaskContext):
+ (PerformTaskContext):
+ (WebCore::Document::didReceiveTask):
+ (WebCore::Document::postTask):
+ (WebCore::Document::reportMemoryUsage):
+ * dom/Document.h:
+ (WebCore):
+ (Document):
+
+2013-01-15 James Simonsen <simonjam@chromium.org>
+
+ [User Timing] INVALID_ACCESS_ERR should be thrown if measuring from a 0 Nav Timing value
+ https://bugs.webkit.org/show_bug.cgi?id=106935
+
+ Reviewed by Tony Gentilcore.
+
+ Test: http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception.html
+
+ * page/PerformanceUserTiming.cpp:
+ (WebCore::UserTiming::findExistingMarkStartTime):
+
+2013-01-15 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Rename the [add|remove]Track callbacks to [add|remove]RemoteTrack for clarity
+ https://bugs.webkit.org/show_bug.cgi?id=106791
+
+ Reviewed by Adam Barth.
+
+ No tests needed.
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::MediaStream::addRemoteTrack):
+ (WebCore::MediaStream::removeRemoteTrack):
+ * Modules/mediastream/MediaStream.h:
+ * platform/mediastream/MediaStreamCenter.cpp:
+ (WebCore::MediaStreamCenter::addMediaStreamTrack):
+ (WebCore::MediaStreamCenter::removeMediaStreamTrack):
+ * platform/mediastream/MediaStreamDescriptor.h:
+ (MediaStreamDescriptorClient):
+
+2013-01-15 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Move SocketStreamHandle and SocketStreamHandleInternal to WebCore/platform
+ https://bugs.webkit.org/show_bug.cgi?id=106899
+
+ Reviewed by Adam Barth.
+
+ Part of a larger refactoring series; see tracking bug 106829.
+
+ * WebCore.gypi:
+ * platform/network/chromium/SocketStreamHandle.cpp: Copied from Source/WebKit/chromium/src/SocketStreamHandle.cpp.
+ (WebCore::SocketStreamHandleInternal::send):
+ (WebCore::SocketStreamHandleInternal::didOpenStream):
+ (WebCore::SocketStreamHandleInternal::didSendData):
+ (WebCore::SocketStreamHandleInternal::didReceiveData):
+ (WebCore::SocketStreamHandleInternal::didClose):
+ (WebCore::SocketStreamHandleInternal::didFail):
+ * platform/network/chromium/SocketStreamHandleInternal.h: Copied from Source/WebKit/chromium/src/SocketStreamHandleInternal.h.
+
+2013-01-15 Ojan Vafai <ojan@chromium.org>
+
+ RenderText::computePreferredLogicalWidths does not need to be public
+ https://bugs.webkit.org/show_bug.cgi?id=106934
+
+ Reviewed by Levi Weintraub.
+
+ * rendering/RenderCounter.h:
+ Add OVERRIDE keyword.
+ * rendering/RenderText.h:
+ Make protected.
+
+2013-01-15 Ojan Vafai <ojan@chromium.org>
+
+ Cleanup visibility of some computePreferredLogicalWidths calls
+ https://bugs.webkit.org/show_bug.cgi?id=106933
+
+ Reviewed by Levi Weintraub.
+
+ No need for these to be public.
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::computePreferredLogicalWidths):
+ This should never get called in practice. Add an assert to that effect.
+
+ * rendering/RenderGrid.h:
+ (RenderGrid):
+ * rendering/RenderReplica.h:
+ (RenderReplica):
+ * rendering/RenderScrollbarPart.h:
+ (RenderScrollbarPart):
+
+2013-01-13 Dirk Schulze <dschulze@adobe.com>
+
+ [CSS Filters] brightness() function doesn't work as specified
+ https://bugs.webkit.org/show_bug.cgi?id=106674
+
+ Reviewed by Dean Jackson.
+
+ The brightness filter implementation modified the intercept instead of the slope on
+ the feComponentTransfer function. The passed amount acts as multiplier for each
+ color chanel now.
+
+ Existing tests cover the changes and were updated.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseBuiltinFilterArguments):
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ (PlatformCALayer::setFilters):
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::FilterEffectRenderer::build):
+
+2013-01-15 Zan Dobersek <zandobersek@gmail.com>
+
+ [GTK] Enable Performance Timeline, Resource Timing, Navigation Timing features
+ https://bugs.webkit.org/show_bug.cgi?id=106197
+
+ Reviewed by Martin Robinson.
+
+ No new tests - existing layout tests are being unskipped, only a few fail
+ (but their failures are of cross-platform nature).
+
+ * GNUmakefile.features.am.in: Add feature defines for all three features.
+ They are disabled by default for now.
+ * GNUmakefile.list.am: Add missing build targets.
+ * bindings/gobject/GNUmakefile.am: Ditto.
+ * bindings/js/JSPerformanceEntryCustom.cpp: Added the necessary custom bindings.
+ Mimics the custom V8 bindings.
+ (WebCore):
+ (WebCore::toJS):
+
+2013-01-15 Alexis Menard <alexis@webkit.org>
+
+ Unprefixed transitionend event doesn't seem to be implemented, which breaks many sites
+ https://bugs.webkit.org/show_bug.cgi?id=105647
+
+ Reviewed by Julien Chaffraix.
+
+ Add support for transitionend event delivery as part as the unprefixing
+ work on CSS Transitions. This patch adds some code in EventTarget to
+ figure out if the current event to dispatch has a prefixed version or
+ not. Then from the list of listeners we deduce which event should be delivered
+ (prefixed or unprefixed).
+
+ In the case of the CSS Transitions, WebKit will now behave as follow :
+ if an event listener is attached to the prefixed version of the
+ transition end event then only the prefixed event will be send.
+ If an event listener is attached to the unprefixed version
+ of the transition end event then only the unprefixed event will be
+ send. If there are event listeners on both unprefixed and prefixed
+ events then only the unprefixed event will be send.
+
+ The behavior was discussed here :
+ http://lists.webkit.org/pipermail/webkit-dev/2013-January/023301.html.
+
+ Tests: transitions/transition-end-event-unprefixed-01.html
+ transitions/transition-end-event-unprefixed-02.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::addListenerTypeIfNeeded): Register the prefixed
+ listener too as transitionend listeners so that we properly dispatch
+ events for them.
+ * dom/EventNames.h:
+ (WebCore): Add the new transitionend name.
+ * dom/EventTarget.cpp:
+ (WebCore::createMatchingPrefixedEvent):
+ (WebCore::prefixedType):
+ (WebCore::EventTarget::fireEventListeners): Find out if somebody is
+ listening for unprefixed events, if so we always send the unprefixed
+ event, if not then we create a prefixed event and send it.
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::sendTransitionEvent): Always create by
+ default unprefixed events.
+
+2013-01-15 Tony Gentilcore <tonyg@chromium.org>
+
+ Make AtomicMarkupTokenBase use a bare UChar* for external characters
+ https://bugs.webkit.org/show_bug.cgi?id=106919
+
+ Reviewed by Eric Seidel.
+
+ This allows an arbitrary backing for external characters which is necessary for the threaded HTML parser.
+
+ No new tests because no new functionality.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
+ (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
+ * xml/parser/MarkupTokenBase.h:
+ (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
+ (WebCore::AtomicMarkupTokenBase::characters):
+ (AtomicMarkupTokenBase):
+ (WebCore::AtomicMarkupTokenBase::charactersLength):
+ (WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
+ * xml/parser/XMLTreeBuilder.cpp:
+ (WebCore::XMLTreeBuilder::processCharacter):
+
+2013-01-15 Arko Saha <arko@motorola.com>
+
+ Microdata: propertiesCollection[name] should return undefined if item doesn't have a property named 'name'
+ https://bugs.webkit.org/show_bug.cgi?id=106849
+
+ Reviewed by Kentaro Hara.
+
+ We should return undefined if hasNamedItem() is false.
+
+ Test: fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
+
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::V8HTMLCollection::namedPropertyGetter):
+
+2013-01-15 Michael Pruett <michael@68k.org>
+
+ [GTK] Fix build after r139665
+ https://bugs.webkit.org/show_bug.cgi?id=106917
+
+ Reviewed by Dean Jackson.
+
+ * GNUmakefile.list.am:
+
+2013-01-15 Antti Koivisto <antti@apple.com>
+
+ Move parent pointer from TreeShared to subclass
+ https://bugs.webkit.org/show_bug.cgi?id=106910
+
+ Reviewed by Darin Adler.
+
+ This simplifies both TreeShared and clients, and makes code dealing with parents more understandable in general.
+
+ * dom/Document.h:
+ (WebCore::Node::Node):
+ * dom/Node.cpp:
+ (WebCore::Node::reportMemoryUsage):
+ * dom/Node.h:
+
+ Add m_parentOrHostNode variable (matching the accessor names).
+
+ (Node):
+ (WebCore::Node::hasTreeSharedParent):
+ (WebCore::Node::parentNode):
+ (WebCore::Node::setParentOrHostNode):
+ (WebCore::Node::parentOrHostNode):
+ * platform/TreeShared.h:
+ (WebCore):
+ (WebCore::TreeShared::TreeShared):
+ (WebCore::TreeShared::deref):
+
+ Call subclass hasTreeSharedParent() to figure out if it is time to delete.
+
+ (TreeShared):
+
+ Remove parent pointer and accessors.
+ Remove ParentNodeType template parameter.
+ Remove now unnecessay reportMemoryUsage().
+
+ (WebCore::adopted):
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::SVGElementInstance):
+ * svg/SVGElementInstance.h:
+
+ Add m_parentInstance variable.
+
+ (WebCore::SVGElementInstance::setParentOrHostNode):
+ (WebCore::SVGElementInstance::parentNode):
+ (SVGElementInstance):
+ (WebCore::SVGElementInstance::hasTreeSharedParent):
+
+2013-01-15 Simon Fraser <simon.fraser@apple.com>
+
+ Allow tiled WKViews to have transparent backgrounds
+ https://bugs.webkit.org/show_bug.cgi?id=106400
+
+ Reviewed by Anders Carlsson.
+
+ When WKViews were set to have transparent backgrounds, they still
+ obscured content behind the view, for several reasons.
+
+ First, when in tiled scrolling mode, WKView set the background
+ of its layer to opaque white. Fix by using the clearColor (effectively
+ removing the background color) if the view has a non-opaque background.
+
+ Second, RenderLayerBacking just looked at FrameViews's isTransparent()
+ when deciding to make TileCache tiles non-opaque, but it also needs to
+ consider FrameViews with a non-opaque base background color. The
+ same logic was necessary to avoid setting an opaque white background
+ color on the TileCache layer.
+
+ Finally, for views with non-opaque backgrounds, we don't want to display
+ linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
+ to return false in that case.
+
+ View transparency is not testable in layout tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::hasOpaqueBackground):
+ * page/FrameView.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
+ (WebCore::RenderLayerBacking::updateBackgroundColor):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
+
+2013-01-15 Ojan Vafai <ojan@chromium.org>
+
+ RenderView does not need to override computePreferredLogicalWidth
+ https://bugs.webkit.org/show_bug.cgi?id=106852
+
+ Reviewed by Levi Weintraub.
+
+ Calling minPreferredLogicalWidth calls computePreferredLogicalWidth,
+ which happens a few lines later in layoutWithFlattening. No need
+ to call it explicitly.
+
+ * rendering/RenderFrameBase.cpp:
+ (WebCore::RenderFrameBase::layoutWithFlattening):
+ * rendering/RenderView.cpp:
+ * rendering/RenderView.h:
+
+2013-01-15 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Unreviewed, remove file that was accidentally added to the wrong patch.
+
+ * inspector/front-end/FileSystemWorkspaceProvider.js: Removed.
+
+2013-01-15 Florin Malita <fmalita@chromium.org>
+
+ [Chromium] Incorrect opaque region tracking for PlatformContextSkia::drawRRect
+ https://bugs.webkit.org/show_bug.cgi?id=106898
+
+ Reviewed by Stephen White.
+
+ Since drawRRect() doesn't cover the whole bounding rect, it needs to pass a didDrawBounded
+ notification down to the opaque region tracker (instead of didDrawRect as it currently
+ does).
+
+ Test: platform/chromium/compositing/rounded-corners.html
+
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (WebCore::PlatformContextSkia::drawRRect):
+
+2013-01-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] WebGL does not require accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=106892
+
+ Reviewed by Jocelyn Turcotte.
+
+ Allow the creation of WebGL canvas even when accelerated compositing is not enabled.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext):
+
+2013-01-15 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: refactor DefaultTextEditor's paintLine method
+ https://bugs.webkit.org/show_bug.cgi?id=106893
+
+ Reviewed by Pavel Feldman.
+
+ Move render ranges functionality out of paintLine method into separate subroutine.
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorMainPanel.prototype._renderRanges): Added.
+ (WebInspector.TextEditorMainPanel.prototype._paintLine):
+ (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
+
+2013-01-15 Elliott Sprehn <esprehn@gmail.com>
+
+ display:inline's hover behavior is not applied to ::before and ::after pseudo elements
+ https://bugs.webkit.org/show_bug.cgi?id=91723
+
+ Reviewed by Eric Seidel.
+
+ When hovering over the anonymous text renderers inside :before and :after
+ we would correctly detect a hit in InlineTextBox::nodeAtPoint, but would
+ then fail to set the correct node for the hit test because in
+ RenderObject::updateHitTestResult node() is null. Instead we should walk
+ up the render tree to the PseudoElement and treat it as if we hit that.
+
+ Test: fast/css-generated-content/hover-inline.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::updateHitTestResult):
+
+2013-01-15 Zeno Albisser <zeno@webkit.org>
+
+ GraphicsSurface: Canvas with WebGL content is painted off by one pixel
+ https://bugs.webkit.org/show_bug.cgi?id=106446
+
+ When painting to TextureMapper the provided targetRect is in contents
+ coordinate system. This leads to an off by one pixel error when painting
+ outlines of 1px.
+ This needs to be taken into account in the transformation matrix
+ and in the TextureMapperGL::drawTexture call.
+
+ Test: fast/canvas/webgl/webgl-composite-modes.html
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Make an Isolate parameter mandatory in SerializedScriptValue methods
+ https://bugs.webkit.org/show_bug.cgi?id=106800
+
+ Reviewed by Adam Barth.
+
+ SerializedScriptValue methods are used by both V8 bindings
+ and WebCore. So they should support both an Isolate-version
+ method and an non-Isolate version method.
+
+ There are two ways to accomplish that:
+
+ [1] Use an optional Isolate parameter.
+
+ [2] Implement two versions and delegate the non-Isolate
+ version method to the Isolate version method.
+
+ I would prefer the approach [2], because I'd like to statically
+ make sure that we never pass a 0 Isolate. If we take the approach
+ [1], we need to insert ASSERT(isolate) here and there.
+
+ This patch implements the approach [2].
+
+ No tests. No change in behavior.
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::SerializedScriptValue::create):
+ (WebCore):
+ (WebCore::SerializedScriptValue::nullValue):
+ (WebCore::SerializedScriptValue::undefinedValue):
+ (WebCore::SerializedScriptValue::booleanValue):
+ (WebCore::SerializedScriptValue::numberValue):
+ (WebCore::SerializedScriptValue::SerializedScriptValue):
+ * bindings/v8/SerializedScriptValue.h:
+ (SerializedScriptValue):
+
+2013-01-15 Dongwoo Joshua Im <dw.im@samsung.com>
+
+ [CSS] Rename the enum, from "ETextAlignLast" to "TextAlignLast"
+ https://bugs.webkit.org/show_bug.cgi?id=106887
+
+ Reviewed by Alexis Menard.
+
+ No new tests are added since there is no behavior changes.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator TextAlignLast):
+ * css/StyleBuilder.cpp:
+ (WebCore::StyleBuilder::StyleBuilder):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RenderStyleConstants.h:
+ * rendering/style/StyleRareInheritedData.h:
+ (StyleRareInheritedData):
+
+2013-01-15 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Fixing crashing bug in MediaStream
+ https://bugs.webkit.org/show_bug.cgi?id=106886
+
+ Reviewed by Eric Seidel.
+
+ Fixing crashing bug during destruction.
+
+ No new tests needed.
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::MediaStream::contextDestroyed):
+
+2013-01-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt][CSS Shaders] Make custom filter render in Wk1 mode
+ https://bugs.webkit.org/show_bug.cgi?id=101532
+
+ Reviewed by Noam Rosenthal.
+
+ Handle ValidatedCustomFilterOperations which are used by WebKit1. To keep the cache of compiled programs working,
+ the cache has been updated to use CustomFilterProgramInfo as a hash key. CustomFilterProgramInfo is an existing
+ class specifically designed for this purpose.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::getPassesRequiredForFilter):
+ (WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
+ (WebCore::TextureMapperGL::drawUsingCustomFilter):
+ (WebCore::BitmapTextureGL::applyFilters):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (TextureMapperGL):
+
+2013-01-15 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] introduce CallArgument type into the protocol
+ https://bugs.webkit.org/show_bug.cgi?id=106640
+
+ Reviewed by Yury Semikhatsky.
+
+ CallArgument type abstraction to describe arguments of a canvas context call.
+ Drive-by: Introduce a CanvasContext to fix the wrong contextId value in the protocol.
+ The contextId should point to the Resource that represents a context (2D or 3D canvas).
+
+ * inspector/InjectedScriptCanvasModuleSource.js:
+ (.):
+ * inspector/Inspector.json:
+ * inspector/front-end/CanvasProfileView.js:
+
+2012-12-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Support inspector file system access with isolated file system through InspectorFrontendHost.
+ https://bugs.webkit.org/show_bug.cgi?id=105727
+
+ Reviewed by Pavel Feldman.
+
+ File system access through isolated file system is implemented in inspector.
+ File system access requests are sent through InspectorFrontendHost.
+ Introduced IsolatedFileSystemModel encapsulating file system access logic.
+ Introduced FileSystemMapping that provides mapping between workspace uris and file system pathes.
+ DOMFileSystem.createIsolatedFileSystem modified to accept optional registeredName parameter.
+
+ * Modules/filesystem/DOMFileSystem.cpp:
+ (WebCore::DOMFileSystem::createIsolatedFileSystem):
+ * Modules/filesystem/DOMFileSystem.h:
+ (DOMFileSystem):
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/InspectorFrontendClient.h:
+ (InspectorFrontendClient):
+ * inspector/InspectorFrontendClientLocal.h:
+ (WebCore::InspectorFrontendClientLocal::supportsFileSystems):
+ (WebCore::InspectorFrontendClientLocal::requestFileSystems):
+ (WebCore::InspectorFrontendClientLocal::addFileSystem):
+ (WebCore::InspectorFrontendClientLocal::removeFileSystem):
+ (InspectorFrontendClientLocal):
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::supportsFileSystems):
+ (WebCore):
+ (WebCore::InspectorFrontendHost::requestFileSystems):
+ (WebCore::InspectorFrontendHost::addFileSystem):
+ (WebCore::InspectorFrontendHost::removeFileSystem):
+ (WebCore::InspectorFrontendHost::isolatedFileSystem):
+ * inspector/InspectorFrontendHost.h:
+ (WebCore):
+ (InspectorFrontendHost):
+ * inspector/InspectorFrontendHost.idl:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/FileSystemMapping.js: Added.
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.fileSystemsLoaded):
+ (InspectorFrontendAPI.fileSystemRemoved):
+ (InspectorFrontendAPI.fileSystemAdded):
+ * inspector/front-end/InspectorFrontendHostStub.js:
+ (.WebInspector.InspectorFrontendHostStub.prototype.supportsFileSystems):
+ (.WebInspector.InspectorFrontendHostStub.prototype.requestFileSystems):
+ (.WebInspector.InspectorFrontendHostStub.prototype.addFileSystem):
+ (.WebInspector.InspectorFrontendHostStub.prototype.removeFileSystem):
+ (.WebInspector.InspectorFrontendHostStub.prototype.isolatedFileSystem):
+ * inspector/front-end/IsolatedFileSystemModel.js: Added.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/externs.js:
+ (DOMFileSystem):
+ (InspectorFrontendHostAPI.prototype.supportsFileSystems):
+ (InspectorFrontendHostAPI.prototype.requestFileSystems):
+ (InspectorFrontendHostAPI.prototype.addFileSystem):
+ (InspectorFrontendHostAPI.prototype.removeFileSystem):
+ (InspectorFrontendHostAPI.prototype.isolatedFileSystem):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2013-01-15 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Add error handling to carefully manage Window backing pixmaps.
+ https://bugs.webkit.org/show_bug.cgi?id=106582
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ We use XCompositeNameWindowPixmap to create a pixmap that serves as a reference to
+ the off-screen storage for a Window Handle. We expect the Window to be valid and
+ the created glx pixmap to be a valid drawable. This may not be true always.
+ This patch adds support for X Error checks and handles the generated errors.
+
+ Covered by existing WebGL layout tests.
+
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
+ (WebCore):
+ (WebCore::handleXPixmapCreationError):
+ (ScopedXPixmapCreationErrorHandler):
+ (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
+ (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
+ (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
+ Helper Class to catch XErrors.
+
+ (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::createPixmap): Added support to check and handle generated XErrors.
+ (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
+ (WebCore::GraphicsSurfacePrivate::clear): Destroys GL Resources.
+ (GraphicsSurfacePrivate):
+
+2013-01-15 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL] [WebGL] Minor cleanup in PlatformContext.
+ https://bugs.webkit.org/show_bug.cgi?id=106758
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ We currently have different implementations of CurrentContextWrapper for EGL and GLX.
+ This patch cleans up the code to use same implementation for both the backends.
+
+ * platform/graphics/opengl/GLPlatformContext.cpp:
+ (GLCurrentContextWrapper):
+ (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
+ (WebCore::GLCurrentContextWrapper::~GLCurrentContextWrapper):
+
+ Common implementation for both EGL and GLX.
+ (WebCore::createOffScreenContext):
+ (WebCore::GLPlatformContext::createContext):
+ * platform/graphics/surfaces/egl/EGLContext.cpp:
+ * platform/graphics/surfaces/egl/EGLContext.h:
+ * platform/graphics/surfaces/glx/GLXContext.h:
+
+ Removed code related to CurrentContextWrapper.
+
+2013-01-14 Ryosuke Niwa <rniwa@webkit.org>
+
+ platform/mac/accessibility/progressbar.html fails on Mac WK1 and WK2
+ https://bugs.webkit.org/show_bug.cgi?id=106850
+
+ Reviewed by Chris Fleizach.
+
+ The bug was caused by some callers of supportsFocus directly calling that of Node.
+ Fixed the bug by calling HTMLElement's so that the virtual function on Element gets
+ called as needed.
+
+ * html/HTMLMeterElement.cpp:
+ (WebCore::HTMLMeterElement::supportsFocus):
+ * html/HTMLOutputElement.cpp:
+ (WebCore::HTMLOutputElement::supportsFocus):
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::supportsFocus):
+
+2013-01-14 Dima Gorbik <dgorbik@apple.com>
+
+ Implement ID selector matching for the WebVTT ::cue pseudo element
+ https://bugs.webkit.org/show_bug.cgi?id=105481
+
+ Reviewed by Eric Carlson.
+
+ Implemented matching cue WebVTT elements by an identifier. Identifiers of all WebVTT nodes in the rendering tree for
+ a given cue are set to match the cue identifier.
+
+ Existing tests were modified to cover this case.
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::markFutureAndPastNodes):
+
+2013-01-14 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Use explicit WebKit prefixes in BlobRegistryProxy
+ https://bugs.webkit.org/show_bug.cgi?id=106859
+
+ Reviewed by Adam Barth.
+
+ As requested in https://bugs.webkit.org/show_bug.cgi?id=106831#c2
+
+ * platform/network/chromium/BlobRegistryProxy.cpp:
+ (WebCore::BlobRegistryProxy::registerBlobURL):
+
+2013-01-14 Max Vujovic <mvujovic@adobe.com>
+
+ [ANGLE] Update ANGLE in WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=106274
+
+ Unreviewed build fix for GTK after http://trac.webkit.org/changeset/139702
+
+ * GNUmakefile.am:
+
+2013-01-14 Dean Jackson <dino@apple.com>
+
+ Yet another unreviewed attempted QT build fix, this time because
+ it's falling over on Filters.
+
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore):
+ (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
+
+2013-01-14 Dean Jackson <dino@apple.com>
+
+ Unreviewed EFL build fix.
+
+ * CMakeLists.txt:
+
+2013-01-14 Dean Jackson <dino@apple.com>
+
+ Blur the label background of a snapshotted plugin
+ https://bugs.webkit.org/show_bug.cgi?id=106630
+
+ Reviewed by Simon Fraser.
+
+ When we are showing a label indicating the plugin has been snapshotted,
+ slightly blur the snapshot behind the label so that it is more clear. I expect
+ that if/when other ports pick up this code, we'll need to separate the
+ UI treatment somewhat, but this is ok for a first step.
+
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (RenderSnapshottedPlugInBlurFilter): Private class to use FEGaussianBlur to blur an image.
+ (WebCore::RenderSnapshottedPlugInBlurFilter::create):
+ (WebCore::RenderSnapshottedPlugInBlurFilter::setSourceImageRect):
+ (WebCore::RenderSnapshottedPlugInBlurFilter::sourceImageRect):
+ (WebCore::RenderSnapshottedPlugInBlurFilter::filterRegion):
+ (WebCore::RenderSnapshottedPlugInBlurFilter::output):
+ (WebCore::RenderSnapshottedPlugInBlurFilter::RenderSnapshottedPlugInBlurFilter):
+ (WebCore::RenderSnapshottedPlugInBlurFilter::apply):
+ (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New member variable to hold a cached version of a preblurred snapshot.
+ (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn): Remember to remove the preblurred image from the cache.
+ (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Zero the preblurred version if it exists.
+ (WebCore::RenderSnapshottedPlugIn::paintReplaced): Either paint snapshot or blurred snapshot with label.
+ (WebCore::RenderSnapshottedPlugIn::paintSnapshot): New method to paint a full sized snapshot.
+ (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
+ (WebCore::snapshottedPluginImageForLabelDisplay): Static function to produce the blurred snapshot.
+ (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel): Calls paintSnapshot with the blurred snapshot on Mac.
+ * rendering/RenderSnapshottedPlugIn.h:
+
+2013-01-14 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Move BlobRegistryProxy into WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=106831
+
+ Reviewed by Adam Barth.
+
+ Part of a larger refactoring series to remove layering violations
+ in Chromium. See tracking bug 106829.
+
+ * WebCore.gypi:
+ * platform/network/chromium/BlobRegistryProxy.cpp: Added.
+ (WebCore):
+ (WebCore::blobRegistry):
+ (WebCore::BlobRegistryProxy::BlobRegistryProxy):
+ (WebCore::BlobRegistryProxy::registerBlobURL):
+ (WebCore::BlobRegistryProxy::unregisterBlobURL):
+ * platform/network/chromium/BlobRegistryProxy.h: Added.
+ (WebCore):
+ (BlobRegistryProxy):
+ (WebCore::BlobRegistryProxy::loadResourceSynchronously):
+ (WebCore::BlobRegistryProxy::~BlobRegistryProxy):
+
+2013-01-14 Levi Weintraub <leviw@chromium.org>
+
+ Rolling out r139618. Appears to be causing sporadic crashes on Debug bots.
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::processTrack):
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::readyState):
+ * Modules/mediastream/MediaStreamTrack.h:
+ * Modules/mediastream/MediaStreamTrack.idl:
+
+2013-01-14 Levi Weintraub <leviw@chromium.org>
+
+ Rolling out r139678. This triggered a number of WebAudio crashes on Debug bots.
+
+ * platform/audio/chromium/AudioDestinationChromium.cpp:
+ (WebCore::AudioDestinationChromium::AudioDestinationChromium):
+
+2013-01-09 Levi Weintraub <leviw@chromium.org>
+
+ Rolling out r139683. It broke a bunch of webkit_unit_tests.
+
+2013-01-14 Ojan Vafai <ojan@chromium.org>
+
+ RenderListItem does not need to override computePreferredLogicalWidth
+ https://bugs.webkit.org/show_bug.cgi?id=106839
+
+ Reviewed by Levi Weintraub.
+
+ Apparently there was a time when the list marker was considered part of
+ the list item's preferred width, but that is no longer the case.
+ This code was added in r3421. The code around preferred widths has change
+ a lot since then.
+
+ * rendering/RenderListItem.cpp:
+ * rendering/RenderListItem.h:
+
+2013-01-13 Dima Gorbik <dgorbik@apple.com>
+
+ Implement element type selectors for the WebVTT ::cue pseudo class
+ https://bugs.webkit.org/show_bug.cgi?id=105480
+
+ Reviewed by Antti Koivisto.
+
+ Implemented tag matching for the WebVTT specific tags "c" and "v". All common html tags like "b" and "i" are
+ handled without any changes to the code. Creating a rendering tree and DOM tree now use different code paths.
+ They both are made by cloning and modifying the tree produced by the parser. Voice tags now use spans for both
+ rendering and DOM trees to conform to specs. Since this changes a lot of code little refactoring has been
+ done. Removed m_hasInnerTimestamps since it is no longer needed, it doesn't affect anything. m_documentFragment
+ was renamed to m_webVTTNodeTree.
+
+ Existing tests were modified to cover this case.
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::TextTrackCue):
+ (WebCore::TextTrackCue::setText): rename m_documentFragment to m_webVTTNodeTree
+ (WebCore::TextTrackCue::createWebVTTNodeTree): parse the cue if it hasn't been parsed before.
+ (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): clone and prepare a node for using in the DOM tree according to specs.
+ (WebCore::TextTrackCue::getCueAsHTML): get a DOM tree for the cue.
+ (WebCore::TextTrackCue::createCueRenderingTree): create a rendering tree (main tree is just being cloned for now).
+ (WebCore::TextTrackCue::markFutureAndPastNodes): tightening the argument type.
+ (WebCore::TextTrackCue::updateDisplayTree):
+ (WebCore::TextTrackCue::getDisplayTree): code cleanup, removed m_hasInnerTimeStamps.
+ * html/track/TextTrackCue.h:
+ (WebCore::TextTrackCue::voiceElementTagName):
+ (TextTrackCue):
+ (WebCore::TextTrackCue::classElementTagName):
+ * html/track/WebVTTParser.cpp:
+ (WebCore::WebVTTParser::constructTreeFromToken): type of the newly created elements was changed to Element to avoid hitting
+ an assertion when cloning because a cloned element will not have HTMLElement type for elements with "v" and "c" tag.
+
+2013-01-14 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Sometimes RenderLayer::updateNeedsCompositedScrolling is not called
+ https://bugs.webkit.org/show_bug.cgi?id=106271
+
+ Reviewed by Simon Fraser.
+
+ 1. If a layer has no out-of-flow descendant, m_hasOutOfFlowPositionedDescendant won't change and won't trigger updateNeedsCompositedScrolling in updateDescendantDependentFlags. Set m_hasOutOfFlowPositionedDescendantDirty to true and call updateNeedsCompositedScrolling when the dirty flag becomes false from true.
+ 2. When the content size changes causing change of scrollable status, updateNeedsCompositedScrolling should also be called.
+
+ Test: compositing/overflow/dynamic-composited-scrolling-status.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::addScrollableArea): Returns whether the scrollable area has just been newly added.
+ (WebCore::FrameView::removeScrollableArea): Returns whether the scrollable area has just been removed.
+ * page/FrameView.h:
+ (FrameView):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer): Changed the initial value of m_hasOutOfFlowPositionedDescendantDirty to true to make sure m_hasOutOfFlowPositionedDescendant will be updated initially.
+ (WebCore::RenderLayer::updateDescendantDependentFlags): Call updateNeedsCompositedScrolling when m_hasOutOfFlowPositionedDescendantDirty is true.
+ (RenderLayer::updateScrollableAreaSet): Calls updateNeedsCompositedScrolling() when scrollable status changes.
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+
+2013-01-14 Ryosuke Niwa <rniwa@webkit.org>
+
+ EFL build fix after r139681.
+
+ * dom/NodeRareData.h:
+ (WebCore::NodeMicroDataTokenLists::NodeMicroDataTokenLists):
+
+2013-01-14 Tien-Ren Chen <trchen@chromium.org>
+
+ Correct FrameView::scrollableAreaBoundingBox() calculation in the presence of transforms
+ https://bugs.webkit.org/show_bug.cgi?id=105075
+
+ Reviewed by Simon Fraser.
+
+ As mentioned by the FIXME comment, we need to ask the renderer for the
+ absolute bounding box of a frame for correct transformation.
+ This fixes the bug that iframe cannot be scrolled properly when it is
+ transformed.
+
+ Tests: scrollingcoordinator/non-fast-scrollable-region-scaled-iframe.html
+ scrollingcoordinator/non-fast-scrollable-region-transformed-iframe.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollableAreaBoundingBox):
+
+2013-01-14 Nate Chapin <japhet@chromium.org>
+
+ Enable reuse of cached main resources
+ https://bugs.webkit.org/show_bug.cgi?id=105667
+
+ Reviewed by Antti Koivisto.
+
+ Test: http/tests/cache/cached-main-resource.html
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
+ * dom/Document.h:
+ (Document):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
+ MainResourceLoader will take care of it.
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::MainResourceLoader):
+ (WebCore::MainResourceLoader::receivedError):
+ (WebCore::MainResourceLoader::willSendRequest):
+ (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
+ (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
+ (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
+ ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
+ (WebCore::MainResourceLoader::identifier):
+ * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
+ to better describe when it is used.
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
+ (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
+ (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
+ * loader/cache/CachedRawResource.h:
+ (CachedRawResource):
+ (RedirectPair):
+ (WebCore::CachedRawResource::RedirectPair::RedirectPair):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::addClientToSet):: Don't return cached data for a main resource synchronously
+ * loader/cache/CachedResource.h:
+ (WebCore::CachedResource::canReuse):
+ (CachedResource):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
+ * testing/Internals.cpp:
+ (WebCore::Internals::isLoadingFromMemoryCache):
+ (WebCore):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2013-01-11 Ryosuke Niwa <rniwa@webkit.org>
+
+ Move functions from NodeRareData to ElementRareData and other classes
+ https://bugs.webkit.org/show_bug.cgi?id=106679
+
+ Reviewed by Benjamin Poulain.
+
+ Moved tab index related functions from NodeRareData to ElementRareData since only
+ HTMLElement uses them, and moved related functions on Node to Element accordingly.
+
+ Also replaced transientMutationObserverRegistry and ensureTransientMutationObserverRegistry
+ by ensureMutationObserverData, and moved micro-data related member functions into
+ NodeMicroDataTokenLists, and moved NodeMutationObserverData and NodeMicroDataTokenLists
+ out of NodeRareData as they're used outside of NodeRareData now.
+
+ The intention is to move more code into NodeMutationObserverData and NodeMicroDataTokenLists
+ in the follow up patches so that they can detect the removability of NodeRareData.
+
+ No new tests are added since there should be no behavior changes.
+
+ * dom/Element.cpp:
+ (WebCore::Element::clearTabIndexExplicitlyIfNeeded):
+ (WebCore::Element::setTabIndexExplicitly):
+ (WebCore::Element::tabIndex):
+ (WebCore::Element::supportsFocus):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementRareData.h:
+ (ElementRareData):
+ (WebCore::ElementRareData::tabIndex):
+ (WebCore::ElementRareData::setTabIndexExplicitly):
+ (WebCore::ElementRareData::tabIndexSetExplicitly):
+ (WebCore::ElementRareData::clearTabIndexExplicitly):
+ * dom/Node.cpp:
+ (WebCore::Node::tabIndex):
+ (WebCore::Node::supportsFocus):
+ (WebCore::Node::mutationObserverRegistry):
+ (WebCore::Node::transientMutationObserverRegistry):
+ (WebCore::Node::registerMutationObserver):
+ (WebCore::Node::registerTransientMutationObserver):
+ (WebCore::Node::itemProp):
+ (WebCore::Node::setItemProp):
+ (WebCore::Node::itemRef):
+ (WebCore::Node::setItemRef):
+ (WebCore::Node::itemType):
+ (WebCore::Node::setItemType):
+ * dom/Node.h:
+ (Node):
+ * dom/NodeRareData.h:
+ (NodeMutationObserverData):
+ (WebCore::NodeMutationObserverData::create):
+ (NodeMicroDataTokenLists):
+ (WebCore::NodeMicroDataTokenLists::create):
+ (WebCore::NodeMicroDataTokenLists::itemProp):
+ (WebCore::NodeMicroDataTokenLists::itemRef):
+ (WebCore::NodeMicroDataTokenLists::itemType):
+ (NodeRareData):
+ (WebCore::NodeRareData::mutationObserverData):
+ (WebCore::NodeRareData::ensureMutationObserverData):
+ (WebCore::NodeRareData::ensureMicroDataTokenLists):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseAttribute):
+
+2013-01-14 Ojan Vafai <ojan@chromium.org>
+
+ Remove unnecessary setNeedsLayoutAndPrefWidthsRecalc from RenderTable
+ https://bugs.webkit.org/show_bug.cgi?id=106832
+
+ Reviewed by Levi Weintraub.
+
+ These are both called from locations that either set these bits themselves
+ or clearly don't need these bits set (e.g. computePreferredLogicalWidths).
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::splitColumn):
+ (WebCore::RenderTable::appendColumn):
+
+2013-01-14 Chris Rogers <crogers@google.com>
+
+ Switch AudioDestinationChromium over to new createAudioDevice() method
+ https://bugs.webkit.org/show_bug.cgi?id=106816
+
+ Reviewed by James Robinson.
+
+ * platform/audio/chromium/AudioDestinationChromium.cpp:
+ (WebCore::AudioDestinationChromium::AudioDestinationChromium):
+
+2013-01-14 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] Use a premuliplied color in TextureMapperGL.
+ https://bugs.webkit.org/show_bug.cgi?id=105786
+
+ Reviewed by Noam Rosenthal.
+
+ TextureMapperGL always uses a premultiplied color, so we must convert
+ an unmultiplied color to a premultiplied color before setting the uniform value of
+ colorLocation.
+
+ Test: compositing/background-color/background-color-alpha-with-opacity.html
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawBorder):
+ (WebCore::TextureMapperGL::drawSolidColor):
+ (WebCore::prepareFilterProgram):
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::blendWithOpacity):
+ (WebCore):
+ (WebCore::TextureMapperLayer::paintSelf):
+ TextureMapperLayer must not convert solidColor to premultiplied
+ color, because TextureMapperImageBuffer expects unmultiplied color.
+
+2013-01-14 Arko Saha <arko@motorola.com>
+
+ Microdata: REGRESSION(r138725): Causes crash in chromium port
+ https://bugs.webkit.org/show_bug.cgi?id=106828
+
+ Reviewed by Ryosuke Niwa.
+
+ We should hold PropertyNodeList in RefPtr<PropertyNodeList>.
+
+ Test: fast/dom/MicroData/propertiescollection-crash.html
+
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::V8HTMLCollection::namedPropertyGetter):
+
+2013-01-14 Tien-Ren Chen <trchen@chromium.org>
+
+ Positioned children of an overflow:visible container should ignore scroll offset when updating layer position
+ https://bugs.webkit.org/show_bug.cgi?id=106814
+
+ Reviewed by Simon Fraser.
+
+ This patch fixes a bug in RenderLayer::updateLayerPosition that
+ scrollLeft / scrollTop of a block should only be effective when the
+ block has overflow clipping. The bug results in rendering artifacts
+ and triggers a RenderGeometryMap assertion falure.
+
+ Fixes http://crbug.com/167985
+
+ Test: fast/overflow/overflow-visible-should-ignore-scroll.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPosition):
+
+2013-01-14 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Remove IDBObjectStore/IndexBackendImpl and support functions
+ https://bugs.webkit.org/show_bug.cgi?id=106605
+
+ Remove all uses of IDBObjectStoreBackendInterface and IDBIndexBackend*,
+ as they are no longer used after recent refactoring.
+
+ Reviewed by Darin Fisher.
+
+ * GNUmakefile.list.am:
+ * Modules/indexeddb/IDBCallbacks.h:
+ (WebCore):
+ * Modules/indexeddb/IDBCursor.cpp:
+ (WebCore::IDBCursor::update):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::createObjectStore):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (IDBDatabaseBackendImpl):
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+ (WebCore):
+ (IDBDatabaseBackendInterface):
+ * Modules/indexeddb/IDBFactoryBackendImpl.h:
+ (IDBFactoryBackendImpl):
+ * Modules/indexeddb/IDBFactoryBackendInterface.h:
+ (IDBFactoryBackendInterface):
+ * Modules/indexeddb/IDBIndex.cpp:
+ * Modules/indexeddb/IDBIndexBackendInterface.h: Removed.
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::add):
+ (WebCore::IDBObjectStore::put):
+ * Modules/indexeddb/IDBObjectStore.h:
+ (IDBObjectStore):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::makeIndexWriters):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
+ (WebCore::IDBObjectStoreBackendImpl::IndexWriter::IndexWriter):
+ (IndexWriter):
+ (IDBObjectStoreBackendImpl):
+ * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Removed.
+ * Modules/indexeddb/IDBTransaction.cpp:
+ * Modules/indexeddb/IDBTransactionBackendImpl.h:
+ (IDBTransactionBackendImpl):
+ * Modules/indexeddb/IDBTransactionBackendInterface.h:
+ (WebCore):
+ * Modules/indexeddb/IDBTransactionCoordinator.cpp:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-01-14 Max Vujovic <mvujovic@adobe.com>
+
+ [ANGLE] Update ANGLE in WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=106274
+
+ Reviewed by Dean Jackson.
+
+ Update ANGLE to r1641.
+
+ Update the files used in the EFL and GTK builds.
+
+ No new tests. No change in behavior.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+
+2013-01-14 Julien Chaffraix <jchaffraix@webkit.org>
+
+ REGRESSION (r132591): Underpainting @ uofmchildrenshospital.org
+ https://bugs.webkit.org/show_bug.cgi?id=105861
+
+ Reviewed by David Hyatt.
+
+ Test: fast/repaint/overhanging-float-detach-repaint.html
+
+ The issue comes from overhanging float not contributing to their containing block's
+ overflow. This meant that repaint() would ignore them leading to an under-repaint.
+ The fix is simple: force all the overhanging floats to repaint themselves.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
+
+2013-01-14 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Need to implement ColorWellRole
+ https://bugs.webkit.org/show_bug.cgi?id=106756
+
+ Reviewed by Chris Fleizach.
+
+ Maps input type=color to the accessible role ColorWellRole.
+ Adds a new accessor to AccessibilityObject to get the color
+ value in a cross-platform way that doesn't require parsing.
+
+ Test: accessibility/color-well.html
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
+ (WebCore::AccessibilityNodeObject::colorValue):
+ (WebCore):
+ * accessibility/AccessibilityNodeObject.h:
+ (AccessibilityNodeObject):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isColorWell):
+ (AccessibilityObject):
+ (WebCore::AccessibilityObject::colorValue):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::stringValue):
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+ * html/HTMLInputElement.cpp:
+ (WebCore):
+ (WebCore::HTMLInputElement::isColorControl):
+ * html/HTMLInputElement.h:
+ (HTMLInputElement):
+
+2013-01-11 Emil A Eklund <eae@chromium.org>
+
+ offsetWidth/height incorrect for images when zoomed
+ https://bugs.webkit.org/show_bug.cgi?id=106624
+
+ Reviewed by Levi Weintraub.
+
+ offsetWidth and height are incorrect for images at certain zoom
+ levels due to flooring the values ones adjusted for zoom.
+ By rounding the value instead we avoid the problem and return
+ the right size.
+
+ Test: fast/images/zoomed-offset-size.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::offsetWidth):
+ (WebCore::Element::offsetHeight):
+ (WebCore::Element::clientWidth):
+ (WebCore::Element::clientHeight):
+ Change to round (as opposed to floor) the zoom adjusted value.
+
+ * rendering/RenderObject.h:
+ (WebCore::adjustLayoutUnitForAbsoluteZoom):
+ * rendering/style/RenderStyle.h:
+ (WebCore::adjustLayoutUnitForAbsoluteZoom):
+ Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
+ conversion.
+
+2013-01-14 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Move AudioDestinationChromium into WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=106803
+
+ Reviewed by Adam Barth.
+
+ This doesn't really belong in WebKit/chromium/src since it defines
+ things directly in the WebCore namespace.
+
+ * WebCore.gypi:
+ * platform/audio/chromium/AudioDestinationChromium.cpp: Added.
+ (WebCore):
+ (WebCore::AudioDestination::create):
+ (WebCore::AudioDestinationChromium::AudioDestinationChromium):
+ (WebCore::AudioDestinationChromium::~AudioDestinationChromium):
+ (WebCore::AudioDestinationChromium::start):
+ (WebCore::AudioDestinationChromium::stop):
+ (WebCore::AudioDestination::hardwareSampleRate):
+ (WebCore::AudioDestinationChromium::render):
+ (WebCore::AudioDestinationChromium::provideInput):
+ * platform/audio/chromium/AudioDestinationChromium.h: Added.
+ (WebCore):
+ (AudioDestinationChromium):
+ (WebCore::AudioDestinationChromium::isPlaying):
+ (WebCore::AudioDestinationChromium::sampleRate):
+
+2013-01-14 Adrian Perez de Castro <aperez@igalia.com>
+
+ [GTK] Fix indentation for GStreamer supported MIME types list
+ https://bugs.webkit.org/show_bug.cgi?id=106812
+
+ Reviewed by Philippe Normand.
+
+ No tests. No change in behavior.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+
+2013-01-14 John Bauman <jbauman@chromium.org>
+
+ Use correct size for DrawingBuffer readback
+ https://bugs.webkit.org/show_bug.cgi?id=106744
+
+ Reviewed by Kenneth Russell.
+
+ The value getInternalFramebufferSize is bogus if there's a
+ DrawingBuffer, so use size() instead.
+
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
+
+2013-01-14 Joshua Bell <jsbell@chromium.org>
+
+ Bindings: Remove special cases for DOMString[]
+ https://bugs.webkit.org/show_bug.cgi?id=106506
+
+ Remove special in binding code generators that map DOMString[] to DOMStringList.
+ Array (T[]) and sequence (sequence<T>) are supported enough now that to be used
+ for Internals, which is the only IDL that needed updating.
+
+ Reviewed by Adam Barth.
+
+ Tests: fast/forms/file/selected-files-from-history-state.html
+ fast/forms/state-restore-broken-state.html
+ fast/forms/state-restore-skip-stateless.html
+
+ Bindings test results updated for JS/V8.
+
+ * bindings/scripts/CodeGenerator.pm: Remove redundant IsArrayType (use GetArrayType instead)
+ (IsRefPtrType): Array and Sequence types are not RefPtr types.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (IndexGetterReturnsStrings): Remove special case for DOMString[].
+ (AddIncludesForType): Skip Array types, just like Sequence types. (Should probably recurse
+ for the base type, but not needed for now.)
+ (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
+ (GetNativeType): Remove special case for DOMString[].
+ (GetNativeTypeForCallbacks): Ditto.
+ (JSValueToNative): Ditto.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
+ (GetNativeType): Remove special case for DOMString[].
+ (JSValueToNative): Ditto.
+ (GetV8HeaderName): Ditto.
+ (IsWrapperType):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
+ (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
+ (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ (WebCore):
+ * bindings/scripts/test/TestObj.idl: Added explicit new cases for DOMStringList
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::overloadedMethod7Callback):
+ (WebCore::TestObjV8Internal::overloadedMethod9Callback):
+ (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
+ (TestObjV8Internal):
+ (WebCore::TestObjV8Internal::domStringListFunctionCallback):
+ (WebCore):
+ (WebCore::ConfigureV8TestObjTemplate):
+ * testing/Internals.cpp:
+ (WebCore::Internals::formControlStateOfPreviousHistoryItem):
+ (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
+ (WebCore::Internals::iconURLs):
+ (WebCore::Internals::getReferencedFilePaths):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl: Produce DOMString[], consume sequence<DOMString> to match tests.
+
+2013-01-14 Elliott Sprehn <esprehn@chromium.org>
+
+ Clean up WebVTTNodeType code
+ https://bugs.webkit.org/show_bug.cgi?id=106714
+
+ Reviewed by Tony Chang.
+
+ There's no reason for so many methods just to compare some enums.
+ The existing code can also be simplified quite a bit.
+
+ No new tests, just refactoring.
+
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOne):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRules):
+ (WebCore::StyleResolver::canShareStyleWithElement):
+ * dom/Element.cpp:
+ (WebCore::Element::webVTTNodeType):
+ (WebCore::Element::setWebVTTNodeType):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementRareData.h:
+ (WebCore::ElementRareData::setWebVTTNodeType):
+ (WebCore::ElementRareData::webVTTNodeType):
+ (ElementRareData):
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::NodeRareData):
+ (NodeRareData):
+ * html/track/TextTrack.h:
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::markFutureAndPastNodes):
+
+2013-01-14 Antti Koivisto <antti@apple.com>
+
+ REGRESSION (r139218): Flaky assertion in WebCore::StorageTask::StorageTask releasing memory
+ https://bugs.webkit.org/show_bug.cgi?id=106718
+
+ Reviewed by Andreas Kling.
+
+ Type assertion was missing a new type.
+
+ * storage/StorageTask.cpp:
+ (WebCore::StorageTask::StorageTask):
+
+2013-01-14 Yury Semikhatsky <yurys@chromium.org>
+
+ [REGRESSION] Dev Tools popup for Workers forgets sizes/shows tiny in top left
+ https://bugs.webkit.org/show_bug.cgi?id=106807
+
+ Reviewed by Pavel Feldman.
+
+ Open dedicated worker inspector 600x600 by default and remember its size
+ after resizing.
+
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/WorkerManager.js:
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Make an Isolate parameter mandatory in associateObjectWithWrapper()
+ https://bugs.webkit.org/show_bug.cgi?id=106784
+
+ Reviewed by Adam Barth.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8DOMWrapper.h:
+ (V8DOMWrapper):
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Make an Isolate parameter mandatory in ScriptDebugServer::interruptAndRun()
+ https://bugs.webkit.org/show_bug.cgi?id=106779
+
+ Reviewed by Adam Barth.
+
+ This is one of steps to make an Isolate parameter mandatory.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/ScriptDebugServer.h:
+ (ScriptDebugServer):
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Make an Isolate parameter mandatory in wrap()
+ https://bugs.webkit.org/show_bug.cgi?id=106783
+
+ Reviewed by Adam Barth.
+
+ Now it's safe to make an Isolate parameter in wrap().
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ (WebCore::wrap):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (WebCore::wrap):
+
+2013-01-14 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Update MediaStreamTrack::readyState to match specification
+ https://bugs.webkit.org/show_bug.cgi?id=106781
+
+ Reviewed by Adam Barth.
+
+ MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
+
+ Existing tests expanded to cover patch.
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::processTrack):
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::readyState):
+ (WebCore::MediaStreamTrack::ended):
+ (WebCore):
+ * Modules/mediastream/MediaStreamTrack.h:
+ (MediaStreamTrack):
+ * Modules/mediastream/MediaStreamTrack.idl:
+
+2013-01-14 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Audit Tool's False Positive on Set-Cookie header
+ https://bugs.webkit.org/show_bug.cgi?id=106794
+
+ Reviewed by Pavel Feldman.
+
+ Header value is now returned as undefined if there is no such header as it was before regression.
+
+ Test: http/tests/inspector/audits/set-cookie-header-audit-no-false-positive.html
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.CSSRuleBase.prototype.sheetsCallback): Drive-by fix, callback should be called even when there is no headers.
+ * inspector/front-end/NetworkRequest.js:
+ (WebInspector.NetworkRequest.prototype._headerValue):
+
+2013-01-14 Eric Carlson <eric.carlson@apple.com>
+
+ Do not pass nil when initializing legible output
+ https://bugs.webkit.org/show_bug.cgi?id=106799
+
+ Reviewed by Jessie Berlin.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): -[AVPlayerItemLegibleOutput initWithDependencyFactory:mediaSubtypesForNativeRepresentation:]
+ wants an empty NSArray rather than nil.
+
+2013-01-14 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] UI: add control buttons for doing the replay steps
+ https://bugs.webkit.org/show_bug.cgi?id=106788
+
+ Reviewed by Pavel Feldman.
+
+ Adding UI control buttons for doing the Canvas replay steps.
+ Drive-by: fixed a bug in DataGrid (found by the JSCompiler).
+
+ * inspector/front-end/CanvasProfileView.js:
+ (WebInspector.CanvasProfileView):
+ (WebInspector.CanvasProfileView.prototype._createControlButton):
+ (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
+ (WebInspector.CanvasProfileView.prototype._onReplayFirstStepClick):
+ (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
+ (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
+ (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
+ (WebInspector.CanvasProfileView.prototype._replayTraceLog):
+ (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
+ (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
+ * inspector/front-end/DOMExtension.js:
+ (Element.prototype.enableStyleClass):
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid.prototype.setRootNode):
+ (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
+ (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
+ (WebInspector.DataGrid.prototype._editingCommitted):
+ (WebInspector.DataGridNode):
+ * inspector/front-end/canvasProfiler.css:
+ (.canvas-replay-image):
+ (.canvas-replay-image.wait):
+ (.canvas-replay-controls):
+ (.canvas-replay-log):
+ (.canvas-control-button):
+ (.canvas-control-button:active):
+ (.canvas-control-button:disabled):
+ (.canvas-control-button img):
+ (.canvas-replay-first-step img):
+ (.canvas-replay-next-step img):
+ (.canvas-replay-prev-step img):
+ (.canvas-replay-last-step img):
+
+2013-01-14 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Update the track accessors on MediaStream to match the latest specification
+ https://bugs.webkit.org/show_bug.cgi?id=106660
+
+ Reviewed by Adam Barth.
+
+ The spec has significantly changed how tracks are accessed from a MediaStream:
+ http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+
+ In short: the attributes audioTrack/videoTrack that returned special MediaStreamTrackLists have been
+ replaced by the functions getAudioTracks()/getVideoTracks that return standard sequences of
+ MediaStreamTracks.
+
+ Existing tests updated and expanded to cover patch.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::MediaStream::create):
+ (WebCore::MediaStream::MediaStream):
+ (WebCore::MediaStream::~MediaStream):
+ (WebCore::MediaStream::readyState):
+ (WebCore):
+ (WebCore::MediaStream::addTrack):
+ (WebCore::MediaStream::removeTrack):
+ (WebCore::MediaStream::getTrackById):
+ (WebCore::MediaStream::streamEnded):
+ (WebCore::MediaStream::contextDestroyed):
+ (WebCore::MediaStream::scheduleDispatchEvent):
+ (WebCore::MediaStream::scheduledEventTimerFired):
+ * Modules/mediastream/MediaStream.h:
+ (MediaStream):
+ (WebCore::MediaStream::getAudioTracks):
+ (WebCore::MediaStream::getVideoTracks):
+ * Modules/mediastream/MediaStream.idl:
+ * Modules/mediastream/MediaStreamTrackList.cpp: Removed.
+ * Modules/mediastream/MediaStreamTrackList.h: Removed.
+ * Modules/mediastream/MediaStreamTrackList.idl: Removed.
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::createMediaStreamSource):
+ * WebCore.gypi:
+ * dom/EventTargetFactory.in:
+ * platform/mediastream/MediaStreamDescriptor.h:
+ (WebCore::MediaStreamDescriptor::addAudioComponent):
+ (WebCore::MediaStreamDescriptor::removeAudioComponent):
+ (WebCore::MediaStreamDescriptor::addVideoComponent):
+ (WebCore::MediaStreamDescriptor::removeVideoComponent):
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Add m_isolate to ScriptController, WorkerScriptController and V8DOMWindowShell
+ https://bugs.webkit.org/show_bug.cgi?id=106771
+
+ Reviewed by Adam Barth.
+
+ This is one of the steps to pass an Isolate everywhere.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ (WebCore::ScriptController::windowShell):
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::create):
+ (WebCore::V8DOMWindowShell::V8DOMWindowShell):
+ (WebCore::V8DOMWindowShell::initializeIfNeeded):
+ (WebCore::V8DOMWindowShell::installDOMWindow):
+ * bindings/v8/V8DOMWindowShell.h:
+ (V8DOMWindowShell):
+ * bindings/v8/V8Initializer.cpp:
+ (WebCore::V8Initializer::initializeMainThreadIfNeeded):
+ (WebCore::V8Initializer::initializeWorker):
+ * bindings/v8/V8Initializer.h:
+ (V8Initializer):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController):
+ (WebCore::WorkerScriptController::initializeContextIfNeeded):
+
+2013-01-14 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Styles] Color names parsed inside "background-image" values
+ https://bugs.webkit.org/show_bug.cgi?id=106770
+
+ Reviewed by Pavel Feldman.
+
+ Test: inspector/styles/url-color-swatch.html
+
+ Spaces were not allowed in url(...) CSS property values.
+
+ * inspector/front-end/StylesSidebarPane.js:
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Pass an Isolate to associateObjectWithWrapper()
+ https://bugs.webkit.org/show_bug.cgi?id=106773
+
+ Reviewed by Adam Barth.
+
+ In preparation for making an Isolate parameter mandatory
+ in associateObjectWithWrapper(), this patch passes an
+ Isolate to associateObjectWithWrapper().
+
+ No tests. No change in behavior.
+
+ * bindings/v8/custom/V8ArrayBufferCustom.cpp:
+ (WebCore::V8ArrayBuffer::constructorCallbackCustom):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::wrapArrayBufferView):
+ (WebCore::constructWebGLArray):
+ * bindings/v8/custom/V8AudioContextCustom.cpp:
+ (WebCore::V8AudioContext::constructorCallbackCustom):
+ * bindings/v8/custom/V8DOMFormDataCustom.cpp:
+ (WebCore::V8DOMFormData::constructorCallbackCustom):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::V8DataView::constructorCallbackCustom):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::v8HTMLImageElementConstructorCallback):
+ * bindings/v8/custom/V8IntentCustom.cpp:
+ (WebCore::V8Intent::constructorCallbackCustom):
+ * bindings/v8/custom/V8MessageChannelCustom.cpp:
+ (WebCore::V8MessageChannel::constructorCallbackCustom):
+ * bindings/v8/custom/V8MutationObserverCustom.cpp:
+ (WebCore::V8MutationObserver::constructorCallbackCustom):
+ * bindings/v8/custom/V8WebKitPointCustom.cpp:
+ (WebCore::V8WebKitPoint::constructorCallbackCustom):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Call Isolate::GetCurrent() in a callback from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=106766
+
+ Reviewed by Adam Barth.
+
+ The objective is to pass an Isolate everywhere.
+ Given that a callback from WebCore is an entry point to V8,
+ we can call Isolate::GetCurrent() at the head of the callback
+ and pass it to other places. (In practice, handleEvent() is
+ the only callback used in the current WebKit.)
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateCallbackImplementation):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithNoParam):
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ (WebCore::V8TestCallback::callbackWithStringList):
+ (WebCore::V8TestCallback::callbackWithBoolean):
+ (WebCore::V8TestCallback::callbackRequiresThisToPass):
+
+2013-01-14 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Change MediaStream::readyState to an boolean attribute called ended.
+ https://bugs.webkit.org/show_bug.cgi?id=106568
+
+ Reviewed by Adam Barth.
+
+ See specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+
+ Existings tests updated to cover patch.
+
+ * Modules/mediastream/LocalMediaStream.cpp:
+ (WebCore::LocalMediaStream::stop):
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::MediaStream::ended):
+ (WebCore::MediaStream::streamEnded):
+ * Modules/mediastream/MediaStream.h:
+ (MediaStream):
+ (WebCore::MediaStream::isLocal):
+ * Modules/mediastream/MediaStream.idl:
+ * Modules/mediastream/MediaStreamTrackList.cpp:
+ (WebCore::MediaStreamTrackList::add):
+ (WebCore::MediaStreamTrackList::remove):
+
+2013-01-14 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Styles] HTML color names not converted to RGB/HEX/HSL when "Color format" feature used
+ https://bugs.webkit.org/show_bug.cgi?id=106767
+
+ Reviewed by Vsevolod Vlasov.
+
+ We used to render named colors as names regardless of the selected color format option.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
+
+2013-01-14 Andrei Bucur <abucur@adobe.com>
+
+ Crash caused by incomplete cleanup of regions information for anonymous block
+ https://bugs.webkit.org/show_bug.cgi?id=106191
+
+ Reviewed by Abhishek Arya.
+
+ When an anonymous block is no longer required it is removed from the render tree and deleted. For example, this can happen when an anonymous block children change
+ from inlines to blocks. The patch updates the removeLeftoverAnonymousBlock function to delete the flow thread information attached to the obsolete anonymous block.
+ The removeFromRenderFlowThread() function is recursive and it needs to be called after the anonymous block children were reparented and the child list cleared.
+ I've also placed the children reset operation before clearing the parent because the latter also deletes the inRenderFlowThread flag from the object and it makes
+ flow thread ownership detection impossible.
+
+ Tests: fast/regions/remove-leftover-anon-block-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
+
+2013-01-14 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Make an Isolate parameter mandatory in v8DateOrNull()
+ https://bugs.webkit.org/show_bug.cgi?id=106765
+
+ Reviewed by Adam Barth.
+
+ This is one of the efforts to kill all optional Isolate parameters.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8Binding.h:
+ (WebCore::v8DateOrNull):
+
+2013-01-14 Pablo Flouret <pablof@motorola.com>
+
+ Allow nesting of at-rules
+ https://bugs.webkit.org/show_bug.cgi?id=106696
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ http://dev.w3.org/csswg/css3-conditional/ introduces the
+ concept of grouping rules, and allows for them to be nested. In
+ particular, this change affects @media (and is needed for @supports as
+ well).
+
+ Test: fast/css/nested-at-rules.html
+
+ * css/CSSGrammar.y.in:
+ Move media to the block_valid_rule list.
+
+ * css/RuleSet.cpp:
+ (WebCore::RuleSet::addRegionRule):
+ (WebCore::RuleSet::addChildRules):
+ (WebCore::RuleSet::addRulesFromSheet):
+ * css/RuleSet.h:
+ Rip out the rule-adding loop into a new method, for added
+ cleanliness and recursing.
+
+2013-01-14 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] Add domain column
+ https://bugs.webkit.org/show_bug.cgi?id=106757
+
+ Reviewed by Pavel Feldman.
+
+ Adding new column will ease domain tracking / sorting.
+
+ * inspector/front-end/NetworkPanel.js: Added column.
+ * inspector/front-end/NetworkRequest.js:
+ (WebInspector.NetworkRequest.prototype.get domain): Added getter.
+
+2013-01-14 Qiankun Miao <qiankun.miao@intel.com>
+
+ Fix a typo error in the comments in PlatformContextSkia.h
+ https://bugs.webkit.org/show_bug.cgi?id=105612
+
+ Reviewed by Stephen White.
+
+ "If false we're rendering to a GraphicsContext for a web page, if false
+ we're not (as is the case when rendering to a canvas object)." is
+ self-contradictory. The second "flase" in the comments should be
+ "true". If true, we're rendering to an ImageBuffer which has a canvas
+ object.
+
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (PlatformContextSkia):
+
+2013-01-14 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 3/3
+ https://bugs.webkit.org/show_bug.cgi?id=106764
+
+ Reviewed by Vsevolod Vlasov.
+
+ Last three classes with not instrumented members were fixed.
+
+ * css/CSSGroupingRule.cpp:
+ (WebCore::CSSGroupingRule::reportMemoryUsage):
+ * css/StyleScopeResolver.cpp:
+ (WebCore::StyleScopeResolver::reportMemoryUsage):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::reportMemoryUsage):
+
+2013-01-10 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 2/N
+ https://bugs.webkit.org/show_bug.cgi?id=106546
+
+ Reviewed by Vsevolod Vlasov.
+
+ Many nontrivial class members were added into reportMemoryUsage methods.
+
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::reportMemoryUsage):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::reportMemoryUsage):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::reportMemoryUsage):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::reportMemoryUsage):
+ * css/MediaList.cpp:
+ (WebCore::MediaList::reportMemoryUsage):
+ * css/RuleSet.cpp:
+ (WebCore::RuleData::reportMemoryUsage):
+ (WebCore::RuleSet::reportMemoryUsage):
+ (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
+ (WebCore::StyleResolver::reportMemoryUsage):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::reportMemoryUsage):
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::reportMemoryUsage):
+ * inspector/HeapGraphSerializer.cpp:
+ (WebCore::HeapGraphSerializer::reportMemoryUsage):
+ * inspector/InspectorMemoryAgent.cpp:
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::reportMemoryUsage):
+ * inspector/MemoryInstrumentationImpl.cpp:
+ (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::reportMemoryUsage):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::reportMemoryUsage):
+ * loader/Prerenderer.cpp:
+ (WebCore::Prerenderer::reportMemoryUsage):
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::reportMemoryUsage):
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::reportMemoryUsage):
+ * page/Page.cpp:
+ (WebCore::Page::reportMemoryUsage):
+
+2013-01-13 Levi Weintraub <leviw@chromium.org>
+
+ Unreviewed gardening. Rolling out r139537. It broke platforms without sub-pixel layout.
+
+ * dom/Element.cpp:
+ (WebCore::Element::offsetWidth):
+ (WebCore::Element::offsetHeight):
+ (WebCore::Element::clientWidth):
+ (WebCore::Element::clientHeight):
+ * rendering/RenderObject.h:
+ (WebCore::adjustLayoutUnitForAbsoluteZoom):
+ * rendering/style/RenderStyle.h:
+ (WebCore::adjustLayoutUnitForAbsoluteZoom):
+
+2013-01-13 Dima Gorbik <dgorbik@apple.com>
+
+ Styling disappears from the cue that's being styled by ::cue pseudo element
+ https://bugs.webkit.org/show_bug.cgi?id=106723
+
+ Reviewed by Antti Koivisto.
+
+ Fixes a regression caused by r138966. Setting a pseudoId in TextTrackCue::updateDisplayTree for m_allDocumentNodes
+ was triggering recalculating styles the next run loop. Now when this was removed we append the WebVTT tree after its children have
+ been marked by markFutureAndPastNodes so that correct styles are set within this append call.
+
+ Test: media/track/track-css-cue-lifetime.html
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::markFutureAndPastNodes): changing the type of the first argument because DocumentFragment is not a subclass
+ of Element.
+ (WebCore::TextTrackCue::updateDisplayTree): appending the WebVTT rendering tree after its children have been marked properly.
+ * html/track/TextTrackCue.h:
+ (TextTrackCue):
+
+2013-01-12 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Provide LevelDB with IDBEnv instead of Env::Default
+ https://bugs.webkit.org/show_bug.cgi?id=106135
+
+ Reviewed by Tony Chang.
+
+ IDBEnv only changes the name of the histogram where errors are logged.
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::destroy):
+ (WebCore::LevelDBDatabase::open):
+ (WebCore::LevelDBDatabase::openInMemory):
+
+2013-01-12 Gavin Peters <gavinp@chromium.org>
+
+ Regression(r119759): Heap-use-after-free in webkit_glue::WebURLLoaderImpl::Context::OnReceivedResponse
+ https://bugs.webkit.org/show_bug.cgi?id=103563
+
+ A subresource could receive a body on a 404 if its call to CachedResource::error() resulted in a nested message loop.
+ That caused a crash when data was received, as the Subresource was in the Finished state already. Now when receiving
+ data we ignore these bodies, avoiding the crash.
+
+ Reviewed by Nate Chapin.
+
+ No new tests in WebKit, since it required a nested message loop which isn't present in chromium DumpRender tree.
+ There's a Chrome side browser test, see https://codereview.chromium.org/11778083/
+
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
+
+2013-01-12 Robert Hogan <robert@webkit.org>
+
+ Available height should respect min and max height
+ https://bugs.webkit.org/show_bug.cgi?id=106479
+
+ Reviewed by Ojan Vafai.
+
+ When calculating a relative positioned block's offset as a percentage of its container, respect the min
+ and max height set on the container
+
+ Tests: fast/block/percent-top-respects-max-height.html
+ fast/block/percent-top-respects-min-height.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::availableLogicalHeight):
+
+2013-01-12 Victor Carbune <victor@rosedu.org>
+
+ CC Button doesn't always show up
+ https://bugs.webkit.org/show_bug.cgi?id=106653
+
+ Reviewed by Eric Carlson.
+
+ Added extra checks to existing test.
+
+ * html/shadow/MediaControls.cpp:
+ (WebCore::MediaControls::closedCaptionTracksChanged):
+ Enforced visibility of captions button whenever the track list changes.
+ (WebCore):
+ * html/shadow/MediaControls.h:
+ (MediaControls):
+
+2013-01-11 Dan Beam <dbeam@chromium.org>
+
+ [clean up] Remove HTMLFormElement::AutocompleteResultError in favor of more specific Error reasons
+ https://bugs.webkit.org/show_bug.cgi?id=106610
+
+ Reviewed by Darin Fisher.
+
+ No new tests (none needed).
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::finishRequestAutocomplete): Removed handling of AutocompleteResultError.
+ * html/HTMLFormElement.h: Removed HTMLFormElement::AutocompleteResultError in favor of more specific errors.
+
+2013-01-10 Filip Pizlo <fpizlo@apple.com>
+
+ JITThunks should not compile only because of luck
+ https://bugs.webkit.org/show_bug.cgi?id=105696
+
+ Rubber stamped by Sam Weinig.
+
+ All .cpp files that use the JSC internal API must now transitively include
+ Operations.h, and none of the major JSC headers do it for you to avoid
+ circularity. WebCore doesn't have to worry about circularity with JSC, so
+ this changes all of the major WebCore JSC base headers to include
+ Operations.h.
+
+ * bindings/js/BindingState.h:
+ * bindings/js/JSArrayBufferViewHelper.h:
+ * bindings/js/JSCustomXPathNSResolver.h:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDictionary.h:
+ * bindings/js/JSMessagePortCustom.h:
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/ScriptValue.h:
+ * bindings/js/ScriptWrappable.h:
+ * bindings/js/SerializedScriptValue.cpp:
+ * bridge/c/c_utility.h:
+ * bridge/jsc/BridgeJSC.h:
+ * dom/Node.cpp:
+ * html/HTMLCanvasElement.cpp:
+ * html/HTMLImageLoader.cpp:
+ * plugins/efl/PluginViewEfl.cpp:
+ * xml/XMLHttpRequest.cpp:
+
+2013-01-11 Emil A Eklund <eae@chromium.org>
+
+ offsetWidth/height incorrect for images when zoomed
+ https://bugs.webkit.org/show_bug.cgi?id=106624
+
+ Reviewed by Levi Weintraub.
+
+ offsetWidth and height are incorrect for images at certain zoom
+ levels due to flooring the values ones adjusted for zoom.
+ By rounding the value instead we avoid the problem and return
+ the right size.
+
+ Test: fast/images/zoomed-offset-size.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::offsetWidth):
+ (WebCore::Element::offsetHeight):
+ (WebCore::Element::clientWidth):
+ (WebCore::Element::clientHeight):
+ Change to round (as opposed to floor) the zoom adjusted value.
+
+ * rendering/RenderObject.h:
+ (WebCore::adjustLayoutUnitForAbsoluteZoom):
+ * rendering/style/RenderStyle.h:
+ (WebCore::adjustLayoutUnitForAbsoluteZoom):
+ Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
+ conversion.
+
+2013-01-11 Ojan Vafai <ojan@chromium.org>
+
+ Fixed width overrides intrinsic min-width/max-width for text inputs and listboxes
+ https://bugs.webkit.org/show_bug.cgi?id=106675
+
+ Reviewed by Emil A Eklund.
+
+ Implement computeIntrinsicLogicalWidths so that RenderBox::computeLogicalWidthInRegionUsing
+ can get the correct intrinsic sizes instead of the preferred sizes.
+
+ Test: fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width.html
+
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::computeIntrinsicLogicalWidths):
+ (WebCore):
+ (WebCore::RenderListBox::computePreferredLogicalWidths):
+ * rendering/RenderListBox.h:
+ (RenderListBox):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
+ (WebCore):
+ (WebCore::RenderTextControl::computePreferredLogicalWidths):
+ * rendering/RenderTextControl.h:
+ (RenderTextControl):
+
+2013-01-10 Ojan Vafai <ojan@chromium.org>
+
+ Setting width overrides intrinsic min-width/max-width on flexboxes and their subclasses
+ https://bugs.webkit.org/show_bug.cgi?id=106617
+
+ Reviewed by Tony Chang.
+
+ Override computeIntrinsicLogicalWidths for all RenderFlexibleBox and RenderDeprecatedFlexibleBox
+ classes that override computePreferredLogicalWidths so that RenderBox can use
+ computeIntrinsicLogicalWidths in order to get the correct intrinsic values.
+
+ Tests: css3/flexbox/intrinsic-min-width-applies-with-fixed-width.html
+ fast/flexbox/intrinsic-min-width-applies-with-fixed-width.html
+ fast/forms/select/intrinsic-min-width-applies-with-fixed-width.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
+ fit-content needs to use the intrinsic sizes not the preferred sizes
+ since a fixed width overrides the preferred size.
+ As best I can tell, the sizesLogicalWidthToFitContent codepath can keep
+ using preferred widths, which are considerably faster, since that's only used
+ computing width values. Added a clause to that if-statement to make this more
+ explicit.
+
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
+ (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
+ * rendering/RenderDeprecatedFlexibleBox.h:
+ (RenderDeprecatedFlexibleBox):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
+ (WebCore):
+ (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
+ * rendering/RenderFlexibleBox.h:
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
+ (WebCore):
+ (WebCore::RenderMenuList::computePreferredLogicalWidths):
+ * rendering/RenderMenuList.h:
+ (RenderMenuList):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::computeIntrinsicLogicalWidths):
+ (WebCore):
+ (WebCore::RenderSlider::computePreferredLogicalWidths):
+ * rendering/RenderSlider.h:
+ (RenderSlider):
+ No logic changes in any of these computeIntrinsic methods. Just moving
+ the code over from the computePreferred methods.
+
+2013-01-11 Tony Gentilcore <tonyg@chromium.org>
+
+ Move HTMLTokenTypes to its own file
+ https://bugs.webkit.org/show_bug.cgi?id=106722
+
+ Reviewed by Levi Weintraub.
+
+ Also mark AtomicHTMLToken ctor as explicit.
+
+ No new tests because no new functionality.
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/parser/HTMLToken.h:
+ (WebCore::AtomicHTMLToken::AtomicHTMLToken):
+ * html/parser/HTMLTokenTypes.h: Added.
+ (WebCore):
+ (HTMLTokenTypes):
+ (DoctypeData):
+ (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
+
+2013-01-11 Elliott Sprehn <esprehn@chromium.org>
+
+ No need to initialize RefPtrs to 0 in ElementRareData
+ https://bugs.webkit.org/show_bug.cgi?id=106717
+
+ Reviewed by Ryosuke Niwa.
+
+ RefPtrs initialize themself to null, so there's no reason
+ to do it manually. This was code leftover from when
+ PseudoElements were stored in bare ptrs instead of in
+ RefPtrs.
+
+ No new tests, just refactoring.
+
+ * dom/ElementRareData.h:
+ (WebCore::ElementRareData::ElementRareData):
+
+2013-01-11 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] Rename current[Transform|Opacity|Filters] in TextureMapperLayer.
+ https://bugs.webkit.org/show_bug.cgi?id=105760
+
+ Reviewed by Noam Rosenthal.
+
+ TextureMapperLayer has two transform members: an original value and a
+ changeable value. The changeable value would be changed by animations.
+ This patch puts 'current' prefix on the changeable value to clarify
+ its purpose. Opacity and filters ditto.
+
+ No new tests. Refactoring only.
+
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::computeTransformsRecursive):
+ (WebCore::TextureMapperLayer::paintSelf):
+ (WebCore::TextureMapperLayer::paintSelfAndChildren):
+ (WebCore::TextureMapperLayer::intermediateSurfaceRect):
+ (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
+ (WebCore::TextureMapperLayer::isVisible):
+ (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
+ (WebCore::TextureMapperLayer::paintRecursive):
+ (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
+ (WebCore::TextureMapperLayer::syncAnimations):
+ (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
+ * platform/graphics/texmap/TextureMapperLayer.h:
+ (WebCore::TextureMapperLayer::TextureMapperLayer):
+ (TextureMapperLayer):
+ (WebCore::TextureMapperLayer::State::State):
+
+2013-01-11 Tony Gentilcore <tonyg@chromium.org>
+
+ Move constructTreeFromHTMLToken into HTMLDocumentParser
+ https://bugs.webkit.org/show_bug.cgi?id=106694
+
+ Reviewed by Adam Barth.
+
+ This way it will sit parallel to a new constructTreeFromCompactHTMLToken method.
+
+ No new tests because no new functionality.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
+ (WebCore):
+ * html/parser/HTMLDocumentParser.h:
+ * html/parser/HTMLTreeBuilder.cpp:
+ * html/parser/HTMLTreeBuilder.h:
+ (HTMLTreeBuilder):
+
+2013-01-11 Robert Iannucci <iannucci@chromium.org>
+
+ Explicitly set msvs_cygwin_shell to true for actions in WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=106706
+
+ Reviewed by Tony Chang.
+
+ Currently, msvs_cygwin_shell is set to 1 by default. This patch
+ explicitly sets it on the actions which will break if msvs_cygwin_shell
+ were set to 0. This is in preparation for changing the default value of
+ msvs_cygwin_shell, which in turn is in preparation of the removal of
+ cygwin as a buld-system requirement.
+
+ Since this change will have no semantic effect, no new tests are
+ required.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2013-01-11 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: IDBTransaction should manage lifetime of IDBRequests
+ https://bugs.webkit.org/show_bug.cgi?id=106678
+
+ Reviewed by Tony Chang.
+
+ Ensure reference count of IDBRequests don't bounce off zero if there are no script
+ references are while the events are arriving.
+
+ No new tests - no detectable behavior changes.
+
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::create): Register with transaction (which now takes a ref) here to...
+ (WebCore::IDBRequest::IDBRequest): ...avoid having to relax adoption requirements here.
+ * Modules/indexeddb/IDBTransaction.cpp: Keep RefPtr<>s to outstanding requests.
+ (WebCore::IDBTransaction::~IDBTransaction):
+ (WebCore::IDBTransaction::abort):
+ (WebCore::IDBTransaction::onAbort):
+ * Modules/indexeddb/IDBTransaction.h:
+
+2013-01-11 James Simonsen <simonjam@chromium.org>
+
+ [Resource Timing] XMLHttpRequests should have initiator type 'xmlhttprequest'
+ https://bugs.webkit.org/show_bug.cgi?id=106409
+
+ Reviewed by Nate Chapin.
+
+ The initiator is passed through ThreadableLoaderOptions to the CachedResourceRequest. This is
+ optional, so other users of ThreadableLoader will have the default initiator of 'request'. Note
+ that synchronous XHRs don't show up in the Resource Timing buffer yet.
+
+ Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::loadRequest):
+ * loader/ThreadableLoader.h:
+ (ThreadableLoaderOptions):
+ * loader/cache/CachedResourceRequestInitiators.cpp:
+ (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
+ * loader/cache/CachedResourceRequestInitiators.h:
+ (CachedResourceRequestInitiators):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::createRequest):
+
+2013-01-11 James Simonsen <simonjam@chromium.org>
+
+ Restore old semantics to webkitRequestAnimationFrame callbacks
+ https://bugs.webkit.org/show_bug.cgi?id=106697
+
+ Reviewed by James Robinson.
+
+ Sites that use GWT <= 2.4 are buggy and rely on Date.now()-like callback values.
+ We'll restore that behavior to the prefixed version of webkitRequestAnimationFrame.
+ requestAnimationFrame will continue to follow the spec.
+
+ Test: fast/animation/request-animation-frame-prefix.html
+
+ * dom/RequestAnimationFrameCallback.h:
+ (RequestAnimationFrameCallback):
+ * dom/ScriptedAnimationController.cpp:
+ (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::requestAnimationFrame):
+ (WebCore):
+ (WebCore::DOMWindow::webkitRequestAnimationFrame):
+ * page/DOMWindow.h:
+ (DOMWindow):
+ * page/DOMWindow.idl:
+
+2013-01-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r139044.
+ http://trac.webkit.org/changeset/139044
+ https://bugs.webkit.org/show_bug.cgi?id=106702
+
+ Caused various scrolling anomolies on Mac with drag and drop
+ (Requested by smfr on #webkit).
+
+ * page/AutoscrollController.cpp:
+ (WebCore::AutoscrollController::AutoscrollController):
+ (WebCore::AutoscrollController::autoscrollTimerFired):
+ * page/AutoscrollController.h:
+ (WebCore):
+ (AutoscrollController):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::updateDragAndDrop):
+ * rendering/RenderBox.cpp:
+ (WebCore):
+ (WebCore::RenderBox::autoscroll):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::autoscroll):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::autoscroll):
+ * rendering/RenderListBox.h:
+ (RenderListBox):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::autoscroll):
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine):
+
+2013-01-11 Rafael Weinstein <rafaelw@chromium.org>
+
+ Prevent HTMLPreloadScanner from fetching resources inside <template>
+ https://bugs.webkit.org/show_bug.cgi?id=106687
+
+ Reviewed by Adam Barth.
+
+ This patch adds a simple counter to the preload scanner which increments on template start
+ tag and decrements on template element. It only fetchs resources when the counter is at zero
+ (i.e. for elements not contained by a template element).
+
+ Test re-enabled within fast/dom/HTMLTemplateElement/inertContents.html
+
+ * html/parser/HTMLPreloadScanner.cpp:
+ (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
+ (WebCore::HTMLPreloadScanner::processToken):
+ * html/parser/HTMLPreloadScanner.h:
+ (HTMLPreloadScanner):
+
+2013-01-11 Tony Gentilcore <tonyg@chromium.org>
+
+ We should be able to checkpoint and restore the HTMLTokenizer across threads
+ https://bugs.webkit.org/show_bug.cgi?id=106597
+
+ Based on patch by Adam Barth.
+
+ This has the ability to create a checkpoint any time the parser is blocked on a script.
+ We clear m_appropriateEndTagName after each end tag is flushed so that the ASSERT in
+ canCreateCheckpoint() will pass.
+
+ Reviewed by Adam Barth.
+
+ No new tests because no new functionality.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ * html/parser/HTMLDocumentParser.h:
+ (WebCore):
+ (HTMLDocumentParser):
+ * html/parser/HTMLTokenizer.cpp:
+ (WebCore):
+ (WebCore::HTMLTokenizer::canCreateCheckpoint):
+ (WebCore::HTMLTokenizer::createCheckpoint):
+ (WebCore::HTMLTokenizer::restoreFromCheckpoint):
+ * html/parser/HTMLTokenizer.h:
+ (HTMLTokenizer):
+ (Checkpoint):
+ (WebCore::HTMLTokenizer::Checkpoint::Checkpoint):
+ * xml/parser/MarkupTokenizerBase.h:
+ (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
+ (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::skipNextNewLine):
+ (InputStreamPreprocessor):
+ (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::reset):
+
+2013-01-11 Tony Chang <tony@chromium.org>
+
+ [chromium] Don't regenerate all bindings when any idl file changes
+ https://bugs.webkit.org/show_bug.cgi?id=106604
+
+ Reviewed by Kentaro Hara.
+
+ Currently, every idl file is a dependency of generating the supplemental dependency map
+ and generating bindings is a dependency of the map. This means that touching any idl file
+ causes us to regenerate all the bindings.
+
+ Change it so that generating bindings only depends on the idl files that have Supplemental= in them.
+ We only have 24 idl files with Supplemental (3.7% of the 638 idl files in WebCore) so modifying
+ any of those will cause all bindings to be regenerated.
+
+ If you add or remove a new idl file, you have to rerun gyp which will fix up any dependencies.
+ If you edit an existing file and add Supplemental= to it, you will now need to rerun gyp_{webkit,chromium}.
+ I think that's a reasonable tradeoff since it seems highly unlikely that you would adding Supplemental=
+ to an existing file without renaming it. The bots will always be fine because they always run
+ gyp after updating.
+
+ No new tests, this is a build only change.
+
+ * WebCore.gyp/WebCore.gyp: Remove <(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp, which was causing
+ the full rebuild. The step to generate this file is still a hard dependency so it will still be generated and
+ used by generate-bindings.pl. Also remove <@(webcore_test_support_idl_files). This was saying we should regenerate
+ all bindings if a test idl file changed. That doesn't make sense.
+ * WebCore.gyp/scripts/supplemental_idl_files.py: Added.
+ (DoMain):
+
+2013-01-11 Alexandru Chiculita <achicu@adobe.com>
+
+ Element is displayed behind a composited layer when clipping is used on a previous element
+ https://bugs.webkit.org/show_bug.cgi?id=104981
+
+ Reviewed by Simon Fraser.
+
+ RenderLayerCompositor::computeCompositingRequirements uses the local bounding box of the layers to optimize the number of composited
+ layers that are created. That's needed in order to make sure that composited layers that are displayed behind non-composited
+ layers are correctly promoting the layers in front to be composited. Otherwise the non-composited layers are rendered
+ in the parent composited layer, displaying behind the other composited layers. That might be wrong as the correct paint order might not be
+ preserved.
+
+ In order to make animations work, there's a flag that will disable that optimization. That's because the animations run in the platform
+ layer and the platform layer doesn't know about the layers that are not promoted to composited layers. When the overlapping of the layers
+ is computed it just uses the start or the stop state, but no intermediate states. For that reason, all the 'top' layers in front of animated
+ elements will become composited.
+
+ When an animation has a clipping rectangle, then we know for sure that the animation is going to be contained inside the clip area, so WebKit
+ uses the bounding box of the clipping area to detect the overlapping layers, so there's no need to disable the optimization in that case.
+
+ However, if there is a different animation displaying behind the clipping container, we cannot safely disable that optimization anymore. That's
+ because we still don't know what are the intermediate states of that particular animated layer. The bug was that the optimization was re-enabled
+ anyway, even in this particular case.
+
+ In order to fix it, I changed the logic, so that instead of re-enabling the optimization after a clipping container, it will just avoid to propagate
+ the internal state to the following layers when there's no need to so.
+
+ Note that 3D transforms behave like animations for now and disable the optimization. Because of that some of the existing tests ended up
+ creating more layers than needed. That's because the tests had an overflow area that recreated the issue that this patch fixes, but with
+ 3D transforms instead of animations. 3D transforms will be treated in a separate patch.
+
+ Tests: compositing/layer-creation/overlap-animation-clipping.html
+ compositing/layer-creation/overlap-animation-container.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2013-01-11 Philip Rogers <pdr@google.com>
+
+ Skip CachedImage::CreateImage if we don't have image data
+ https://bugs.webkit.org/show_bug.cgi?id=106156
+
+ Reviewed by Nate Chapin.
+
+ This patch skips image creation if we do not have image data. This can occur during
+ cache revalidation when the revalidation request (304 not modified) comes back without
+ any content. In this revalidation case, the http spec requires that a mimetype not be set
+ on the response to prevent a cached resource from having a different mimetype
+ from the revalidated resource. Because revalidation requests do not have a mimetype,
+ CachedImage::CreateImage() will fail on SVG images. This patch prevents
+ CachedImage::CreateImage() from being called during revalidation.
+
+ No new tests as there are no observable changes from this patch.
+
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::data):
+
+2013-01-11 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed. Rebaselined run-bindings-tests.
+
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
+ (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::TestExceptionV8Internal::nameAttrGetter):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::stringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
+ (WebCore::TestObjV8Internal::hashAttrGetter):
+ (WebCore::TestObjV8Internal::conditionalMethod1Callback):
+
+2013-01-11 Levi Weintraub <leviw@chromium.org>
+
+ RenderGeometryMap and TransformState disagree with sub-pixel layout and translations
+ https://bugs.webkit.org/show_bug.cgi?id=106047
+
+ Reviewed by Simon Fraser.
+
+ Mirror RenderGeometryMap's optimization for integer-translated transforms in TransformState.
+ This avoids the current behavior where the two can disagree on mappings, since RenderGeometryMap
+ pixel-snapped later when a translation occurred between two sub-pixel containers.
+
+ Test: fast/layers/geometry-map-transform-state-translation-mismatch.html
+
+ * platform/graphics/transforms/TransformState.h:
+ (WebCore::TransformState::setQuad): Clear accumulatedOffset when setting a new quad. Note: this
+ implementation only works properly when only tracking a quad.
+ * platform/graphics/transforms/TransformState.cpp:
+ (WebCore::TransformState::applyTransform): apply integral translations to the accumulatedOffset
+ for performance and consistency with RenderGeometryMap.
+
+2013-01-11 Abhishek Arya <inferno@chromium.org>
+
+ Heap-use-after-free in WebCore::RenderText::computePreferredLogicalWidths
+ https://bugs.webkit.org/show_bug.cgi?id=95901
+
+ Reviewed by Simon Fraser.
+
+ Prevent re-entrancy of view layout. Loading of SVG document during font load
+ causes it to re-enter layout and blowing the style away from underneath.
+
+ Test: Go to http://www.speckproducts.com and make sure crash does not happen.
+
+ * dom/Document.cpp:
+ (WebCore::Document::updateLayout):
+
+2013-01-11 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Do not create a local handle for a cached v8 string that is returned to V8 immediately
+ https://bugs.webkit.org/show_bug.cgi?id=106557
+
+ Reviewed by Adam Barth.
+
+ Currently we are always creating a local handle for a cached
+ V8 string returned to V8:
+
+ Handle<Value> v8String(StringImpl* impl, Isolate* isolate) {
+ ...;
+ return Local<String>::New(isolate, m_cachedString);
+ }
+
+ However, we don't need to create a local handle in a case
+ where it is guaranteed that no V8 object allocation is conducted
+ before a control flow returns back to V8. In particular, in a case
+ where a cached V8 string is immediately returned to V8, we don't
+ need to create a local handle:
+
+ Handle<Value> xxxxAttrGetter() {
+ ...;
+ return v8String(imp->xxxx(), isolate); // This can return a persistent handle safely.
+ }
+
+ This patch improves performance of div.id by 9.2%.
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ (GenerateCallbackImplementation):
+ (GenerateFunctionCallString):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
+ (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::TestExceptionV8Internal::nameAttrGetter):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::stringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
+ (WebCore::TestObjV8Internal::hashAttrGetter):
+ (WebCore::TestObjV8Internal::conditionalMethod1Callback):
+ * bindings/v8/V8Binding.h:
+ (WebCore::v8String):
+ (WebCore::v8StringOrNull):
+ (WebCore::v8StringOrUndefined):
+ * bindings/v8/V8ValueCache.cpp:
+ (WebCore::StringCache::v8ExternalStringSlow):
+ * bindings/v8/V8ValueCache.h:
+ (WebCore::StringCache::v8ExternalString):
+ (StringCache):
+
+2013-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed. Fix make distcheck.
+
+ * GNUmakefile.list.am: Add missing header files.
+
+2013-01-11 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ RenderLayerCompositor should let ScrollingCoordinator update main thread scrolling reasons after change of layers
+ https://bugs.webkit.org/show_bug.cgi?id=105652
+
+ Reviewed by Simon Fraser.
+
+ Let ScrollingCoordinator know the change of ViewportConstrainedNotCompositedReason in time.
+ By the way moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to RenderLayer::ViewportConstrainedNotCompositedReason.
+
+ Tests: compositing/layer-creation/fixed-position-in-view-dynamic.html
+ compositing/layer-creation/fixed-position-out-of-view-dynamic.html
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
+ (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
+ (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText):
+ * page/scrolling/ScrollingCoordinator.h:
+ (ScrollingCoordinator):
+ * page/scrolling/mac/ScrollingCoordinatorMac.h:
+ (WebCore::ScrollingCoordinatorMac::hasVisibleSlowRepaintViewportConstrainedObjects):
+ * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+ (WebCore::logThreadedScrollingMode):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::paintLayer):
+ * rendering/RenderLayer.h:
+ (RenderLayer): Moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to here and renamed it to ViewportConstrainedNotCompositedReason.
+ (WebCore::RenderLayer::setViewportConstrainedNotCompositedReason):
+ (WebCore::RenderLayer::viewportConstrainedNotCompositedReason):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateCompositingLayers):
+ (WebCore::RenderLayerCompositor::updateBacking): Now updates ViewportConstrainedNotCompositedReason here instead of in computeCompositingRequirements before so that the reason is updated in time.
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+ (WebCore::RenderLayerCompositor::needsToBeComposited):
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer):
+ (WebCore::RenderLayerCompositor::reasonForCompositing):
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
+ (WebCore::RenderLayerCompositor::reportMemoryUsage):
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+
+2013-01-11 Kenneth Russell <kbr@google.com>
+
+ [Chromium] WebGL typed array constructor crashes on exception
+ https://bugs.webkit.org/show_bug.cgi?id=106308
+
+ Reviewed by Kentaro Hara.
+
+ Check for empty handles (indicating exception thrown) after calls
+ into V8 VM.
+
+ Added new case from Khronos typed array conformance tests to
+ fast/canvas/webgl/array-unit-tests.html.
+
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::constructWebGLArray):
+ Check for empty handles after calls into V8 VM.
+
+2013-01-11 Kentaro Hara <haraken@chromium.org>
+
+ [V8] Slightly optimize getWrapperFast()
+ https://bugs.webkit.org/show_bug.cgi?id=106667
+
+ Reviewed by Adam Barth.
+
+ This patch improves an if condition in getWrapperFast(),
+ as commented in DOMDataStore.h.
+
+ This patch improves performance of div.firstChild from
+ 15.1 ns to 14.0 ns (+7.8%), although I couldn't observe
+ performance improvement in Dromaeo/dom-traverse.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/DOMDataStore.h:
+ (WebCore::DOMDataStore::getWrapperFast):
+
+2013-01-11 Florin Malita <fmalita@chromium.org>
+
+ [SVG] Suppress resource rebuilding for unattached and shadow elements
+ https://bugs.webkit.org/show_bug.cgi?id=106664
+
+ Reviewed by Dirk Schulze.
+
+ SVGStyledElement::buildPendingResourcesIfNeeded() can be called while cloning a subtree
+ (as nodes are inserted into the clone, while still detached) or when elements are inserted
+ into the shadow tree. Both of these cases are problematic for SVGUseElement and can trigger
+ indirect recursion in SVGUseElement::buildPendingResource.
+
+ Since shadow and !inDocument() nodes are of no interest to ID dependents (they cannot be
+ found by ID in the document), the patch short-circuits buildPendingResource() for these
+ cases.
+
+ Test: svg/custom/use-rebuild-resources-crash.svg
+
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
+
+2013-01-11 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Computed hierarchical level is not consistent with aria-level
+ https://bugs.webkit.org/show_bug.cgi?id=106638
+
+ Reviewed by Chris Fleizach.
+
+ Make hierarchicalLevel computation 1-based to match the aria-level spec.
+
+ Extends an existing test: platform/mac/accessibility/aria-tree.html.
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::hierarchicalLevel):
+ * accessibility/AccessibilityObject.h:
+ (AccessibilityObject):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2013-01-11 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Workspace should support several projects and should not have temporary UISourceCodes.
+ https://bugs.webkit.org/show_bug.cgi?id=105856
+
+ Reviewed by Pavel Feldman.
+
+ Workspace now supports several projects with the networkProject being a main one.
+ Replaced temporary UISourceCodes with specific projects (debugger and liveedit).
+ The concept of workspace reset on navigation is now replaced with project reset concept instead.
+ Introduced snippets project (that is not reset on navigation).
+ Script mappings are now reset on GlobalObjectCleared event.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager):
+ (WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
+ (WebInspector.BreakpointManager.prototype._filteredBreakpointLocations):
+ (WebInspector.BreakpointManager.prototype.toggleAllBreakpoints):
+ (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
+ (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
+ (WebInspector.BreakpointManager.prototype._projectWillReset):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype._inspectedURLChanged):
+ (WebInspector.CSSStyleModel.prototype._resetSourceMappings):
+ (WebInspector.CSSStyleModelResourceBinding):
+ (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResourceURL):
+ (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping):
+ (WebInspector.CompilerScriptMapping.prototype._debuggerReset):
+ * inspector/front-end/DebuggerScriptMapping.js:
+ * inspector/front-end/DefaultScriptMapping.js:
+ (WebInspector.DefaultScriptMapping):
+ (WebInspector.DefaultScriptMapping.prototype.addScript):
+ (WebInspector.DefaultScriptMapping.prototype._debuggerReset):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onGetPageResources):
+ * inspector/front-end/FilteredItemSelectionDialog.js:
+ (WebInspector.OpenResourceDialog.show):
+ * inspector/front-end/LiveEditSupport.js:
+ (WebInspector.LiveEditSupport):
+ (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
+ (WebInspector.LiveEditSupport.prototype._debuggerReset):
+ * inspector/front-end/NetworkUISourceCodeProvider.js:
+ (WebInspector.NetworkUISourceCodeProvider):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._mainFrameNavigated):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._reset):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
+ (WebInspector.ResourceScriptMapping.prototype._debuggerReset):
+ * inspector/front-end/RevisionHistoryView.js:
+ (WebInspector.RevisionHistoryView):
+ (WebInspector.RevisionHistoryView.prototype._projectWillReset):
+ * inspector/front-end/SASSSourceMapping.js:
+ (_bindUISourceCode):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel):
+ (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
+ (WebInspector.ScriptSnippetModel.prototype.reset):
+ * inspector/front-end/ScriptsNavigator.js:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype._addUISourceCode):
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
+ (WebInspector.ScriptsPanel.prototype._removeUISourceCodes):
+ (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
+ (WebInspector.ScriptsPanel.prototype._debuggerReset):
+ (WebInspector.ScriptsPanel.prototype._projectWillReset):
+ (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
+ (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
+ (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
+ * inspector/front-end/SimpleWorkspaceProvider.js:
+ (WebInspector.SimpleWorkspaceProvider):
+ (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
+ (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
+ (WebInspector.SimpleWorkspaceProvider.prototype.reset):
+ * inspector/front-end/StylesSourceMapping.js:
+ (WebInspector.StylesSourceMapping):
+ (WebInspector.StylesSourceMapping.prototype._projectWillReset):
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer.prototype.reset):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode.prototype.project):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.WorkspaceController):
+ (WebInspector.WorkspaceController.prototype._inspectedURLChanged):
+ (WebInspector.Project):
+ (WebInspector.Project.prototype.name):
+ (WebInspector.Project.prototype.isServiceProject):
+ (WebInspector.Project.prototype._reset):
+ (WebInspector.Workspace):
+ (WebInspector.Workspace.prototype.uiSourceCodeForURL):
+ (WebInspector.Workspace.prototype.uiSourceCodeForURI):
+ (WebInspector.Workspace.prototype.addProject):
+ (WebInspector.Workspace.prototype.project):
+ (WebInspector.Workspace.prototype.projects):
+ (WebInspector.Workspace.prototype.uiSourceCodes):
+ (WebInspector.Workspace.prototype.projectForUISourceCode):
+ (WebInspector.Workspace.prototype.requestFileContent):
+ (WebInspector.Workspace.prototype.setFileContent):
+ (WebInspector.Workspace.prototype.searchInFileContent):
+ * inspector/front-end/inspector.js:
+ * inspector/front-end/utilities.js:
+
+2013-01-11 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Resources] Make grid columns set configurable.
+ https://bugs.webkit.org/show_bug.cgi?id=105739
+
+ Reviewed by Pavel Feldman.
+
+ Added context menu on grid header to hide/show grid columns.
+ Hidden columns set is persisted.
+
+ * inspector/front-end/DataGrid.js:
+ Fixed show/hide behavior, introduced weight control.
+ * inspector/front-end/NetworkPanel.js:
+ Added member to track visibility of columns in detailerd mode. Added
+ context menu for grid header.
+
+2013-01-11 Andras Becsi <andras.becsi@digia.com>
+
+ [Qt] Fix the build if libxslt is not available but libxml2 is
+ https://bugs.webkit.org/show_bug.cgi?id=106661
+
+ Reviewed by Simon Hausmann.
+
+ On Linux building the xml parser sources fails if the needed libxslt
+ dependencies are not installed but libxml2 is.
+
+ * WebCore.pri: add libxml2 to pkg-config if not on mac.
+
+2013-01-11 Stephen Chenney <schenney@chromium.org>
+ Objects can be re-added to the AXObjectCache during removal
+ https://bugs.webkit.org/show_bug.cgi?id=104171
+
+ The problem occurs when a label's corresponding element is a sibling
+ that precedes it in the render tree, and the corresponding element is
+ removed. The corresponding element's AX render object is removed, but
+ then recreated when accessibilityIsIgnored() invokes correspondingControl()
+ on the label. The corresponding renderer then has an AX render object
+ that survives beyond the deleted renderer, leading to invalid memory
+ accesses.
+
+ The solution is to rearrange the calls to delete the renderer's AX
+ render object only when we are sure it will no longer be required.
+
+ Reviewed by Simon Fraser.
+
+ Test: accessibility/corresponding-control-deleted-crash.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::willBeDestroyed): Move the call to remove the
+ renderer from the AXCache to after the renderer is removed from the
+ render tree. This means that the AXObject still exists during renderer
+ removal, as we require.
+
+2013-01-11 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt][WK1] Web Audio support
+ https://bugs.webkit.org/show_bug.cgi?id=106651
+
+ Reviewed by Jocelyn Turcotte.
+
+ Convert JavaScript Uint8Array to QByteArray. This conversion is necessary to support testRunner.setAudioData().
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::isJSUint8Array):
+ (Bindings):
+ (JSC::Bindings::valueRealType):
+ (JSC::Bindings::convertValueToQVariant):
+
+2013-01-11 Anton Vayvod <avayvod@chromium.org>
+
+ Text Autosizing - elements much narrower than its parent autosizing clusters should be autosized separately.
+ https://bugs.webkit.org/show_bug.cgi?id=105188
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Some blocks of text might be narrower than their parent clusters and should be autosized separately.
+ This helps with autosizing for the pages implementing the sidebars as a narrow blocks of text with wide margins and
+ the main content being positioned atop this margin (or vice versa).
+
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::isContainerAutosizingCluster):
+
+ Returns true if the container is more than 200 pixels narrower than its parent cluster's lowest common
+ ancestor of all the text nodes.
+
+2013-01-11 Andreas Kling <akling@apple.com>
+
+ Remove unused CSSSelector(QualifiedName) constructor.
+ <http://webkit.org/b/106652>
+
+ Reviewed by Antti Koivisto.
+
+ * css/CSSSelector.h:
+ (CSSSelector):
+
+2013-01-11 Zan Dobersek <zandobersek@gmail.com>
+
+ [GTK] Disable the ENABLE_LEGACY_WEB_AUDIO feature define in release builds
+ https://bugs.webkit.org/show_bug.cgi?id=106577
+
+ Reviewed by Philippe Normand.
+
+ The Web Audio feature is not enabled in the release builds, so there's
+ no need to enable the legacy Web Audio API either.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.features.am.in:
+
+2013-01-11 Antoine Quint <graouts@apple.com>
+
+ Web Inspector: Option+Click on Node Expander Doesn't Work the First Time
+ https://bugs.webkit.org/show_bug.cgi?id=66868
+
+ Up to now, the TreeElement.prototype.expandRecursively() method would correctly
+ expand children recursively based on the provided depth, but would not wait to
+ perform this task until all child nodes had been populated, which means that this
+ would only work incrementally with one additional level of child nodes being shown
+ expanded in the DOM tree upon alt+clicking a given node with a deep hierarchy.
+
+ In order to fix this, this patch adds a new optional argument to the DOMAgent's
+ requestChildNodes() methods to provide the depth at which we want to retrieve children
+ of a given node. The DOMAgent provides a new .getSubtree() method that calls
+ requestChildNodes() with the provided depth.
+
+ Then in ElementsTreeOutline, we subclass .expandRecursively() to first call DOMAgent's
+ new .getSubtree() method and then call the default implementation when all nodes
+ have been retrieved from the backend.
+
+ Reviewed by Pavel Feldman.
+
+ Tests: inspector-protocol/dom-request-child-nodes-depth.html
+ inspector/elements/expand-recursively.html
+
+ * inspector/Inspector.json: Add the new `depth` parameter to DOM.requestChildNodes().
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): Add a new optional `depth` parameter
+ which defaults to 1.
+ (WebCore::InspectorDOMAgent::requestChildNodes): Add a new optional `depth` parameter
+ which defaults to 1 and allows -1 as an unbound value.
+ * inspector/InspectorDOMAgent.h:
+ (InspectorDOMAgent):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype.):
+ (WebInspector.DOMNode.prototype.getSubtree): New method allowing to specify at what depth
+ we want to retrieve children of a given node from the backend.
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype.expandRecursively): Override default implementation
+ to first obtain the deepest subtree for the current node so that deep expansion happens as expected.
+
+2013-01-11 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Elements] Search in the DOM tree does not scroll horizontally
+ https://bugs.webkit.org/show_bug.cgi?id=106648
+
+ Reviewed by Vsevolod Vlasov.
+
+ Scroll into view the first match in every tree element, if needed.
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
+
+2013-01-11 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] a minor follow-up to r137262
+ https://bugs.webkit.org/show_bug.cgi?id=106644
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/InjectedScriptCanvasModuleSource.js:
+ (.):
+
+2013-01-11 Kent Tamura <tkent@chromium.org>
+
+ BaseDateAndTimeInputType should not inherit from TextFieldInputType
+ https://bugs.webkit.org/show_bug.cgi?id=106306
+
+ Reviewed by Hajime Morita.
+
+ Date/time input types don't need text-field features at all.
+
+ No new tests. This should not make any behavior changes except reduction
+ of memory usage.
+
+ * html/BaseDateAndTimeInputType.h:
+ Inherit InputType instead of TextFieldInputType.
+ (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
+ (BaseDateAndTimeInputType): Update function declarations.
+ * html/BaseDateAndTimeInputType.cpp:
+ Remove handleKeydownEvent and convertFromVisibleValue, which are for
+ TextFieldInputType.
+ (WebCore::BaseDateAndTimeInputType::shouldRespectListAttribute):
+ Added. This is necessary for <datalist> support. TextFieldInputType has
+ the same code.
+ (WebCore::BaseDateAndTimeInputType::valueMissing):
+ Added. This is necessary for validity.valueMissing. TextFieldInputType
+ has the same code.
+
+ * html/BaseChooserOnlyDateAndTimeInputType.cpp:
+ Remove unnecessary functions which cancel TextFieldInputType behavior.
+ * html/BaseChooserOnlyDateAndTimeInputType.h:
+ (BaseChooserOnlyDateAndTimeInputType): Remove declarations for them.
+
+ * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+ Remove unnecessary functions which cancel TextFieldInputType behavior.
+ * html/BaseMultipleFieldsDateAndTimeInputType.h:
+ (BaseMultipleFieldsDateAndTimeInputType):
+ Add SpinButtonOwner interface. We didn't need it because
+ TextFieldInputType implements it.
+
+2013-01-11 Mary Wu <mary.wu@torchmobile.com.cn>
+
+ [BlackBerry] Enable concatenating headers with same field name
+ https://bugs.webkit.org/show_bug.cgi?id=106625
+
+ Reviewed by Rob Buis.
+
+ RFC 2616 specifies that headers could concatenate with comma if they have
+ same field name. We should enable this if the header allows multiple values.
+
+ RIM PR# 275508, internally reviewed by Joe Mason
+
+ (WebCore):
+ (WebCore::isAppendableHeader):
+ (WebCore::NetworkJob::handleNotifyHeaderReceived):
+
+2013-01-11 Jochen Eisinger <jochen@chromium.org>
+
+ Connect UserGestureIndicator for mousedown and mouseup events
+ https://bugs.webkit.org/show_bug.cgi?id=105138
+
+ Reviewed by Adam Barth.
+
+ Ports that consume user gestures to prevent certain types of pop-ups
+ need to be able to connect mousedown and mouseup events, otherwise, a
+ single mouse click will allow for opening multiple pop-ups.
+
+ Note that a mousedown is not always followed by a mouseup and vice
+ versa, e.g. when the mousedown results in a context menu being shown, or
+ something is dragged into the page.
+
+ Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-two-events.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::clear):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ * page/EventHandler.h:
+
+2013-01-11 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Resources] "Delete" cookie deletes all cookies with matching name.
+ https://bugs.webkit.org/show_bug.cgi?id=105633
+
+ Reviewed by Pavel Feldman.
+
+ "Delete" cookie deletes all cookies with matching name,
+ ignoring domain and path.
+
+ * inspector/Inspector.json: Change argument "domain" to "url"
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::deleteCookie): Use url to delte cookies.
+ * inspector/InspectorPageAgent.h: Adopt new signature.
+ * inspector/front-end/CookieItemsView.js:
+ (WebInspector.CookieItemsView.prototype._deleteCookie): Ditto.
+
+2013-01-11 KwangYong Choi <ky0.choi@samsung.com>
+
+ [EFL] Fix unused parameter build error
+ https://bugs.webkit.org/show_bug.cgi?id=106639
+
+ Reviewed by Kentaro Hara.
+
+ Use UNUSED_PARAM macro to fix build error.
+
+ No new tests, no behavior change.
+
+ * platform/efl/EflScreenUtilities.cpp:
+ (WebCore::isUsingEcoreX):
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::supportsDataListUI):
+
+2013-01-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector [chromium]: Debugger.globalObjectCleared is not dispatched on reload after renderer swap
+ https://bugs.webkit.org/show_bug.cgi?id=106555
+
+ Reviewed by Vsevolod Vlasov.
+
+ Wrong ::enable was made virtual in the InspectorDebuggerAgent.
+
+ Test: inspector/debugger/debugger-scripts-reload.html
+
+ * inspector/InspectorDebuggerAgent.h:
+ (InspectorDebuggerAgent):
+ * inspector/PageDebuggerAgent.cpp:
+ (WebCore::PageDebuggerAgent::enable):
+ (WebCore::PageDebuggerAgent::disable):
+ * inspector/PageDebuggerAgent.h:
+ (PageDebuggerAgent):
+
+2013-01-11 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Refactoring, move NetworkWorkspaceProvider to NetworkUISourceCodeProvider.js and rename its parent to SimpleWorkspaceProvider.
+ https://bugs.webkit.org/show_bug.cgi?id=106635
+
+ Reviewed by Pavel Feldman.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/DebuggerScriptMapping.js:
+ (WebInspector.DebuggerScriptMapping):
+ * inspector/front-end/DefaultScriptMapping.js:
+ (WebInspector.DefaultScriptMapping):
+ (WebInspector.DefaultScriptMapping.prototype.addScript):
+ (WebInspector.DebuggerWorkspaceProvider):
+ (WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
+ * inspector/front-end/LiveEditSupport.js:
+ (WebInspector.LiveEditSupport):
+ (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
+ (WebInspector.LiveEditWorkspaceProvider):
+ (WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
+ * inspector/front-end/NetworkUISourceCodeProvider.js:
+ (WebInspector.NetworkWorkspaceProvider):
+ (WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
+ * inspector/front-end/SimpleWorkspaceProvider.js: Renamed from Source/WebCore/inspector/front-end/NetworkWorkspaceProvider.js.
+ (WebInspector.SimpleWorkspaceProvider):
+ (WebInspector.SimpleWorkspaceProvider.uriForURL):
+ (WebInspector.SimpleWorkspaceProvider.prototype.requestFileContent):
+ (WebInspector.SimpleWorkspaceProvider.prototype.setFileContent):
+ (WebInspector.SimpleWorkspaceProvider.prototype.searchInFileContent):
+ (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
+ (WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
+ (WebInspector.SimpleWorkspaceProvider.prototype.uniqueURI):
+ (WebInspector.SimpleWorkspaceProvider.prototype.reset):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2013-01-10 Grzegorz Czajkowski <g.czajkowski@samsung.com>
+
+ On Linux, should be able to get spelling suggestions without selecting the misspelled word
+ https://bugs.webkit.org/show_bug.cgi?id=103520
+
+ Reviewed by Ryosuke Niwa.
+
+ Allow to get/insert spelling suggestions without selecting the misspelled word for
+ Linux WebKit ports. WebCore assumes that the misspelled word has to be selected
+ to get its suggestions.
+
+ In compliance with native application behaviour a new editing policy is introduced,
+ to do not highlight the misspelled word to just get its guesses.
+
+ No new tests, covered by context-menu-suggestions.html.
+
+ * WebCore.exp.in:
+ Remove _ZN7WebCore6Editor21isSelectionMisspelledEv symbol as Mac port doesn't
+ need it any longer.
+
+ * editing/EditingBehavior.h:
+ (EditingBehavior):
+ (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
+ Add a new behavior for Linux, to allow spelling suggestions without selecting
+ the misspelled word.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::isContinuousSpellCheckingEnabled):
+ Add missing const modifier, to use this method in 'misspelledWordAtCaretOrRange() const'.
+
+ (WebCore::Editor::misspelledWordAtCaretOrRange):
+ Allow to check spelling under the caret or selected word.
+ Does nothing for selection made on the multiple words.
+
+ (WebCore::Editor::misspelledSelectionString):
+ Return the misspelled selection.
+
+ (WebCore::Editor::guessesForMisspelledWord):
+ Remove 'Selection' from method name as it may return guesses without selection.
+
+ (WebCore::Editor::guessesForMisspelledOrUngrammatical):
+ Ditto.
+
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+ Select the word under caret to meet the conditions from misspelledWordAtCaretOrRange.
+
+ (WebCore::ContextMenuController::populate):
+ Update guessesForMisspelledOrUngrammatical call.
+
+2013-01-10 Hajime Morrita <morrita@google.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=106283
+ [Shadow DOM] HTMLContentElement and HTMLShadowElement should be behind SHADOW_DOM
+
+ Reviewed by Kentaro Hara.
+
+ No new tests. Covered by existing tests.
+
+ This change moves <content> and <shadow> behind
+ ENABLE(SHADOW_DOM). Note that empty stub definitions are remaining
+ even after this change. They are for minimizing #if/#endif usage
+ and won't hurt code size.
+
+ * WebCore.exp.in:
+ * html/InputType.cpp:
+ (WebCore::InputType::destroyShadowSubtree):
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ContentDistributor::distribute):
+ * html/shadow/HTMLContentElement.cpp:
+ (WebCore):
+ (WebCore::HTMLContentElement::create):
+ (WebCore::HTMLContentElement::HTMLContentElement):
+ * html/shadow/HTMLContentElement.h:
+ (WebCore):
+ (HTMLContentElement):
+ * html/shadow/HTMLShadowElement.cpp:
+ * html/shadow/HTMLShadowElement.h:
+ (WebCore):
+ (WebCore::isHTMLShadowElement):
+ (WebCore::toHTMLShadowElement):
+ * html/shadow/TextFieldDecorationElement.cpp:
+ (WebCore::TextFieldDecorationElement::decorate):
+ * testing/Internals.cpp:
+ (WebCore::Internals::createContentElement):
+ (WebCore::Internals::isValidContentSelect):
+
+2013-01-10 Takashi Sakamoto <tasak@google.com>
+
+ Implement CSSGroupingRule for @host @-rules and @supports.
+ https://bugs.webkit.org/show_bug.cgi?id=106418
+
+ Reviewed by Antti Koivisto.
+
+ CSSGroupingRule is to share code between CSSMediaRule, CSSSupportsRule
+ and CSSHostRule. @supports and @host @-rules are dervied from
+ CSSGroupingRule:
+ http://www.w3.org/TR/2012/WD-css3-conditional/#the-cssgroupingrule-interface
+ https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#css-host-rule-interface
+ Since @media is also derived from CSSGroupingRule and @region has the
+ same interface as CSSGroupingRule, modify to use CSSGroupingRule:
+ http://dev.w3.org/csswg/css3-regions/#the-at-region-style-rule
+
+ No new tests, because no new feature is implemented.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Added CSSGroupingRule.h and CSSGroupingRule.cpp.
+ * css/CSSAllInOne.cpp:
+ Modified to include CSSGroupingRule.cpp.
+ * css/CSSGroupingRule.cpp: Added.
+ (WebCore):
+ (WebCore::CSSGroupingRule::CSSGroupingRule):
+ (WebCore::CSSGroupingRule::~CSSGroupingRule):
+ (WebCore::CSSGroupingRule::insertRule):
+ (WebCore::CSSGroupingRule::deleteRule):
+ (WebCore::CSSGroupingRule::appendCssTextForItems):
+ (WebCore::CSSGroupingRule::length):
+ (WebCore::CSSGroupingRule::item):
+ (WebCore::CSSGroupingRule::cssRules):
+ (WebCore::CSSGroupingRule::reattach):
+ (WebCore::CSSGroupingRule::reportMemoryUsage):
+ These codes are moved from CSSMediaRule and WebKitCSSRegionRule.
+ * css/CSSGroupingRule.h:
+ (WebCore):
+ (CSSGroupingRule):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::CSSMediaRule):
+ (WebCore::CSSMediaRule::~CSSMediaRule):
+ Make CSSMediaRule inherit CSSGroupingRule.
+ (WebCore::CSSMediaRule::media):
+ (WebCore::CSSMediaRule::reattach):
+ Keep the code for updating media queries' CSSOMWrapper.
+ (WebCore::CSSMediaRule::reportMemoryUsage):
+ We need to report media queries' CSSOMWrapper memory usage.
+ (WebCore::CSSMediaRule::mediaQueries):
+ (WebCore::CSSMediaRule::cssText):
+ * css/CSSMediaRule.h:
+ * css/WebKitCSSRegionRule.cpp:
+ Make WebKitCSSRegionRule inherit CSSGroupingRule.
+ (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
+ (WebCore::WebKitCSSRegionRule::cssText):
+ * css/WebKitCSSRegionRule.h:
+ * css/StyleRule.h:
+ Added inlined accessor to obtain StyleRuleMedia* and StyleRuleRegion*
+ from StyleRuleBlock*.
+
+2012-12-28 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] add an option to reload the page if there is an uninstrumented canvas
+ https://bugs.webkit.org/show_bug.cgi?id=105822
+
+ Reviewed by Pavel Feldman.
+
+ Show in the front-end an option to reload the page if there is an uninstrumented canvas.
+
+ * inspector/front-end/CanvasProfileView.js:
+ (WebInspector.CanvasProfileType):
+ (WebInspector.CanvasProfileType.prototype.decorationElement):
+ (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
+ (WebInspector.CanvasProfileType.prototype._onReloadPageButtonClick):
+ * inspector/front-end/ProfileLauncherView.js:
+ (WebInspector.ProfileLauncherView.prototype.addProfileType):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfileType.prototype.decorationElement):
+
+2013-01-10 Dimitri Glazkov <dglazkov@chromium.org>
+
+ The word "selector" is somewhat redundant redundantly used in SelectorChecker.
+ https://bugs.webkit.org/show_bug.cgi?id=106413
+
+ In https://bugs.webkit.org/show_bug.cgi?id=105864, Antti suggested reducing some of the redundant uses of the word
+ "selector" in SelectorChecker. Here's a start.
+
+ Reviewed by Antti Koivisto.
+
+ Simple renames, no change in behavior.
+
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::match): Renamed.
+ (WebCore):
+ (WebCore::SelectorChecker::fastCheck): Ditto,
+ (WebCore::SelectorChecker::checkOne): Ditto.
+ * css/SelectorChecker.h:
+ (SelectorChecker):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use new name.
+ (WebCore::StyleResolver::ruleMatches): Renamed from checkSelector to better match argument and return value.
+ (WebCore::StyleResolver::checkRegionSelector): Changed to use new names.
+ * css/StyleResolver.h:
+ (StyleResolver):
+ * dom/SelectorQuery.cpp:
+ (WebCore::SelectorDataList::matches): Ditto.
+ (WebCore::SelectorDataList::execute): Ditto.
+ * html/shadow/ContentSelectorQuery.cpp:
+ (WebCore::ContentSelectorChecker::checkContentSelector): Ditto.
+
+2013-01-10 John J. Barton <johnjbarton@chromium.org>
+
+ Web Inspector: Pass the script url to the script-preprocessor script
+ https://bugs.webkit.org/show_bug.cgi?id=104384
+
+ Reviewed by Pavel Feldman.
+
+ Add url argument to the script-preprocessor script in PageAgent.reload()
+
+ Test: inspector/debugger/debugger-script-preprocessor.html
+
+ * bindings/v8/DebuggerScript.js:
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::ScriptPreprocessor::ScriptPreprocessor):
+ (WebCore::ScriptDebugServer::ScriptPreprocessor::preprocessSourceCode):
+ (WebCore::ScriptDebugServer::handleV8DebugEvent):
+ * bindings/v8/custom/V8InjectedScriptManager.cpp:
+ (WebCore::InjectedScriptManager::createInjectedScript):
+
+2013-01-10 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: DataGrid refactoring: make cell editing more generic.
+ https://bugs.webkit.org/show_bug.cgi?id=105849
+
+ Reviewed by Pavel Feldman.
+
+ Editing feature has been added to DataGrid to edit localStorage.
+ Column numbers (0 and 1) are hardcoded.
+
+ This patch makes column editing feature more generic: remove hardcoded
+ colums, take "editable" column property into account.
+
+ This patch is a prerequisite for cookie editing.
+
+ * inspector/front-end/DOMStorageItemsView.js:
+ Use meaningful column names.
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid.prototype._ondblclick): Check column editability.
+ (WebInspector.DataGrid.prototype._contextMenuInDataTable): Ditto.
+ (WebInspector.DataGridNode.prototype.createCell):
+ Supply cell element with column id.
+ (WebInspector.DataGrid.prototype.columnIdentifierFromNode):
+ Added utility method.
+ (WebInspector.DataGrid.prototype._nextEditableColumn): Ditto.
+ (WebInspector.DataGrid.prototype._keyDown): Calculate editable column.
+ (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
+ (WebInspector.DataGrid.prototype._startEditing): Ditto.
+ (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
+ Refined parameter type / name.
+ (WebInspector.DataGrid.prototype._resizerDragging):
+ Fix resizer index property names.
+ (WebInspector.DataGrid.prototype._startResizerDragging): Ditto.
+ (WebInspector.DataGrid.prototype._positionResizers): Ditto.
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded): Ditto.
+
+2013-01-10 Matt Falkenhagen <falken@chromium.org>
+
+ Elements must be reattached when inserted/removed from top layer
+ https://bugs.webkit.org/show_bug.cgi?id=105489
+
+ Reviewed by Julien Chaffraix.
+
+ Ensure a reattach occurs when an element is inserted/removed from top layer, so its renderer can be inserted correctly:
+ as a child of RenderView in top layer sibling order if it's in the top layer, and in the usual place otherwise.
+
+ We previously relied on style recalc to catch when an element is inserted/removed from the top layer, because it
+ only happens on dialog.show/close which toggle display: none. But that is incorrect because, for example, close()
+ followed immediately by show() results in no style change.
+
+ Tests: fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html
+ fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::removedFrom): Call Document::removeFromTopLayer to let the element be removed from the top layer vector.
+ removeFromTopLayer calls Element::setIsInTopLayer(false) itself if needed.
+ (WebCore::Element::setIsInTopLayer): Ensure a reattach occurs if the element is already attached.
+
+2013-01-10 Shinya Kawanaka <shinyak@chromium.org>
+
+ When a selected node in nested ShadowDOM is deleted, selection have wrong range.
+ https://bugs.webkit.org/show_bug.cgi?id=106526
+
+ Reviewed by Ryosuke Niwa.
+
+ Since FrameSelection and htmlediting did not consider nested Shadow DOM, the FrameSelection still selects
+ removed elements if selected nodes in nested Shadow DOM are removed.
+
+ We have to use containsIncludingShadowDOM to handle with nested Shadow DOM correctly.
+
+ Test: fast/dom/shadow/selection-in-nested-shadow.html
+
+ * editing/FrameSelection.cpp:
+ (WebCore::removingNodeRemovesPosition):
+ * editing/htmlediting.cpp:
+ (WebCore::updatePositionForNodeRemoval):
+
+2013-01-10 Hajime Morrita <morrita@google.com>
+
+ [Shadow DOM] Refactoring: InsertionPoint could simplify its subclass hooks
+ https://bugs.webkit.org/show_bug.cgi?id=106614
+
+ Reviewed by Dimitri Glazkov.
+
+ This change simplifies InsertionPoint overrides and give some flexibility to it.
+
+ The change
+
+ - Removes InsertionPoint::isSelectValid(). now ContentSelectorQuery parses given selector anyway.
+ Invalid select attribute is handled by newly introduced matchTypeFor() method.
+ - Introduces InsertionPoint::matchTypeFor() to give a chance each InsertionPoint to decide whether it
+ accepts the given node as its distribution. Then it lets DetailsSummaryElement adopt it.
+ - Pulls some HTMLShadowElement overrides up to InsertionPoint so that other upcoming InsertionPoint
+ subclasses don't need to override them.
+
+ No new tests. Refactoring.
+
+ * html/HTMLDetailsElement.cpp:
+ (WebCore::DetailsSummaryElement::DetailsSummaryElement):
+ - Implemented matchTypeFor() to get rid of HTMLContentElement machinery which is compiled out in the upcoming change.
+ (DetailsSummaryElement):
+ * html/shadow/ContentSelectorQuery.cpp:
+ (WebCore::ContentSelectorQuery::ContentSelectorQuery):
+ (WebCore::ContentSelectorQuery::matches):
+ * html/shadow/HTMLContentElement.cpp:
+ (WebCore::HTMLContentElement::matchTypeFor): Added.
+ (WebCore):
+ * html/shadow/HTMLContentElement.h:
+ (HTMLContentElement):
+ (WebCore::isHTMLContentElement):
+ * html/shadow/HTMLShadowElement.cpp:
+ * html/shadow/HTMLShadowElement.h:
+ (HTMLShadowElement):
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore::InsertionPoint::emptySelectorList): Moved from HTMLShadowElement.
+ (WebCore):
+ * html/shadow/InsertionPoint.h:
+ (WebCore::InsertionPoint::matchTypeFor): Added.
+ (WebCore::InsertionPoint::selectorList): Moved from HTMLShadowElement.
+ (InsertionPoint):
+ * testing/Internals.cpp:
+ (WebCore::Internals::isValidContentSelect):
+
+2013-01-10 Dean Jackson <dino@apple.com>
+
+ Plugin snapshot label should take device resolution and inset into account
+ https://bugs.webkit.org/show_bug.cgi?id=106619
+
+ Reviewed by Simon Fraser.
+
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore::RenderSnapshottedPlugIn::paintLabel): Take into account the inset in the label image.
+ (WebCore::RenderSnapshottedPlugIn::tryToFitStartLabel): Look at the page's device scale, and adjust the label image accordingly.
+
+2013-01-10 James Robinson <jamesr@chromium.org>
+
+ [chromium] Store scrollable layer's contents size for coordinated scrollable layers
+ https://bugs.webkit.org/show_bug.cgi?id=106518
+
+ Reviewed by Adrienne Walker.
+
+ This stores a scrollable layer's contentsSize in the scroll layer's bounds, which is otherwise not useful. This
+ value is currently calculated based on fragile knowledge of the tree structure immediately beneath a scrollable
+ layer.
+
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
+
+2013-01-10 Dan Beam <dbeam@chromium.org>
+
+ Implement AutocompleteErrorEvent#reason
+ https://bugs.webkit.org/show_bug.cgi?id=105568
+
+ Reviewed by Adam Barth.
+
+ Test: fast/events/constructors/autocomplete-error-event-constructor.html
+
+ * WebCore.gypi: Added AutocompleteErrorEvent.idl and AutocompleteErrorEvent.h for chromium port's build.
+ * dom/AutocompleteErrorEvent.h: Added.
+ (WebCore): Added new type of error named AutocompleteErrorEvent.
+ (AutocompleteErrorEventInit): Added init params for AutocompleteErrorEvents (so initEvent() can be used).
+ (AutocompleteErrorEvent): Added a new error event that inherits from Event but also has a reason for failure.
+ (WebCore::AutocompleteErrorEvent::create): Factory function to create AutocompleteErrorEvents.
+ (WebCore::AutocompleteErrorEvent::reason): The reason why a requestAutocomplete() invocation failed. Can be
+ "disabled", "cancel", or "invalid".
+ (WebCore::AutocompleteErrorEvent::interfaceName): The name of the event's interface (for event.toString()).
+ (WebCore::AutocompleteErrorEvent::AutocompleteErrorEvent): Various ways of constructing the error event.
+ * dom/AutocompleteErrorEvent.idl: Added.
+ * dom/EventNames.in: Added AutocompleteError to this list, based on REQUEST_AUTOCOMPLETE conditional.
+ * html/HTMLFormElement.cpp: Updated form elements to dispatch AutocompleteErrorEvents on errors and to give
+ more details (event.reason) when the request fails.
+ (WebCore::HTMLFormElement::requestAutocomplete): Changed to newly added failure type "disabled".
+ (WebCore::HTMLFormElement::finishRequestAutocomplete): Changed
+ * html/HTMLFormElement.h: Added new results (ErrorDisabled, ErrorCancel, ErrorInvalid).
+ * page/DOMWindow.idl: Added global event constructor for new AutocompleteErrorEvent() style event creation.
+
+2013-01-10 Yong Li <yoli@rim.com>
+
+ HTMLMediaElement::resume() should schedule a load rather than load immediately
+ https://bugs.webkit.org/show_bug.cgi?id=106587
+
+ Reviewed by Eric Carlson.
+
+ It is not always safe to start the jobs at the time resume() is called. That is why the jobs are
+ suspended. It can also be suspended again right after being resumed.
+
+ No new tests as there is no visible functional change, also it is a theoretically good-to-have change
+ that doesn't fix any known cross-platform issue.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::resume): Replace load() with scheduleLoad().
+
+2013-01-10 Adam Barth <abarth@webkit.org>
+
+ Add an ENABLE macro and a WebCore::Setting for the threaded parser
+ https://bugs.webkit.org/show_bug.cgi?id=106595
+
+ Reviewed by Benjamin Poulain.
+
+ This patch adds both a WebCore::Setting and an ENABLE macro for the
+ threaded parser. We plan to keep the ENABLE macro off by default for a
+ while. The runtime setting will let us more easily conduct A/B
+ experiments when the time arises.
+
+ * page/Settings.in:
+
+2013-01-10 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Regression(r129944): Heap-use-after-free in WebCore::computeNonFastScrollableRegion
+ https://bugs.webkit.org/show_bug.cgi?id=99515
+
+ Reviewed by Simon Fraser.
+
+ The object used-after-freed is a destructed FrameView that is still in the m_scrollableAreas set of the parent FrameView. Actually it has been removed from m_scrollableAreas when setParent(0), but then is added back in updateScrollableAreaSet() because its frameViewParent() is still not 0 (though parent() is already 0).
+
+ No new tests. The heap-use-after-free doesn't always cause crash so it can't be stably tested with a test case. Memory analysis tools like asan discovered the heap-use-after-free and verified that the patch can fix the issue.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::parentFrameView): Checks if the FrameView has been removed from the parent.
+
+2013-01-10 John Mellor <johnme@chromium.org>
+
+ Fix scale of screen.width, window.outerWidth and @media device-width when page scale not applied in compositor.
+ https://bugs.webkit.org/show_bug.cgi?id=106460
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ screen.width, window.outerWidth and @media device-width should be in
+ density independent (UI) pixels, not physical screen pixels.
+
+ This already works on most ports (including iOS). However Chrome for
+ Android currently internally sizes its windows in physical screen pixels
+ instead of density independent pixels, and this leaks through in the
+ sizes provided to WebCore.
+
+ This patch scales these sizes appropriately before they reach JavaScript,
+ on platforms where the applyPageScaleFactorInCompositor setting is false
+ (i.e. just Chrome for Android). Once Chrome for Android switches over to
+ the same coordinate space, the applyPageScaleFactorInCompositor setting
+ will be removed, along with any code (such as this) that depends on it.
+
+ The effect of this patch on Chrome for Android when viewing a page with
+ a width=device-width viewport on a Galaxy Nexus (720x1280 @ dPR 2) is:
+ @media device-width changes from 720 to 360
+ screen.width changes from 720 to 360
+ screen.availWidth changes from 720 to 360
+ window.outerWidth changes from 720 to 360
+ window.innerWidth remains 360 (at overview zoom)
+ @media width remains 360
+ document.documentElement.clientWidth remains 360
+ document.documentElement.offsetWidth remains 360
+ document.documentElement.scrollWidth remains 360
+ document.body.clientWidth remains 360
+ document.body.offsetWidth remains 360
+ document.body.scrollWidth remains 360
+ And similarly for heights (though they are slightly less than 640, since
+ toolbars etc. get subtracted from the available height).
+
+ No new tests, as applyDeviceScaleFactorInCompositor appears to always be
+ true in DumpRenderTree, so this situation cannot occur there.
+
+ * page/Settings.in:
+ Added applyDeviceScaleFactorInCompositor setting, which allows
+ detecting whether we need to normalize the scale.
+ * platform/chromium/PlatformScreenChromium.cpp:
+ (WebCore::toUserSpace):
+ Static function for normalizing screen rect scale.
+ (WebCore::screenRect):
+ Uses toUserSpace.
+ (WebCore::screenAvailableRect):
+ Uses toUserSpace.
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::processSubtree):
+ Use applyDeviceScaleFactorInCompositor instead of
+ applyPageScaleFactorInCompositor, to scale the window rect correctly
+ on platforms other than Chrome for Android.
+
+2013-01-10 Florin Malita <fmalita@chromium.org>
+
+ Rename GraphicsContext::addRoundedRectClip
+ https://bugs.webkit.org/show_bug.cgi?id=106581
+
+ Reviewed by Simon Fraser.
+
+ This patch renames GraphicsContext::addRoundedRectClip to clipRoundedRect for consistency
+ with the other GC clipping methods.
+
+ No new tests: no functional changes.
+
+ * WebCore.order:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::clipRoundedRect):
+ * platform/graphics/GraphicsContext.h:
+ (GraphicsContext):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::clipRoundedRect):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBoxDecorations):
+ (WebCore::RenderBox::pushContentsClip):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
+ (WebCore::RenderBoxModelObject::paintBorder):
+ (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::clipToRect):
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore):
+ (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
+ * rendering/RenderThemeMacShared.mm:
+ (WebCore::RenderThemeMacShared::paintMenuListButtonGradients):
+ (WebCore::RenderThemeMacShared::paintSliderTrack):
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
+ (WebCore::RenderThemeSafari::paintSliderTrack):
+ * rendering/RenderThemeWinCE.cpp:
+ (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
+
+2013-01-10 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Adding the new id attribute to MediaStream and MediaStreamTrack
+ https://bugs.webkit.org/show_bug.cgi?id=106564
+
+ Reviewed by Adam Barth.
+
+ Specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ MediaStream looses its label attribute and instead gets an id attribute.
+ MediaStreamTrack gets an id attribute.
+
+ Not testable yet, will add tests in a followup patch.
+
+ * Modules/mediastream/MediaStream.h:
+ (WebCore::MediaStream::label):
+ (MediaStream):
+ (WebCore::MediaStream::id):
+ * Modules/mediastream/MediaStream.idl:
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::id):
+ (WebCore):
+ * Modules/mediastream/MediaStreamTrack.h:
+ * Modules/mediastream/MediaStreamTrack.idl:
+ * platform/chromium/support/WebMediaStreamComponent.cpp:
+ (WebKit::WebMediaStreamComponent::initialize):
+ (WebKit):
+ (WebKit::WebMediaStreamComponent::isEnabled):
+ (WebKit::WebMediaStreamComponent::id):
+ (WebKit::WebMediaStreamComponent::source):
+ * platform/chromium/support/WebMediaStreamDescriptor.cpp:
+ (WebKit::WebMediaStreamDescriptor::label):
+ (WebKit):
+ (WebKit::WebMediaStreamDescriptor::id):
+ * platform/mediastream/MediaStreamComponent.h:
+ (WebCore::MediaStreamComponent::id):
+ (WebCore::MediaStreamComponent::MediaStreamComponent):
+ (MediaStreamComponent):
+ * platform/mediastream/MediaStreamDescriptor.h:
+ (WebCore::MediaStreamDescriptor::create):
+ (WebCore::MediaStreamDescriptor::id):
+ (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
+ (MediaStreamDescriptor):
+
+2013-01-10 Ojan Vafai <ojan@chromium.org>
+
+ Flexboxes incorrectly add the scrollbar width to the intrinsic width of fixed-width items
+ https://bugs.webkit.org/show_bug.cgi?id=106591
+
+ Reviewed by Levi Weintraub.
+
+ The scrollbar width should only be added if the width of the flex item
+ is not fixed.
+
+ Test: fast/css/fixed-width-intrinsic-width-excludes-scrollbars.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computePreferredLogicalWidths):
+ Use shared helper method. This also happens to fix the vertical
+ writing-mode case.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::instrinsicScrollbarLogicalWidth):
+ (WebCore):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ Add a method for determining the scrollbar's contribution to the boxes
+ intrinsic width.
+
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
+ Use shared code for determining the scrollbar width and only add the
+ width when computing the intrinsic widths.
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::computePreferredLogicalWidths):\
+ Just adding a FIXME to account for scrollbar width.
+
+2013-01-10 Nate Chapin <japhet@chromium.org>
+
+ Replace unnecessary null-checks with an assert in MainResourceLoader::continueAfterNavigationPolicy.
+ https://bugs.webkit.org/show_bug.cgi?id=106476
+
+ Reviewed by Alexey Proskuryakov.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::continueAfterNavigationPolicy): Null-checks for resourceLoader were
+ added in an abundance of caution in r139150. Given that we know the load hasn't been cancelled,
+ resourceLoader can only be null if continueAfterNavigationPolicy() has already been called
+ before when m_substituteData is valid. continueAfterNavigationPolicy() is only called for redirects,
+ and SubstituteData doesn't support redirects, so it is correct to assert that resourceLoader is non-null.
+
+2013-01-10 Levi Weintraub <leviw@chromium.org>
+
+ ScrollingCoordinator touch event hit rects aren't converted to proper coordinates when in nested views
+ https://bugs.webkit.org/show_bug.cgi?id=106383
+
+ Reviewed by James Robinson.
+
+ ScrollingCoordinator uses clippedOverflowRectForRepaint(0) to generate the bounds for a renderer's hit
+ testing rect. The rect this returns is in the coordinates of its document. This change converts the
+ rect to the outermost view's coordinate system using convertToContainingView.
+
+ Tests: platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::accumulateRendererTouchEventTargetRects):
+
+2013-01-10 Levi Weintraub <leviw@chromium.org>
+
+ Regression(r137939): Heap-use-after-free in WebCore::accumulateDocumentEventTargetRects
+ https://bugs.webkit.org/show_bug.cgi?id=106454
+
+ Reviewed by James Robinson.
+
+ Correctly removing child Documents from their parent's tracked touch handler maps when detaching and
+ when their last touch event handler is removed.
+
+ Test: fast/events/touch/nested-document-with-touch-handler-detached-crash.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::detach):
+ (WebCore::Document::didRemoveEventTargetNode):
+
+2013-01-10 Nate Chapin <japhet@chromium.org>
+
+ REGRESSION(r138222): WebDocumentLoaderMac-related leaks seen on Leaks bot
+ https://bugs.webkit.org/show_bug.cgi?id=106137
+
+ Reviewed by Brady Eidson.
+
+ Tested manually by comparing before and after leaks output for WK1-mac.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::receivedError): Call dispatchDidFailLoading() if
+ a SubstituteData load fails or is cancelled. Without this call, load counts
+ are not balanced on WebDocumentLoaderMac and it is retained forever.
+ (WebCore::MainResourceLoader::didFinishLoading):
+
+2013-01-10 Robert Kroeger <rjkroege@chromium.org>
+
+ Manually revert http://trac.webkit.org/changeset/136012
+ https://bugs.webkit.org/show_bug.cgi?id=106580
+
+ Reviewed by Dimitri Glazkov.
+
+ 136012 broke touch-scrolling of an overflow div in an iframe. Revert manually
+ to work around conflicts.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleWheelEvent):
+
2013-01-10 Robert Hogan <robert@webkit.org>
REGRESSION(r136967): margin-top + overflow:hidden causes incorrect layout for internal floated elements
« no previous file with comments | « LayoutTests/platform/mac/TestExpectations ('k') | Source/WebCore/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698