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.
+