Add support for ASSERT_WITH_SECURITY_IMPLICATION.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-01-23  Abhishek Arya  <inferno@chromium.org>
2
3         Add support for ASSERT_WITH_SECURITY_IMPLICATION.
4         https://bugs.webkit.org/show_bug.cgi?id=107699
5
6         Reviewed by Eric Seidel.
7
8         * dom/ContainerNode.cpp:
9         (WebCore::ContainerNode::parserInsertBefore): Use ASSERT_WITH_SECURITY_IMPLICATION
10         for document confusion ASSERT(document() == newChild->document())
11         (WebCore::ContainerNode::parserAppendChild): same.
12
13 2013-01-23  Ian Vollick  <vollick@chromium.org>
14
15         Unreviewed build fix.
16
17         * rendering/RenderLayer.cpp:
18         (WebCore::RenderLayer::rebuildZOrderLists):
19
20 2013-01-23  Rafael Weinstein  <rafaelw@chromium.org>
21
22         Template element should parse in XHTML just as it does in HTML
23         https://bugs.webkit.org/show_bug.cgi?id=106491
24
25         Reviewed by Ryosuke Niwa.
26
27         https://dvcs.w3.org/hg/webcomponents/raw-file/f33622c39c5e/spec/templates/index.html#parsing-xhtml-documents.
28         https://dvcs.w3.org/hg/webcomponents/raw-file/f33622c39c5e/spec/templates/index.html#serializing-xhtml-documents.
29
30         This patch modifies the XML parser in two ways: (1) when nodes are created, their owner document is
31         the owner document of the current node, rather than the containing document, and (2) when an HTMLTemplateElement
32         is encountered, its content document fragment is pushed onto the stack, rather than the element itself, so that children
33         are appended to the template content. Also, because XSLT operates on the serialized input document, transforms consider
34         template contents to be descendants.
35
36         Tests: fast/dom/HTMLTemplateElement/xhtml-parsing-and-serialization.xml
37                fast/xpath/xpath-template-element.html
38                fast/xsl/xslt-processor-template.html
39                fast/xsl/xslt-xhtml-template.xml
40
41         * xml/parser/XMLDocumentParser.cpp:
42         (WebCore::XMLDocumentParser::enterText):
43         * xml/parser/XMLDocumentParserLibxml2.cpp:
44         (WebCore::XMLDocumentParser::startElementNs):
45         (WebCore::XMLDocumentParser::processingInstruction):
46         (WebCore::XMLDocumentParser::cdataBlock):
47         (WebCore::XMLDocumentParser::comment):
48
49 2013-01-23  Tony Gentilcore  <tonyg@chromium.org>
50
51         Teach threaded HTML parser to update InspectorInstrumentation when writing HTML
52         https://bugs.webkit.org/show_bug.cgi?id=107755
53
54         Reviewed by Eric Seidel.
55
56         The current length is unused, so it doesn't cause any noticeable behavior difference to not pass it here.
57
58         No new tests because covered by existing tests.
59
60         * html/parser/HTMLDocumentParser.cpp:
61         (WebCore::HTMLDocumentParser::processTokensFromBackgroundParser):
62
63 2013-01-23  Kentaro Hara  <haraken@chromium.org>
64
65         [V8] Make an Isolate parameter mandatory in NativeToJS()
66         https://bugs.webkit.org/show_bug.cgi?id=107663
67
68         Reviewed by Adam Barth.
69
70         No tests. No change in behavior.
71
72         * bindings/scripts/CodeGeneratorV8.pm:
73         (GenerateCallbackImplementation):
74         (NativeToJSValue):
75         * bindings/scripts/test/V8/V8TestCallback.cpp:
76         (WebCore::V8TestCallback::callbackWithClass1Param):
77         (WebCore::V8TestCallback::callbackWithClass2Param):
78         (WebCore::V8TestCallback::callbackWithStringList):
79         (WebCore::V8TestCallback::callbackWithBoolean):
80         (WebCore::V8TestCallback::callbackRequiresThisToPass):
81
82 2013-01-23  Stephanie Lewis  <slewis@apple.com>
83
84         Add ordering for WebCore __DATA.
85         https://bugs.webkit.org/show_bug.cgi?id=107765
86         <rdar://problem/13019603>
87
88         Rubber stamped by Oliver Hunt.
89
90         No Change in functionality.
91
92         * WebCore.order:
93
94 2013-01-23  Benjamin Poulain  <bpoulain@apple.com>
95
96         RenderProgress does not repaint on value change
97         https://bugs.webkit.org/show_bug.cgi?id=106977
98
99         Reviewed by Joseph Pecoraro.
100
101         No test because the ouput depends on the code of RenderTheme, and
102         we use the platform theme for testing.
103
104         * rendering/RenderProgress.cpp:
105         (WebCore::RenderProgress::updateFromElement):
106         (WebCore::RenderProgress::updateAnimationState):
107         Previously, repaint() was only called on two occasions:
108         -On animationTimerFired().
109         -In response to updateFromElement() if and only if the RenderTheme start/stop an
110          animation previously stopped/running.
111
112         When changing the value of HTMLProgressElement, no repaint was called until
113         the next timer fired for the animation.
114         This is a problem if:
115         -The animation of RenderTheme is slow.
116         -If there is no animation (the element is never updated in that case).
117
118 2013-01-23  Ian Vollick  <vollick@chromium.org>
119
120         Introduce the "stacking container" concept.
121         https://bugs.webkit.org/show_bug.cgi?id=107734
122
123         Reviewed by Simon Fraser.
124
125         A stacking container is treated just like a stacking context. That
126         is, it has z-order lists, it and its descendants are stacked as a
127         unit, and when the RenderLayerCompositor does its overlap testing,
128         the composited regions for all layer lists take effect only once the
129         stacking container is done being processed.
130
131         This patch also adds the function RenderLayer::isStackingContainer().
132         Currently, this is equivalent to RenderLayer::isStackingContext(),
133         but in future, the definition of stacking container will be broadened
134         to encompass more than just stacking contexts.
135
136         Other than the addition of this extra function, the patch is mostly
137         comprised of name changes. Any code that used to refer to the
138         stacking context concept, but didn't necessarily require a stacking
139         context in the strict, CSS-sense, was switched to refer to stacking
140         container. No functionality was changed.
141
142         No new tests, no change in functionality.
143
144         * inspector/InspectorLayerTreeAgent.cpp:
145         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
146         * rendering/RenderLayer.cpp:
147         (WebCore::RenderLayer::RenderLayer):
148         (WebCore):
149         (WebCore::RenderLayer::updatePagination):
150         (WebCore::RenderLayer::canBeStackingContainer):
151         (WebCore::RenderLayer::setHasVisibleContent):
152         (WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
153         (WebCore::RenderLayer::stackingContainer):
154         (WebCore::compositingContainer):
155         (WebCore::expandClipRectForDescendantsAndReflection):
156         (WebCore::RenderLayer::addChild):
157         (WebCore::RenderLayer::removeChild):
158         (WebCore::RenderLayer::updateNeedsCompositedScrolling):
159         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
160         (WebCore::RenderLayer::paintPaginatedChildLayer):
161         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
162         (WebCore::RenderLayer::calculateLayerBounds):
163         (WebCore::RenderLayer::dirtyZOrderLists):
164         (WebCore::RenderLayer::dirtyStackingContainerZOrderLists):
165         (WebCore::RenderLayer::collectLayers):
166         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
167         (WebCore::RenderLayer::updateStackingContextsAfterStyleChange):
168         (WebCore::RenderLayer::styleChanged):
169         * rendering/RenderLayer.h:
170         (RenderLayer):
171         (WebCore::RenderLayer::isStackingContainer):
172         (WebCore::RenderLayer::posZOrderList):
173         (WebCore::RenderLayer::negZOrderList):
174         (WebCore::RenderLayer::isDirtyStackingContainer):
175         (WebCore::RenderLayer::clearZOrderLists):
176         (WebCore::RenderLayer::updateZOrderLists):
177         * rendering/RenderLayerBacking.cpp:
178         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
179         (WebCore::RenderLayerBacking::compositingOpacity):
180         (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
181         * rendering/RenderLayerCompositor.cpp:
182         (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer):
183         (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
184         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
185         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
186         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
187         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
188         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
189         (WebCore::RenderLayerCompositor::layerHas3DContent):
190         (WebCore::isRootmostFixedOrStickyLayer):
191
192 2013-01-23  Simon Fraser  <simon.fraser@apple.com>
193
194         Have scrollperf logging log information about wheel event handlers
195         https://bugs.webkit.org/show_bug.cgi?id=107761
196         <rdar://problem/12281015>
197
198         Reviewed by Tim Horton.
199
200         Log when the wheel event handler count of a ScrollingTreeScrollingNodeMac changes.
201
202         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
203         (WebCore::ScrollingTreeScrollingNodeMac::update):
204         (WebCore::logWheelEventHandlerCountChanged):
205
206 2013-01-23  Kentaro Hara  <haraken@chromium.org>
207
208         [V8] Add an optional Isolate parameter to GetTemplate() and GetRawTemplate()
209         https://bugs.webkit.org/show_bug.cgi?id=107679
210
211         Reviewed by Adam Barth.
212
213         It is important to pass an Isolate to GetTemplate() and GetRawTemplate().
214         To proceed the work incrementally, this patch adds an optional Isolate parameter
215         to GetTemplate() and GetRawTemplate(). Once all call sites are updated, the
216         Isolate parameter will be made mandatory.
217
218         No tests. No change in behavior.
219
220         * bindings/scripts/CodeGeneratorV8.pm:
221         (GenerateHeader):
222         (GenerateNamedConstructorCallback):
223         (GenerateImplementation):
224         * bindings/scripts/test/V8/V8Float64Array.cpp:
225         (WebCore::V8Float64Array::GetRawTemplate):
226         (WebCore::V8Float64Array::GetTemplate):
227         * bindings/scripts/test/V8/V8Float64Array.h:
228         (V8Float64Array):
229         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
230         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
231         (WebCore::V8TestActiveDOMObject::GetTemplate):
232         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
233         (V8TestActiveDOMObject):
234         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
235         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
236         (WebCore::V8TestCustomNamedGetter::GetTemplate):
237         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
238         (V8TestCustomNamedGetter):
239         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
240         (WebCore::V8TestEventConstructor::GetRawTemplate):
241         (WebCore::V8TestEventConstructor::GetTemplate):
242         * bindings/scripts/test/V8/V8TestEventConstructor.h:
243         (V8TestEventConstructor):
244         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
245         (WebCore::V8TestEventTarget::GetRawTemplate):
246         (WebCore::V8TestEventTarget::GetTemplate):
247         * bindings/scripts/test/V8/V8TestEventTarget.h:
248         (V8TestEventTarget):
249         * bindings/scripts/test/V8/V8TestException.cpp:
250         (WebCore::V8TestException::GetRawTemplate):
251         (WebCore::V8TestException::GetTemplate):
252         * bindings/scripts/test/V8/V8TestException.h:
253         (V8TestException):
254         * bindings/scripts/test/V8/V8TestInterface.cpp:
255         (WebCore::V8TestInterface::GetRawTemplate):
256         (WebCore::V8TestInterface::GetTemplate):
257         * bindings/scripts/test/V8/V8TestInterface.h:
258         (V8TestInterface):
259         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
260         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
261         (WebCore::V8TestMediaQueryListListener::GetTemplate):
262         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
263         (V8TestMediaQueryListListener):
264         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
265         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
266         (WebCore::V8TestNamedConstructor::GetRawTemplate):
267         (WebCore::V8TestNamedConstructor::GetTemplate):
268         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
269         (V8TestNamedConstructorConstructor):
270         (V8TestNamedConstructor):
271         * bindings/scripts/test/V8/V8TestNode.cpp:
272         (WebCore::V8TestNode::GetRawTemplate):
273         (WebCore::V8TestNode::GetTemplate):
274         * bindings/scripts/test/V8/V8TestNode.h:
275         (V8TestNode):
276         * bindings/scripts/test/V8/V8TestObj.cpp:
277         (WebCore::V8TestObj::GetRawTemplate):
278         (WebCore::V8TestObj::GetTemplate):
279         * bindings/scripts/test/V8/V8TestObj.h:
280         (V8TestObj):
281         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
282         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
283         (WebCore::V8TestOverloadedConstructors::GetTemplate):
284         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
285         (V8TestOverloadedConstructors):
286         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
287         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
288         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
289         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
290         (V8TestSerializedScriptValueInterface):
291         * bindings/v8/WrapperTypeInfo.h:
292         (WebCore):
293         (WebCore::WrapperTypeInfo::getTemplate):
294         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
295         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
296         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
297         (V8HTMLImageElementConstructor):
298
299 2013-01-23  Kentaro Hara  <haraken@chromium.org>
300
301         [V8] Move V8DOMWrapper::getEventListener() to V8EventListerList
302         https://bugs.webkit.org/show_bug.cgi?id=107683
303
304         Reviewed by Adam Barth.
305
306         No tests. No change in behavior.
307
308         * bindings/scripts/CodeGeneratorV8.pm:
309         (GenerateNormalAttrSetter):
310         (GenerateEventListenerCallback):
311         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
312         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
313         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
314         * bindings/scripts/test/V8/V8TestObj.cpp:
315         (WebCore::TestObjV8Internal::addEventListenerCallback):
316         (WebCore::TestObjV8Internal::removeEventListenerCallback):
317         * bindings/v8/V8DOMWrapper.cpp:
318         * bindings/v8/V8DOMWrapper.h:
319         (V8DOMWrapper):
320         * bindings/v8/V8EventListenerList.cpp:
321         (WebCore::V8EventListenerList::getEventListener):
322         (WebCore):
323         * bindings/v8/V8EventListenerList.h:
324         (WebCore):
325         (V8EventListenerList):
326         (WebCore::V8EventListenerList::findWrapper):
327         (WebCore::V8EventListenerList::clearWrapper):
328         (WebCore::V8EventListenerList::doFindWrapper):
329         (WebCore::V8EventListenerList::getHiddenProperty):
330         (WebCore::V8EventListenerList::findOrCreateWrapper):
331         * bindings/v8/custom/V8DOMWindowCustom.cpp:
332         (WebCore::V8DOMWindow::addEventListenerCallback):
333         (WebCore::V8DOMWindow::removeEventListenerCallback):
334
335 2013-01-23  Dominic Mazzoni  <dmazzoni@google.com>
336
337         AX: AXObjectCache should be initialized with topDocument
338         https://bugs.webkit.org/show_bug.cgi?id=107638
339
340         Reviewed by Chris Fleizach.
341
342         Initialize AXObjectCache with the top document, not the
343         document that axObjectCache happened to be called on, which
344         could be an iframe. Having an AXObjectCache with the wrong
345         document could cause a heap-use-after-free in
346         notificationPostTimerFired if the inner document was deleted
347         while notifications were pending.
348
349         * dom/Document.cpp:
350         (WebCore::Document::axObjectCache):
351
352 2012-12-12  Ryosuke Niwa  <rniwa@webkit.org>
353
354         REGRESSION: WebKit does not render selection in non-first ruby text nodes.
355         https://bugs.webkit.org/show_bug.cgi?id=92818
356
357         Reviewed by Levi Weintraub.
358
359         The patch is based on the one submitted by Sukolsak Sakshuwong.
360
361         The bug was caused by the fact isSelectionRoot was returning false on RenderRubyRun even though
362         it doesn't lay down its children in block direction.
363
364         The selection painting code assumes that all blocks in each selection root are laid down in
365         the containing block direction. In particular, InlineTextBox::paintSelection calls
366         RootInlineBox::selectionTopAdjustedForPrecedingBlock in order to determine the end of the previous
367         line, which in turn calls blockBeforeWithinSelectionRoot. blockBeforeWithinSelectionRoot goes
368         through block nodes that appears before "this" block, and selectionTopAdjustedForPrecedingBlock
369         assumes that to compute the end of the previous line.
370
371         Now suppose we have markup such as <ruby>Ichi<rt>One</rt></ruby><ruby>Ni<rt>Two</rt></ruby>. When
372         selectionTopAdjustedForPrecedingBlock is called on the line box generated for "Two", it tries to
373         determine the bottom of the inline box above that of "Two", which blockBeforeWithinSelectionRoot
374         determines to be that of "One". At this point, everything goes wrong and the selection height is
375         computed to be 0.
376
377         The fix to this problem is to allow RenderRubyRun to be a selection root. Since RenderRubyRun is
378         already an inline-block, it suffices to bypass the !nonPseudoNode() check. In fact, there is no
379         need to check this condition anymore as far as I can tell. The check was added in
380         http://trac.webkit.org/changeset/12986 but all tests added by this change set as well as the rest
381         of layout tests pass without this condition.
382
383         Test: fast/ruby/select-ruby.html
384
385         * rendering/RenderBlock.cpp:
386         (WebCore::RenderBlock::isSelectionRoot):
387
388 2013-01-23  Kentaro Hara  <haraken@chromium.org>
389
390         [V8] Reduce usage of deprecatedV8String() and deprecatedV8Integer()
391         https://bugs.webkit.org/show_bug.cgi?id=107674
392
393         Reviewed by Adam Barth.
394
395         No tests. No change in behavior.
396
397         * bindings/v8/JavaScriptCallFrame.cpp:
398         (WebCore::JavaScriptCallFrame::evaluate):
399         * bindings/v8/NPV8Object.cpp:
400         (_NPN_Enumerate):
401         * bindings/v8/PageScriptDebugServer.cpp:
402         (WebCore::PageScriptDebugServer::addListener):
403         * bindings/v8/ScriptController.cpp:
404         (WebCore::ScriptController::bindToWindowObject):
405         (WebCore::ScriptController::disableEval):
406         * bindings/v8/ScriptDebugServer.cpp:
407         (WebCore::ScriptDebugServer::setBreakpoint):
408         (WebCore::ScriptDebugServer::removeBreakpoint):
409         (WebCore::ScriptDebugServer::setScriptSource):
410         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
411         (WebCore::ScriptDebugServer::compileScript):
412         * bindings/v8/ScriptFunctionCall.cpp:
413         (WebCore::ScriptCallArgumentHandler::appendArgument):
414         (WebCore::ScriptFunctionCall::call):
415         (WebCore::ScriptFunctionCall::construct):
416         * bindings/v8/ScriptProfiler.cpp:
417         (WebCore::ScriptProfiler::start):
418         (WebCore::ScriptProfiler::stop):
419         * bindings/v8/V8DOMWindowShell.cpp:
420         (WebCore::V8DOMWindowShell::initializeIfNeeded):
421         (WebCore::V8DOMWindowShell::namedItemAdded):
422         (WebCore::V8DOMWindowShell::namedItemRemoved):
423         * bindings/v8/V8LazyEventListener.cpp:
424         (WebCore::V8LazyEventListener::prepareListenerObject):
425         * bindings/v8/V8MutationCallback.cpp:
426         (WebCore::V8MutationCallback::handleEvent):
427         * bindings/v8/WorkerScriptController.cpp:
428         (WebCore::WorkerScriptController::evaluate):
429         * bindings/v8/WorkerScriptDebugServer.cpp:
430         (WebCore::WorkerScriptDebugServer::addListener):
431         * bindings/v8/custom/V8InjectedScriptManager.cpp:
432         (WebCore::InjectedScriptManager::createInjectedScript):
433
434 2013-01-23  Martin Robinson  <mrobinson@igalia.com>
435
436         WebKit should support decoding multi-byte entities in XML content
437         https://bugs.webkit.org/show_bug.cgi?id=107459
438
439         Reviewed by Adam Barth.
440
441         Test: fast/parser/entities-in-xhtml.xhtml
442
443         * html/parser/HTMLEntityParser.cpp:
444         (WebCore::appendUChar32ToUCharArray): Added this helper function. Later patches
445         may try to move this code to somewhere that it can be shared more easily.
446         (WebCore::decodeNamedEntityToUCharArray): Modify this function to work on a UChar
447         array four elements long, so that multi-byte and multi-character entities can be resolved.
448         * html/parser/HTMLEntityParser.h: Updated function declaratoin.
449         * xml/parser/XMLDocumentParserLibxml2.cpp:
450         (WebCore): Modify the statically allocated entity string memory area to accommodate
451         up to two UTF-8 characters. Each UTF-8 character can be 4 bytes, so this brings the
452         total size to 9 bytes.
453         (WebCore::getXHTMLEntity): Use the new entity decoding API.
454         * xml/parser/XMLDocumentParserQt.cpp:
455         (WebCore::EntityResolver::resolveUndeclaredEntity): Ditto.
456         (WebCore::XMLDocumentParser::parse): Ditto.
457
458 2013-01-23  Eric Seidel  <eric@webkit.org>
459
460         Stop the background-parser during HTMLDocumentParser::detatch to prevent crashes/asserts
461         https://bugs.webkit.org/show_bug.cgi?id=107751
462
463         Reviewed by Tony Gentilcore.
464
465         This appears to fix the 2 intermitent crashers we were seeing while
466         running fast/parser.  And definitely fixes 8 ASSERTs seen using a Debug build.
467
468         * html/parser/HTMLDocumentParser.cpp:
469         (WebCore::HTMLDocumentParser::detach):
470
471 2013-01-23  Hans Muller  <hmuller@adobe.com>
472
473         [CSS Exclusions] Add support for computing first included interval position for polygons
474         https://bugs.webkit.org/show_bug.cgi?id=103429
475
476         Reviewed by Dirk Schulze.
477
478         Added support for computing the "first fit" location, i.e. the logical shape-inside
479         location where a line's layout begins. The algorithm for doing so is described here:
480         http://hansmuller-webkit.blogspot.com/2012/08/revised-algorithm-for-finding-first.html.
481
482         Tests: fast/exclusions/shape-inside/shape-inside-first-fit-001.html
483                fast/exclusions/shape-inside/shape-inside-first-fit-002.html
484                fast/exclusions/shape-inside/shape-inside-first-fit-003.html
485
486         * platform/graphics/FloatSize.h:
487         (WebCore::operator*): Scale a FloatSize. This simplified the final expression in VertexPair::intersection().
488         * rendering/ExclusionPolygon.cpp:
489         (WebCore::isPointOnLineSegment): Returns true if the specified point is collinear and within the line segement's bounds.
490         (WebCore::leftSide): Return a value > 0 if point is on the left side of the line segment, < 0 if it's on the right, 0 if it's collinear.
491         (WebCore::ExclusionPolygon::contains): Return true if the point is within the polygon or on an edge.
492         (WebCore::VertexPair::overlapsRect): Returns true if the line segment from vertex1 to vertex2 overlaps the specified FloatRect.
493         (WebCore::VertexPair::intersection): Finds the intersection of a pair of line segments defined by VertexPairs.
494         (WebCore::ExclusionPolygon::firstFitRectInPolygon): Returns true if none of the polygon's edges, except the two used
495             to define by the offset edges, overlap the FloatRect.
496         (WebCore::aboveOrToTheLeft): Defines the top/left preference for "first fit" locations.
497         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Replaced the stub implementation of this method.
498         * rendering/ExclusionPolygon.h:
499         (ExclusionPolygon): Added declarations noted above.
500         (VertexPair): Abstract class that defines a pair of FloatPoints.
501         (OffsetPolygonEdge): Represents an edge that's horizontally offset from a polygon edge.
502         (WebCore::OffsetPolygonEdge::edgeIndex): The ExclusionPolygon edge index used to define this OffsetEdge.
503
504 2013-01-23  Dirk Schulze  <dschulze@adobe.com>
505
506         Implement Canvas Path object
507         https://bugs.webkit.org/show_bug.cgi?id=97333
508
509         Reviewed by Dean Jackson.
510
511         The Canvas part of the WHATWG specification defines a Path object. This Path object
512         shares several path segment functions (path methods) with the CanvasRenderingContext2D
513         interface. This patch introduces the Path object and shares the path segment functions
514         in the class CanvasPathMethods.
515         This patch does just implement the basic path functions that have a general agreement on
516         the WHAT WG and W3C mailing lists.
517         This feature is behind a flag and won't be activated by default.
518
519         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects
520
521         Test: fast/canvas/canvas-path-object.html
522
523         * CMakeLists.txt: Add DOMPath and CanvasPathMedthods to build system.
524         * DerivedSources.cpp: Ditto.
525         * DerivedSources.make: Ditto.
526         * DerivedSources.pri: Ditto.
527         * GNUmakefile.list.am: Ditto.
528         * Target.pri: Ditto.
529         * WebCore.gypi: Ditto.
530         * WebCore.vcproj/WebCore.vcproj: Ditto.
531         * WebCore.xcodeproj/project.pbxproj: Ditto.
532         * html/canvas/CanvasPathMethods.cpp: Added.
533         (WebCore): This class shares the path segment functions (moveTo, lineTo, ...) between
534             DOMPath (the Path object) and CanvasRenderingContext2D.
535         (WebCore::CanvasPathMethods::closePath):
536         (WebCore::CanvasPathMethods::moveTo):
537         (WebCore::CanvasPathMethods::lineTo):
538         (WebCore::CanvasPathMethods::quadraticCurveTo):
539         (WebCore::CanvasPathMethods::bezierCurveTo):
540         (WebCore::CanvasPathMethods::arcTo):
541         (WebCore::CanvasPathMethods::arc):
542         (WebCore::CanvasPathMethods::rect):
543         * html/canvas/CanvasPathMethods.h: Added.
544         (WebCore):
545         (CanvasPathMethods):
546         (WebCore::CanvasPathMethods::~CanvasPathMethods):
547         (WebCore::CanvasPathMethods::transformIsInvertible):
548         (WebCore::CanvasPathMethods::CanvasPathMethods):
549         * html/canvas/CanvasRenderingContext2D.cpp:
550         * html/canvas/CanvasRenderingContext2D.h: Remove the path segment functions here.
551         (CanvasRenderingContext2D):
552         (WebCore::CanvasRenderingContext2D::transformIsInvertible): This checks if the CTM
553             of the context is still invertible. Drawing should stop if it is not.
554         * html/canvas/CanvasRenderingContext2D.idl:
555         * html/canvas/DOMPath.h: Added.
556         (WebCore):
557         (DOMPath):
558         (WebCore::DOMPath::create):
559         (WebCore::DOMPath::~DOMPath):
560         (WebCore::DOMPath::DOMPath):
561         * html/canvas/DOMPath.idl: Added.
562         * page/DOMWindow.idl: Added CTOR for Path.
563
564 2013-01-23  Joshua Bell  <jsbell@chromium.org>
565
566         IndexedDB: Remove IDBVersionChangeRequest
567         https://bugs.webkit.org/show_bug.cgi?id=107711
568
569         Reviewed by Tony Chang.
570
571         When the setVersion() API was removed from the Indexed DB spec the IDBVersionChangeRequest
572         interface was replaced with IDBOpenDBRequest. We switched over for open(), this completes
573         the work by switching over for deleteDatabase() and removing the old code. (On the Event
574         side we still need to combine IDBVersionChangeEvent and IDBUpgradeNeededEvent.)
575
576         Test: storage/indexeddb/intversion-long-queue.html
577               storage/indexeddb/intversion-upgrades.html
578
579         * CMakeLists.txt: Remove references to deleted code.
580         * DerivedSources.make: Ditto.
581         * GNUmakefile.list.am: Ditto.
582         * Modules/indexeddb/IDBCallbacks.h: Remove unused onBlocked() overload.
583         * Modules/indexeddb/IDBDatabase.cpp: Remove references to deleted code.
584         * Modules/indexeddb/IDBDatabase.h: Ditto.
585         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
586         (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Fire onBlocked with current version.
587         * Modules/indexeddb/IDBFactory.cpp:
588         (WebCore::IDBFactory::openInternal): Don't need to specify source.
589         (WebCore::IDBFactory::deleteDatabase): Use an IDBOpenDBRequest.
590         * Modules/indexeddb/IDBFactory.h: Change return type of deleteDatabase()
591         * Modules/indexeddb/IDBFactory.idl: Ditto.
592         * Modules/indexeddb/IDBOpenDBRequest.cpp:
593         (WebCore::IDBOpenDBRequest::create): Always use a null source.
594         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest): Pass null source to base class.
595         (WebCore::IDBOpenDBRequest::dispatchEvent): Don't assume result is a database in existing
596         special case.
597         * Modules/indexeddb/IDBOpenDBRequest.h: Don't need a source argument (always null).
598         * Modules/indexeddb/IDBVersionChangeRequest.cpp: Removed.
599         * Modules/indexeddb/IDBVersionChangeRequest.h: Removed.
600         * Modules/indexeddb/IDBVersionChangeRequest.idl: Removed.
601         * WebCore.gypi: Remove references to deleted code.
602         * WebCore.xcodeproj/project.pbxproj: Remove references to deleted code.
603         * dom/EventTarget.h: Remove references to deleted code.
604         * dom/EventTargetFactory.in: Ditto.
605
606 2013-01-23  Scott Graham  <scottmg@chromium.org>
607
608         [Chromium] Fix inclusion of pch .cpp in webcore_platform and webcore_rendering
609         https://bugs.webkit.org/show_bug.cgi?id=107700
610
611         Reviewed by Dirk Pranke.
612
613         No new tests, Chromium should link on VS 2012.
614
615         * WebCore.gyp/WebCore.gyp:
616
617 2013-01-23  Jun Jiang  <jun.a.jiang@intel.com>
618
619         Avoid unnecessary format conversion for tex{Sub}Image2D() for ImageData of WebGL
620         https://bugs.webkit.org/show_bug.cgi?id=107532
621
622         Reviewed by Kenneth Russell.
623
624         This patch removes the unnecessary format conversion in tex{Sub}Image2D() for ImageData in WebGL to improve performance.
625
626         Already covered by current tests.
627
628         * html/canvas/WebGLRenderingContext.cpp:
629         (WebCore):
630         (WebCore::WebGLRenderingContext::texImage2D):
631         (WebCore::WebGLRenderingContext::texSubImage2D):
632
633 2013-01-23  Xianzhu Wang  <wangxianzhu@chromium.org>
634
635         Should update compositing state when an out-of-view fixed position element becomes in-view
636         https://bugs.webkit.org/show_bug.cgi?id=107410
637
638         Reviewed by Simon Fraser.
639
640         When a non-compositing page contains some not-composited fixed position element because of bounds out-of-view, when the element changes position and RenderLayerCompositor::updateCompositingLayers() is called, the function may return early because of "if (!m_reevaluateCompositingAfterLayout && !m_compositing)" without updating the compositing layers.
641
642         Set m_reevaluateCompositingAfterLayout when a fixed position element is not composited because of bounds out-of-view.
643
644         Test: compositing/layer-creation/fixed-position-change-out-of-view-in-view.html
645
646         * rendering/RenderLayerCompositor.cpp:
647         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
648
649 2013-01-23  Tony Chang  <tony@chromium.org>
650
651         Unreviewed, set svn:eol-style to CRLF on Windows .sln files.
652
653         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
654         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
655
656 2013-01-23  Adam Barth  <abarth@webkit.org>
657
658         BackgroundHTMLParser::sendTokensToMainThread should use bind
659         https://bugs.webkit.org/show_bug.cgi?id=107637
660
661         Reviewed by Eric Seidel.
662
663         This patch replaces our hand-written implementation of bind for
664         didReceiveTokensFromBackgroundParser with bind from Functional.h. To
665         use the generic version of bind, we need to switch to using WeakPtr to
666         hold a reference to the main thread parser in the BackgroundHTMLParser.
667
668         * html/parser/BackgroundHTMLParser.cpp:
669         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
670         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
671         (WebCore::BackgroundHTMLParser::createPartial):
672         * html/parser/BackgroundHTMLParser.h:
673         (WebCore::BackgroundHTMLParser::create):
674         (BackgroundHTMLParser):
675         (ParserMap):
676         * html/parser/HTMLDocumentParser.cpp:
677         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
678         (WebCore::HTMLDocumentParser::startBackgroundParser):
679         (WebCore::HTMLDocumentParser::stopBackgroundParser):
680         * html/parser/HTMLDocumentParser.h:
681         (HTMLDocumentParser):
682
683 2013-01-23  Roger Fong  <roger_fong@apple.com>
684
685         Unreviewed. Cleanup VS2010 WebCore project. 
686         Lots of files that no longer exist in solution.
687
688         * WebCore.vcxproj/WebCore.vcxproj:
689         * WebCore.vcxproj/WebCore.vcxproj.filters:
690
691 2013-01-23  Julien Chaffraix  <jchaffraix@webkit.org>
692
693         [CSS Grid Layout] Add support for max-content
694         https://bugs.webkit.org/show_bug.cgi?id=107604
695
696         Reviewed by Tony Chang.
697
698         Tests: fast/css-grid-layout/minmax-max-content-resolution-columns.html
699                fast/css-grid-layout/minmax-max-content-resolution-rows.html
700
701         This change implements max-content on top of the infrastructure introduced as part
702         of implementing min-content (bug 106474). No effort was made to share code, which
703         is what was done for min-content. The sharing will occur in follow-up refactoring(s)
704         to benefit from the extra testing but also the extra code to make the direction more
705         obvious.
706
707         * rendering/RenderGrid.cpp:
708         (WebCore::RenderGrid::maxContentForChild):
709         Added this helper, similar to minContentForChild.
710
711         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
712         Patched the function to handle max-content per the specification's algorithm.
713
714         * rendering/RenderGrid.h:
715         Added maxContentForChild.
716
717 2013-01-23  Mark Lam  <mark.lam@apple.com>
718
719         Assert that Supplementable objects is only used in their creator thread.
720         https://bugs.webkit.org/show_bug.cgi?id=107717.
721
722         Reviewed by Adam Barth.
723
724         No new tests.
725
726         * platform/Supplementable.h:
727         (WebCore):
728         (WebCore::Supplementable::provideSupplement):
729         (WebCore::Supplementable::removeSupplement):
730         (WebCore::Supplementable::requireSupplement):
731         (Supplementable):
732         (WebCore::Supplementable::Supplementable):
733
734 2013-01-23  Tony Chang  <tony@chromium.org>
735
736         Incorrect scrollable height during simplified layout
737         https://bugs.webkit.org/show_bug.cgi?id=107193
738
739         Reviewed by David Hyatt.
740
741         When computing overflow we need the height of the block before
742         it was clamped (i.e., before updateLogicalHeight() has been called).
743
744         During simplified layout, we don't have this information and we were
745         using the clamped height by mistake. To fix this, we now store the
746         pre-clamped height on RenderOverflow so we can properly compute
747         overflow.
748
749         Test: fast/overflow/height-during-simplified-layout.html
750
751         * rendering/RenderBlock.cpp:
752         (WebCore::RenderBlock::computeOverflow): Save the height if we have overflow.
753         (WebCore::RenderBlock::simplifiedLayout): If we have overflow, use the height that we saved
754         in computeOverflow.
755         * rendering/RenderOverflow.h:
756         (WebCore::RenderOverflow::layoutClientAfterEdge):
757         (WebCore::RenderOverflow::setLayoutClientAfterEdge):
758         (RenderOverflow): Add a member variable to save the height.
759
760 2013-01-23  Tom Sepez  <tsepez@chromium.org>
761
762         [chromium] harden ScriptWrappable::m_wrapper against tampering
763         https://bugs.webkit.org/show_bug.cgi?id=107318
764
765         Reviewed by Adam Barth.
766
767         Patch is correct if existing tests past without crashing.
768
769         * bindings/v8/ScriptWrappable.h:
770         (WebCore::ScriptWrappable::ScriptWrappable):
771         (WebCore::ScriptWrappable::wrapper):
772         (WebCore::ScriptWrappable::setWrapper):
773         (WebCore::ScriptWrappable::clearWrapper):
774         (WebCore::ScriptWrappable::disposeWrapper):
775         (WebCore::ScriptWrappable::reportMemoryUsage):
776         (ScriptWrappable):
777         (WebCore::ScriptWrappable::maskOrUnmaskPointer):
778
779 2013-01-22  Roger Fong  <roger_fong@apple.com>
780
781         WebCore property sheets, modified build scripts, and project files for compiling in VS2010.
782         https://bugs.webkit.org/show_bug.cgi?id=106988
783
784         Reviewed by Brent Fulgham.
785
786         * WebCore.vcproj/WebCore.sln:
787         * WebCore.vcxproj: Added.
788         * WebCore.vcxproj/MigrateScripts: Added.
789         * WebCore.vcxproj/QTMovieWin: Added.
790         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Added.
791         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Added.
792         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.user: Added.
793         * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props: Added.
794         * WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props: Added.
795         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props: Added.
796         * WebCore.vcxproj/WebCore.vcxproj: Added.
797         * WebCore.vcxproj/WebCore.vcxproj.filters: Added.
798         * WebCore.vcxproj/WebCore.vcxproj.user: Added.
799         * WebCore.vcxproj/WebCoreCFNetwork.props: Added.
800         * WebCore.vcxproj/WebCoreCG.props: Added.
801         * WebCore.vcxproj/WebCoreCommon.props: Added.
802         * WebCore.vcxproj/WebCoreDebug.props: Added.
803         * WebCore.vcxproj/WebCoreGenerated.make: Added.
804         * WebCore.vcxproj/WebCoreGenerated.vcxproj: Added.
805         * WebCore.vcxproj/WebCoreGenerated.vcxproj.filters: Added.
806         * WebCore.vcxproj/WebCoreGenerated.vcxproj.user: Added.
807         * WebCore.vcxproj/WebCoreGeneratedCommon.props: Added.
808         * WebCore.vcxproj/WebCoreGeneratedDebug.props: Added.
809         * WebCore.vcxproj/WebCoreGeneratedRelease.props: Added.
810         * WebCore.vcxproj/WebCoreMediaQT.props: Added.
811         * WebCore.vcxproj/WebCorePostBuild.cmd: Added.
812         * WebCore.vcxproj/WebCorePreBuild.cmd: Added.
813         * WebCore.vcxproj/WebCorePreLink.cmd: Added.
814         * WebCore.vcxproj/WebCorePthreads.props: Added.
815         * WebCore.vcxproj/WebCoreQuartzCore.props: Added.
816         * WebCore.vcxproj/WebCoreRelease.props: Added.
817         * WebCore.vcxproj/build-generated-files.sh: Added.
818         * WebCore.vcxproj/copyForwardingHeaders.cmd: Added.
819         * WebCore.vcxproj/copyWebCoreResourceFiles.cmd: Added.
820         * WebCore.vcxproj/migrate-scripts.sh: Added.
821         * WebCore.vcxproj/xcopy.excludes: Added.
822         * WebCorePrefix.h:
823         * config.h:
824
825 2013-01-23  Eric Seidel  <eric@webkit.org>
826
827         HTMLCompactToken needs to include the forceQuirks bool from HTMLToken
828         https://bugs.webkit.org/show_bug.cgi?id=107713
829
830         Reviewed by Tony Gentilcore.
831
832         Before we were only getting "quirks mode" when the system/public identifiers
833         were known quirks identifiers.  Now we'll correctly get quirks mode for any
834         parse error during DOCTYPE parsing.
835         This passes a bunch more tests.
836
837         * html/parser/CompactHTMLToken.cpp:
838         (WebCore::CompactHTMLToken::CompactHTMLToken):
839         * html/parser/CompactHTMLToken.h:
840         (WebCore::CompactHTMLToken::doctypeForcesQuirks):
841         (CompactHTMLToken):
842         * html/parser/HTMLToken.h:
843         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
844
845 2013-01-23  Brady Eidson  <beidson@apple.com>
846
847         Recursion handling cancelled authentication challenges in NetworkProcess
848         <rdar://problem/13024541> and https://bugs.webkit.org/show_bug.cgi?id=107702
849
850         Reviewed by Alexey Proskuryakov.
851
852         * WebCore.exp.in:
853
854 2013-01-23  Beth Dakin  <bdakin@apple.com>
855
856         https://bugs.webkit.org/show_bug.cgi?id=107628
857         Sometimes scroll position is jerky during rubber-band, affects nytimes.com
858         -and corresponding-
859         <rdar://problem/12679549>
860
861         Reviewed by Simon Fraser.
862
863         The basic problem here is that isRubberBandInProgress() was only implemented for 
864         main thread scrolling. So when we were actually scrolling on the scrolling thread, 
865         that function would always return false regardless.
866
867         New ScrollableArea virtual function isRubberBandInProgress() will allow us to ask 
868         the ScrollingCoordinator when the scrolling thread is scrolling, or the 
869         ScrollAnimator otherwise.
870         * page/FrameView.cpp:
871         (WebCore::FrameView::isRubberBandInProgress):
872         * page/FrameView.h:
873         (FrameView):
874         * platform/ScrollableArea.h:
875         (WebCore::ScrollableArea::isRubberBandInProgress):
876
877         New ScrollingCoordinator function isRubberBandInProgress() always returns false 
878         for non-Mac ports, and is overridden in ScrollingCoordinatorMac to consult the 
879         ScrollingTree.
880         * page/scrolling/ScrollingCoordinator.h:
881         (WebCore::ScrollingCoordinator::isRubberBandInProgress):
882         * page/scrolling/mac/ScrollingCoordinatorMac.h:
883         (ScrollingCoordinatorMac):
884         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
885         (WebCore::ScrollingCoordinatorMac::isRubberBandInProgress):
886
887         New variable m_mainFrameIsRubberBanding keeps track of whether there is currently 
888         a rubber-band happening on the scrolling thread.
889         * page/scrolling/ScrollingTree.cpp:
890         (WebCore::ScrollingTree::ScrollingTree):
891         (WebCore::ScrollingTree::isRubberBandInProgress):
892         (WebCore::ScrollingTree::setMainFrameIsRubberBanding):
893         * page/scrolling/ScrollingTree.h:
894         (ScrollingTree):
895         (WebCore::ScrollingTree::rootNode):
896
897         Call setMainFrameIsRubberBanding() whenever the stretchAmount is calculated and 
898         whenever we stop the rubber-band timer.
899         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
900         (WebCore::ScrollingTreeScrollingNodeMac::stretchAmount):
901         (WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):
902
903         Consult FrameView for isRubberBandInProgress().
904         * platform/ScrollView.cpp:
905         (WebCore::ScrollView::updateScrollbars):
906
907 2013-01-23  Robert Hogan  <robert@webkit.org>
908
909         Abspos Inline block not positioned correctly in text-aligned container
910         https://bugs.webkit.org/show_bug.cgi?id=105695
911
912         Reviewed by Ojan Vafai.
913
914         Inline positioned elements should still obey the text-alignment of their container
915         even when we don't do a line layout.
916
917         Test: fast/text/container-align-with-inlines.html
918
919         * rendering/RenderBlock.cpp:
920         (WebCore::RenderBlock::adjustPositionedBlock):
921         (WebCore::RenderBlock::updateStaticInlinePositionForChild):
922         (WebCore):
923         * rendering/RenderBlock.h:
924         (RenderBlock):
925         * rendering/RenderBlockLineLayout.cpp:
926         (WebCore::setStaticPositions):
927
928 2013-01-23  Eric Seidel  <eric@webkit.org>
929
930         Remove DocType support from MarkupTokenBase now that NEW_XML is gone
931         https://bugs.webkit.org/show_bug.cgi?id=107709
932
933         Reviewed by Adam Barth.
934
935         Just moving code out of MarkupTokenBase and into HTMLToken.
936         The test for this change is if it compiles. :)  Which it does.
937
938         * html/parser/HTMLToken.h:
939         (DoctypeData):
940         (WebCore::DoctypeData::DoctypeData):
941         (WebCore):
942         (WebCore::HTMLToken::appendToName):
943         (WebCore::HTMLToken::name):
944         (HTMLToken):
945         (WebCore::HTMLToken::beginDOCTYPE):
946         (WebCore::HTMLToken::publicIdentifier):
947         (WebCore::HTMLToken::systemIdentifier):
948         (WebCore::HTMLToken::setPublicIdentifierToEmptyString):
949         (WebCore::HTMLToken::setSystemIdentifierToEmptyString):
950         (WebCore::HTMLToken::appendToPublicIdentifier):
951         (WebCore::HTMLToken::appendToSystemIdentifier):
952         (WebCore::HTMLToken::releaseDoctypeData):
953         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
954         (AtomicHTMLToken):
955         * html/parser/HTMLTokenTypes.h:
956         * xml/parser/MarkupTokenBase.h:
957         (WebCore):
958         (MarkupTokenBase):
959
960 2013-01-23  Alexis Menard  <alexis@webkit.org>
961
962         transition-property accepts incorrect "all, none" as value
963         https://bugs.webkit.org/show_bug.cgi?id=105428
964
965         Reviewed by Dean Jackson.
966
967         http://www.w3.org/TR/css3-transitions/#transition-property-property
968         disallows any value like none, all or all, none as it doesn't make
969         sense. This patch fixes the problem by rejecting the value if set by
970         the user.
971
972         Test: transitions/transitions-parsing.html
973
974         * css/CSSParser.cpp:
975         (WebCore::CSSParser::parseAnimationProperty):
976         * css/CSSParser.h:
977
978 2013-01-23  Eric Seidel  <eric@webkit.org>
979
980         Clarify some usage of shouldUseThreading vs m_haveBackgroundParser, fixing about:blank parsing
981         https://bugs.webkit.org/show_bug.cgi?id=107664
982
983         Reviewed by Adam Barth.
984
985         The HTMLDocumentParser can be "supposed" to use a background parser
986         but not end up ever doing so for blank documents.  It's important
987         that we spin the forground parser at least once, so we end up
988         actually creating the about:blank document.
989
990         shouldUseThreading() means that threading is enabled and we should use it if we can.
991         m_haveBackgroundParser means that we actually are already using threading.
992         When we add full document.write support this will get a bit trickier still as
993         we'll need to be using both the foreground and background parsers.
994
995         This fixes about 20 tests in fast/frames and many others outside of fast/frames. :)
996
997         * html/parser/HTMLDocumentParser.cpp:
998         (WebCore::HTMLDocumentParser::prepareToStopParsing):
999         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
1000         (WebCore::HTMLDocumentParser::finish):
1001         (WebCore::HTMLDocumentParser::lineNumber):
1002         (WebCore::HTMLDocumentParser::textPosition):
1003
1004 2013-01-17  Roger Fong  <roger_fong@apple.com>
1005
1006         [Win] Remove dependence on Microsoft Embedded OpenType Font Engine (T2EMBED.DLL)  from FontCustomPlatformData.cpp.
1007         https://bugs.webkit.org/show_bug.cgi?id=107153
1008
1009         Reviewed by Dan Bernstein.
1010
1011         * platform/graphics/win/FontCustomPlatformData.cpp:
1012         (WebCore):
1013         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1014         (WebCore::FontCustomPlatformData::fontPlatformData):
1015         (WebCore::createFontCustomPlatformData):
1016
1017 2013-01-23  Andrey Lushnikov  <lushnikov@chromium.org>
1018
1019         Web Inspector: speedup highlight regex API in DefaultTextEditor
1020         https://bugs.webkit.org/show_bug.cgi?id=107238
1021
1022         Reviewed by Pavel Feldman.
1023
1024         Move overlay highlight measurement (highlight regex API) from DefaultTextEditor._paintLine
1025         method to the DefaultTextEditor._paintLines method which allows to relayout dom only
1026         once. This is a significant improvement to the current state of the
1027         art which does relayout on each regex occurence.
1028         In addition, use "left" css attribute instead of "margin-left": this
1029         way it will be possible to avoid an unnecessary relayouting during
1030         appending overlay highlight.
1031
1032         No new tests: no change in behaviour.
1033
1034         * inspector/front-end/DefaultTextEditor.js:
1035         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
1036         (WebInspector.TextEditorMainPanel.prototype._paintLines):
1037         (WebInspector.TextEditorMainPanel.prototype._measureRegexHighlight):
1038         (WebInspector.TextEditorMainPanel.prototype._measureSpans):
1039         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
1040         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1041         (WebInspector.TextEditorMainPanel.ElementMetrics):
1042         (WebInspector.TextEditorMainPanel.LineOverlayHighlight):
1043         (WebInspector.TextEditorMainChunk.prototype.expand):
1044
1045 2013-01-23  Ojan Vafai  <ojan@chromium.org>
1046
1047         Assert that computePreferredLogicalWidths never calls setNeedsLayout
1048         https://bugs.webkit.org/show_bug.cgi?id=107613
1049
1050         Reviewed by Eric Seidel.
1051
1052         computePreferredLogicalWidths should only set m_minPreferredLogicalWidth
1053         and m_maxPreferredLogicalWidth. It shouldn't have other side-effects.
1054         The mathml bits can be removed once https://bugs.webkit.org/show_bug.cgi?id=107353
1055         is resolved.
1056
1057         * rendering/RenderBox.cpp:
1058         (WebCore::RenderBox::minPreferredLogicalWidth):
1059         * rendering/mathml/RenderMathMLOperator.cpp:
1060         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
1061         * rendering/mathml/RenderMathMLRoot.cpp:
1062         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
1063         * rendering/mathml/RenderMathMLRow.cpp:
1064         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
1065
1066 2013-01-23  Noam Rosenthal  <noam@webkit.org>
1067
1068         REGRESSION(r140518): Broke Chromium Win build (gyp file not updated) (Requested by arv on #webkit).
1069         https://bugs.webkit.org/show_bug.cgi?id=107691
1070
1071         Unreviewed build fix. Removed TextureMapperShaderManager.* from WebCore.gypi.
1072
1073         * WebCore.gypi:
1074
1075 2013-01-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1076
1077         Unreviewed, rolling out r140307, r140411, and r140512.
1078         http://trac.webkit.org/changeset/140307
1079         http://trac.webkit.org/changeset/140411
1080         http://trac.webkit.org/changeset/140512
1081         https://bugs.webkit.org/show_bug.cgi?id=107689
1082
1083         Perf regression on DOMDivWalk (bug 106726) (Requested by
1084         falken on #webkit).
1085
1086         * dom/Element.cpp:
1087         (WebCore::Element::removedFrom):
1088         (WebCore):
1089         (WebCore::Element::isInTopLayer):
1090         (WebCore::Element::setIsInTopLayer):
1091         * dom/Element.h:
1092         * dom/ElementRareData.h:
1093         (ElementRareData):
1094         (WebCore::ElementRareData::isInTopLayer):
1095         (WebCore::ElementRareData::setIsInTopLayer):
1096         (WebCore::ElementRareData::ElementRareData):
1097         * dom/Node.cpp:
1098         * dom/Node.h:
1099         (Node):
1100         * dom/NodeRenderingContext.cpp:
1101         (WebCore::isRendererReparented):
1102         (WebCore::NodeRenderingContext::previousRenderer):
1103         (WebCore::NodeRenderingContext::parentRenderer):
1104         * rendering/RenderLayer.cpp:
1105         (WebCore::RenderLayer::isInTopLayer):
1106         (WebCore::RenderLayer::rebuildZOrderLists):
1107
1108 2013-01-23  Dmitry Gozman  <dgozman@chromium.org>
1109
1110         Web Inspector: allow user to resize inspector window by dragging the toolbar
1111         https://bugs.webkit.org/show_bug.cgi?id=107648
1112
1113         Reviewed by Pavel Feldman.
1114
1115         This did not work before you click dock button once.
1116         Also, last drag position was not respected.
1117
1118         No new tests, because of pure inspector UI change.
1119
1120         * inspector/front-end/DockController.js:
1121         (WebInspector.DockController.prototype.isDockedToBottom):
1122         * inspector/front-end/Toolbar.js:
1123         (WebInspector.Toolbar.prototype._isDockedToBottom):
1124         (WebInspector.Toolbar.prototype._toolbarDragStart):
1125         (WebInspector.Toolbar.prototype._toolbarDragEnd):
1126         (WebInspector.Toolbar.prototype._toolbarDrag):
1127
1128 2013-01-23  Shinya Kawanaka  <shinyak@chromium.org>
1129
1130         shadowAncestorNode() should be renamed to deprecatedShadowAncestorNode()
1131         https://bugs.webkit.org/show_bug.cgi?id=107624
1132
1133         Reviewed by Dimitri Glazkov.
1134
1135         Since Node::shadowAncestorNode() is deprecated, we would like to rename it to prevent from further use.
1136
1137         No new tests, simple refactoring.
1138
1139         * WebCore.order:
1140         * accessibility/AccessibilityRenderObject.cpp:
1141         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
1142         * dom/Document.cpp:
1143         (WebCore::Document::handleZeroPadding):
1144         * dom/Node.cpp:
1145         (WebCore::Node::deprecatedShadowAncestorNode):
1146         * dom/Node.h:
1147         (Node):
1148         * editing/Editor.cpp:
1149         (WebCore::Editor::rangeOfString):
1150         (WebCore::Editor::countMatchesForText):
1151         * editing/ReplaceSelectionCommand.cpp:
1152         (WebCore::ReplacementFragment::ReplacementFragment):
1153         * page/DragController.cpp:
1154         (WebCore::elementUnderMouse):
1155         * page/EventHandler.cpp:
1156         (WebCore::EventHandler::handleMouseReleaseEvent):
1157         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
1158         * page/FocusController.cpp:
1159         (WebCore::clearSelectionIfNeeded):
1160         * platform/blackberry/RenderThemeBlackBerry.cpp:
1161         (WebCore::RenderThemeBlackBerry::paintSearchFieldCancelButton):
1162         * rendering/HitTestResult.cpp:
1163         (WebCore::HitTestResult::setToNonShadowAncestor):
1164         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
1165
1166 2013-01-22  Pavel Feldman  <pfeldman@chromium.org>
1167
1168         Web Inspector: only allow evaluateForTestInFrontend for front-ends under test.
1169         https://bugs.webkit.org/show_bug.cgi?id=107523
1170
1171         Reviewed by Yury Semikhatsky.
1172
1173         * inspector/InspectorController.cpp:
1174         (WebCore::InspectorController::InspectorController):
1175         (WebCore::InspectorController::isUnderTest):
1176         (WebCore):
1177         (WebCore::InspectorController::evaluateForTestInFrontend):
1178         * inspector/InspectorController.h:
1179         (InspectorController):
1180         * inspector/InspectorFrontendClient.h:
1181         (InspectorFrontendClient):
1182         * inspector/InspectorFrontendClientLocal.cpp:
1183         (WebCore::InspectorFrontendClientLocal::canAttachWindow):
1184         (WebCore::InspectorFrontendClientLocal::isUnderTest):
1185         (WebCore):
1186         * inspector/InspectorFrontendClientLocal.h:
1187         (InspectorFrontendClientLocal):
1188         * inspector/InspectorFrontendHost.cpp:
1189         (WebCore::InspectorFrontendHost::isUnderTest):
1190         (WebCore):
1191         * inspector/InspectorFrontendHost.h:
1192         (InspectorFrontendHost):
1193         * inspector/InspectorFrontendHost.idl:
1194         * inspector/front-end/DOMExtension.js:
1195         * inspector/front-end/InspectorFrontendHostStub.js:
1196         (.WebInspector.InspectorFrontendHostStub.prototype.canInspectWorkers):
1197         (.WebInspector.InspectorFrontendHostStub.prototype.isUnderTest):
1198         * inspector/front-end/TestController.js:
1199         (.invokeMethod):
1200         (WebInspector.evaluateForTestInFrontend):
1201         * inspector/front-end/externs.js:
1202
1203 2013-01-23  Andrey Lushnikov  <lushnikov@chromium.org>
1204
1205         Web Inspector: remove invisibleLineRow code from paintLines DTE method
1206         https://bugs.webkit.org/show_bug.cgi?id=107649
1207
1208         Reviewed by Pavel Feldman.
1209
1210         Remove invisibleLineRow logic from TextEditorMainPanel._paintLines method.
1211
1212         No new tests: no change in behaviour.
1213
1214         * inspector/front-end/DefaultTextEditor.js:
1215         (WebInspector.TextEditorMainPanel.prototype._paintLines):
1216
1217 2013-01-23  Rafael Weinstein  <rafaelw@chromium.org>
1218
1219         REGRESSION(r140101): caused debug asserts in fast/forms/associated-element-crash.html and html5lib/run-template.html
1220         https://bugs.webkit.org/show_bug.cgi?id=107237
1221
1222         Reviewed by Adam Barth.
1223
1224         No new tests needed.
1225
1226         When the parser foster-parent's a node out of a table context and the foster parent is a template element, set the Task.parent
1227         to be the template element's content, rather than the element itself. This ensures the foster-parented node isn't errorenously
1228         reparented.
1229
1230         * html/parser/HTMLConstructionSite.cpp:
1231         (WebCore::HTMLConstructionSite::findFosterSite):
1232
1233 2013-01-23  Yury Semikhatsky  <yurys@chromium.org>
1234
1235         Web Inspector: heap profiler shows nodes with distance 0
1236         https://bugs.webkit.org/show_bug.cgi?id=107425
1237
1238         Reviewed by Pavel Feldman.
1239
1240         "Document DOM tree" entities now have distance 1. So if there is a DOM
1241         wrapper that is not referenced from javascript it will anyways be shown
1242         in the heap snapshot and will have distance 2. Also such DOM wrappers
1243         are considered to be reachable from user roots (e.g. global Window objects)
1244         otherwice they are not event shown in the heap snapshots.
1245
1246         * inspector/front-end/HeapSnapshot.js:
1247         (WebInspector.HeapSnapshot.prototype.distanceForUserRoot):
1248         (WebInspector.HeapSnapshot.prototype._calculateDistances):
1249         * inspector/front-end/JSHeapSnapshot.js:
1250         (WebInspector.JSHeapSnapshot.prototype.distanceForUserRoot): distance for 
1251         "(Document DOM trees)" is set to 0 to make sure distance of "Ddocument DOM tree" is 1.
1252         (WebInspector.JSHeapSnapshot.prototype._markPageOwnedNodes):
1253         (WebInspector.JSHeapSnapshotNode.prototype.isDocumentDOMTreesRoot):
1254
1255 2013-01-23  Adrian Perez de Castro  <aperez@igalia.com>
1256
1257         [GStreamer] Add Opus MIME type to the list of supported ones
1258         https://bugs.webkit.org/show_bug.cgi?id=98759
1259
1260         Reviewed by Philippe Normand.
1261
1262         GStreamer has support for the Opus codec (http://opus-codec.org) by
1263         using a plugin present in the "gst-plugins-bad" repository. Opus
1264         streams may be embedded in a Ogg container, or standalone. The case
1265         of the Ogg container is already covered by the "*/ogg" MIME types
1266         declared as supported by the GStreamer media playing code, but for
1267         standalone streams to work, "audio/opus" has to be added.
1268
1269         With this, and the needed GStreamer plugin installed, the GTK+
1270         launcher is able to correctly play the example streams from
1271         http://opus-codec.org/examples
1272
1273         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1274
1275 2013-01-23  Takashi Sakamoto  <tasak@google.com>
1276
1277         [Refactoring] Remove elementParentStyle from SelectorCheckerContext
1278         https://bugs.webkit.org/show_bug.cgi?id=107496
1279
1280         Reviewed by Darin Adler.
1281
1282         Since childrenAffectedBy bits were moved from RenderStyle to element,
1283         now elementParentStyle is not used in SelectorChecker and
1284         StyleResolver. We should remove the member varaiable from
1285         SelectorCheckerContext.
1286
1287         No new tests, because just refactoring.
1288
1289         * css/SelectorChecker.cpp:
1290         (WebCore::SelectorChecker::match):
1291         * css/SelectorChecker.h:
1292         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
1293         (SelectorCheckingContext):
1294         * css/StyleResolver.cpp:
1295         (WebCore::StyleResolver::ruleMatches):
1296         Removed elementParentStyle.
1297
1298 2013-01-23  Andreas Kling  <akling@apple.com>
1299
1300         Pass CSSSelector pointers around as const after parsing stage.
1301         <http://webkit.org/b/107645>
1302
1303         Reviewed by Antti Koivisto.
1304
1305         Have CSSSelectorList vend const CSSSelector* and make the style resolution code
1306         operate on const pointers instead.
1307
1308         This gives us some compile-time confidence that nobody is changing the selectors
1309         after we've parsed them.
1310
1311         * css/CSSSelector.cpp:
1312         (WebCore::CSSSelector::operator==):
1313         (WebCore::CSSSelector::selectorText):
1314         (WebCore::CSSSelector::parseNth):
1315         (WebCore::CSSSelector::matchNth):
1316         * css/CSSSelector.h:
1317         (CSSSelector):
1318         (WebCore::CSSSelector::tagHistory):
1319         (WebCore::CSSSelector::selectorList):
1320         * css/CSSSelectorList.cpp:
1321         (WebCore::CSSSelectorList::selectorsText):
1322         (WebCore::forEachTagSelector):
1323         (WebCore::forEachSelector):
1324         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
1325         (WebCore::SelectorHasInvalidSelectorFunctor::operator()):
1326         * css/CSSSelectorList.h:
1327         (WebCore::CSSSelectorList::first):
1328         (CSSSelectorList):
1329         (WebCore::CSSSelectorList::selectorAt):
1330         (WebCore::CSSSelectorList::indexOfNextSelectorAfter):
1331         (WebCore::CSSSelectorList::next):
1332         * css/CSSStyleRule.cpp:
1333         (WebCore::CSSStyleRule::generateSelectorText):
1334         * css/RuleSet.cpp:
1335         (WebCore::selectorListContainsUncommonAttributeSelector):
1336         (WebCore::collectFeaturesFromRuleData):
1337         * css/RuleSet.h:
1338         (WebCore::RuleData::selector):
1339         (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
1340         (RuleSetSelectorPair):
1341         * css/SelectorChecker.cpp:
1342         (WebCore::SelectorChecker::matches):
1343         (WebCore::SelectorChecker::match):
1344         (WebCore::SelectorChecker::checkOne):
1345         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
1346         (WebCore::SelectorChecker::determineLinkMatchType):
1347         * css/SelectorChecker.h:
1348         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
1349         (SelectorCheckingContext):
1350         (SelectorChecker):
1351         * css/StyleInvalidationAnalysis.cpp:
1352         (WebCore::determineSelectorScopes):
1353         * css/StyleResolver.cpp:
1354         (WebCore::StyleResolver::collectMatchingRulesForRegion):
1355         (WebCore::StyleResolver::checkRegionSelector):
1356         * css/StyleResolver.h:
1357         (StyleResolver):
1358         * dom/SelectorQuery.cpp:
1359         (WebCore::SelectorDataList::initialize):
1360         (WebCore::SelectorDataList::execute):
1361         * dom/SelectorQuery.h:
1362         (WebCore::SelectorDataList::SelectorData::SelectorData):
1363         (SelectorData):
1364         * html/shadow/ContentDistributor.cpp:
1365         (WebCore::ContentDistributor::collectSelectFeatureSetFrom):
1366         * html/shadow/ContentSelectorQuery.cpp:
1367         (WebCore::ContentSelectorChecker::checkContentSelector):
1368         (WebCore::ContentSelectorDataList::initialize):
1369         * html/shadow/ContentSelectorQuery.h:
1370         (ContentSelectorChecker):
1371         (ContentSelectorDataList):
1372         * html/shadow/HTMLContentElement.cpp:
1373         (WebCore::validateSubSelector):
1374         (WebCore::validateSelector):
1375         (WebCore::HTMLContentElement::validateSelect):
1376         * inspector/InspectorCSSAgent.cpp:
1377         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1378         * inspector/InspectorStyleSheet.cpp:
1379         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
1380
1381 2013-01-23  Sergio Villar Senin  <svillar@igalia.com>
1382
1383         [GTK] Unreviewed build fix after r140518.
1384
1385         * GNUmakefile.list.am: rename TextureMapperShaderManager to
1386         TextureMapperShaderProgram.
1387
1388 2013-01-23  Yoshifumi Inoue  <yosin@chromium.org>
1389
1390         REGRESSION(r139044): Pan icon remains on screen on Chromium-WinXP
1391         https://bugs.webkit.org/show_bug.cgi?id=107623
1392
1393         Reviewed by Hajime Morita.
1394
1395         The issue is caused by AutoscrollController::stopAutoscrollTimer()
1396         doesn't call View::removePanScrollIcon() because m_autoscrollType
1397         is reset before checking it.
1398
1399         This patch changes to reset m_autoscrollType after all references.
1400
1401         Test: platform/chromium-win/fast/events/panScroll-panIcon.html
1402
1403         * page/AutoscrollController.cpp:
1404         (WebCore::AutoscrollController::stopAutoscrollTimer):
1405
1406 2013-01-23  Sergio Villar Senin  <svillar@igalia.com>
1407
1408         REGRESSION(r140338): WebKitGtk+ trying to allocate a buffer too big
1409         https://bugs.webkit.org/show_bug.cgi?id=107646
1410
1411         Reviewed by Carlos Garcia Campos.
1412
1413         g_input_stream_skip_async() was replaced in r140338 by
1414         g_input_stream_read_async() to workaround a glib buffer. The former
1415         was using G_MAXSSIZE to skip the whole redirect message but we
1416         cannot use it for the latter because it will try to
1417         allocate a buffer of that size. Replaced it by READ_BUFFER_SIZE. No
1418         new tests required, functionality already covered by network tests..
1419
1420         * platform/network/soup/ResourceHandleSoup.cpp:
1421         (WebCore::redirectSkipCallback):
1422         (WebCore::sendRequestCallback):
1423
1424 2013-01-23  Andrey Adaikin  <aandrey@chromium.org>
1425
1426         Web Inspector: use inspectedWindow.document instead of document in InjectedScript
1427         https://bugs.webkit.org/show_bug.cgi?id=107642
1428
1429         Reviewed by Pavel Feldman.
1430
1431         * inspector/InjectedScriptSource.js:
1432         (.):
1433
1434 2013-01-23  Vivek Galatage  <vivek.vg@samsung.com>
1435
1436         xml-stylesheet XSL is not requested with JavaScript disabled
1437         https://bugs.webkit.org/show_bug.cgi?id=103902
1438
1439         Reviewed by Adam Barth.
1440
1441         Currently CachedResourceLoader::canRequest() calls allowScriptFromSource() on
1442         ContentSecurityPolicy and FrameLoaderClient for the given XSLStyleSheet. This
1443         should be restricted to only calling allowScriptFromSource() for the
1444         ContentSecurityPolicy.
1445
1446         Test: http/tests/xsl/xslt-transform-with-javascript-disabled.html
1447
1448         * loader/cache/CachedResourceLoader.cpp:
1449         (WebCore::CachedResourceLoader::canRequest):
1450
1451 2013-01-23  Kentaro Hara  <haraken@chromium.org>
1452
1453         [V8] Remove if(isolate) checks from v8String() and v8Integer()
1454         https://bugs.webkit.org/show_bug.cgi?id=107540
1455
1456         Reviewed by Adam Barth.
1457
1458         Now there is no optional Isolate parameter in the code base
1459         (except for throwError()). We can safely remove if(isolate) checks
1460         from v8String() and v8Integer().
1461
1462         div.id:       17.8 ns => 17.8 ns (no performance change)
1463         div.nodeType:  9.7 ns =>  8.9 ns (+8.9% performance improvement)
1464
1465         No tests. No change in behavior.
1466
1467         * bindings/v8/ScriptDebugServer.cpp:
1468         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1469         * bindings/v8/V8Binding.h:
1470         (WebCore::v8String):
1471         (WebCore::v8Integer):
1472         * bindings/v8/V8WindowErrorHandler.cpp:
1473         (WebCore::V8WindowErrorHandler::callListenerFunction):
1474         * bindings/v8/V8WorkerContextErrorHandler.cpp:
1475         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
1476
1477 2013-01-23  Hajime Morrita  <morrita@google.com>
1478
1479         Invalidated SVG shadow tree should be always detached.
1480         https://bugs.webkit.org/show_bug.cgi?id=107634
1481
1482         Reviewed by Ryosuke Niwa.
1483
1484         SVGUseElement::clearResourceReferences() uses removeAllChildren() for
1485         clearing its shadow DOM, but this is wrong.
1486         removeAllChildren() is designed for removing children of an out-of-document Node.
1487         For efficiency, it skips a series of cleanup sequences like detach().
1488
1489         For removing SVG shadow tree which is in Document, removeChildren() should be used.
1490         It does proper cleanup for the chilren.
1491
1492         Test: svg/custom/use-invalidate-click-crash.xhtml
1493
1494         * svg/SVGUseElement.cpp:
1495         (WebCore::SVGUseElement::clearResourceReferences):
1496
1497 2013-01-23  Huang Dongsung  <luxtella@company100.net>
1498
1499         [TexMap] Don't call GraphicsLayer::setNeedsDisplay() from TextureMapperLayer.
1500         https://bugs.webkit.org/show_bug.cgi?id=107629
1501
1502         Reviewed by Noam Rosenthal.
1503
1504         We are removing the dependency on GraphicsLayer from TextureMapperLayer.
1505
1506         This is in preparation for refactoring TextureMapper to work in an actor
1507         model (http://webkit.org/b/103854).
1508
1509         No new tests, refactoring only.
1510
1511         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1512         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
1513         * platform/graphics/texmap/TextureMapperLayer.cpp:
1514         (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
1515
1516 2013-01-23  No'am Rosenthal  <noam@webkit.org>
1517
1518         [Texmap] Rename TextureMapperShaderManager.* TextureMapperShaderProgram.*
1519         https://bugs.webkit.org/show_bug.cgi?id=105847
1520
1521         TextureMapperShaderManager contains very little "manager" code.
1522         Moved the map of shaders to TextureMapperGL, and renamed the files containing
1523         the shader implementation TextureMapperShaderProgram.cpp|h.
1524
1525         Reviewed by Kenneth Rohde Christiansen.
1526
1527         No new tests - renames/refactors only.
1528
1529         * GNUmakefile.list.am:
1530         * PlatformEfl.cmake:
1531         * Target.pri:
1532         * platform/graphics/texmap/TextureMapperGL.cpp:
1533         (WebCore::TextureMapperGLData::SharedGLData::getShaderProgram):
1534                 This function is copied from TextureMapperShaderManager.
1535         (SharedGLData):
1536         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
1537         (WebCore::TextureMapperGL::drawBorder):
1538         (WebCore::TextureMapperGL::drawTexture):
1539         (WebCore::TextureMapperGL::drawSolidColor):
1540         (WebCore::optionsForFilterType):
1541         (WebCore::TextureMapperGL::drawFiltered):
1542         (WebCore::TextureMapperGL::beginClip):
1543         * platform/graphics/texmap/TextureMapperShaderProgram.cpp: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.cpp.
1544         (WebCore):
1545         (WebCore::compositingLogEnabled):
1546         (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
1547         (WebCore::TextureMapperShaderProgram::setMatrix):
1548         (WebCore::TextureMapperShaderProgram::getLocation):
1549         (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
1550         (WebCore::TextureMapperShaderProgram::create):
1551         * platform/graphics/texmap/TextureMapperShaderProgram.h: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.h.
1552         (WebCore):
1553         (TextureMapperShaderProgram):
1554         (WebCore::TextureMapperShaderProgram::programID):
1555         (WebCore::TextureMapperShaderProgram::context):
1556
1557 2013-01-23  Kentaro Hara  <haraken@chromium.org>
1558
1559         [V8] Make an Isolate parameter mandatory in throwError()
1560         https://bugs.webkit.org/show_bug.cgi?id=107636
1561
1562         Reviewed by Adam Barth.
1563
1564         No tests. No change in behavior.
1565
1566         * bindings/v8/NPV8Object.cpp:
1567         (_NPN_SetException):
1568         * bindings/v8/V8Binding.cpp:
1569         (WebCore::handleMaxRecursionDepthExceeded):
1570         * bindings/v8/V8Binding.h:
1571         (WebCore):
1572         * bindings/v8/WorkerScriptController.cpp:
1573         (WebCore::WorkerScriptController::evaluate):
1574         (WebCore::WorkerScriptController::setException):
1575
1576 2013-01-22  Kentaro Hara  <haraken@chromium.org>
1577
1578         [V8] Make an Isolate parameter mandatory in throwTypeError()
1579         https://bugs.webkit.org/show_bug.cgi?id=107632
1580
1581         Reviewed by Adam Barth.
1582
1583         No tests. No change in behavior.
1584
1585         * bindings/scripts/CodeGeneratorV8.pm:
1586         (GenerateParametersCheck):
1587         (GenerateConstructorHeader):
1588         (JSValueToNative):
1589         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1590         (WebCore::V8TestEventConstructor::constructorCallback):
1591         * bindings/scripts/test/V8/V8TestInterface.cpp:
1592         (WebCore::V8TestInterface::constructorCallback):
1593         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1594         (WebCore::V8TestNamedConstructorConstructorCallback):
1595         * bindings/scripts/test/V8/V8TestNode.cpp:
1596         (WebCore::V8TestNode::constructorCallback):
1597         * bindings/scripts/test/V8/V8TestObj.cpp:
1598         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
1599         (WebCore::V8TestObj::constructorCallback):
1600         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1601         (WebCore::V8TestOverloadedConstructors::constructorCallback):
1602         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1603         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
1604         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
1605         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1606         * bindings/v8/V8Binding.h:
1607         (WebCore):
1608         (WebCore::toRefPtrNativeArray):
1609         (WebCore::toV8Sequence):
1610         * bindings/v8/V8NodeFilterCondition.cpp:
1611         (WebCore::V8NodeFilterCondition::acceptNode):
1612         * bindings/v8/V8Utilities.cpp:
1613         (WebCore::extractTransferables):
1614         (WebCore::getMessagePortArray):
1615
1616 2013-01-22  Matt Falkenhagen  <falken@chromium.org>
1617
1618         20% regression on dom_perf/DomDivWalk
1619         https://bugs.webkit.org/show_bug.cgi?id=106726
1620
1621         Reviewed by Hajime Morita.
1622
1623         This patch moves the checks in Element::removedFrom for Fullscreen and top layer flags
1624         into a slow path. The idea is for the two checks for Fullscreen and top layer
1625         to be replaced by one faster check in the fast path.
1626
1627         The plan is to migrate the Fullscreen implementation to use top layer, so this is just a
1628         short-term fix for the perf regression.
1629
1630         No new tests: no functionality change
1631
1632         * dom/Element.cpp:
1633         (WebCore::Element::removedFrom): Create a slow path to move the Fullscreen and top layer checks into.
1634         * dom/Node.cpp:
1635         (WebCore::Node::setIsInTopLayer): To allow for cleaner code in Element::removedFrom, define
1636         setIsInTopLayer and isInTopLayer even when the feature flag is off.
1637         * dom/Node.h:
1638         (WebCore::Node::isInTopLayer): Ditto.
1639         (Node):
1640
1641 2013-01-22  Mark Lam  <mark.lam@apple.com>
1642
1643         Change the Supplementable class to not use AtomicString.
1644         https://bugs.webkit.org/show_bug.cgi?id=107535.
1645
1646         Reviewed by Adam Barth.
1647
1648         Replaced the use of AtomicString keys with literal const char* keys.
1649         This simplifies the SupplementMap and makes it slightly leaner and faster.
1650
1651         No new tests.
1652
1653         * Modules/battery/BatteryController.cpp:
1654         (WebCore::BatteryController::supplementName):
1655         * Modules/battery/BatteryController.h:
1656         (BatteryController):
1657         * Modules/battery/NavigatorBattery.cpp:
1658         (WebCore::NavigatorBattery::supplementName):
1659         (WebCore):
1660         (WebCore::NavigatorBattery::from):
1661         * Modules/battery/NavigatorBattery.h:
1662         (NavigatorBattery):
1663         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
1664         (WebCore::DraggedIsolatedFileSystem::supplementName):
1665         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h:
1666         (DraggedIsolatedFileSystem):
1667         * Modules/gamepad/NavigatorGamepad.cpp:
1668         (WebCore::NavigatorGamepad::supplementName):
1669         (WebCore):
1670         (WebCore::NavigatorGamepad::from):
1671         * Modules/gamepad/NavigatorGamepad.h:
1672         (NavigatorGamepad):
1673         * Modules/geolocation/GeolocationController.cpp:
1674         (WebCore::GeolocationController::supplementName):
1675         * Modules/geolocation/GeolocationController.h:
1676         (GeolocationController):
1677         * Modules/geolocation/NavigatorGeolocation.cpp:
1678         (WebCore::NavigatorGeolocation::supplementName):
1679         (WebCore):
1680         (WebCore::NavigatorGeolocation::from):
1681         * Modules/geolocation/NavigatorGeolocation.h:
1682         (NavigatorGeolocation):
1683         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
1684         (WebCore::DOMWindowIndexedDatabase::supplementName):
1685         (WebCore):
1686         (WebCore::DOMWindowIndexedDatabase::from):
1687         * Modules/indexeddb/DOMWindowIndexedDatabase.h:
1688         (DOMWindowIndexedDatabase):
1689         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
1690         (WebCore::PageGroupIndexedDatabase::supplementName):
1691         (WebCore):
1692         (WebCore::PageGroupIndexedDatabase::from):
1693         * Modules/indexeddb/PageGroupIndexedDatabase.h:
1694         (PageGroupIndexedDatabase):
1695         * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
1696         (WebCore::WorkerContextIndexedDatabase::supplementName):
1697         (WebCore):
1698         (WebCore::WorkerContextIndexedDatabase::from):
1699         * Modules/indexeddb/WorkerContextIndexedDatabase.h:
1700         (WorkerContextIndexedDatabase):
1701         * Modules/intents/DOMWindowIntents.cpp:
1702         (WebCore::DOMWindowIntents::supplementName):
1703         (WebCore):
1704         (WebCore::DOMWindowIntents::from):
1705         * Modules/intents/DOMWindowIntents.h:
1706         (DOMWindowIntents):
1707         * Modules/mediastream/UserMediaController.cpp:
1708         (WebCore::UserMediaController::supplementName):
1709         * Modules/mediastream/UserMediaController.h:
1710         (UserMediaController):
1711         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
1712         (WebCore::NavigatorContentUtils::supplementName):
1713         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
1714         (NavigatorContentUtils):
1715         * Modules/networkinfo/NavigatorNetworkInfoConnection.cpp:
1716         (WebCore::NavigatorNetworkInfoConnection::supplementName):
1717         (WebCore):
1718         (WebCore::NavigatorNetworkInfoConnection::from):
1719         * Modules/networkinfo/NavigatorNetworkInfoConnection.h:
1720         (NavigatorNetworkInfoConnection):
1721         * Modules/networkinfo/NetworkInfoController.cpp:
1722         (WebCore::NetworkInfoController::supplementName):
1723         * Modules/networkinfo/NetworkInfoController.h:
1724         (NetworkInfoController):
1725         * Modules/notifications/DOMWindowNotifications.cpp:
1726         (WebCore::DOMWindowNotifications::supplementName):
1727         (WebCore):
1728         (WebCore::DOMWindowNotifications::from):
1729         * Modules/notifications/DOMWindowNotifications.h:
1730         (DOMWindowNotifications):
1731         * Modules/notifications/NotificationController.cpp:
1732         (WebCore::NotificationController::supplementName):
1733         * Modules/notifications/NotificationController.h:
1734         (NotificationController):
1735         * Modules/notifications/WorkerContextNotifications.cpp:
1736         (WebCore::WorkerContextNotifications::supplementName):
1737         (WebCore):
1738         (WebCore::WorkerContextNotifications::from):
1739         * Modules/notifications/WorkerContextNotifications.h:
1740         (WorkerContextNotifications):
1741         * Modules/quota/DOMWindowQuota.cpp:
1742         (WebCore::DOMWindowQuota::supplementName):
1743         (WebCore):
1744         (WebCore::DOMWindowQuota::from):
1745         * Modules/quota/DOMWindowQuota.h:
1746         (DOMWindowQuota):
1747         * Modules/speech/DOMWindowSpeechSynthesis.cpp:
1748         (WebCore::DOMWindowSpeechSynthesis::supplementName):
1749         (WebCore):
1750         (WebCore::DOMWindowSpeechSynthesis::from):
1751         * Modules/speech/DOMWindowSpeechSynthesis.h:
1752         (DOMWindowSpeechSynthesis):
1753         * Modules/speech/SpeechRecognitionController.cpp:
1754         (WebCore::SpeechRecognitionController::supplementName):
1755         * Modules/speech/SpeechRecognitionController.h:
1756         (SpeechRecognitionController):
1757         * Modules/vibration/Vibration.cpp:
1758         (WebCore::Vibration::supplementName):
1759         * Modules/vibration/Vibration.h:
1760         (Vibration):
1761         * Modules/webdatabase/DatabaseContext.cpp:
1762         (WebCore::DatabaseContext::supplementName):
1763         (WebCore):
1764         (WebCore::DatabaseContext::existingDatabaseContextFrom):
1765         (WebCore::DatabaseContext::from):
1766         * Modules/webdatabase/DatabaseContext.h:
1767         (DatabaseContext):
1768         * dom/ContextFeatures.cpp:
1769         (WebCore::ContextFeatures::supplementName):
1770         * dom/ContextFeatures.h:
1771         * dom/DeviceMotionController.cpp:
1772         (WebCore::DeviceMotionController::supplementName):
1773         * dom/DeviceMotionController.h:
1774         (DeviceMotionController):
1775         * dom/DeviceOrientationController.cpp:
1776         (WebCore::DeviceOrientationController::supplementName):
1777         * dom/DeviceOrientationController.h:
1778         (DeviceOrientationController):
1779         * loader/PrerendererClient.cpp:
1780         (WebCore::PrerendererClient::supplementName):
1781         * loader/PrerendererClient.h:
1782         (PrerendererClient):
1783         * page/DOMWindowPagePopup.cpp:
1784         (WebCore::DOMWindowPagePopup::supplementName):
1785         * page/DOMWindowPagePopup.h:
1786         (DOMWindowPagePopup):
1787         * page/SpeechInput.cpp:
1788         (WebCore::SpeechInput::supplementName):
1789         * page/SpeechInput.h:
1790         (SpeechInput):
1791         * platform/RefCountedSupplement.h:
1792         (WebCore::RefCountedSupplement::provideTo):
1793         (WebCore::RefCountedSupplement::from):
1794         * platform/Supplementable.h:
1795         (WebCore):
1796         (WebCore::Supplement::provideTo):
1797         (WebCore::Supplement::from):
1798         (WebCore::Supplementable::provideSupplement):
1799         (WebCore::Supplementable::removeSupplement):
1800         (WebCore::Supplementable::requireSupplement):
1801         (Supplementable):
1802         * testing/InternalSettings.cpp:
1803         (WebCore::InternalSettings::supplementName):
1804         (WebCore):
1805         (WebCore::InternalSettings::from):
1806         * testing/InternalSettings.h:
1807         (InternalSettings):
1808
1809 2013-01-22  Hajime Morrita  <morrita@google.com>
1810
1811         non-ENABLE(DETAILS_ELEMENT) build fails.
1812         https://bugs.webkit.org/show_bug.cgi?id=107626
1813
1814         Reviewed by Kent Tamura.
1815
1816         No new tests, build configuration change.
1817
1818         * rendering/RenderObject.h:
1819         (RenderObject): Added a missing condition.
1820
1821 2013-01-22  Dima Gorbik  <dgorbik@apple.com>
1822
1823         Whitelist should also work for the WebVTT ::cue element without an argument
1824         https://bugs.webkit.org/show_bug.cgi?id=107488
1825
1826         Reviewed by Andreas Kling.
1827         
1828         Apply filtering if the cue shadow pseudoId is set on the selector.
1829
1830         Existing tests were modified to cover this case.
1831
1832         * css/RuleSet.cpp:
1833         (WebCore::determinePropertyWhitelistType):
1834         * html/shadow/MediaControlElements.cpp:
1835         (WebCore::MediaControlTextTrackContainerElement::createSubtrees):
1836         * html/track/TextTrackCue.h:
1837         (WebCore::TextTrackCue::cueShadowPseudoId):
1838
1839 2013-01-22  Hayato Ito  <hayato@chromium.org>
1840
1841         Make MediaQueryEvaluator(bool) constructor explicit.
1842         https://bugs.webkit.org/show_bug.cgi?id=107620
1843
1844         Reviewed by Hajime Morita.
1845
1846         No new tests: no change in behavior.
1847
1848         * css/MediaQueryEvaluator.h:
1849         (MediaQueryEvaluator):
1850
1851 2013-01-22  Anders Carlsson  <andersca@apple.com>
1852
1853         Use a platform strategy for local storage
1854         https://bugs.webkit.org/show_bug.cgi?id=107600
1855
1856         Reviewed by Andreas Kling.
1857
1858         * CMakeLists.txt:
1859         * GNUmakefile.list.am:
1860         * WebCore.exp.in:
1861         * WebCore.gypi:
1862         * WebCore.vcproj/WebCore.vcproj:
1863         * WebCore.xcodeproj/project.pbxproj:
1864         Add new files.
1865
1866         * platform/PlatformStrategies.h:
1867         Add a way to create/get the storage strategy.
1868
1869         * storage/StorageNamespace.cpp:
1870         (WebCore::StorageNamespace::localStorageNamespace):
1871         (WebCore::StorageNamespace::sessionStorageNamespace):
1872         Call the storage strategy.
1873
1874         * storage/StorageNamespace.h:
1875         * storage/StorageStrategy.cpp: Added.
1876         (WebCore::StorageStrategy::localStorageNamespace):
1877         (WebCore::StorageStrategy::sessionStorageNamespace):
1878         Call through to StorageNamespaceImpl.
1879
1880         * storage/StorageStrategy.h: Added.
1881
1882 2013-01-22  Jun Jiang  <jun.a.jiang@intel.com>
1883
1884         Optimize the texture packing for texImage2D() and texSubImage2D() in WebGL
1885         https://bugs.webkit.org/show_bug.cgi?id=105821
1886
1887         Reviewed by Kenneth Russell.
1888
1889         The original texture packing code uses function pointers to denote each unpack and pack operations for different combination of Source formats,
1890         Destination formats and Alpha Operations. It could be made cleaner and simpler. In this patch, template functions are used and try best to avoid
1891         generating useless code for unreachable path to avoid code bloat. Moreover, the flipY operation is moved into the pack operation instead of
1892         operating in a standalone method to improve performance.
1893
1894         Already covered by current test.
1895
1896         * html/canvas/WebGLRenderingContext.cpp:
1897         (WebCore):
1898         (WebCore::WebGLRenderingContext::texImage2DImpl):
1899         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
1900         * platform/graphics/GraphicsContext3D.cpp:
1901         (WebCore::GraphicsContext3D::packImageData):
1902         (WebCore::GraphicsContext3D::extractImageData):
1903         (WebCore::GraphicsContext3D::extractTextureData):
1904         (WebCore):
1905         (WebCore::GraphicsContext3D::packPixels):
1906         * platform/graphics/GraphicsContext3D.h:
1907         (WebCore::GraphicsContext3D::srcFormatComeFromDOMElementOrImageData):
1908         (GraphicsContext3D):
1909         (WebCore::GraphicsContext3D::ImageExtractor::imageSourceFormat):
1910         (ImageExtractor):
1911         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1912         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1913         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1914         (WebCore::getSourceDataFormat):
1915         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1916         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1917         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1918         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1919         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1920         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1921         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1922
1923 2013-01-21  Kentaro Hara  <haraken@chromium.org>
1924
1925         Implement UIEvent constructor
1926         https://bugs.webkit.org/show_bug.cgi?id=107430
1927
1928         Reviewed by Adam Barth.
1929
1930         Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm
1931
1932         UIEvent constructor is implemented under a DOM4_EVENTS_CONSTRUCTOR flag,
1933         which is enabled on Safari and Chromium for now.
1934
1935         Test: fast/events/constructors/ui-event-constructor.html
1936
1937         * Configurations/FeatureDefines.xcconfig:
1938         * bindings/scripts/CodeGeneratorV8.pm:
1939         (GenerateHeader):
1940         * bindings/scripts/test/V8/V8TestInterface.h:
1941         (V8TestInterface):
1942         * dom/UIEvent.cpp:
1943         (WebCore::UIEventInit::UIEventInit):
1944         (WebCore):
1945         (WebCore::UIEvent::UIEvent):
1946         * dom/UIEvent.h:
1947         (WebCore):
1948         (UIEventInit):
1949         (UIEvent):
1950         (WebCore::UIEvent::create):
1951         (WebCore::UIEvent::view):
1952         (WebCore::UIEvent::detail):
1953         (FocusInEventDispatchMediator):
1954         (FocusOutEventDispatchMediator):
1955         * dom/UIEvent.idl:
1956
1957 2013-01-22  Joshua Bell  <jsbell@chromium.org>
1958
1959         IndexedDB: Remove IDBKey from WebKitIDL
1960         https://bugs.webkit.org/show_bug.cgi?id=97375
1961
1962         Reviewed by Kentaro Hara.
1963
1964         Now that references to the artificial IDBKey type have been removed from all IDLs, remove
1965         the support code, and move the conversion code into the IDBBindingUtilities. Removes
1966         references to the autogenerated {V8,JS}IDBKey{Custom,}.{cpp,h} from the project files.
1967
1968         No new tests - just code moves/removing unused code. Updated binding reference test results.
1969
1970         * CMakeLists.txt:
1971         * DerivedSources.cpp:
1972         * DerivedSources.make:
1973         * DerivedSources.pri:
1974         * GNUmakefile.list.am:
1975         * Modules/indexeddb/IDBKey.idl: Removed.
1976         * Target.pri:
1977         * UseJSC.cmake:
1978         * UseV8.cmake:
1979         * WebCore.gypi:
1980         * WebCore.vcproj/WebCore.vcproj:
1981         * WebCore.xcodeproj/project.pbxproj:
1982         * bindings/js/IDBBindingUtilities.cpp:
1983         (WebCore::toJS): Moved here from JSIDBKeyCustom.cpp
1984         (WebCore):
1985         * bindings/js/JSIDBKeyCustom.cpp: Removed.
1986         * bindings/scripts/CodeGeneratorJS.pm:
1987         (JSValueToNative):
1988         * bindings/scripts/CodeGeneratorV8.pm:
1989         (GenerateFunctionCallString):
1990         (GetNativeType):
1991         (JSValueToNative):
1992         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1993         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1994         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1995         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1996         * bindings/scripts/test/JS/JSTestObj.cpp:
1997         * bindings/scripts/test/JS/JSTestObj.h:
1998         * bindings/scripts/test/ObjC/DOMTestObj.h:
1999         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2000         * bindings/scripts/test/TestObj.idl: Removed IDBKey-specific test.
2001         * bindings/scripts/test/V8/V8TestObj.cpp:
2002         * bindings/v8/IDBBindingUtilities.cpp:
2003         (WebCore::toV8): Moved here from V8IDBKeyCustom.cpp
2004         (WebCore):
2005         * bindings/v8/custom/V8IDBKeyCustom.cpp: Removed.
2006
2007 2013-01-22  Tony Gentilcore  <tonyg@chromium.org>
2008
2009         Fix assertions in make8BitFrom16BitSource() with threaded parser
2010         https://bugs.webkit.org/show_bug.cgi?id=107596
2011
2012         Reviewed by Adam Barth.
2013
2014         This fixes an assertion in several fast/parser tests. We need to keep track of whether the data is all 8bit.
2015         Luckily this doesn't cost us any size on CompactHTMLToken because the bitfields are collapsed (verified by COMPILE_ASSERT).
2016
2017         No new tests because covered by existing fast/parser tests.
2018
2019         * html/parser/CompactHTMLToken.cpp:
2020         (WebCore::CompactHTMLToken::CompactHTMLToken):
2021         * html/parser/CompactHTMLToken.h:
2022         (WebCore::CompactHTMLToken::isAll8BitData):
2023         (CompactHTMLToken):
2024         * html/parser/HTMLToken.h:
2025         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2026
2027 2013-01-22  Tony Gentilcore  <tonyg@chromium.org>
2028
2029         Fix ASSERT(!hasInsertionPoint()) in threaded HTML parser
2030         https://bugs.webkit.org/show_bug.cgi?id=107593
2031
2032         Reviewed by Adam Barth.
2033
2034         Prior to this patch, several fast/parser tests hit ASSERT(!hasInsertionPoint()) in prepareToStopParsing().
2035         That was because hasInsertionPoint() checks m_input.haveSeenEndOfFile() which was skipped for the threaded
2036         parser case. This patch causes us to call markEndOfFile().
2037
2038         No new tests because covered by existing fast/parser tests.
2039
2040         * html/parser/HTMLDocumentParser.cpp:
2041         (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser): This FIXME was done in a previous patch.
2042         (WebCore::HTMLDocumentParser::finish):
2043
2044 2013-01-22  Joshua Bell  <jsbell@chromium.org>
2045
2046         Prevent race condition during Worker shutdown
2047         https://bugs.webkit.org/show_bug.cgi?id=107577
2048
2049         Reviewed by Dmitry Titov.
2050
2051         During worker shutdown, from the main thread a cleanup task is posted followed by
2052         terminating the message queue, which prevents further tasks from being processed. It was
2053         possible for another task be posted by another thread between the main thread calls
2054         to postTask and terminate(), which would cause that task to run after cleanup. Expose
2055         a new WTF::MessageQueue::appendAndKill() method which keeps a mutex around the two steps,
2056         and use that during worker shutdown.
2057
2058         No reliable tests for the race - problem identified by inspection of user crash stacks.
2059
2060         * workers/WorkerRunLoop.cpp:
2061         (WebCore::WorkerRunLoop::postTaskAndTerminate): New method, uses MessageQueue::appendAndKill()
2062         * workers/WorkerRunLoop.h:
2063         * workers/WorkerThread.cpp:
2064         (WebCore::WorkerThread::stop): Uses postTaskAndTerminate() to avoid race.
2065
2066 2013-01-22  Tony Chang  <tony@chromium.org>
2067
2068         Unreviewed, rolling out r140171.
2069         http://trac.webkit.org/changeset/140171
2070         https://bugs.webkit.org/show_bug.cgi?id=107193
2071
2072         Regressed scrollable region size in other cases.
2073
2074         * rendering/RenderBlock.cpp:
2075         (WebCore::RenderBlock::simplifiedLayout):
2076
2077 2013-01-22  Alexey Proskuryakov  <ap@apple.com>
2078
2079         [WK2] WebProcessService is not terminated when page is closed
2080         https://bugs.webkit.org/show_bug.cgi?id=107595
2081
2082         Reviewed by Anders Carlsson.
2083
2084         * platform/mac/RunLoopMac.mm: (WebCore::RunLoop::stop): Allow stopping XPC service
2085         run loop. Also, harmonized NSApp vs. [NSApplication sharedApplication] usage.
2086
2087 2013-01-22  Ojan Vafai  <ojan@chromium.org>
2088
2089         REGRESION(r130774): preferred width of tables does not take max-width into account
2090         https://bugs.webkit.org/show_bug.cgi?id=107576
2091
2092         Reviewed by Tony Chang.
2093
2094         Constrain preferred widths by min/max the way we do in other
2095         RenderBlock subclasses. Eventually, we'll shared the code with
2096         RenderBlock, but this is an incremental step in that direction
2097         that we can safely merge into release branches.
2098
2099         Test: fast/table/min-max-width-preferred-size.html
2100
2101         * rendering/RenderTable.cpp:
2102         (WebCore::RenderTable::computePreferredLogicalWidths):
2103
2104 2013-01-22  Adam Barth  <abarth@webkit.org>
2105
2106         The BackgroundHTMLParser shouldn't pause when waiting for scripts
2107         https://bugs.webkit.org/show_bug.cgi?id=107584
2108
2109         Reviewed by Eric Seidel.
2110
2111         Previously, the BackgroundHTMLParser would pause itself when it
2112         encountered a scrip tag and wait for a signal from the main thread to
2113         continue. After this patch, the BackgroundHTMLParser continues ahead
2114         and the main thread keeps a queue of pending tokens.
2115
2116         This patch brings us closer to speculative parsing because when the
2117         BackgroundHTMLParser is continuing ahead, it is speculating that it is
2118         in the correct state. A future patch will let us abort incorret
2119         speculations and resume from an eariler point in the input stream.
2120
2121         * html/parser/BackgroundHTMLParser.cpp:
2122         (WebCore::checkThatTokensAreSafeToSendToAnotherThread):
2123         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
2124         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
2125         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2126         (WebCore::TokenDelivery::TokenDelivery):
2127         (TokenDelivery):
2128         (WebCore::TokenDelivery::execute):
2129         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
2130         * html/parser/BackgroundHTMLParser.h:
2131         (BackgroundHTMLParser):
2132         * html/parser/CompactHTMLToken.h:
2133         (WebCore):
2134         * html/parser/HTMLDocumentParser.cpp:
2135         (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
2136         (WebCore):
2137         (WebCore::HTMLDocumentParser::processTokensFromBackgroundParser):
2138         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2139         * html/parser/HTMLDocumentParser.h:
2140         (HTMLDocumentParser):
2141
2142 2013-01-22  Simon Fraser  <simon.fraser@apple.com>
2143
2144         Fix scrollperf logging
2145         https://bugs.webkit.org/show_bug.cgi?id=107589
2146
2147         Reviewed by Tim Horton.
2148
2149         The scrollperf logging had two issues:
2150
2151         1. It relied on a paint logging a "filled" event, but it's possible
2152         for existing tiles to be moved into the viewport and filling it, so
2153         we need to log from the scrolling thread both when we have unfilled pixels,
2154         and when the last scroll revealed unfilled pixels.
2155         
2156         2. On some pages, z-index:-1 elements behind the body cause the root
2157         TileCache to have drawsContent set to false, so none of its tiles paint. In
2158         that case, the check for a non-zero paintCount in TileCache::blankPixelCountForTiles()
2159         was wrong; we don't think there's a way to have an unpainted tile in the tree.
2160         
2161         Also fix the signature of blankPixelCountForTiles() to take references.
2162
2163         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2164         (ScrollingTreeScrollingNodeMac):
2165         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2166         (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
2167         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
2168         * platform/graphics/ca/mac/TileCache.h:
2169         * platform/graphics/ca/mac/TileCache.mm:
2170         (WebCore::TileCache::blankPixelCountForTiles):
2171
2172 2013-01-22  Eric Seidel  <eric@webkit.org>
2173
2174         Make CompactHTMLToken a little more compact
2175         https://bugs.webkit.org/show_bug.cgi?id=107317
2176
2177         Reviewed by Adam Barth.
2178
2179         The windows builders got sad because MSVC won't combine
2180         adjacent bit-fields with different types.  Changing
2181         bool to unsigned should fix the problem.
2182
2183         * html/parser/CompactHTMLToken.h:
2184         (CompactHTMLToken):
2185
2186 2013-01-22  Anthony Scian  <ascian@rim.com>
2187
2188         [Blackberry] Static code analysis warning fixes
2189         https://bugs.webkit.org/show_bug.cgi?id=107464
2190
2191         Reviewed by Rob Buis.
2192
2193         Klocwork issues: 1367, 2367
2194         - add NULL pointer checks detected by static code analysis
2195
2196         * platform/blackberry/WidgetBlackBerry.cpp:
2197         (WebCore::Widget::setCursor):
2198         * plugins/blackberry/PluginViewBlackBerry.cpp:
2199         (WebCore::PluginView::updatePluginWidget):
2200
2201 2013-01-22  Joseph Pecoraro  <pecoraro@apple.com>
2202
2203         [Mac] Enable Page Visibility (PAGE_VISIBILITY_API)
2204         https://bugs.webkit.org/show_bug.cgi?id=107230
2205
2206         Reviewed by David Kilzer.
2207
2208         No new tests. Covered by existing tests which are now unskipped.
2209
2210         * Configurations/FeatureDefines.xcconfig:
2211
2212 2013-01-22  Tony Gentilcore  <tonyg@chromium.org>
2213
2214         Make BackgroundHTMLParser track line/column numbers
2215         https://bugs.webkit.org/show_bug.cgi?id=107561
2216
2217         Reviewed by Adam Barth.
2218
2219         No new tests because covered by existing fast/parser tests.
2220
2221         * html/parser/BackgroundHTMLParser.cpp:
2222         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2223         * html/parser/CompactHTMLToken.cpp:
2224         (WebCore::CompactHTMLToken::CompactHTMLToken):
2225         * html/parser/CompactHTMLToken.h:
2226         (CompactHTMLToken):
2227         (WebCore::CompactHTMLToken::textPosition):
2228         * html/parser/HTMLDocumentParser.cpp:
2229         (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
2230         (WebCore::HTMLDocumentParser::lineNumber):
2231         (WebCore::HTMLDocumentParser::textPosition):
2232         * html/parser/HTMLDocumentParser.h:
2233         (HTMLDocumentParser):
2234
2235 2013-01-22  Alec Flett  <alecflett@chromium.org>
2236
2237         IndexedDB: Don't assert when deprecated setCallbacks is called
2238         https://bugs.webkit.org/show_bug.cgi?id=107580
2239
2240         Reviewed by Tony Chang.
2241
2242         Remove an assert for IDBTransactionBackendImpl that was deprecated
2243         in a previous commit, but is still called by old chromium code.
2244         After the chromium code is removed, this method will be removed
2245         entirely.
2246
2247         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2248         (WebCore::IDBTransactionBackendImpl::setCallbacks):
2249
2250 2013-01-22  Zan Dobersek  <zandobersek@gmail.com>
2251
2252         [GTK] Disable CSS Regions in release builds
2253         https://bugs.webkit.org/show_bug.cgi?id=106541
2254
2255         Reviewed by Martin Robinson.
2256
2257         The CSS Regions feature is not yet deemed stable enough to be enabled
2258         in release builds, so disable it. It's still enabled for development
2259         builds, via FeatureList.pm.
2260
2261         No new tests - no testable changes.
2262
2263         * GNUmakefile.features.am.in:
2264
2265 2013-01-22  Zan Dobersek  <zandobersek@gmail.com>
2266
2267         [GTK] Enable the <template> element support in development builds
2268         https://bugs.webkit.org/show_bug.cgi?id=106575
2269
2270         Reviewed by Martin Robinson.
2271
2272         Add a missing build target that contains the custom JS bindings.
2273
2274         No new tests - the related tests are being unskipped and mostly pass.
2275
2276         * GNUmakefile.list.am:
2277
2278 2013-01-22  Joshua Bell  <jsbell@chromium.org>
2279
2280         IndexedDB: Remove dependency on IDBKey type from IDLs
2281         https://bugs.webkit.org/show_bug.cgi?id=106912
2282
2283         Reviewed by Kentaro Hara.
2284
2285         This is a preamble to wkbug.com/97375 "Remove IDBKey from WebKitIDL"; IDBKey is
2286         not a concept from the Indexed DB spec but a convenient internal type. It was
2287         exposed in the IDL with custom binding code and special cases in the generator
2288         to map from script values to the WebCore type. To remove those special cases
2289         and match the WebIDL in the spec, the IDLs are changed to use "any" and the
2290         implementations now take ScriptValues. This does mean that each call site must
2291         call into IDBBindingUtilities to map from ScriptValue to IDBKey.
2292
2293         No new tests - just a refactor.
2294
2295         * Modules/indexeddb/IDBAny.cpp: Remove IDBKey as a variant type - just use ScriptValue.
2296         * Modules/indexeddb/IDBAny.h:
2297         (WebCore):
2298         (IDBAny):
2299         * Modules/indexeddb/IDBCursor.cpp:
2300         (WebCore::IDBCursor::continueFunction): Now takes any/ScriptValue.
2301         (WebCore):
2302         * Modules/indexeddb/IDBCursor.h:
2303         (WebCore::IDBCursor::continueFunction):
2304         (IDBCursor):
2305         * Modules/indexeddb/IDBCursor.idl:
2306         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
2307         (WebCore::IDBCursorBackendImpl::deleteFunction):
2308         * Modules/indexeddb/IDBFactory.cpp:
2309         (WebCore::IDBFactory::cmp): Now takes any/ScriptValue.
2310         * Modules/indexeddb/IDBFactory.h:
2311         (IDBFactory):
2312         * Modules/indexeddb/IDBFactory.idl:
2313         * Modules/indexeddb/IDBIndex.cpp:
2314         (WebCore::IDBIndex::openCursor): Now takes any/ScriptValue.
2315         (WebCore::IDBIndex::count): Now takes any/ScriptValue.
2316         (WebCore::IDBIndex::openKeyCursor): Now takes any/ScriptValue.
2317         (WebCore::IDBIndex::get): Now takes any/ScriptValue.
2318         (WebCore::IDBIndex::getKey): Now takes any/ScriptValue.
2319         * Modules/indexeddb/IDBIndex.h:
2320         (WebCore::IDBIndex::openCursor):
2321         (IDBIndex):
2322         (WebCore::IDBIndex::openKeyCursor):
2323         * Modules/indexeddb/IDBIndex.idl:
2324         * Modules/indexeddb/IDBKeyRange.cpp:
2325         (WebCore::IDBKeyRange::create): Add helper for back-end creation of single-key ranges.
2326         (WebCore):
2327         (WebCore::IDBKeyRange::lowerValue): Impl. of new "any" type accessor exposed to script.
2328         (WebCore::IDBKeyRange::upperValue): Ditto.
2329         (WebCore::IDBKeyRange::only): Now takes any/ScriptValue.
2330         (WebCore::IDBKeyRange::lowerBound): Now takes any/ScriptValue.
2331         (WebCore::IDBKeyRange::upperBound): Now takes any/ScriptValue.
2332         (WebCore::IDBKeyRange::bound): Now takes any/ScriptValue.
2333         * Modules/indexeddb/IDBKeyRange.h:
2334         (IDBKeyRange):
2335         (WebCore::IDBKeyRange::lowerBound):
2336         (WebCore::IDBKeyRange::upperBound):
2337         (WebCore::IDBKeyRange::bound):
2338         * Modules/indexeddb/IDBKeyRange.idl:
2339         * Modules/indexeddb/IDBObjectStore.cpp:
2340         (WebCore::IDBObjectStore::get): Now takes any/ScriptValue.
2341         (WebCore::IDBObjectStore::add): Now takes any/ScriptValue.
2342         (WebCore):
2343         (WebCore::IDBObjectStore::put): Now takes any/ScriptValue.
2344         (WebCore::IDBObjectStore::deleteFunction): Now takes any/ScriptValue.
2345         (WebCore::IDBObjectStore::openCursor): Now takes any/ScriptValue.
2346         (WebCore::IDBObjectStore::count): Now takes any/ScriptValue.
2347         * Modules/indexeddb/IDBObjectStore.h:
2348         (IDBObjectStore):
2349         (WebCore::IDBObjectStore::openCursor):
2350         * Modules/indexeddb/IDBObjectStore.idl:
2351         * Modules/indexeddb/IDBRequest.cpp: Result IDBAny type is now ScriptValue.
2352         (WebCore::IDBRequest::onSuccess):
2353         * bindings/js/IDBBindingUtilities.cpp:
2354         (WebCore::scriptValueToIDBKey): The inverse of idbKeyToScriptValue().
2355         (WebCore):
2356         * bindings/js/IDBBindingUtilities.h:
2357         (WebCore):
2358         * bindings/js/JSIDBAnyCustom.cpp:
2359         (WebCore::toJS):
2360         * bindings/v8/IDBBindingUtilities.cpp:
2361         (WebCore::scriptValueToIDBKey): Ditto.
2362         (WebCore):
2363         * bindings/v8/IDBBindingUtilities.h:
2364         (WebCore):
2365         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2366         (WebCore::toV8): Remove IDBKey variant type.
2367
2368 2013-01-22  Justin Schuh  <jschuh@chromium.org>
2369
2370         TRANSFORMATION_MATRIX_USE_X86_64_SSE2 broken for 64-bit Windows builds
2371         https://bugs.webkit.org/show_bug.cgi?id=107498
2372
2373         Reviewed by James Robinson.
2374         
2375         Enable TRANSFORMATION_MATRIX_USE_X86_64_SSE2 for 64-bit Windows.
2376
2377         No new tests. Covered by existing tests.
2378
2379         * platform/graphics/transforms/TransformationMatrix.h:
2380         (WebCore):
2381         (TransformationMatrix):
2382
2383 2013-01-22  Min Qin  <qinmin@chromium.org>
2384
2385         Fix a race condition on SkBitmap::lockPixels()/unlockPixels() for lazy image decoding
2386         https://bugs.webkit.org/show_bug.cgi?id=107404
2387
2388         Reviewed by Stephen White.
2389
2390         Skbitmap::lockPixels()/unlockPixels() are not threadsafe.
2391         unlike SkPixelRef, these 2 calls are not protected by an internal mutex.
2392         Bugfix, no behaviral change and hard to test as tests will be flaky.
2393
2394         * platform/graphics/chromium/ImageDecodingStore.cpp:
2395         (WebCore::ImageDecodingStore::lockCache):
2396         (WebCore::ImageDecodingStore::unlockCache):
2397         (WebCore::ImageDecodingStore::insertAndLockCache):
2398         (WebCore::ImageDecodingStore::overwriteAndLockCache):
2399         * platform/graphics/chromium/ImageDecodingStore.h:
2400         (ImageDecodingStore):
2401
2402 2013-01-22  Eric Seidel  <eric@webkit.org>
2403
2404         Make CompactHTMLToken a little more compact
2405         https://bugs.webkit.org/show_bug.cgi?id=107317
2406
2407         Reviewed by Darin Adler.
2408
2409         Reduce the size of CompactHTMLToken by two pointers.
2410         The abuse of the attribute vector to store the DOCTYPE strings
2411         is kinda lame, but makes a lot of sense given how rare DOCTYPE tokens are.
2412
2413         The resulting CompactHTMLToken vector should be a smaller malloc and thus faster.
2414         However I saw no perf change on html-parser-srcdoc.html.
2415
2416         * html/parser/CompactHTMLToken.cpp:
2417         (SameSizeAsCompactHTMLToken):
2418         (WebCore):
2419         (WebCore::CompactHTMLToken::CompactHTMLToken):
2420         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
2421         * html/parser/CompactHTMLToken.h:
2422         (WebCore::CompactHTMLToken::type):
2423         (CompactHTMLToken):
2424         (WebCore::CompactHTMLToken::publicIdentifier):
2425         (WebCore::CompactHTMLToken::systemIdentifier):
2426
2427 2013-01-22  Elliott Sprehn  <esprehn@chromium.org>
2428
2429         Assertion parent->inDocument() failed in WebCore::PseudoElement::PseudoElement
2430         https://bugs.webkit.org/show_bug.cgi?id=106224
2431
2432         Reviewed by Ojan Vafai.
2433
2434         Appending a node that contains a <style> and also elements that should have
2435         generated content can cause us to create PseudoElements in nodes that are not
2436         yet inDocument because we may recalcStyle in HTMLStyleElement::insertedInto
2437         triggering a reattach() which could then traverse into the siblings of the
2438         <style> attaching them even though they are not yet inDocument.
2439
2440         This means that we should not assert about the parent of a PseudoElement
2441         being inDocument as this is not always the case.
2442
2443         Instead forward Node::insertedInto and removedFrom notifications to
2444         PseudoElements so they will correctly get their inDocument bit set. Nothing
2445         in the code appears to depend on them being inDocument we just make sure to
2446         set it so they're consistent with the rest of the document.
2447
2448         No new tests, there's no way to test that PseudoElements are really inDocument.
2449
2450         * dom/Element.cpp:
2451         (WebCore::Element::insertedInto):
2452         (WebCore::Element::removedFrom):
2453         * dom/PseudoElement.cpp:
2454         (WebCore::PseudoElement::PseudoElement):
2455
2456 2013-01-22  Alexis Menard  <alexis@webkit.org>
2457
2458         Allow construction of unprefixed transition DOM events.
2459         https://bugs.webkit.org/show_bug.cgi?id=107319
2460
2461         Reviewed by Dean Jackson.
2462
2463         Make possible to construct unprefixed DOM events for transitions.
2464         Unfortunately I have to duplicate the C++ implementation class of the
2465         events (TransitionEvent.h and TransitionEvent.cpp). I can't find a
2466         better way to re-use the WebKitTransitionEvent class to back the
2467         TransitionEvent.idl as our code generators don't allow to have a
2468         different name for the C++ class used in the generated file than the
2469         interface name specified in the IDL file. Unfortunately
2470         https://trac.webkit.org/wiki/WebKitIDL#InterfaceName doesn't help as
2471         it's only a way to unlink the interface name specified in the IDL with
2472         the one exposed in JavaScript. I don't think we should support such a
2473         feature in our code generators as WebKitTransitionEvent class and more
2474         exactly prefixed DOM events for transitions will be removed one day so
2475         this use case will become obselete.
2476
2477         Test: fast/events/constructors/transition-event-constructor.html
2478
2479         * CMakeLists.txt:
2480         * DerivedSources.cpp:
2481         * DerivedSources.make:
2482         * DerivedSources.pri:
2483         * GNUmakefile.list.am:
2484         * Target.pri:
2485         * WebCore.gypi:
2486         * WebCore.vcproj/WebCore.vcproj:
2487         * WebCore.xcodeproj/project.pbxproj:
2488         * dom/DOMAllInOne.cpp:
2489         * dom/EventNames.in:
2490         * dom/TransitionEvent.cpp: Added.
2491         (WebCore):
2492         (WebCore::TransitionEventInit::TransitionEventInit):
2493         (WebCore::TransitionEvent::TransitionEvent):
2494         (WebCore::TransitionEvent::~TransitionEvent):
2495         (WebCore::TransitionEvent::propertyName):
2496         (WebCore::TransitionEvent::elapsedTime):
2497         (WebCore::TransitionEvent::interfaceName):
2498         * dom/TransitionEvent.h: Added.
2499         (WebCore):
2500         (TransitionEventInit):
2501         (TransitionEvent):
2502         (WebCore::TransitionEvent::create):
2503         * dom/TransitionEvent.idl: Added.
2504         * page/DOMWindow.idl:
2505         * page/animation/AnimationController.cpp:
2506         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): always
2507         create a TransitionEvent now. EventTarget will be responsible to create
2508         a WebKitTransitionEvent if necessary.
2509
2510 2013-01-22  Adam Barth  <abarth@webkit.org>
2511
2512         Wean BackgroundHTMLParser off HTMLInputStream
2513         https://bugs.webkit.org/show_bug.cgi?id=107575
2514
2515         Reviewed by Eric Seidel.
2516
2517         The BackgroundHTMLParser doesn't need to use HTMLInputStream because it
2518         doesn't need to handle nested calls to document.write. Instead, we can
2519         just use a SegmentedString directly, which will let us checkpoint
2520         m_input for speculation.
2521
2522         * html/parser/BackgroundHTMLParser.cpp:
2523         (WebCore::BackgroundHTMLParser::append):
2524         (WebCore::BackgroundHTMLParser::finish):
2525         (WebCore::BackgroundHTMLParser::markEndOfFile):
2526         (WebCore):
2527         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2528         * html/parser/BackgroundHTMLParser.h:
2529         (BackgroundHTMLParser):
2530
2531 2013-01-22  Sergio Villar Senin  <svillar@igalia.com>
2532
2533         [Soup] Random thread crashes
2534         https://bugs.webkit.org/show_bug.cgi?id=107439
2535
2536         Reviewed by Martin Robinson.
2537
2538         Process all pending requests in the inner GMainContext created to
2539         perform synchronous requests before restoring the thread default. No
2540         new tests required, already covered by network tests.
2541
2542         * platform/network/soup/ResourceHandleSoup.cpp:
2543         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
2544
2545 2013-01-22  Christophe Dumez  <christophe.dumez@intel.com>
2546
2547         [gstreamer] GstBus signal watch should be removed on clean up
2548         https://bugs.webkit.org/show_bug.cgi?id=107544
2549
2550         Reviewed by Philippe Normand.
2551
2552         Our gstreamer backend code currently calls gst_bus_add_signal_watch()
2553         on GstBus to add a signal watch. As per the gstreamer  documentation,
2554         "To clean up, the caller is responsible for calling
2555         gst_bus_remove_signal_watch() as many times as this function is
2556         called". This is because gst_bus_add_signal_watch() causes the GstBus
2557         object to be ref'd and gst_bus_remove_signal_watch() needs to be
2558         called to properly unref it.
2559
2560         This patch makes sure that gst_bus_remove_signal_watch() is called
2561         on the GstBus object when cleaning up. This patch also uses smart
2562         pointers for GstBus objects for consistency.
2563
2564         No new tests, no behavior change for layout tests.
2565
2566         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2567         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
2568         (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
2569         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2570         (WebCore::AudioFileReader::~AudioFileReader):
2571         (WebCore::AudioFileReader::decodeAudioForBusCreation):
2572         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2573         (WebCore::GStreamerGWorld::GStreamerGWorld):
2574         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2575         (webkitGstPipelineGetBus):
2576         * platform/graphics/gstreamer/GStreamerVersioning.h:
2577         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2578         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2579
2580 2013-01-22  Adam Barth  <abarth@webkit.org>
2581
2582         BackgroundHTMLParser should simulate tree building in a separate function
2583         https://bugs.webkit.org/show_bug.cgi?id=107569
2584
2585         Reviewed by Eric Seidel.
2586
2587         This patch cleans up BackgroundHTMLParser::pumpTokenizer to prepare for
2588         implementing speculative parsing.
2589
2590         * html/parser/BackgroundHTMLParser.cpp:
2591         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
2592         (WebCore):
2593         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2594         * html/parser/BackgroundHTMLParser.h:
2595         (BackgroundHTMLParser):
2596         * page/Settings.in:
2597
2598 2013-01-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2599
2600         Unreviewed, rolling out r140435.
2601         http://trac.webkit.org/changeset/140435
2602         https://bugs.webkit.org/show_bug.cgi?id=107565
2603
2604         Crashes on ClusterFuzz due to float not removed (Requested by
2605         inferno-sec on #webkit).
2606
2607         * rendering/RenderBox.cpp:
2608         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2609
2610 2013-01-22  Robert Hogan  <robert@webkit.org>
2611
2612         When we do setAttribute("border", null) on a table we should create a border like every other browser
2613         https://bugs.webkit.org/show_bug.cgi?id=102112
2614
2615         Reviewed by Ryosuke Niwa.
2616
2617         http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#tables says:
2618         "If the [table's border] attribute is present but parsing the attribute's value using the rules for parsing 
2619         non-negative integers generates an error, a default value of 1px is expected to be used for that property instead."
2620
2621         Match the spec and bring us into line with other browsers by observing the 'parsing non-negative integers' algorithm.
2622
2623         Tests: fast/dom/HTMLTableElement/table-with-invalid-border.html
2624                fast/table/table-with-borderattr-null.html
2625                fast/table/table-with-borderattr-set-to-null.html
2626
2627         * html/HTMLElement.cpp:
2628         (WebCore::HTMLElement::parseBorderWidthAttribute):
2629         (WebCore::HTMLElement::applyBorderAttributeToStyle):
2630         * html/HTMLElement.h:
2631         (HTMLElement):
2632         * html/HTMLTableElement.cpp:
2633         (WebCore::HTMLTableElement::collectStyleForPresentationAttribute):
2634         (WebCore::HTMLTableElement::parseAttribute):
2635
2636 2013-01-22  Abhishek Arya  <inferno@chromium.org>
2637
2638         Heap-use-after-free in WebCore::RenderObject::isDescendantOf
2639         https://bugs.webkit.org/show_bug.cgi?id=107226
2640
2641         Reviewed by Emil A Eklund.
2642
2643         Test: fast/block/float/overhanging-float-not-removed-crash.html
2644
2645         * rendering/RenderBox.cpp:
2646         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2647         Skip anonymous blocks in the chain to get the enclosing block and
2648         be able to correctly mark the overhanging floats in the next siblings.
2649
2650 2013-01-22  Justin Schuh  <jschuh@chromium.org>
2651
2652         Silence MSVC 64-bit build warning c4309 for FrameTree::invalidCount
2653         https://bugs.webkit.org/show_bug.cgi?id=107439
2654
2655         Reviewed by Dimitri Glazkov.
2656         
2657         MSVC detects that the constant notFound is truncated on assignment to
2658         invalidCount. Since we never compare them (as it would always fail on
2659         64-bit anyway), just initialize invalidCount directly to -1.
2660
2661         No new tests. No behavior changed.
2662
2663         * page/FrameTree.h:
2664         (FrameTree):
2665
2666 2013-01-22  Zan Dobersek  <zdobersek@igalia.com>
2667
2668         [Autotools] Remove the Canvas Path configuration option
2669         https://bugs.webkit.org/show_bug.cgi?id=107537
2670
2671         Reviewed by Martin Robinson.
2672
2673         No new tests - no new testable functionality.
2674
2675         * GNUmakefile.am: Remove the Automake conditional analysis, the related
2676         configuration option is being removed as well.
2677         * GNUmakefile.features.am.in: Add the ENABLE_CANVAS_PATH feature define,
2678         defaulting to 0 in release builds (but is disabled in development builds
2679         of the GTK port as well at the moment).
2680
2681 2013-01-18  Stephen Chenney  <schenney@chromium.org>
2682
2683         Asserts when textPath is used with no path
2684         https://bugs.webkit.org/show_bug.cgi?id=107324
2685
2686         Reviewed by Eric Seidel.
2687
2688         We assert when there is no path associated with an SVG text path
2689         element. Instead, this patch detects the condition and stops trying to
2690         layout text for that textPath  element.
2691
2692         Test: svg/text/tpath-without-path.svg
2693
2694         * rendering/svg/SVGTextLayoutEngine.cpp:
2695         (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
2696         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
2697
2698 2013-01-22  Andrey Adaikin  <aandrey@chromium.org>
2699
2700         Web Inspector: [Canvas] jump to prev/next drawing call in the replay
2701         https://bugs.webkit.org/show_bug.cgi?id=107551
2702
2703         Reviewed by Pavel Feldman.
2704
2705         Implement jumping to the next(previous) drawing call in the WebGL and canvas 2D replay.
2706
2707         * English.lproj/localizedStrings.js:
2708         * inspector/InjectedScriptCanvasModuleSource.js:
2709         (.):
2710         * inspector/Inspector.json:
2711         * inspector/front-end/CanvasProfileView.js:
2712         (WebInspector.CanvasProfileView):
2713         (WebInspector.CanvasProfileView.prototype.dispose):
2714         (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
2715         * inspector/front-end/canvasProfiler.css:
2716         (.canvas-replay-prev-draw img):
2717         (.canvas-replay-next-draw img):
2718
2719 2013-01-22  Andrey Lushnikov  <lushnikov@chromium.org>
2720
2721         Web Inspector: remove asynchronous behavior from DTE paintLines method
2722         https://bugs.webkit.org/show_bug.cgi?id=107550
2723
2724         Reviewed by Pavel Feldman.
2725
2726         Remove paintLinesOperationCredit and all asynchronous behaviour from paintLines method;
2727         also, remove paintLineChunks method.
2728
2729         * inspector/front-end/DefaultTextEditor.js:
2730         (WebInspector.TextEditorMainPanel.prototype.expandChunks):
2731         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2732         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2733         (WebInspector.TextEditorMainPanel.prototype._renderRanges):
2734         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2735         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2736
2737 2013-01-22  Eugene Klyuchnikov  <eustas@chromium.org>
2738
2739         Web Inspector: [Network] "Secure" cookies can not be deleted.
2740         https://bugs.webkit.org/show_bug.cgi?id=107543
2741
2742         Reviewed by Pavel Feldman.
2743
2744         To delete secure cookie URL schema need to be "https" instead of "http".
2745
2746         * inspector/front-end/CookieItemsView.js:
2747         (WebInspector.CookieItemsView.prototype._deleteCookie):
2748         Take care of secure cookies.
2749
2750 2013-01-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2751
2752         Unreviewed, rolling out r140420.
2753         http://trac.webkit.org/changeset/140420
2754         https://bugs.webkit.org/show_bug.cgi?id=107557
2755
2756         Still causes crashes (EFL this time) (Requested by kov on
2757         #webkit).
2758
2759         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2760         * platform/graphics/gstreamer/GStreamerVersioning.h:
2761         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2762         (StreamingClient):
2763         (_WebKitWebSrcPrivate):
2764         (webKitWebSrcFinalize):
2765         (webKitWebSrcStop):
2766         (StreamingClient::didReceiveData):
2767         * platform/network/ResourceHandleClient.h:
2768         (ResourceHandleClient):
2769         * platform/network/ResourceHandleInternal.h:
2770         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2771         (ResourceHandleInternal):
2772         * platform/network/soup/ResourceHandleSoup.cpp:
2773         (WebCore::cleanupSoupRequestOperation):
2774         (WebCore::nextMultipartResponsePartCallback):
2775         (WebCore::sendRequestCallback):
2776         (WebCore::readCallback):
2777
2778 2013-01-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2779
2780         [Qt] Crash in PasteboardQt.cpp Pasteboard::writeSelection
2781         https://bugs.webkit.org/show_bug.cgi?id=102192
2782
2783         Patch by Fabien Valée
2784         Reviewed by Jocelyn Turcotte.
2785
2786         QClipboard::setMimeData transfers ownership of QMimeData to the clipboard,
2787         so we should not access it afterwards.
2788
2789         * platform/qt/PasteboardQt.cpp:
2790         (WebCore::Pasteboard::writeSelection):
2791         (WebCore::Pasteboard::writePlainText):
2792
2793 2013-01-22  Christophe Dumez  <christophe.dumez@intel.com>
2794
2795         Regression(r140414): It is causing crashes with gstreamer 0.10
2796         https://bugs.webkit.org/show_bug.cgi?id=107554
2797
2798         Reviewed by Philippe Normand.
2799
2800         gstreamer 0.10 doc led me to believe that gst_element_factory_make()
2801         was not returning a floating reference. However, based on testing
2802         (and results on Qt port) it does so we should NOT adopt the
2803         returned GstElement object.
2804
2805         No new tests, already covered by existing tests.
2806
2807         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2808
2809 2013-01-22  Andrey Lushnikov  <lushnikov@chromium.org>
2810
2811         Web Inspector: do not highlight really long lines in DTE.
2812         https://bugs.webkit.org/show_bug.cgi?id=107531
2813
2814         Reviewed by Pavel Feldman.
2815
2816         Improve TextEditorHighlighter.orderedRangesPerLine method to return
2817         only ranges that start before particular column.
2818
2819         Test: inspector/editor/text-editor-long-line.html
2820
2821         * inspector/front-end/TextEditorHighlighter.js:
2822         (WebInspector.TextEditorHighlighter):
2823         (WebInspector.TextEditorHighlighter.prototype.setHighlightLineLimit):
2824         (WebInspector.TextEditorHighlighter.prototype.orderedRangesPerLine.comparator):
2825         (WebInspector.TextEditorHighlighter.prototype.orderedRangesPerLine):
2826
2827 2013-01-22  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2828
2829         [GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
2830         https://bugs.webkit.org/show_bug.cgi?id=105552
2831
2832         Reviewed by Philippe Normand.
2833
2834         Makes it possible for the GStreamer media backend to provide the buffer to which
2835         the Soup networking backend will use to download data to. This makes copying
2836         memory unnecessary when ResourceHandle hands data over to the media player's
2837         StreamingClient. Thanks to Dan Winship for help designing the interface.
2838
2839         No behaviour change, covered by existing tests.
2840
2841         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2842         (createGstBufferForData): New helper to create a GstBuffer when
2843         we have a data pointer and a length.
2844         (getGstBufferSize): Abstract obtaining the size of the buffer, so the code
2845         is cleaner while still working for both GST 0.10 and 1.0.
2846         (setGstBufferSize): Ditto, but for setting the size.
2847         (getGstBufferDataPointer): Ditto, but for grabbing the data pointer.
2848         (mapGstBuffer): Convenience method to take care of mapping the buffer so that
2849         we can provide the data pointer to ResourceHandle.
2850         (unmapGstBuffer): Convenience method which takes care of unmapping the buffer
2851         and properly freeing the GstMapInfo.
2852         * platform/graphics/gstreamer/GStreamerVersioning.h:
2853         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2854         (StreamingClient): New methods.
2855         (_WebKitWebSrcPrivate): We now store the GstBuffer we provided the data pointer from
2856         so we can later unmap it and push it to the pipeline.
2857         (webKitWebSrcDispose): Deal with the GstBuffer in case it exists when the source is
2858         destroyed.
2859         (webKitWebSrcStop): Also clear the GstBuffer in this case.
2860         (StreamingClient::didReceiveData): Handle the hand-over of the buffer.
2861         (StreamingClient::getBuffer): Provide ResourceHandle with a new GstBuffer's data pointer.
2862         * platform/network/ResourceHandleClient.h:
2863         (ResourceHandleClient):
2864         (WebCore::ResourceHandleClient::ResourceHandleClient): Constructor to initialize the buffer
2865         member variable to 0.
2866         (WebCore::ResourceHandleClient::~ResourceHandleClient): Destructor to free the buffer if it
2867         has been allocated.
2868         (WebCore::ResourceHandleClient::getBuffer): Default implementation which returns a
2869         newly allocated char pointer.
2870         * platform/network/ResourceHandleInternal.h:
2871         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2872         (ResourceHandleInternal): Store actual buffer size, which is no longer a constant.
2873         * platform/network/soup/ResourceHandleSoup.cpp:
2874         (WebCore::cleanupSoupRequestOperation): Clear the buffer pointer, the life-cycle of the
2875         buffer is handled by the ResourceHandleClient.
2876         (WebCore::nextMultipartResponsePartCallback): Get a new buffer from the client before reading.
2877         (WebCore::sendRequestCallback): Ditto.
2878         (WebCore::readCallback): Ditto.
2879
2880 2013-01-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2881
2882         [EFL] Fix context menu localized string
2883         https://bugs.webkit.org/show_bug.cgi?id=107536
2884
2885         One of localized string has a marker. Since EFL port does not support them
2886         it has to be removed, so the string will be displayed properly.
2887
2888         Reviewed by Laszlo Gombos.
2889
2890         * platform/efl/LocalizedStringsEfl.cpp:
2891         (WebCore::contextMenuItemTagCheckSpellingWhileTyping)
2892
2893 2013-01-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2894
2895         Unreviewed, rolling out r140412.
2896         http://trac.webkit.org/changeset/140412
2897         https://bugs.webkit.org/show_bug.cgi?id=107549
2898
2899         Broke rendering of buttons on gmail (Requested by carewolf on
2900         #webkit).
2901
2902         * platform/graphics/qt/TransparencyLayer.h:
2903         (WebCore::TransparencyLayer::TransparencyLayer):
2904
2905 2013-01-22  Christophe Dumez  <christophe.dumez@intel.com>
2906
2907         [gstreamer] MediaPlayerPrivateGStreamer should take ownership of the playbin
2908         https://bugs.webkit.org/show_bug.cgi?id=107445
2909
2910         Reviewed by Philippe Normand.
2911
2912         In gstreamer 1.0, gst_element_factory_make() now returns a floating reference.
2913         MediaPlayerPrivateGStreamer calls gst_element_factory_make() to create the
2914         playbin object but does not take ownership of the object. As a consequence,
2915         the object keeps floating until it is unref'd in the
2916         MediaPlayerPrivateGStreamer destructor.
2917
2918         This patch uses a GRefPtr<GstElement> to store the playbin object and only
2919         adopt the object returned by gst_element_factory_make() if gstreamer 0.10
2920         is used. When gstreamer 1.0 is used, the returned object will not be adopted,
2921         which will remove the floating reference. This way, we ensure that the
2922         playbin object is owned by MediaPlayerPrivateGStreamer.
2923
2924         No new tests, no behavior change for layout tests.
2925
2926         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2927         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2928         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2929         (WebCore::MediaPlayerPrivateGStreamer::load):
2930         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
2931         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
2932         (WebCore::MediaPlayerPrivateGStreamer::duration):
2933         (WebCore::MediaPlayerPrivateGStreamer::seek):
2934         (WebCore::MediaPlayerPrivateGStreamer::paused):
2935         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
2936         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
2937         (WebCore::MediaPlayerPrivateGStreamer::setVolume):
2938         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
2939         (WebCore::MediaPlayerPrivateGStreamer::setRate):
2940         (WebCore::MediaPlayerPrivateGStreamer::buffered):
2941         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
2942         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
2943         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2944         (MediaPlayerPrivateGStreamer):
2945
2946 2013-01-22  Yury Semikhatsky  <yurys@chromium.org>
2947
2948         Unreviewed. Fix closure compiler warning in inspector front-end after r140390.
2949
2950         * inspector/front-end/HeapSnapshotView.js:
2951
2952 2013-01-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2953
2954         [Qt] Box shadows on a transparency layer is very slow
2955         https://bugs.webkit.org/show_bug.cgi?id=107547
2956
2957         Reviewed by Noam Rosenthal.
2958
2959         Set an initial clip on the transparency layer, so that the clipping
2960         bounds will never end up larger than the layer.
2961
2962         * platform/graphics/qt/TransparencyLayer.h:
2963         (WebCore::TransparencyLayer::TransparencyLayer):
2964
2965 2013-01-22  Matt Falkenhagen  <falken@chromium.org>
2966
2967         Move top layer flag from ElementRareData to NodeFlags
2968         https://bugs.webkit.org/show_bug.cgi?id=107542
2969
2970         Reviewed by Hajime Morita.
2971
2972         This is a speculative fix for a perf regression (https://bugs.webkit.org/show_bug.cgi?id=106726)
2973         likely due to checking the top layer flag in Element::removedFrom. It
2974         also simplifies code dealing with top layer and makes it no longer
2975         necessary to allocate rare data for top layer.
2976
2977         * dom/Element.cpp:
2978         (WebCore::Element::removedFrom): Check isInTopLayer first in case it helps fix the perf regression.
2979         (WebCore):
2980         * dom/Element.h: Move top layer functions from Element to Node.
2981         * dom/ElementRareData.h:
2982         (ElementRareData):
2983         (WebCore::ElementRareData::ElementRareData): Remove top layer flag from ElementRareData.
2984         * dom/Node.cpp: Move top layer functions from Element to Node.  
2985         (WebCore):
2986         (WebCore::Node::setIsInTopLayer):
2987         * dom/Node.h:
2988         (Node):
2989         (WebCore::Node::isInTopLayer):
2990         * dom/NodeRenderingContext.cpp: Remove unnecessary casts to Element for isInTopLayer().
2991         (WebCore::isRendererReparented):
2992         (WebCore::NodeRenderingContext::previousRenderer):
2993         (WebCore::NodeRenderingContext::parentRenderer):
2994         * rendering/RenderLayer.cpp: Ditto.
2995         (WebCore::RenderLayer::isInTopLayer):
2996         (WebCore::RenderLayer::rebuildZOrderLists):
2997
2998 2013-01-22  Mark Lam  <mark.lam@apple.com>
2999
3000         Fix broken mac builds due to <http://trac.webkit.org/changeset/140399>.
3001         https://bugs.webkit.org/show_bug.cgi?id=100710.
3002
3003         Not reviewed.
3004
3005         No new tests.
3006
3007         * WebCore.xcodeproj/project.pbxproj:
3008
3009 2013-01-22  Dan Carney  <dcarney@google.com>
3010
3011         [v8] Convert string conversion calls to one byte versions
3012         https://bugs.webkit.org/show_bug.cgi?id=107524
3013
3014         Reviewed by Kentaro Hara.
3015
3016         No new tests. No change in functionality.
3017
3018         * bindings/v8/SerializedScriptValue.cpp:
3019         * bindings/v8/V8StringResource.cpp:
3020         (WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
3021         (StringTraits):
3022         (WebCore::true):
3023         (WebCore::v8StringToWebCoreString):
3024
3025 2013-01-22  Eugene Klyuchnikov  <eustas@chromium.org>
3026
3027         Web Inspector: [Network] CookiesTable refactoring.
3028         https://bugs.webkit.org/show_bug.cgi?id=107511
3029
3030         Reviewed by Pavel Feldman.
3031
3032         CookiesTable uses integer indexes as column identifiers.
3033         This leads to cryptic code.
3034
3035         Descriptive column identifiers will make code clearer.
3036         Also "addCookiesFolder" replaced with "setCookieFolders" to avoid
3037         repetitive "_rebuildTable" invocation.
3038
3039         * inspector/front-end/CookiesTable.js:
3040         (WebInspector.CookiesTable): Use descriptive column identifiers.
3041         (WebInspector.CookiesTable.prototype.setCookieFolders):
3042         Accept multiple folders.
3043         (WebInspector.CookiesTable.prototype._rebuildTable):
3044         Use descriptive column identifiers.
3045         (WebInspector.CookiesTable.prototype._sortCookies):
3046         Ditto.
3047         (WebInspector.CookiesTable.prototype._createGridNode):
3048         Ditto.
3049         * inspector/front-end/RequestCookiesView.js:
3050         (WebInspector.RequestCookiesView.prototype._buildCookiesTable):
3051         Use "setCookieFolders".
3052
3053 2013-01-22  Zan Dobersek  <zdobersek@igalia.com>
3054
3055         [GTK] Disable support for unprefixed CSS animations, transitions, transforms in release builds
3056         https://bugs.webkit.org/show_bug.cgi?id=107436
3057
3058         Reviewed by Alexis Menard.
3059
3060         Disable the unprefixed CSS animations, transitions and transforms support
3061         in the release builds for now. The work in this area is not yet complete
3062         and should not ship in such state.
3063
3064         No new tests - no new functionality.
3065
3066         * GNUmakefile.features.am.in:
3067
3068 2013-01-22  Alexander Pavlov  <apavlov@chromium.org>
3069
3070         Web Inspector: [REGRESSION] SASSSourceMapping broken: _bindUISourceCode method is absent
3071         https://bugs.webkit.org/show_bug.cgi?id=107529
3072
3073         Reviewed by Pavel Feldman.
3074
3075         * inspector/front-end/SASSSourceMapping.js:
3076         (WebInspector.SASSSourceMapping.prototype._fileSaveFinished):
3077
3078 2013-01-22  Adam Barth  <abarth@webkit.org>
3079
3080         AtomicMarkupTokenBase must die
3081         https://bugs.webkit.org/show_bug.cgi?id=107513
3082
3083         Reviewed by Eric Seidel.
3084
3085         Now that NEW_XML has been removed from the tree, there is no reason to
3086         have AtomicMarkupTokenBase exist as a templated base class for
3087         AtomicHTMLToken. This patch just merges the code back into
3088         AtomicHTMLToken.
3089
3090         * html/parser/HTMLToken.h:
3091         (AtomicHTMLToken):
3092         (WebCore::AtomicHTMLToken::type):
3093         (WebCore::AtomicHTMLToken::name):
3094         (WebCore::AtomicHTMLToken::setName):
3095         (WebCore::AtomicHTMLToken::selfClosing):
3096         (WebCore::AtomicHTMLToken::getAttributeItem):
3097         (WebCore::AtomicHTMLToken::attributes):
3098         (WebCore::AtomicHTMLToken::characters):
3099         (WebCore::AtomicHTMLToken::charactersLength):
3100         (WebCore::AtomicHTMLToken::isAll8BitData):
3101         (WebCore::AtomicHTMLToken::comment):
3102         (WebCore::AtomicHTMLToken::publicIdentifier):
3103         (WebCore::AtomicHTMLToken::systemIdentifier):
3104         (WebCore::AtomicHTMLToken::clearExternalCharacters):
3105         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3106         (WebCore::AtomicMarkupTokenBase::initializeAttributes):
3107         (WebCore):
3108         * xml/parser/MarkupTokenBase.h:
3109
3110 2013-01-22  Eric Seidel  <eric@webkit.org>
3111
3112         Turn on ENABLE_THREADED_HTML_PARSER for Chromium (it's still disabled at runtime)
3113         https://bugs.webkit.org/show_bug.cgi?id=107519
3114
3115         Reviewed by Adam Barth.
3116
3117         Add some ASSERTs to be double-dog-sure that we're never using
3118         any of the threading code when threading is not enabled.
3119
3120         I also removed an if-branch in the !ENABLE_THREADED_HTML_PARSER case
3121         as it's not needed.
3122
3123         * html/parser/HTMLDocumentParser.cpp:
3124         (WebCore::HTMLDocumentParser::prepareToStopParsing):
3125         (WebCore::HTMLDocumentParser::startBackgroundParser):
3126         (WebCore::HTMLDocumentParser::stopBackgroundParser):
3127
3128 2013-01-22  Kentaro Hara  <haraken@chromium.org>
3129
3130         [V8] Make an Isolate parameter mandatory in toV8()
3131         https://bugs.webkit.org/show_bug.cgi?id=107520
3132
3133         Reviewed by Adam Barth.
3134
3135         Now it's safe to remove an optional Isolate parameter.
3136
3137         No tests. No change in behavior.
3138
3139         * bindings/scripts/CodeGeneratorV8.pm:
3140         (GenerateHeader):
3141         * bindings/scripts/test/V8/V8Float64Array.h:
3142         (WebCore::toV8):
3143         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3144         (WebCore::toV8):
3145         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3146         (WebCore::toV8):
3147         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3148         (WebCore::toV8):
3149         * bindings/scripts/test/V8/V8TestEventTarget.h:
3150         (WebCore::toV8):
3151         * bindings/scripts/test/V8/V8TestException.h:
3152         (WebCore::toV8):
3153         * bindings/scripts/test/V8/V8TestInterface.h:
3154         (WebCore::toV8):
3155         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3156         (WebCore::toV8):
3157         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3158         (WebCore::toV8):
3159         * bindings/scripts/test/V8/V8TestNode.h:
3160         (WebCore::toV8):
3161         * bindings/scripts/test/V8/V8TestObj.h:
3162         (WebCore::toV8):
3163         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
3164         (WebCore::toV8):
3165         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3166         (WebCore::toV8):
3167         * css/MediaQueryListListener.cpp:
3168         (WebCore::MediaQueryListListener::queryChanged):
3169         * testing/v8/WebCoreTestSupport.cpp:
3170         (WebCoreTestSupport::injectInternalsObject):
3171
3172 2013-01-22  Mihnea Ovidenie  <mihnea@adobe.com>
3173
3174         [CSS Regions] min-max height will not trigger a relayout when set on a region with auto-height
3175         https://bugs.webkit.org/show_bug.cgi?id=103738
3176
3177         Reviewed by David Hyatt.
3178
3179         When the style of an auto-height region changes with different min/max-height, we have to make sure
3180         that the 2-pass layout algorithm is run so that the region height is properly computed. When doing a 2-pass layout 
3181         for auto-height regions, we have to make sure that in the first pass, all auto-height regions start without a previously
3182         computed overrideLogicalContentHeight, otherwise we may end-up with incorrect results, illustrated by tests
3183         autoheight-two-pass-layout-complex-001.html and autoheight-two-pass-layout-complex-002.html.
3184
3185         If we do not have auto height regions, a single pass layout in enough to correctly flow content inside regions.
3186         When we have auto height regions, the algorithm to lay out content should be:
3187         1. If the flow thread content does not need lay out, we do a single pass layout.
3188         If during the layout, an auto-height region needs layout or a normal (not auto height) region changes its box dimensions,
3189         we need to perform a new 2-pass layout after this layout completes. If not, we bail out and skip step 2.
3190         2. Do a full two pass layout and make sure that all auto height regions start the 2-pass layout without a previously computed
3191         override logical content height.
3192
3193         Tests: fast/regions/autoheight-region-decrease-maxheight.html
3194                fast/regions/autoheight-region-decrease-minheight.html
3195                fast/regions/autoheight-region-decrease-width.html
3196                fast/regions/autoheight-region-increase-maxheight.html
3197                fast/regions/autoheight-region-increase-minheight.html
3198                fast/regions/autoheight-region-increase-width.html
3199                fast/regions/autoheight-region-new-maxheight-vrl.html
3200                fast/regions/autoheight-region-new-maxheight.html
3201                fast/regions/autoheight-region-new-minheight-vlr.html
3202                fast/regions/autoheight-region-new-minheight.html
3203                fast/regions/autoheight-region-remove-maxheight.html
3204                fast/regions/autoheight-region-remove-minheight.html
3205                fast/regions/autoheight-two-pass-layout-complex-001.html
3206                fast/regions/autoheight-two-pass-layout-complex-002.html
3207                fast/regions/region-height-auto-to-defined.html
3208                fast/regions/region-height-defined-to-auto.html
3209
3210         * rendering/FlowThreadController.cpp: Added a flag that is needed to mark whether we need a full 2-pass layout.
3211         (WebCore::FlowThreadController::FlowThreadController):
3212         * rendering/FlowThreadController.h:
3213         (WebCore::FlowThreadController::needsTwoPassLayoutForAutoHeightRegions):
3214         (WebCore::FlowThreadController::setNeedsTwoPassLayoutForAutoHeightRegions):
3215         * rendering/RenderFlowThread.cpp:
3216         (WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight): Use invalidateRegions because we need also to mark the flow thread as needing layout.
3217         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
3218         * rendering/RenderRegion.cpp:
3219         (WebCore::RenderRegion::layout): Make sure we do a 2-pass layout if needed.
3220         * rendering/RenderView.cpp:
3221         (WebCore::RenderView::layoutContentInAutoLogicalHeightRegions): Added a new function that models the layout algorithm for the case when we have auto height regions
3222         and flow threads.
3223         (WebCore::RenderView::layout):
3224         (WebCore::RenderView::checkTwoPassLayoutForAutoHeightRegions):
3225         * rendering/RenderView.h:
3226
3227 2013-01-22  Adam Barth  <abarth@webkit.org>
3228
3229         ENABLE(NEW_XML) isn't used by anyone and no one is actively working on it
3230         https://bugs.webkit.org/show_bug.cgi?id=100710
3231
3232         Reviewed by Eric Seidel.
3233
3234         As discussed on webkit-dev
3235         <http://lists.webkit.org/pipermail/webkit-dev/2012-August/022103.html>,
3236         ENABLE(NEW_XML) isn't used by anyone and no one is actively working on
3237         it. We should remove it from the code base for the time being. If folks
3238         want to work on it again, we can restore it from SVN history.
3239
3240         * GNUmakefile.list.am:
3241         * Target.pri:
3242         * WebCore.gypi:
3243         * WebCore.vcproj/WebCore.vcproj:
3244         * WebCore.xcodeproj/project.pbxproj:
3245         * dom/Document.cpp:
3246         (WebCore::Document::createParser):
3247         * dom/DocumentFragment.cpp:
3248         (WebCore::DocumentFragment::parseXML):
3249         * xml/parser/NewXMLDocumentParser.cpp: Removed.
3250         * xml/parser/NewXMLDocumentParser.h: Removed.
3251         * xml/parser/XMLCharacterReferenceParser.cpp: Removed.
3252         * xml/parser/XMLCharacterReferenceParser.h: Removed.
3253         * xml/parser/XMLToken.h: Removed.
3254         * xml/parser/XMLTokenizer.cpp: Removed.
3255         * xml/parser/XMLTokenizer.h: Removed.
3256         * xml/parser/XMLTreeBuilder.cpp: Removed.
3257         * xml/parser/XMLTreeBuilder.h: Removed.
3258
3259 2013-01-22  Kentaro Hara  <haraken@chromium.org>
3260
3261         [V8] Pass an Isolate to toV8() of event listeners
3262         https://bugs.webkit.org/show_bug.cgi?id=107517
3263
3264         Reviewed by Adam Barth.
3265
3266         By using Context::GetIsolate(), this patch passes an Isolate to toV8().
3267         I think this would be the last patch to pass an Isolate to toV8().
3268         In the next patch, I will make an Isolate parameter mandatory for toV8().
3269
3270         No tests. No change in behavior.
3271
3272         * bindings/v8/V8AbstractEventListener.cpp:
3273         (WebCore::V8AbstractEventListener::getReceiverObject):
3274         * bindings/v8/V8AbstractEventListener.h:
3275         (V8AbstractEventListener):
3276         * bindings/v8/V8EventListener.cpp:
3277         (WebCore::V8EventListener::callListenerFunction):
3278         * bindings/v8/V8LazyEventListener.cpp:
3279         (WebCore::toObjectWrapper):
3280         (WebCore::V8LazyEventListener::callListenerFunction):
3281         (WebCore::V8LazyEventListener::prepareListenerObject):
3282         * bindings/v8/V8WorkerContextEventListener.cpp:
3283         (WebCore::V8WorkerContextEventListener::getReceiverObject):
3284
3285 2013-01-22  Tim Horton  <timothy_horton@apple.com>
3286
3287         PDFPlugin: Build PDFPlugin everywhere, enable at runtime
3288         https://bugs.webkit.org/show_bug.cgi?id=107117
3289
3290         Reviewed by Alexey Proskuryakov.
3291
3292         Since PDFLayerController SPI is all forward-declared, the plugin should build
3293         on all Mac platforms, and can be enabled at runtime.
3294
3295         * Configurations/FeatureDefines.xcconfig:
3296
3297 2013-01-22  Dominic Mazzoni  <dmazzoni@google.com>
3298
3299         AX: Should assert if we try to create two AXObjects that point to the same renderer or node
3300         https://bugs.webkit.org/show_bug.cgi?id=107504
3301
3302         Reviewed by Chris Fleizach.
3303
3304         If two accessibility objects get created that point to the
3305         same widget, renderer, or node, that can lead to crashes or
3306         memory corruption later; make it assert instead of crashing.
3307
3308         * accessibility/AXObjectCache.cpp:
3309         (WebCore::AXObjectCache::getOrCreate):
3310
3311 2013-01-22  Kentaro Hara  <haraken@chromium.org>
3312
3313         [V8] Pass an Isolate to toV8()
3314         https://bugs.webkit.org/show_bug.cgi?id=107512
3315
3316         Reviewed by Adam Barth.
3317
3318         By using Context::GetIsolate(), this patch passes an Isolate to toV8().
3319
3320         No tests. No change in behavior.
3321
3322         * bindings/v8/IDBBindingUtilities.cpp:
3323         (WebCore::injectIDBKeyIntoScriptValue):
3324         (WebCore::idbKeyToScriptValue):
3325         * bindings/v8/ScriptController.cpp:
3326         (WebCore::createScriptObject):
3327         (WebCore::ScriptController::createScriptObjectForPluginElement):
3328         * bindings/v8/ScriptDebugServer.cpp:
3329         (WebCore::ScriptDebugServer::currentCallFrame):
3330         * bindings/v8/ScriptObject.cpp:
3331         (WebCore::ScriptGlobalObject::set):
3332         * bindings/v8/V8AbstractEventListener.cpp:
3333         (WebCore::V8AbstractEventListener::handleEvent):
3334         * bindings/v8/V8DOMWindowShell.cpp:
3335         (WebCore::V8DOMWindowShell::updateDocumentProperty):
3336         * bindings/v8/V8MutationCallback.cpp:
3337         (WebCore::V8MutationCallback::handleEvent):
3338         * bindings/v8/V8NodeFilterCondition.cpp:
3339         (WebCore::V8NodeFilterCondition::acceptNode):
3340         * bindings/v8/V8WorkerContextEventListener.cpp:
3341         (WebCore::V8WorkerContextEventListener::handleEvent):
3342         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3343         (WebCore::V8SQLStatementErrorCallback::handleEvent):
3344         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3345         (WebCore::InjectedScriptHost::nodeAsScriptValue):
3346
3347 2013-01-22  Sergey Ryazanov  <serya@chromium.org>
3348
3349         Web Inspector: Show requests in `curl` syntax in DevTools → Network → Headers
3350         https://bugs.webkit.org/show_bug.cgi?id=107276
3351
3352         Reviewed by Pavel Feldman.
3353
3354         Test: inspector/curl-command.html
3355
3356         * inspector/front-end/NetworkPanel.js:
3357         (WebInspector.NetworkLogView.prototype._generateCurlCommand):
3358
3359 2013-01-22  Yury Semikhatsky  <yurys@chromium.org>
3360
3361         Web Inspector: reuse JS heap profiler UI for native heap graph representaion
3362         https://bugs.webkit.org/show_bug.cgi?id=107452
3363
3364         Reviewed by Pavel Feldman.
3365
3366         NativeHeapSnapshot is introduced to leverage JS heap snapshot processing algorithms
3367         for native heap graph. New snapshot type ("Native Heap Snapshot") is added to the
3368         profiles panel. It will represent native heap snapshots using the same UI as we use
3369         for JS heap snapshots.
3370
3371         * WebCore.gypi:
3372         * WebCore.vcproj/WebCore.vcproj:
3373         * inspector/compile-front-end.py:
3374         * inspector/front-end/HeapSnapshot.js:
3375         (WebInspector.HeapSnapshot):
3376         (WebInspector.HeapSnapshot.prototype._init):
3377         * inspector/front-end/HeapSnapshotProxy.js:
3378         (WebInspector.HeapSnapshotWorker):
3379         * inspector/front-end/HeapSnapshotView.js:
3380         (WebInspector.HeapProfileHeader.prototype.load):
3381         (WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer): extracted a few methods
3382         to support overrides for native heap snapshots.
3383         (WebInspector.HeapProfileHeader.prototype.snapshotConstructorName):
3384         (WebInspector.HeapProfileHeader.prototype._setupWorker):
3385         * inspector/front-end/NativeHeapSnapshot.js: Added.
3386         (WebInspector.NativeHeapSnapshot):
3387         (WebInspector.NativeHeapSnapshot.prototype.createNode):
3388         (WebInspector.NativeHeapSnapshot.prototype.createEdge):
3389         (WebInspector.NativeHeapSnapshot.prototype.createRetainingEdge):
3390         (WebInspector.NativeHeapSnapshot.prototype._markInvisibleEdges):
3391         (WebInspector.NativeHeapSnapshot.prototype._calculateFlags):
3392         (WebInspector.NativeHeapSnapshot.prototype.canHaveDistanceOne):
3393         (WebInspector.NativeHeapSnapshot.prototype.userObjectsMapAndFlag):
3394         (WebInspector.NativeHeapSnapshotNode):
3395         (WebInspector.NativeHeapSnapshotNode.prototype.canBeQueried):
3396         (WebInspector.NativeHeapSnapshotNode.prototype.isUserObject):
3397         (WebInspector.NativeHeapSnapshotNode.prototype.className):
3398         (WebInspector.NativeHeapSnapshotNode.prototype.classIndex):
3399         (WebInspector.NativeHeapSnapshotNode.prototype.id):
3400         (WebInspector.NativeHeapSnapshotNode.prototype.name):
3401         (WebInspector.NativeHeapSnapshotNode.prototype.isHidden):
3402         (WebInspector.NativeHeapSnapshotNode.prototype.isSynthetic):
3403         (WebInspector.NativeHeapSnapshotNode.prototype.isWindow):
3404         (WebInspector.NativeHeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
3405         (WebInspector.NativeHeapSnapshotNode.prototype.isDetachedDOMTree):
3406         (WebInspector.NativeHeapSnapshotEdge):
3407         (WebInspector.NativeHeapSnapshotEdge.prototype.clone):
3408         (WebInspector.NativeHeapSnapshotEdge.prototype.hasStringName):
3409         (WebInspector.NativeHeapSnapshotEdge.prototype.isElement):
3410         (WebInspector.NativeHeapSnapshotEdge.prototype.isHidden):
3411         (WebInspector.NativeHeapSnapshotEdge.prototype.isWeak):
3412         (WebInspector.NativeHeapSnapshotEdge.prototype.isInternal):
3413         (WebInspector.NativeHeapSnapshotEdge.prototype.isInvisible):
3414         (WebInspector.NativeHeapSnapshotEdge.prototype.isShortcut):
3415         (WebInspector.NativeHeapSnapshotEdge.prototype.name):
3416         (WebInspector.NativeHeapSnapshotEdge.prototype.toString):
3417         (WebInspector.NativeHeapSnapshotEdge.prototype._nameOrIndex):
3418         (WebInspector.NativeHeapSnapshotRetainerEdge):
3419         (WebInspector.NativeHeapSnapshotRetainerEdge.prototype.clone):
3420         (WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isElement):
3421         (WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isHidden):
3422         (WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isInternal):
3423         (WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isInvisible):
3424         (WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isShortcut):
3425         (WebInspector.NativeHeapSnapshotRetainerEdge.prototype.isWeak):
3426         * inspector/front-end/NativeMemorySnapshotView.js:
3427         (WebInspector.NativeSnapshotProfileType):
3428         (WebInspector.NativeSnapshotProfileType.prototype.get buttonTooltip):
3429         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
3430         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
3431         (WebInspector.NativeSnapshotProfileType.prototype.get treeItemTitle):
3432         (WebInspector.NativeSnapshotProfileType.prototype.get description):
3433         (WebInspector.NativeSnapshotProfileType.prototype.createTemporaryProfile):
3434         (WebInspector.NativeSnapshotProfileType.prototype.createProfile):
3435         (WebInspector.NativeSnapshotProfileHeader):
3436         (WebInspector.NativeSnapshotProfileHeader.prototype.createView):
3437         (WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
3438         (WebInspector.NativeSnapshotProfileHeader.prototype.snapshotConstructorName):
3439         (WebInspector.NativeSnapshotProfileHeader.prototype._takeNativeSnapshot): build a datastructure
3440         resembling one used for JS heap snapshots but populated with the data from the native snaphot.
3441         (WebInspector.NativeHeapSnapshotView):
3442         (WebInspector.NativeHeapSnapshotView.prototype.get profile):
3443         (WebInspector.NativeMemoryProfileType):
3444         (WebInspector.NativeMemoryProfileType.prototype.get buttonTooltip):
3445         * inspector/front-end/ProfilesPanel.js:
3446         (WebInspector.ProfilesPanel):
3447         * inspector/front-end/WebKit.qrc:
3448
3449 2013-01-21  Kentaro Hara  <haraken@chromium.org>
3450
3451         [V8] ScriptState::isolate() should use Context::GetIsolate()
3452         https://bugs.webkit.org/show_bug.cgi?id=107490
3453
3454         Reviewed by Adam Barth.
3455
3456         Now V8 provides Context::GetIsolate(). We should use it
3457         in ScriptState::isolate().
3458
3459         * bindings/v8/ScriptState.h:
3460         (WebCore::ScriptState::isolate):
3461         (ScriptState):
3462
3463 2013-01-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3464
3465