23723a7ebbb32949e31efa0905047a7aece9974d
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2
3         [GStreamer] Memory leaks in MediaPlayerPrivateGStreamer
4         https://bugs.webkit.org/show_bug.cgi?id=113762
5
6         Reviewed by Philippe Normand.
7
8         Don't leak strings returned by gst_element_get_name() and
9         gst_missing_plugin_message_get_installer_detail().
10
11         No new tests. No change in behavior.
12
13         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
14         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
15         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
16
17 2013-04-02  Min Qin  <qinmin@chromium.org>
18
19         Fix css style for CC button on android
20         https://bugs.webkit.org/show_bug.cgi?id=113815
21
22         Reviewed by Adam Barth.
23
24         The default CC button size is 16px as defined in mediaControls.css. Android should use 35px.
25         This change fixed that problem.
26         Also fixed a problem that r142947 does not change the display of fullscreen button to -webkit-flex
27         Android does not run media layout tests currently. Will fix the test expectations when layout tests are run in content shell.
28
29         * css/mediaControlsChromiumAndroid.css:
30         (video::-webkit-media-controls-fullscreen-button):
31         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
32
33 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
34
35         [Mac] Remove WKCreateNSURLConnectionDelegateProxy
36         https://bugs.webkit.org/show_bug.cgi?id=113810
37
38         Reviewed by Anders Carlsson.
39
40         This WKSI function is not used any more.
41
42         * WebCore.exp.in:
43         * platform/mac/WebCoreSystemInterface.h:
44         * platform/mac/WebCoreSystemInterface.mm:
45
46 2013-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
47
48         Unreviewed, rolling out r147464.
49         http://trac.webkit.org/changeset/147464
50         https://bugs.webkit.org/show_bug.cgi?id=113812
51
52         JSSQLResultSet.cpp:131:24: error: implicit conversion loses
53         integer precision: 'int64_t' (aka 'long long') to 'int'
54         [-Werror,-Wshorten-64-to-32] (Requested by xenon on #webkit).
55
56         * bindings/scripts/CodeGeneratorJS.pm:
57         (GenerateImplementation):
58         * bindings/scripts/test/JS/JSTestObj.cpp:
59         (WebCore::jsTestObjAttrWithGetterException):
60         (WebCore::jsTestObjStringAttrWithGetterException):
61         (WebCore::jsTestObjWithScriptStateAttributeRaises):
62         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
63         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
64         (WebCore::jsTestObjNullableDoubleAttribute):
65         (WebCore::jsTestObjNullableLongAttribute):
66         (WebCore::jsTestObjNullableBooleanAttribute):
67         (WebCore::jsTestObjNullableStringAttribute):
68         (WebCore::jsTestObjNullableLongSettableAttribute):
69         (WebCore::jsTestObjNullableStringValue):
70         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
71         (WebCore::jsTestTypedefsAttrWithGetterException):
72         (WebCore::jsTestTypedefsStringAttrWithGetterException):
73
74 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
75
76         Web Inspector: Make Source Frame & status bar a layout boundary
77         https://bugs.webkit.org/show_bug.cgi?id=112353
78
79         Reviewed by Pavel Feldman.
80
81         No new tests: no change in behaviour.
82
83         - Add View.markAsLayoutBoundary method to mark a view as a layout
84         boundary. This will force this view to autoupdate its height to actual
85         pixel value.
86         - Mark both CodeMirrorTextEditor and DefaultTextEditor as a layout
87         boundary.
88         - Mark main-status-bar element with a layout-boundary class.
89
90         * inspector/front-end/CodeMirrorTextEditor.js:
91         (WebInspector.CodeMirrorTextEditor):
92         * inspector/front-end/DefaultTextEditor.js:
93         * inspector/front-end/View.js:
94         (WebInspector.View.prototype.markAsLayoutBoundary):
95         (WebInspector.View.prototype._processWillShow):
96         (WebInspector.View.prototype._processWasShown):
97         (WebInspector.View.prototype._processOnResize):
98         * inspector/front-end/inspector.css:
99         (.layout-boundary):
100         * inspector/front-end/inspector.html:
101
102 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
103
104         <rdar://problem/13551119> [WK2] Crashes in NetworkProcess when canceling loads
105         https://bugs.webkit.org/show_bug.cgi?id=113803
106
107         Reviewed by Darin Adler.
108
109         Stop using a delegate proxy. It hasn't been needed in years, and the extra layer
110         just adds bugs.
111
112         This specific issue gets fixed because connection retains its delegate is retained,
113         but a proxy does not.
114
115         * WebCore.exp.in:
116         * platform/network/ResourceHandle.h:
117         * platform/network/ResourceHandleInternal.h:
118         * platform/network/mac/ResourceHandleMac.mm:
119         (WebCore::ResourceHandle::start):
120         (WebCore::ResourceHandle::releaseDelegate):
121         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
122         Removed code that was dealing with delegate proxy.
123
124 2013-04-02  John J. Barton  <johnjbarton@chromium.org>
125
126         Web Inspector: Encapsulate SetEmbedderData/GetEmbedderData
127         https://bugs.webkit.org/show_bug.cgi?id=113331
128
129         Reviewed by Pavel Feldman.
130
131         Refactor to encapsulate uses of V8 Set/GetEmbedderData together
132         with uses of V8 Set/GetAlignedPointerInEmbedderData since these
133         functions operate on the same underyling array in V8.
134
135         * bindings/v8/ScriptController.cpp:
136         (WebCore::ScriptController::setContextDebugId):
137         (WebCore::ScriptController::contextDebugId):
138         * bindings/v8/V8DOMWindowShell.cpp:
139         (WebCore::setInjectedScriptContextDebugId):
140         * bindings/v8/V8PerContextData.cpp:
141         (WebCore::V8PerContextDebugData::setContextDebugData):
142         (WebCore):
143         (WebCore::V8PerContextDebugData::contextDebugId):
144         (WebCore::V8PerContextDebugData::createDebugData):
145         (WebCore::V8PerContextDebugData::getDebugData):
146         (WebCore::V8PerContextDebugData::setDebugData):
147         * bindings/v8/V8PerContextData.h:
148         (V8PerContextDebugData):
149         (WebCore):
150
151 2013-04-02  Alexei Filippov  <alph@chromium.org>
152
153         Web Inspector: Adjust toolbar labels position
154         https://bugs.webkit.org/show_bug.cgi?id=113805
155
156         Reviewed by Pavel Feldman.
157
158         Move the labels 1px up to make them centered.
159         Also fix font centering in native memory distribution snapshot.
160
161         * inspector/front-end/inspector.css:
162         (.toolbar-label):
163         * inspector/front-end/nativeMemoryProfiler.css:
164         (.native-snapshot-view .data-grid td):
165
166 2013-04-02  Beth Dakin  <bdakin@apple.com>
167
168         Viewport constrained elements should work properly with headers and footers
169         https://bugs.webkit.org/show_bug.cgi?id=113743
170
171         Reviewed by Simon Fraser.
172
173         ScrollableArea::constrainScrollPositionForOverhang() needs to take headerHeight 
174         and footerHeight into account. It also needs to use totalContentsSize() instead of 
175         contentsSize().
176
177         Send totalContentsSize() instead of contentsSize() and also send headerHeight() 
178         and footerHeight().
179         * page/FrameView.cpp:
180         (WebCore::FrameView::scrollOffsetForFixedPosition):
181         * page/FrameView.h:
182         (FrameView):
183
184         The scrolling tree will also need to know about header and footer heights since it 
185         will need these values to call 
186         ScrollableArea::constrainScrollPositionForOverhang().
187         * page/scrolling/ScrollingStateScrollingNode.cpp:
188         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
189         (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
190         (WebCore::ScrollingStateScrollingNode::setFooterHeight):
191         * page/scrolling/ScrollingStateScrollingNode.h:
192         (WebCore::ScrollingStateScrollingNode::headerHeight):
193         (ScrollingStateScrollingNode):
194         (WebCore::ScrollingStateScrollingNode::footerHeight):
195         * page/scrolling/ScrollingTreeScrollingNode.cpp:
196         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
197         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
198         * page/scrolling/ScrollingTreeScrollingNode.h:
199         (WebCore::ScrollingTreeScrollingNode::headerHeight):
200         (WebCore::ScrollingTreeScrollingNode::footerHeight):
201         (ScrollingTreeScrollingNode):
202         * page/scrolling/mac/ScrollingCoordinatorMac.h:
203         (ScrollParameters):
204         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
205         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
206         (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
207         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
208         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
209
210         Use footerHeight when calculating the maxValue and use headerHeight in determining 
211         what the minimum value is. 
212         * platform/ScrollableArea.cpp:
213         (WebCore::constrainedScrollPosition):
214         (WebCore::ScrollableArea::constrainScrollPositionForOverhang):
215         * platform/ScrollableArea.h:
216         (ScrollableArea):
217
218 2013-04-02  Stephen White  <senorblanco@chromium.org>
219
220         [Skia] Enable GPU-accelerated Skia path for FEComposite filter.
221         https://bugs.webkit.org/show_bug.cgi?id=113797
222
223         Reviewed by Adrienne Walker.
224
225         Tests: css3/filters/effect-reference-composite-hw.html
226                css3/filters/effect-reference-composite.html
227
228         * WebCore.gypi:
229         * platform/graphics/filters/FEComposite.h:
230         Enable Skia DAG hook for FEComposite.
231         * platform/graphics/filters/skia/FECompositeSkia.cpp: Added.
232         (WebCore::FEComposite::createImageFilter):
233         Implement skia DAG builder for FEComposite, and implement generic
234         skia version of composite filter.
235
236 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
237
238         Web Inspector: Avoid using style.display="inline-block"
239         https://bugs.webkit.org/show_bug.cgi?id=113802
240
241         Reviewed by Pavel Feldman.
242
243         No new tests.
244
245         - Create class "inline-block" which will set "display: inline-block"
246         style.
247         - Use this class with DIV elements to get "inline-block" element.
248
249         * inspector/front-end/ObjectPopoverHelper.js:
250         (WebInspector.ObjectPopoverHelper.prototype.):
251         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
252         * inspector/front-end/ScriptsPanel.js:
253         (WebInspector.ScriptsPanel):
254         * inspector/front-end/inspector.css:
255         (.inline-block):
256
257 2013-04-02  Andrey Kosyakov  <caseq@chromium.org>
258
259         Web Inspector: [Timeline] warning markers are not propagated to coalesced records
260         https://bugs.webkit.org/show_bug.cgi?id=113789
261
262         Reviewed by Pavel Feldman.
263
264         Test: inspector/timeline/timeline-coalescing.html
265
266         * inspector/front-end/TimelinePresentationModel.js: set childHasWarning on coalescing record if the record it replaces had warnings.
267         (WebInspector.TimelinePresentationModel.prototype._replaceWithCoalescedRecord):
268
269 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
270
271         Web Inspector: memory instrumentation for external strings is broken
272         https://bugs.webkit.org/show_bug.cgi?id=113788
273
274         Reviewed by Pavel Feldman.
275
276         Native memory snapshot now provides information about JS external strings.
277
278         Test: inspector/profiler/memory-instrumentation-external-string.html
279
280         * inspector/InspectorMemoryAgent.cpp:
281
282 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
283
284         Web Inspector: memory instrumentation for external arrays is broken
285         https://bugs.webkit.org/show_bug.cgi?id=113790
286
287         Report pointers to external arrays as retaining ones to make sure their
288         size is counted correctly.
289
290         Reviewed by Pavel Feldman.
291
292         Test: inspector/profiler/memory-instrumentation-external-array.html
293
294         * inspector/InspectorMemoryAgent.cpp:
295
296 2013-04-02  Peter Beverloo  <peter@chromium.org>
297
298         [JSC] Don't create a JSValue if it's not going to be used for nullable attributes
299         https://bugs.webkit.org/show_bug.cgi?id=112711
300
301         Reviewed by Sam Weinig.
302
303         When nullable attributes are used, it's possible that we disregard the JSValue
304         when null should be returned instead. This is a waste, and we should cast the
305         native type to a JSValue as late as possible.
306
307         * bindings/scripts/CodeGeneratorJS.pm:
308         (GenerateImplementation):
309         (NativeValueToLocal):
310         * bindings/scripts/test/JS/JSTestObj.cpp:
311         (WebCore::jsTestObjAttrWithGetterException):
312         (WebCore::jsTestObjStringAttrWithGetterException):
313         (WebCore::jsTestObjWithScriptStateAttributeRaises):
314         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
315         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
316         (WebCore::jsTestObjNullableDoubleAttribute):
317         (WebCore::jsTestObjNullableLongAttribute):
318         (WebCore::jsTestObjNullableBooleanAttribute):
319         (WebCore::jsTestObjNullableStringAttribute):
320         (WebCore::jsTestObjNullableLongSettableAttribute):
321         (WebCore::jsTestObjNullableStringValue):
322         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
323         (WebCore::jsTestTypedefsAttrWithGetterException):
324         (WebCore::jsTestTypedefsStringAttrWithGetterException):
325
326 2013-04-02  Bem Jones-Bey  <bjonesbe@adobe.com>
327
328         [css exclusions] overflow:hidden undoes shape-outside offsets
329         https://bugs.webkit.org/show_bug.cgi?id=110349
330
331         Reviewed by Julien Chaffraix.
332
333         When overflow: hidden was set on a float with shape-outside, the
334         offset from the shape-outside was being ignored. This was because the
335         float was being placed in the normal flow, causing the offsets to be
336         calculated differently. Since floats with shape outside behave like
337         positioned objects in many places, I have caused them to take the same
338         behavior as positioned objects in this case as well: the floats with
339         shape-outside do not get placed in the normal flow when overflow:
340         hidden is set.
341
342         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overflow-hidden.html
343
344         * rendering/RenderLayer.cpp:
345         (WebCore::RenderLayer::shouldBeNormalFlowOnly): Floats that have
346             shape-outside should not be in the normal flow.
347
348 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
349
350         Web Inspector: resource preview of html/js/css types should be on a grey background
351         https://bugs.webkit.org/show_bug.cgi?id=113791
352
353         Reviewed by Pavel Feldman.
354
355         No new tests.
356
357         - Add a css rule to set grey background for SourceFrame in resource view.
358         - Add "fill" style to SourceFrame element to setup its height.
359
360         * inspector/front-end/SourceFrame.js:
361         (WebInspector.SourceFrame):
362         * inspector/front-end/resourceView.css:
363         (.resource-view .script-view):
364
365 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
366
367         Web Inspector: [CodeMirror] Editor doesn't have yellow background in DivergedFromVM state
368         https://bugs.webkit.org/show_bug.cgi?id=113783
369
370         Reviewed by Pavel Feldman.
371
372         No new tests.
373
374         Force CodeMirrorTextEditor to have transparent background to inherit
375         background color from source frame.
376
377         * inspector/front-end/cm/cmdevtools.css:
378         (.CodeMirror):
379
380 2013-04-02  Jochen Eisinger  <jochen@chromium.org>
381
382         Check whether popups are allowed before creating a new window
383         https://bugs.webkit.org/show_bug.cgi?id=113782
384
385         Reviewed by Adam Barth.
386
387         Otherwise, firing a generated mouse event at an anchor is enough to
388         work around the popup blocker.
389
390         Test: fast/loader/url-selected-user-gesture.html
391
392         * loader/PolicyChecker.cpp:
393         (WebCore::PolicyChecker::checkNewWindowPolicy):
394
395 2013-04-02  Jochen Eisinger  <jochen@chromium.org>
396
397         When computing the percentage of the logical height, use the logical top and bottom
398         https://bugs.webkit.org/show_bug.cgi?id=113761
399
400         Reviewed by Ojan Vafai.
401
402         Test: fast/writing-mode/percentage-height-orthogonal-writing-modes.html
403
404         * rendering/RenderBox.cpp:
405         (WebCore::RenderBox::computePercentageLogicalHeight):
406
407 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
408
409         Web Inspector: [CodeMirror] do not show cursor in read-only mode
410         https://bugs.webkit.org/show_bug.cgi?id=113793
411
412         Reviewed by Alexander Pavlov.
413
414         No new tests.
415
416         Pass "nocursor" option to CodeMirror's "readonly" setting.
417
418         * inspector/front-end/CodeMirrorTextEditor.js:
419         (WebInspector.CodeMirrorTextEditor.prototype.setReadOnly):
420
421 2013-04-02  Nate Chapin  <japhet@chromium.org>
422
423         Unreviewed, rolling out r147402.
424         http://trac.webkit.org/changeset/147402
425         https://bugs.webkit.org/show_bug.cgi?id=112903
426
427         * dom/Document.cpp:
428         (WebCore::Document::processHttpEquiv):
429         * loader/DocumentLoader.cpp:
430         (WebCore::DocumentLoader::responseReceived):
431
432 2013-04-02  ChangSeok Oh  <changseok.oh@collabora.com>
433
434         [GTK][AC] Support preserves3D css property for clutter ac backend.
435         https://bugs.webkit.org/show_bug.cgi?id=113318
436
437         Reviewed by Gustavo Noronha Silva.
438
439         This patch brings preserve-3D css property support to WebKitGtk+ with clutter ac backed.
440         Most of the code is based on Mac port's implementation. The core concept is that
441         if a layer has preserve-3d property false, we mark itself and its immediate children
442         to make them flatten. And then we remove 3D factor in a modelView matrix
443         when applying it to each actor.
444
445         No new tests as this is covered with existing AC tests.
446
447         * platform/graphics/clutter/GraphicsLayerActor.cpp:
448         (_GraphicsLayerActorPrivate):
449         (graphics_layer_actor_init):
450         (graphicsLayerActorApplyTransform):
451         (graphicsLayerActorNew):
452         (graphicsLayerActorRemoveFromSuperLayer):
453         (graphicsLayerActorSetDrawsContent):
454         (graphicsLayerActorSetFlatten):
455         * platform/graphics/clutter/GraphicsLayerActor.h:
456         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
457         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
458         (WebCore::GraphicsLayerClutter::platformLayer):
459         (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
460         (WebCore):
461         (WebCore::GraphicsLayerClutter::setPreserves3D):
462         (WebCore::GraphicsLayerClutter::flushCompositingState):
463         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
464         (WebCore::GraphicsLayerClutter::commitLayerChangesAfterSublayers):
465         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
466         (WebCore::GraphicsLayerClutter::updateGeometry):
467         (WebCore::GraphicsLayerClutter::updateSublayerList):
468         (WebCore::GraphicsLayerClutter::updateStructuralLayer):
469         (WebCore::GraphicsLayerClutter::ensureStructuralLayer):
470         (WebCore::GraphicsLayerClutter::structuralLayerPurpose):
471         (WebCore::GraphicsLayerClutter::layerForSuperlayer):
472         * platform/graphics/clutter/GraphicsLayerClutter.h:
473         (CommitState):
474         (WebCore::GraphicsLayerClutter::CommitState::CommitState):
475         (GraphicsLayerClutter):
476         (WebCore::GraphicsLayerClutter::primaryLayer):
477
478 2013-04-02  Adam Klein  <adamk@chromium.org>
479
480         HTML parser should consistently inspect the namespace of elements on the stack of open elements
481         https://bugs.webkit.org/show_bug.cgi?id=113723
482
483         Reviewed by Adam Barth.
484
485         Added HTMLStackItem::matchesHTMLTag method and use that nearly
486         everywhere instead of HTMLStackItem::hasLocalName. The most important
487         of these changes is in HTMLElementStack's inScopeCommon() function,
488         where the use of matchesHTMLTag means that any of the inXXXScope()
489         calls now only match HTML tags.
490
491         Tests: html5lib/generated/run-namespace-sensitivity-data.html
492                html5lib/generated/run-namespace-sensitivity-write.html
493
494         * html/parser/HTMLConstructionSite.cpp:
495         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
496         * html/parser/HTMLElementStack.cpp:
497         (WebCore::HTMLElementStack::popUntil):
498         (WebCore::HTMLElementStack::topmost):
499         (WebCore::inScopeCommon):
500         (WebCore::HTMLElementStack::inScope):
501         (WebCore::HTMLElementStack::inListItemScope):
502         (WebCore::HTMLElementStack::inTableScope):
503         (WebCore::HTMLElementStack::inButtonScope):
504         (WebCore::HTMLElementStack::inSelectScope):
505         * html/parser/HTMLElementStack.h:
506         (WebCore::HTMLElementStack::popUntilPopped):
507         * html/parser/HTMLFormattingElementList.cpp:
508         (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
509         * html/parser/HTMLStackItem.h:
510         (WebCore::HTMLStackItem::matchesHTMLTag):
511         (HTMLStackItem):
512         * html/parser/HTMLTreeBuilder.cpp:
513         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
514         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
515         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
516         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
517
518 2013-04-02  Hayato Ito  <hayato@chromium.org>
519
520         Report memory usage for ShadowDistributedRules.
521         https://bugs.webkit.org/show_bug.cgi?id=109882
522
523         Reviewed by Dimitri Glazkov.
524
525         This is a follow-up patch for r142855.
526
527         No new tests, no behavior change for layout tests.
528
529         * css/DocumentRuleSets.cpp:
530         (WebCore):
531         (WebCore::ShadowDistributedRules::reportMemoryUsage):
532         (WebCore::DocumentRuleSets::reportMemoryUsage):
533         * css/DocumentRuleSets.h:
534         (ShadowDistributedRules):
535
536 2013-04-02  Chris Fleizach  <cfleizach@apple.com>
537
538         AX: Need to get line thickness from fraction on web
539         https://bugs.webkit.org/show_bug.cgi?id=113720
540
541         Reviewed by David Kilzer.
542
543         Expose the line thickness property for fractions, which is needed to
544         help determine the type of equation.
545
546         Test: platform/mac/accessibility/mathml-line-fraction.html
547
548         * accessibility/AccessibilityObject.h:
549         (WebCore::AccessibilityObject::mathLineThickness):
550         * accessibility/AccessibilityRenderObject.cpp:
551         (WebCore::AccessibilityRenderObject::mathLineThickness):
552         (WebCore):
553         * accessibility/AccessibilityRenderObject.h:
554         (AccessibilityRenderObject):
555         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
556         (-[WebAccessibilityObjectWrapper accessibilityMathLineThickness]):
557         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
558         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
559         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
560
561 2013-04-02  Alexandre Elias  <aelias@chromium.org>
562
563         Unreviewed, rolling out r147389.
564         http://trac.webkit.org/changeset/147389
565         https://bugs.webkit.org/show_bug.cgi?id=113738
566
567         r147389 was temporary patch for Chromium branch management, needs
568         revert.
569
570         * platform/ScrollView.cpp:
571         (WebCore::positionScrollbarLayer):
572         * rendering/RenderLayerBacking.cpp:
573         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
574
575 2013-04-02  David Vest  <davve@opera.com>
576
577         Hang when calling setCurrentTime on SVG with cyclic animation dependency chain
578         https://bugs.webkit.org/show_bug.cgi?id=113485
579
580         Reviewed by Stephen Chenney.
581
582         If no exact match can be found, approximateBinarySearch may return
583         either adjacent value to the key. Selecting the lesser value when
584         there is a greater one may cause interval creation to fail in a
585         way that causes infinite loops during seeking. Detect and amend
586         this condition by selecting the greater value when possible.
587
588         Test: svg/animations/animation-dependency-hang.html
589
590         * svg/animation/SVGSMILElement.cpp:
591         (WebCore::SVGSMILElement::findInstanceTime):
592
593 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
594
595         Web Inspector: source location gets frozen after inspector reload
596         https://bugs.webkit.org/show_bug.cgi?id=113776
597
598         Reviewed by Pavel Feldman.
599
600         Put statusBarText item in its own container and update its contents in
601         ScriptsPanel._updateScriptViewStatusBarItems in similar way it's done
602         for statusBarItems.
603
604         No new tests.
605
606         * inspector/front-end/ScriptsPanel.js:
607         (WebInspector.ScriptsPanel):
608         (WebInspector.ScriptsPanel.prototype.statusBarText):
609         (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
610
611 2013-04-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
612
613         Remove unneeded cpp file from CMake build. Rubber-stamp by Alexis Menard.
614
615         * CMakeLists.txt: Remove FFTFrameStub.cpp, since adding this file or not
616         to your build is a platform decision.
617
618 2013-04-01  Andrey Kosyakov  <caseq@chromium.org>
619
620         Web Inspector: [Timeline] unify logic for 3 overview modes in Timeline
621         https://bugs.webkit.org/show_bug.cgi?id=113708
622
623         Reviewed by Yury Semikhatsky.
624
625         - make TimelineOverviewPane logic independent on overview mode;
626         - show only one of 3 controls at one time;
627         - attach overview controls to the same parent.
628
629         * inspector/front-end/OverviewGrid.js: remove gridElement() and itemsGraphsElement(), no longer needed.
630         (WebInspector.OverviewGrid):
631         * inspector/front-end/TimelineOverviewPane.js:
632         (WebInspector.TimelineOverviewPane):
633         (WebInspector.TimelineOverviewPane.prototype.setMode):
634         (WebInspector.TimelineOverviewPane.prototype._innerSetMode):
635         (WebInspector.TimelineOverviewPane.prototype._createOverviewControl): 
636         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
637         (WebInspector.TimelineOverviewPane.prototype._update):
638         (WebInspector.TimelineOverviewPane.prototype.addFrame):
639         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
640         (WebInspector.TimelineOverviewPane.prototype._reset):
641         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
642         (WebInspector.TimelineOverviewBase.prototype.update):
643         (WebInspector.TimelineOverviewBase.prototype.reset):
644         (WebInspector.TimelineOverviewBase.prototype.categoryVisibilityChanged):
645         (WebInspector.TimelineOverviewBase.prototype.addFrame):
646         (WebInspector.TimelineOverviewBase.prototype.getWindowTimes):
647         (WebInspector.TimelineEventOverview):
648         (WebInspector.TimelineEventOverview.prototype.categoryVisibilityChanged):
649         * inspector/front-end/timelinePanel.css:
650
651 2013-04-02  Julien Chaffraix  <jchaffraix@webkit.org>
652
653         webkit fails IETC grid-column-002
654         https://bugs.webkit.org/show_bug.cgi?id=83907
655
656         Reviewed by Ojan Vafai.
657
658         Tests: fast/css-grid-layout/grid-item-column-row-get-set.html
659                ietestcenter/css3/grid/grid-column-002.htm
660
661         * css/CSSParser.cpp:
662         (WebCore::CSSParser::parseValue):
663         Don't accept 0 as a valid <integer> position.
664
665 2013-04-02  Dmitry Gozman  <dgozman@chromium.org>
666
667         Web Inspector: allow referencing of nodes that have not been pushed to the front-end
668         https://bugs.webkit.org/show_bug.cgi?id=110921
669
670         Reviewed by Pavel Feldman.
671
672         Nodes not yet pushed to front-end are referenced by BackendNodeId and retained.
673         One can group nodes when generating BackendNodeIds to release them all together later.
674
675         To resolve node references by BackendNodeId, frontend should use new pushNodeByBackendIdToFrontend method.
676         This will invalidate the generated BackendNodeId.
677
678         * inspector/Inspector.json:
679         * inspector/InspectorDOMAgent.cpp:
680         (WebCore::InspectorDOMAgent::discardBindings):
681         (WebCore::InspectorDOMAgent::backendNodeIdForNode):
682         (WebCore::InspectorDOMAgent::releaseBackendNodeIds):
683         (WebCore::InspectorDOMAgent::pushNodeByBackendIdToFrontend):
684         * inspector/InspectorDOMAgent.h:
685         (WebCore):
686         (InspectorDOMAgent):
687
688 2013-04-02  Andrei Bucur  <abucur@adobe.com>
689
690         [CSS Regions] Nested auto-height regions don't layout correctly
691         https://bugs.webkit.org/show_bug.cgi?id=111969
692
693         Reviewed by David Hyatt.
694
695         The patch fixes the auto-height regions processing model to work with nested named flows. Currently
696         this use case doesn't work correctly because the order in which the computed height value is propagated
697         to the regions is incorrect. For example, in the case of two flows (f1 and f2) and two auto-height
698         regions (r1 and r2) with r2 a member of f1:
699         1. the normal layout phase starts
700         2. r1 is laid out with height = 0
701         3. f1 is laid out including r2 with height = 0; overrideLogicalHeight for r1 is computed
702         4. f2 is laid out; overrideLogicalHeight for r2 is computed
703         5. the constrained layout phase starts
704         6. r1 is laid out using the overrideLogicalHeight computed in the normal phase
705         7. f1 is laid out including r2 with its overrideLogicalHeight
706         8. f2 is laid out
707
708         The problem appears at step 6 because the overrideLogicalheight computed during step 3 assumes r2
709         has a height of 0. The patch changes the algorithm to update the auto-height regions in the reverse
710         order of their flow threads dependecies. Here is a high level overview of the new algorithm,
711         considering the named flows are sorted in the order of their dependencies:
712         1. The flows are laid out from the outer flow to the inner flow. This successfully computes the outer
713         non-auto-height regions size so the inner flows have the necessary information to correctly fragment
714         the content.
715         2. The flows are laid out from the inner flow to the outer flow. After an inner flow is laid out it
716         goes into the constrained layout phase and marks the auto-height regions they need layout. This
717         means the outer flows will relayout if they depend on regions with auto-height regions belonging to
718         inner flows. This step will correctly compute the overrideLogicalHeights for the auto-height regions.
719         It's possible for non-auto-height regions to relayout if they depend on auto-height regions. This
720         will invalidate the inner flow threads and mark them as needing layout.
721         3. The last step is to do one last layout if there are pahtological dependencies between non-auto-height
722         regions and auto-height regions as detected in the previous step.
723
724         The patch also removes the layout phase flag from RenderView and moves it to the flow threads. This
725         happens because a flow needs to update its auto-height regions overrideLogicalHeight while updating
726         the logical height of the regions belonging to the inner flows that are laid out by the flow (i.e. the
727         outer flow is in the normal phase while the inner flows are in the constrained layout phase).
728
729         There's also a new flag on the RenderFlowThread that is set when the flow needs the constrained layout
730         phase. This could have been placed on the flow thread controller but I think it will be useful when doing
731         content balancing for the new multi-column implementation.
732
733         Another change is the moment we clear the overrideLogicalHeight value on empty auto-height regions because
734         we don't have to relayout a flow thread once it's in the constrained phase. We need to have the correct
735         flow thread portions correctly computed after the artificial forced break is applied at the end of the content.
736
737         Tests: fast/regions/autoheight-mixed-nested-complex-regions.html
738                fast/regions/autoheight-mixed-nested-regions.html
739                fast/regions/autoheight-mixed-parallel-regions.html
740                fast/regions/autoheight-nested-regions.html
741
742         * rendering/FlowThreadController.cpp:
743         (WebCore::FlowThreadController::FlowThreadController):
744         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
745         (WebCore):
746         (WebCore::FlowThreadController::registerNamedFlowContentNode):
747         (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
748         (WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
749         (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
750         (WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
751         (WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
752         (WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
753         * rendering/FlowThreadController.h:
754         (FlowThreadController):
755         * rendering/RenderBlock.cpp:
756         (WebCore::RenderBlock::layoutBlock):
757         * rendering/RenderFlowThread.cpp:
758         (WebCore::RenderFlowThread::RenderFlowThread):
759         (WebCore::RenderFlowThread::validateRegions):
760         (WebCore::RenderFlowThread::layout):
761         (WebCore::RenderFlowThread::regionAtBlockOffset):
762         (WebCore::RenderFlowThread::applyBreakAfterContent): Apply an artificial break at the end of the content.
763         This way we can detect when the content ends and clear the overrideLogicalHeight on the empty auto-height regions.
764         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
765         (WebCore):
766         (WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight):
767         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
768         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
769         (WebCore::RenderFlowThread::addForcedRegionBreak):
770         * rendering/RenderFlowThread.h:
771         * rendering/RenderRegion.cpp:
772         (WebCore::RenderRegion::pageLogicalWidth):
773         (WebCore::RenderRegion::pageLogicalHeight):
774         (WebCore::RenderRegion::maxPageLogicalHeight):
775         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
776         (WebCore::RenderRegion::layoutBlock):
777         (WebCore::RenderRegion::updateLogicalHeight):
778         * rendering/RenderView.cpp:
779         (WebCore::RenderView::RenderView):
780         (WebCore):
781         (WebCore::RenderView::layoutContentInAutoLogicalHeightRegions):
782         (WebCore::RenderView::layout):
783         * rendering/RenderView.h:
784         (WebCore):
785         (RenderView):
786
787 2013-04-02  Andrey Kosyakov  <caseq@chromium.org>
788
789         Web Inspector: ignore minimum record duration filter in Timeline overview
790         https://bugs.webkit.org/show_bug.cgi?id=113705
791
792         Reviewed by Pavel Feldman.
793
794         * inspector/front-end/TimelineOverviewPane.js:
795         * inspector/front-end/TimelinePanel.js:
796         (WebInspector.TimelinePanel.prototype._durationFilterChanged):
797
798 2013-03-29  Andrey Kosyakov  <caseq@chromium.org>
799
800         Web Inspector: display the number of dirty render objects in Layout timeline event
801         https://bugs.webkit.org/show_bug.cgi?id=95331
802
803         Reviewed by Pavel Feldman.
804
805         Count the render objects that need layout in InspectorTimelineAgent::willLayout()
806         and display the number in popover over Layout record in Timeline panel.
807
808         * English.lproj/localizedStrings.js:
809         * inspector/InspectorTimelineAgent.cpp:
810         (WebCore::InspectorTimelineAgent::willLayout):
811         (WebCore::InspectorTimelineAgent::didLayout):
812         * inspector/TimelineRecordFactory.cpp:
813         (WebCore):
814         (WebCore::TimelineRecordFactory::createLayoutData):
815         (WebCore::TimelineRecordFactory::appendLayoutRoot):
816         * inspector/TimelineRecordFactory.h:
817         (TimelineRecordFactory):
818         * inspector/front-end/TimelinePresentationModel.js:
819         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
820
821 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
822
823         Web Inspector: [CodeMirror] Popover for codemirror
824         https://bugs.webkit.org/show_bug.cgi?id=113771
825
826         Reviewed by Pavel Feldman.
827
828         Implement methods TextEditor.cursorPositionToCoordinates, TextEditor.coordinatesToCursorPosition and
829         TextEditor.tokenAtTextPosition in CodeMirrorTextEditor to support popover
830         functionality. Add css classes to highlight popover anchoring text.
831
832         No new tests.
833
834         * inspector/front-end/CodeMirrorTextEditor.js:
835         (WebInspector.CodeMirrorTextEditor.prototype.cursorPositionToCoordinates):
836         (WebInspector.CodeMirrorTextEditor.prototype.coordinatesToCursorPosition):
837         (WebInspector.CodeMirrorTextEditor.prototype.tokenAtTextPosition):
838         * inspector/front-end/cm/cmdevtools.css:
839         (.CodeMirror .source-frame-eval-expression):
840         (.CodeMirror .source-frame-eval-expression-end):
841         (.CodeMirror .source-frame-eval-expression-start):
842
843 2013-04-02  Carlos Garcia Campos  <cgarcia@igalia.com>
844
845         [BlackBerry] Implement ScrollingCoordinator::frameViewLayoutUpdated()
846         https://bugs.webkit.org/show_bug.cgi?id=113763
847
848         Reviewed by Rob Buis.
849
850         PR 318945
851         Internally reviewed by Jakob Petsovits.
852
853         And remove the BlackBerry specific methods
854         frameViewFrameRectDidChange and frameViewContentsSizeDidChange.
855
856         * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:
857         (WebCore::ScrollingCoordinatorBlackBerry::frameViewLayoutUpdated):
858         Called when the frame view has been laid out. Update the contents
859         rectangle and visible area of the scroll layer for the given frame
860         view.
861         * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.h:
862         (ScrollingCoordinatorBlackBerry):
863         * platform/graphics/blackberry/LayerWebKitThread.h:
864         (WebCore::LayerWebKitThread::setFrameVisibleRect): Return early if
865         value hasn't changed.
866         (WebCore::LayerWebKitThread::setFrameContentsSize): Ditto.
867
868 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
869
870         Web Inspector: Separate JavaScriptSourceFrame popover from knowledge of editor's DOM
871         https://bugs.webkit.org/show_bug.cgi?id=113412
872
873         Reviewed by Pavel Feldman.
874
875         - Use TextEditor.coordinatesToCursorPosition,
876         TextEditor.cursorPositionToCoordinates and TextEditor.tokenAtTextPosition to figure out
877         hovering area and create popover anchor.
878         - Use TextEditor.highlightRange/TextEditor.removeHighlight methods to
879         highlight hovering text in editor.
880
881         No new tests: no change in behaviour.
882
883         * inspector/front-end/DefaultTextEditor.js:
884         * inspector/front-end/JavaScriptSourceFrame.js:
885         (WebInspector.JavaScriptSourceFrame):
886         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
887         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
888         (WebInspector.JavaScriptSourceFrame.prototype.):
889         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
890         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
891         * inspector/front-end/inspector.css:
892         (.popover-anchor):
893         (.source-frame-eval-expression):
894
895 2013-04-02  Mihnea Ovidenie  <mihnea@adobe.com>
896
897         [CSSRegions] RenderFlowThread should not be created as a Document renderer
898         https://bugs.webkit.org/show_bug.cgi?id=113658
899
900         Reviewed by Julien Chaffraix.
901
902         After https://bugs.webkit.org/show_bug.cgi?id=107138, RenderFlowThread should not be constructed as a renderer for Document.
903         Since it does not have an element associated, it will be constructed using the pattern for anonymous blocks.
904         However, since I do not want the flow thread to be collapsed as anonymous blocks are, i changed RenderObject::isAnonymousBlock
905         to return false for a RenderFlowThread (the alternative would have been to patch more call sites to prevent RenderFlowThread
906         collapsing as anonymous block).
907
908         Covered by existing tests.
909
910         * rendering/FlowThreadController.cpp:
911         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
912         * rendering/RenderFlowThread.cpp:
913         (WebCore::RenderFlowThread::RenderFlowThread):
914         * rendering/RenderFlowThread.h:
915         * rendering/RenderMultiColumnBlock.cpp:
916         (WebCore::RenderMultiColumnBlock::addChild):
917         * rendering/RenderMultiColumnFlowThread.cpp:
918         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
919         (WebCore::RenderMultiColumnFlowThread::createAnonymous):
920         * rendering/RenderMultiColumnFlowThread.h:
921         (RenderMultiColumnFlowThread):
922         * rendering/RenderNamedFlowThread.cpp:
923         (WebCore::RenderNamedFlowThread::createAnonymous):
924         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
925         * rendering/RenderNamedFlowThread.h:
926         (RenderNamedFlowThread):
927         * rendering/RenderObject.h:
928         (WebCore::RenderObject::isAnonymousBlock):
929
930 2013-04-02  Shinya Kawanaka  <shinyak@chromium.org>
931
932         Unreviewed, rolling out r147383.
933         http://trac.webkit.org/changeset/147383
934         https://bugs.webkit.org/show_bug.cgi?id=112369
935
936         Speculative rollout because of lots of layout test failure
937
938         * html/parser/HTMLDocumentParser.cpp:
939         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
940         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
941         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
942         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
943         (WebCore::HTMLDocumentParser::insert):
944         * html/parser/HTMLParserScheduler.cpp:
945         (WebCore::PumpSession::PumpSession):
946         * html/parser/HTMLParserScheduler.h:
947
948 2013-04-02  Eugene Klyuchnikov  <eustas@chromium.org>
949
950         Web Inspector: [HeapProfiler] Table rows do not appear when resizing.
951         https://bugs.webkit.org/show_bug.cgi?id=113760
952
953         Reviewed by Yury Semikhatsky.
954
955         Analysis: custom-made split-view doesn't notify content panes about
956         resizing.
957
958         * inspector/front-end/HeapSnapshotView.js:
959         (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
960         Notify content pane about resize.
961
962 2013-04-02  Mihnea Ovidenie  <mihnea@adobe.com>
963
964         [CSSRegions] Clean-up RenderFlowThread::updateRegionsFlowThreadPortionRect
965         https://bugs.webkit.org/show_bug.cgi?id=113659
966
967         Reviewed by Julien Chaffraix.
968
969         RenderRegion::logicalHeightOfAllFlowThreadContent already contains the
970         override logical content height for auto-height regions in normal layout phase.
971         Therefore, there is no need to explicitly override region's rect height with
972         the region's overrideLogicalContentHeight as the region rect already contains
973         the right value.
974
975         No change in functionality, covered by existing tests.
976
977         * rendering/RenderFlowThread.cpp:
978         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
979         * rendering/RenderRegion.cpp:
980         (WebCore::RenderRegion::pageLogicalHeight):
981         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
982
983 2013-04-02  Mike West  <mkwst@chromium.org>
984
985         X-Frame-Options: Blocked frames should not inherit their parent's SecurityOrigin.
986         https://bugs.webkit.org/show_bug.cgi?id=112903
987
988         Reviewed by Adam Barth.
989
990         This change brings WebKit in line with IE and Gecko's behavior, both of
991         which treat the blocked frame as being cross-origin for the purposes of
992         access checks ('[frame].contentWindow.location.href' is inaccessible,
993         for example).
994
995         * dom/Document.cpp:
996         (WebCore::Document::processHttpEquiv):
997             Rather than redirecting to 'about:blank', redirect to
998             'data:text/html,<p></p>' which does not inherit the SecurityOrigin
999             of the parent.
1000         * loader/DocumentLoader.cpp:
1001         (WebCore::DocumentLoader::responseReceived):
1002             Before calling cancelMainResourceLoad, ensure that the frame's
1003             document is sandboxed into a unique origin so that it doesn't
1004             inherit the parent's SecurityOrigin.
1005
1006 2013-04-01  Elliott Sprehn  <esprehn@chromium.org>
1007
1008         RenderObject::offsetParent should return Element*
1009         https://bugs.webkit.org/show_bug.cgi?id=113739
1010
1011         Reviewed by Abhishek Arya.
1012
1013         The offsetParent of a node should always be an Element, ensure this
1014         by fixing RenderObject::offsetParent to return an Element* and clean up
1015         the method to match the algorithm in the spec which lets us remove the
1016         comments that were trying to explain what was going on.
1017
1018         This also hardens against badness where RenderObject::offsetParent
1019         could have returned a renderer with a non-Element node which would result
1020         in a bad cast in Element::offsetParent. We fixed all cases of this, but
1021         this patch makes sure such things never happen again.
1022
1023         No new tests, no change in behavior.
1024
1025         * dom/Element.cpp:
1026         (WebCore::Element::offsetParent):
1027         * rendering/RenderBoxModelObject.cpp:
1028         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
1029         * rendering/RenderObject.cpp:
1030         (WebCore::RenderObject::offsetParent): Now returns Element*.
1031         * rendering/RenderObject.h:
1032         (RenderObject):
1033
1034 2013-04-01  Alpha Lam  <hclam@chromium.org>
1035
1036         Simply GIFImageReader error handling
1037         https://bugs.webkit.org/show_bug.cgi?id=113718
1038
1039         Reviewed by Adam Barth.
1040
1041         When GIFImageReader encounters a parsing error it should just return
1042         without doing any more work. Current code saves a boolean before return,
1043         this is not necessary.
1044
1045         Tested with existing unit tests.
1046         Tested locally with ASAN build with 60k GIF images.
1047
1048         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1049         (WebCore::GIFImageDecoder::repetitionCount):
1050         * platform/image-decoders/gif/GIFImageReader.cpp:
1051         (GIFImageReader::decode):
1052         * platform/image-decoders/gif/GIFImageReader.h:
1053         (GIFImageReader::GIFImageReader):
1054         (GIFImageReader):
1055
1056 2013-04-01  Elliott Sprehn  <esprehn@chromium.org>
1057
1058         Make all v8 weak callbacks type safe
1059         https://bugs.webkit.org/show_bug.cgi?id=111802
1060
1061         Reviewed by Adam Barth.
1062
1063         Make all v8 handle weak callbacks typesafe by adding a new class WeakHandleListner
1064         that uses templates to generate the callback proxies that have the correct type
1065         arguments. Now getting the arguments wrong will fail compilation.
1066
1067         No new tests, no change in behavior.
1068
1069         * bindings/v8/DOMDataStore.h:
1070         (WebCore::::callback):
1071         * bindings/v8/DOMWrapperMap.h:
1072         (WebCore::DOMWrapperMap::DOMWrapperMap):
1073         (WebCore::DOMWrapperMap::set):
1074         (WebCore::DOMWrapperMap::reportMemoryUsage):
1075         (DOMWrapperMap):
1076         * bindings/v8/DOMWrapperWorld.cpp:
1077         (WebCore::::callback):
1078         (WebCore::DOMWrapperWorld::makeContextWeak):
1079         * bindings/v8/ScriptState.cpp:
1080         (WebCore::::callback):
1081         (WebCore::ScriptState::ScriptState):
1082         * bindings/v8/ScriptState.h:
1083         (ScriptState):
1084         * bindings/v8/ScriptWrappable.h:
1085         (ScriptWrappable):
1086         (WebCore::ScriptWrappable::setWrapper):
1087         (WebCore::::callback):
1088         * bindings/v8/V8AbstractEventListener.cpp:
1089         (WebCore::::callback):
1090         (WebCore::V8AbstractEventListener::setListenerObject):
1091         * bindings/v8/V8AbstractEventListener.h:
1092         (V8AbstractEventListener):
1093         * bindings/v8/V8MutationCallback.cpp:
1094         (WebCore::::callback):
1095         (WebCore::V8MutationCallback::V8MutationCallback):
1096         * bindings/v8/V8MutationCallback.h:
1097         (V8MutationCallback):
1098         * bindings/v8/V8NPObject.cpp:
1099         (V8NPTemplateMap):
1100         (WebCore::V8NPTemplateMap::set):
1101         (WebCore::::callback):
1102         (WebCore::staticNPObjectMap):
1103         * bindings/v8/V8Utilities.h:
1104         (WeakHandleListener):
1105         (WebCore::WeakHandleListener::makeWeak):
1106         (WebCore::WeakHandleListener::WeakHandleListener):
1107         (WebCore::WeakHandleListener::invokeWeakCallback):
1108         * bindings/v8/V8ValueCache.cpp:
1109         (WebCore::::callback):
1110         (WebCore::StringCache::v8ExternalStringSlow):
1111         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1112         (WebCore::::callback):
1113         (WebCore::createInjectedScriptHostV8Wrapper):
1114
1115 2013-04-01  Tien-Ren Chen  <trchen@chromium.org>
1116
1117         Hide non-coordinated scrollbars for Android M26
1118         https://bugs.webkit.org/show_bug.cgi?id=113738
1119
1120         Reviewed by Simon Fraser.
1121
1122         This patch will hide any non-coordinated scrollbars on Android.
1123         Coordinated scrollbars won't be affected.
1124
1125         Currently all scrollbars are coordinated on Android. The sole purpose
1126         of this patch is to be cherry-picked to the M26 branch.
1127
1128         No new tests. Please revert immediately after landed.
1129
1130         * platform/ScrollView.cpp:
1131         (WebCore::positionScrollbarLayer):
1132         * rendering/RenderLayerBacking.cpp:
1133         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
1134
1135 2013-04-01  Chris Evans  <cevans@google.com>
1136
1137         Crash in Node::enclosingBlockFlowElement()
1138         https://bugs.webkit.org/show_bug.cgi?id=113712
1139
1140         Reviewed by Abhishek Arya.
1141
1142         Fix a bad Node assumption if we walk up to the document root.
1143
1144         Test: editing/execCommand/format-block-at-root.html
1145
1146         * dom/Node.cpp:
1147         (WebCore::Node::isBlockFlowElement): Check we found an Element Node and rename from isBlockFlow().
1148         (WebCore::Node::enclosingBlockFlowElement): Use the new toElement().
1149         * editing/FormatBlockCommand.cpp:
1150         (WebCore::FormatBlockCommand::formatRange): Check for NULL.
1151         * editing/InsertListCommand.cpp:
1152         (WebCore::InsertListCommand::doApplyForSingleParagraph):
1153         * editing/ReplaceSelectionCommand.cpp:
1154         (WebCore::enclosingInline): Impact from method rename.
1155
1156 2013-04-01  James Simonsen  <simonjam@chromium.org>
1157
1158         [Resource Timing] Expose timing information for iframes
1159         https://bugs.webkit.org/show_bug.cgi?id=103927
1160
1161         Reviewed by Nate Chapin.
1162
1163         The only catch with main documents is that we only want to record the load that was initiated by
1164         adding the <iframe> to a document. We don't want any subsequent navigations within the iframe to
1165         be reported.
1166
1167         Test: http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_iframe_self_navigation.html
1168
1169         * loader/cache/CachedResourceLoader.cpp:
1170         (WebCore::CachedResourceLoader::revalidateResource):
1171         (WebCore::CachedResourceLoader::loadResource):
1172         (WebCore::CachedResourceLoader::loadDone): Make sure iframes are reported in the parent.
1173
1174 2013-04-01  Konrad Piascik  <kpiascik@blackberry.com>
1175
1176         [BlackBerry] Move Path into it's own header
1177         https://bugs.webkit.org/show_bug.cgi?id=113724
1178
1179         Reviewed by Rob Buis.
1180
1181         No behavioural change.
1182
1183         * platform/graphics/blackberry/PathBlackBerry.cpp:
1184
1185 2013-04-01  Konrad Piascik  <kpiascik@blackberry.com>
1186
1187         [BlackBerry] canvas is not rendering correctly for www.html5-benchmark.com
1188         https://bugs.webkit.org/show_bug.cgi?id=113716
1189
1190         Reviewed by Rob Buis.
1191
1192         PR 317205
1193         Internally reivewed by: Mike Lattanzio, Jacky Jiang
1194
1195         This is a site issue where they detect physical pixels by multiplying
1196         availWidth * devicePixelRatio.  This gives us an invalid result since
1197         we don't round the CSS pixels that are reported to availWidth and availHeight.
1198
1199         * platform/blackberry/PlatformScreenBlackBerry.cpp:
1200         (WebCore::toUserSpace):
1201
1202 2013-04-01  Hans Muller  <hmuller@adobe.com>
1203
1204         [CSS Exclusions] shape-outside on floats fails to respect shape-margin's vertical extent
1205         https://bugs.webkit.org/show_bug.cgi?id=113600
1206
1207         Reviewed by Dirk Schulze.
1208
1209         ExclusionShapeInsideInfo classes need to depend on the ExclusionShape's padded boundary and
1210         ExclusionShapeOutsideInfo classes should depend on the ExclusionShape's margin boundary. Added
1211         a virtual method to the ExclusionShapeInfo that returns the ExclusionShape's logical bounding box -
1212         computedShapeLogicalBoundingBox() - and overrode that method in the subclasses to return the
1213         value of the appropriate ExclusionShape method. Added shapeMarginLogicalBoundingBox() and
1214         shapePaddingLogicalBoundingBox() methods to ExclusionShape and removed the shapeLogicalBoundingBox()
1215         method, which did not take shape-margin or shape-padding into account.
1216
1217         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html
1218
1219         * rendering/ExclusionPolygon.h: Defined the padding and margin bounding box virtual methods.
1220         * rendering/ExclusionRectangle.h: Defined the padding and margin bounding box virtual methods.
1221         * rendering/ExclusionShape.h: Added the padding and margin bounding box virtual abstract methods. Removed shapeLogicalBoundingBox().
1222         (ExclusionShape):
1223         * rendering/ExclusionShapeInfo.h:
1224         (WebCore::ExclusionShapeInfo::shapeLogicalTop): Now calls computedShapeLogicalBoundingBox().
1225         (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
1226         (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
1227         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
1228         (WebCore::ExclusionShapeInfo::shapeLogicalWidth): Ditto.
1229         (WebCore::ExclusionShapeInfo::shapeLogicalHeight): Ditto.
1230         (ExclusionShapeInfo): Added computedShapeLogicalBoundingBox().
1231         * rendering/ExclusionShapeInsideInfo.h:
1232         (ExclusionShapeInsideInfo):
1233         (WebCore::ExclusionShapeInsideInfo::computedShapeLogicalBoundingBox): Gets the padded shape's bounding box.
1234         * rendering/ExclusionShapeOutsideInfo.h:
1235         (ExclusionShapeOutsideInfo):
1236         (WebCore::ExclusionShapeOutsideInfo::computedShapeLogicalBoundingBox): Gets the margin shape's bounding box.
1237
1238 2013-04-01  Adam Barth  <abarth@webkit.org>
1239
1240         Assertion failure !m_lastChunkBeforeScript in HTMLDocumentParser during inspector/debugger/pause-in-inline-script.html
1241         https://bugs.webkit.org/show_bug.cgi?id=112369
1242
1243         Reviewed by Eric Seidel.
1244
1245         The threaded HTML parser wasn't correctly handling the nested event
1246         loops that can arise from the JavaScript debugger and from
1247         showModalDialog. When the parser received a chunk from the background
1248         parser, it was always processing it immediately, which lead to
1249         re-entrancy. Now, we'll queue the chunk in the speculation buffer and
1250         process it once the stack unwinds.
1251
1252         * html/parser/HTMLDocumentParser.cpp:
1253         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
1254         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1255         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1256         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1257         (WebCore::HTMLDocumentParser::insert):
1258         * html/parser/HTMLParserScheduler.cpp:
1259         (WebCore::PumpSession::PumpSession):
1260         * html/parser/HTMLParserScheduler.h:
1261
1262 2013-04-01  Michael Pruett  <michael@68k.org>
1263
1264         [JSC] IndexedDB: Exceptions not thrown for non-cloneable values
1265         https://bugs.webkit.org/show_bug.cgi?id=113689
1266
1267         Reviewed by Kentaro Hara.
1268
1269         ScriptValue::serialize() should not clear exceptions thrown during
1270         serialization. This change is needed to match behavior in V8.
1271
1272         Tests: storage/indexeddb/clone-exception.html
1273                storage/indexeddb/exceptions.html
1274                storage/indexeddb/structured-clone.html
1275
1276         * bindings/js/ScriptValue.cpp:
1277         (WebCore::ScriptValue::serialize):
1278
1279 2013-04-01  Joshua Bell  <jsbell@chromium.org>
1280
1281         [Chromium] IndexedDB: Turn "should only be true in unit tests" comments into ASSERTs
1282         https://bugs.webkit.org/show_bug.cgi?id=113597
1283
1284         Reviewed by Adam Barth.
1285
1286         In the vein of wkbug.com/111233 and wkbug.com/110820 don't just comment that
1287         some condition is true only in unit tests - ASSERT that Chromium's unitTestSupport()
1288         is non-null to catch errors during development.
1289
1290         Exercised by Chromium's webkit_unit_tests.
1291
1292         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1293         (WebCore::IDBDatabaseBackendImpl::openConnection):
1294         (WebCore::IDBDatabaseBackendImpl::close):
1295
1296 2013-04-01  Roger Fong  <roger_fong@apple.com>
1297
1298         VS2010 WebCoreGenerated build scripts should use new feature-defines script.
1299         https://bugs.webkit.org/show_bug.cgi?id=113737.
1300
1301         Reviewed by Timothy Horton.
1302
1303         * WebCore.vcxproj/build-generated-files.sh:
1304
1305 2013-04-01  Tim Horton  <timothy_horton@apple.com>
1306
1307         Autosize should use documentRect height instead of scrollHeight
1308         https://bugs.webkit.org/show_bug.cgi?id=112770
1309
1310         Reviewed by David Levin.
1311
1312         Autosizing fails to compute the correct height if the root element is very
1313         small but the document has significant overflow.
1314
1315         Also, unconditionally start laying out from the minimum height, so that the
1316         documentRect can shrink below its previous height if needed.
1317
1318         No new tests; autosizing is not currently exposed in a testable way on Mac.
1319
1320         * page/FrameView.cpp:
1321         (WebCore::FrameView::autoSizeIfEnabled):
1322
1323 2013-04-01  Hayato Ito  <hayato@chromium.org>
1324
1325         [Shadow DOM] Change the order of event dispatching at AT_TARGET phase.
1326         https://bugs.webkit.org/show_bug.cgi?id=113676
1327
1328         Reviewed by Dimitri Glazkov.
1329
1330         Change the order of event dispatching at AT_TARGET phase so that it mimics bubbling events.
1331
1332         The spec side bug is:
1333         https://www.w3.org/Bugs/Public/show_bug.cgi?id=21404
1334
1335         Example:
1336
1337         Given the event path, from Node A (top-most) to Node G (target,
1338         inner-most), where C and D are shadow hosts and G is the target,
1339         the event dispatching order in the current WebKit implementation is:
1340         (T: AT_TARGET, C: CAPTURING, B: BUBBLING)
1341
1342         For bubbling events:
1343
1344           A          1 (C)  11 (B)
1345           B          2 (C)  10 (B)
1346           C (SH)     3 (T)
1347           D          4 (C)   9 (B)
1348           E (SH)     5 (T)
1349           F          6 (C)   8 (B)
1350           G (Target) 7 (T)
1351
1352         For non-bubbling events:
1353
1354           A          1 (C)
1355           B          2 (C)
1356           C (SH)     3 (T)
1357           D          4 (C)
1358           E (SH)     5 (T)
1359           F          6 (C)
1360           G (Target) 7 (T)
1361
1362         This patch has changed the order of event dispatching as follows:
1363
1364         For bubbling events:
1365
1366           A          1 (C)  11 (B)
1367           B          2 (C)  10 (B)
1368           C (SH)             9 (T)
1369           D          3 (C)   8 (B)
1370           E (SH)             7 (T)
1371           F          4 (C)   6 (B)
1372           G (Target)         5 (T)
1373
1374         For non-bubbling events:
1375
1376           A          1 (C)
1377           B          2 (C)
1378           C (SH)            7 (T)
1379           D          3 (C)
1380           E (SH)            6 (T)
1381           F          4 (C)
1382           G (Target)        5 (T)
1383
1384         No new tests, updating existing layouts.
1385
1386         * dom/EventDispatcher.cpp:
1387         (WebCore::EventDispatcher::dispatchEventAtCapturing):
1388         (WebCore::EventDispatcher::dispatchEventAtBubbling):
1389         * dom/EventDispatcher.h:
1390         (EventDispatcher):
1391
1392 2013-04-01  Nate Chapin  <japhet@chromium.org>
1393
1394         Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
1395         https://bugs.webkit.org/show_bug.cgi?id=113531
1396
1397         Reviewed by Adam Barth.
1398
1399         No new tests, though this is intermittently reproducible with
1400         http/tests/misc/delete-frame-during-readystatechange.html under ASAN.
1401
1402         * html/HTMLMediaElement.cpp:
1403         (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
1404             before the destructor exits. Clearing the media player may cancel a resource load,
1405             which can trigger a readystatechange event. It's possible for the HTMLMediaElement
1406             to attempt to fire an abort event within the readystatechange event, even though it is
1407             now in an inconsistent state. Clearling the media player before finishing the destructor
1408             ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
1409             Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
1410             attempt to fire events while destructing.
1411
1412 2013-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1413
1414         Unreviewed, rolling out r146373.
1415         http://trac.webkit.org/changeset/146373
1416         https://bugs.webkit.org/show_bug.cgi?id=113731
1417
1418         broke autosizing shrinking past previous size (Requested by
1419         thorton on #webkit).
1420
1421         * page/FrameView.cpp:
1422         (WebCore::FrameView::autoSizeIfEnabled):
1423
1424 2013-04-01  Timothy Hatcher  <timothy@apple.com>
1425
1426         Allow changing Web Inspector dock sides without undocking first.
1427
1428         https://webkit.org/b/113661
1429         rdar://problem/13543127
1430
1431         Reviewed by Joseph Pecoraro.
1432
1433         * inspector/InspectorFrontendClientLocal.cpp:
1434         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): Initialize m_dockSide.
1435
1436         (WebCore::InspectorFrontendClientLocal::canAttachWindow): If we are already attached, allow
1437         attaching again to allow switching sides.
1438
1439         (WebCore::InspectorFrontendClientLocal::setAttachedWindow): Set m_dockSide.
1440
1441         * inspector/InspectorFrontendClientLocal.h:
1442         (InspectorFrontendClientLocal): Added m_dockSide.
1443
1444 2013-04-01  Alexey Proskuryakov  <ap@apple.com>
1445
1446         https://bugs.webkit.org/show_bug.cgi?id=113721
1447         <rdar://problem/13549181> REGRESSION (r146929): HTTP auth credentials not reused during session
1448
1449         Reviewed by Brady Eidson.
1450
1451         * platform/network/mac/ResourceHandleMac.mm:
1452         (WebCore::ResourceHandle::start):
1453         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1454         Added FIXMEs.
1455
1456 2013-04-01  Timothy Hatcher  <timothy@apple.com>
1457
1458         Make 'this' evaluate to the correct object when paused in the Debugger.
1459
1460         https://webkit.org/b/113607
1461         rdar://problem/13538351
1462
1463         Reviewed by Joseph Pecoraro.
1464
1465         * inspector/InjectedScriptSource.js:
1466         (InjectedScript.prototype._evaluateOn): Bind 'this' to the expression function.
1467
1468 2013-04-01  Victor Carbune  <vcarbune@chromium.org>
1469
1470         TextTrackCue Extension for WebVTT Regions
1471         https://bugs.webkit.org/show_bug.cgi?id=109821
1472
1473         Reviewed by Eric Carlson.
1474
1475         The TextTrackCue gets a new attribute and setting, regionId, which specifies
1476         to which region the cue belongs to. The attribute is guarded by WEBVTT_REGIONS
1477         and is by default disabled in ports.
1478
1479         Test: media/track/regions-webvtt/text-track-cue-region-attribute.html
1480
1481         * html/track/TextTrackCue.cpp:
1482         (WebCore::TextTrackCue::TextTrackCue): Added member variable for the regionId attribute.
1483         (WebCore):
1484         (WebCore::TextTrackCue::setRegionId): Setter for the regionId attribute.
1485         (WebCore::TextTrackCue::settingName): Added RegionId setting name.
1486         (WebCore::TextTrackCue::setCueSettings): Parsed the "region:" cue setting.
1487         * html/track/TextTrackCue.h:
1488         (TextTrackCue):
1489         (WebCore::TextTrackCue::regionId): Getter for the regionId attribute.
1490         * html/track/TextTrackCue.idl: Updated to match the WebVTT Regions Extension.
1491
1492 2013-03-05  Anders Carlsson  <andersca@apple.com>
1493
1494         Apply changes from storage events locally
1495         https://bugs.webkit.org/show_bug.cgi?id=111502
1496
1497         Reviewed by Sam Weinig.
1498
1499         Add and export a helper function for setting an item without taking
1500         into account the quota for the map. Also, reindent StorageMap.h
1501
1502         * WebCore.exp.in:
1503         * storage/StorageMap.cpp:
1504         (WebCore::StorageMap::setItemIgnoringQuota):
1505         (WebCore):
1506         * storage/StorageMap.h:
1507         (StorageMap):
1508         (WebCore::StorageMap::quota):
1509
1510 2013-04-01  Benjamin Poulain  <benjamin@webkit.org>
1511
1512         Remove a couple of malloc from ExceptionBase construction
1513         https://bugs.webkit.org/show_bug.cgi?id=113681
1514
1515         Reviewed by Darin Adler.
1516
1517         * dom/ExceptionBase.cpp:
1518         (WebCore::ExceptionBase::ExceptionBase):
1519         When the condition is true, we were creating a new String for
1520         description.name. The constructor had already allocated a string for
1521         that: m_name. Use that string instead of creating a new one.
1522
1523         When the condition is false, we were creating a String for typeName
1524         just to use the string operators. This is a waste of time, we can use
1525         makeString() to invoke the string concatenation functions directly.
1526
1527 2013-04-01  Emil A Eklund  <eae@chromium.org>
1528
1529         Move remaining marquee applying code to StyleBuilder
1530         https://bugs.webkit.org/show_bug.cgi?id=113298
1531
1532         Reviewed by Allan Sandfeld Jensen.
1533
1534         Move applying logic for CSSPropertyWebkitMarqueeIncrement,
1535         CSSPropertyWebkitMarqueeRepetition and CSSPropertyWebkitMarqueeSpeed
1536         from StyleResolver::applyProperty.
1537
1538         No new tests, no change in functionality.
1539
1540         * css/StyleBuilder.cpp:
1541         (ApplyPropertyMarqueeIncrement):
1542         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
1543         (WebCore::ApplyPropertyMarqueeIncrement::createHandler):
1544         (WebCore):
1545         (ApplyPropertyMarqueeRepetition):
1546         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
1547         (WebCore::ApplyPropertyMarqueeRepetition::createHandler):
1548         (ApplyPropertyMarqueeSpeed):
1549         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
1550         (WebCore::ApplyPropertyMarqueeSpeed::createHandler):
1551         (WebCore::StyleBuilder::StyleBuilder):
1552         * css/StyleResolver.cpp:
1553         (WebCore::StyleResolver::applyProperty):
1554         Move marquee applying logic from StyleResolver to StyleBuilder.
1555         
1556         * rendering/style/RenderStyle.h:
1557         Change setMarqueeIncrement to pass Length by value instead of const
1558         reference. This is consistent with other length setters and works with
1559         the ApplyPropertyLength template.
1560
1561 2013-04-01  Philip Rogers  <pdr@google.com>
1562
1563         [SVG2] Add support for the buffered-rendering hint
1564         https://bugs.webkit.org/show_bug.cgi?id=104207
1565
1566         Reviewed by Stephen Chenney.
1567
1568         This patch adds the SVG2 buffered-rendering property and implements it for the image
1569         element. For reference, the spec can be found at:
1570             https://svgwg.org/svg2-draft/single-page.html#painting-BufferedRendering
1571
1572         The buffered-rendering hint causes our implementation to create a temporary image buffer
1573         for caching an element's foreground rendering. This behavior has been designed to support
1574         other graphical and container elements in followup patches (such as the use and g elements).
1575         This patch should not affect rendering, and a test has been added showing the image
1576         results are unchanged. 
1577
1578         The performance aspects of this patch can be tested using the following test:
1579             http://philbit.com/bouncingTigers.html
1580         Without the patch, rendering is below 1fps. With the patch, rendering is fluid.
1581
1582         Tests: svg/css/buffered-rendering.html
1583                svg/repaint/buffered-rendering-dynamic-image.html
1584                svg/repaint/buffered-rendering-static-image.html
1585
1586         Other than the changes to RenderSVGImage and SVGRenderingContext, the changes below are to
1587         support the new buffered-rendering property:
1588
1589         * css/CSSComputedStyleDeclaration.cpp:
1590         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1591         * css/CSSPrimitiveValueMappings.h:
1592         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1593         (WebCore):
1594         (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
1595         * css/CSSProperty.cpp:
1596         (WebCore::CSSProperty::isInheritedProperty):
1597         * css/SVGCSSComputedStyleDeclaration.cpp:
1598         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1599         * css/SVGCSSParser.cpp:
1600         (WebCore::CSSParser::parseSVGValue):
1601         * css/SVGCSSPropertyNames.in:
1602         * css/SVGCSSStyleSelector.cpp:
1603         (WebCore::StyleResolver::applySVGProperty):
1604         * css/SVGCSSValueKeywords.in:
1605         * rendering/style/SVGRenderStyle.cpp:
1606         (WebCore::SVGRenderStyle::diff):
1607         * rendering/style/SVGRenderStyle.h:
1608         (WebCore::SVGRenderStyle::initialBufferedRendering):
1609         (WebCore::SVGRenderStyle::setBufferedRendering):
1610         (WebCore::SVGRenderStyle::bufferedRendering):
1611         (WebCore::SVGRenderStyle::setBitDefaults):
1612         * rendering/style/SVGRenderStyleDefs.h:
1613         * rendering/svg/RenderSVGImage.cpp:
1614         (WebCore::RenderSVGImage::paint):
1615
1616             The foreground painting has been extracted out into a separate function. This has also
1617             been changed so that if the buffered-rendering hint is present, bufferForeground
1618             is used.
1619
1620         (WebCore::RenderSVGImage::paintForeground):
1621         (WebCore):
1622         (WebCore::RenderSVGImage::invalidateBufferedForeground):
1623
1624             This function could be replaced with "m_bufferedForeground.clear()" but other renderers
1625             (such as container elements) will require more complex invalidation logic. To
1626             maintain consistency with this future code, invalidateBufferedForeground has been used.
1627
1628         (WebCore::RenderSVGImage::imageChanged):
1629         * rendering/svg/RenderSVGImage.h:
1630         (RenderSVGImage):
1631         * rendering/svg/SVGRenderingContext.cpp:
1632         (WebCore::SVGRenderingContext::bufferForeground):
1633         (WebCore):
1634         * rendering/svg/SVGRenderingContext.h:
1635         (SVGRenderingContext):
1636         * svg/SVGStyledElement.cpp:
1637         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
1638         (WebCore::cssPropertyToTypeMap):
1639         * svg/svgattrs.in:
1640
1641 2013-04-01  Mike West  <mkwst@chromium.org>
1642
1643         CSP 1.1: Remove 'type' parameter from CSPDirectiveList::checkSourceAndReportViolation.
1644         https://bugs.webkit.org/show_bug.cgi?id=113502
1645
1646         Reviewed by Adam Barth.
1647
1648         Now that we're passing in 'effectiveDirective', we don't need the 'type'
1649         parameter to generate the proper error message prefix when reporting
1650         violations.
1651
1652         While I'm here, I'll slightly tweak the grammar for the error messages.
1653         Changes are covered via rebaselines of existing tests.
1654
1655         * page/ContentSecurityPolicy.cpp:
1656         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
1657             Drop the 'type' parameter. We don't need to pass in a type since
1658             we're now passing in the 'effectiveDirective'; we can use the latter
1659             to generate the correct error message prefix.
1660         (WebCore::CSPDirectiveList::allowScriptFromSource):
1661         (WebCore::CSPDirectiveList::allowObjectFromSource):
1662         (WebCore::CSPDirectiveList::allowChildFrameFromSource):
1663         (WebCore::CSPDirectiveList::allowImageFromSource):
1664         (WebCore::CSPDirectiveList::allowStyleFromSource):
1665         (WebCore::CSPDirectiveList::allowFontFromSource):
1666         (WebCore::CSPDirectiveList::allowMediaFromSource):
1667         (WebCore::CSPDirectiveList::allowConnectToSource):
1668         (WebCore::CSPDirectiveList::allowFormAction):
1669         (WebCore::CSPDirectiveList::allowBaseURI):
1670             Drop the 'type' parameter from the callsites, which has the lovely
1671             property of allowing us to throw away a bunch of statically allocated
1672             strings that we don't need anymore.
1673
1674 2013-04-01  James Craig  <james@cookiecrook.com>
1675
1676         AX: "video element controller" is an overly verbose default description for the playback controls; how about just "playback"
1677         https://bugs.webkit.org/show_bug.cgi?id=113549
1678
1679         Reviewed by Chris Fleizach.
1680
1681         Existing test coverage. 
1682
1683         Updating the video/audio element's default accessibility labels to be less verbose.
1684         Also cleaned up some erroneous comments related to the sub-level controls on these elements.
1685
1686         * English.lproj/Localizable.strings:
1687         * platform/LocalizedStrings.cpp:
1688         (WebCore::localizedMediaControlElementString):
1689         (WebCore::localizedMediaControlElementHelpText):
1690         * platform/gtk/LocalizedStringsGtk.cpp:
1691         (WebCore::localizedMediaControlElementString):
1692
1693 2013-04-01  Nate Chapin  <japhet@chromium.org>
1694
1695         Make a bunch of DocumentLoader functions private
1696         https://bugs.webkit.org/show_bug.cgi?id=113601
1697
1698         Reviewed by Alexey Proskuryakov.
1699
1700         No new tests, cleanup only.
1701
1702         * loader/DocumentLoader.cpp:
1703         * loader/DocumentLoader.h:
1704
1705 2013-04-01  Kangil Han  <kangil.han@samsung.com>
1706
1707         Minor code cleanup by removing duplicated null checks
1708         https://bugs.webkit.org/show_bug.cgi?id=113701
1709
1710         Reviewed by Darin Adler.
1711
1712         Duplicated null check is code redundancy, so delete those.
1713
1714         * editing/FrameSelection.cpp:
1715         (WebCore::FrameSelection::setFocusedNodeIfNeeded):
1716         * platform/Arena.cpp:
1717         (WebCore::FreeArenaList):
1718
1719 2013-04-01  Pavel Feldman  <pfeldman@chromium.org>
1720
1721         Web Inspector: follow up to r147323, popover is empty on network panel.
1722         Not reviewed.
1723
1724         * inspector/front-end/DOMExtension.js:
1725         (Element.prototype.measurePreferredSize):
1726         * inspector/front-end/Popover.js:
1727         (WebInspector.Popover.prototype._innerShow):
1728
1729 2013-04-01  Dmitry Zvorygin  <zvorygin@chromium.org>
1730
1731         Web Inspector: Exception in console on attempt to filter javascript messages.
1732         https://bugs.webkit.org/show_bug.cgi?id=113327
1733
1734         Fixed non-css filtration if console message groups are present. Message groups elements are always shown and are
1735         never filtered out.
1736
1737         Reviewed by Pavel Feldman.
1738
1739         * inspector/front-end/ConsoleMessage.js:
1740         (WebInspector.ConsoleMessageImpl.prototype.updateRepeatCount):
1741         * inspector/front-end/ConsoleView.js:
1742         (WebInspector.ConsoleView.get this):
1743         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
1744         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
1745         (WebInspector.ConsoleView.prototype._consoleCleared):
1746         (WebInspector.ConsoleView.prototype._shouldBeVisible):
1747         (WebInspector.ConsoleView.prototype._updateMessageList):
1748         (WebInspector.ConsoleView.prototype._printResult):
1749
1750 2013-04-01  Victor Carbune  <vcarbune@chromium.org>
1751
1752         Parsing WebVTT Region Header Metadata
1753         https://bugs.webkit.org/show_bug.cgi?id=109818
1754
1755         Reviewed by Eric Carlson.
1756
1757         This patch enables reading regions from the metadata section of
1758         a WebVTT file. The work for defining generic metadata within the
1759         WebVTT file header is still work in progress in the TextTrack CG.
1760
1761         As previous patches, everything is guarded by WEBVTT_REGIONS and
1762         is by default disabled in all ports.
1763
1764         Test: media/track/regions-webvtt/text-track-region-parser.html
1765
1766         * html/track/LoadableTextTrack.cpp:
1767         (WebCore):
1768         (WebCore::LoadableTextTrack::newRegionsAvailable): Added method
1769         to be called as soon as regions have finished parsing.
1770         * html/track/LoadableTextTrack.h:
1771         (LoadableTextTrack):
1772         * html/track/TextTrack.h: Changed the access modifiers.
1773         (TextTrack):
1774         * html/track/TextTrackRegion.cpp:
1775         (WebCore::TextTrackRegion::setRegionSettings): Entry point for
1776         parsing the region settings from a string.
1777         (WebCore):
1778         (WebCore::TextTrackRegion::getSettingFromString): Maps a string
1779         to a RegionSetting value.
1780         (WebCore::TextTrackRegion::parseSettingValue): Parses the value
1781         of a specific setting.
1782         (WebCore::TextTrackRegion::parseSetting): Parses a setting string.
1783         * html/track/TextTrackRegion.h:
1784         * html/track/WebVTTParser.cpp:
1785         (WebCore):
1786         (WebCore::WebVTTParser::parseFloatPercentageValue): Helper method
1787         to parse a float percentage value (e.g. "50.1%")
1788         (WebCore::WebVTTParser::parseFloatPercentageValuePair): Helper method
1789         to parse a float percentage value pair (e.g. "50.1%, 30.5%")
1790         (WebCore::WebVTTParser::getNewRegions): Retrieves the new regions
1791         available for processing.
1792         (WebCore::WebVTTParser::parseBytes):
1793         (WebCore::WebVTTParser::collectHeader): Generic function to collect
1794         header in the metadata region.
1795         (WebCore::WebVTTParser::createNewRegion): Creates new region using
1796         the existing metadata header name and value.
1797         * html/track/WebVTTParser.h:
1798         (WebVTTParserClient):
1799         (WebVTTParser):
1800         * loader/TextTrackLoader.cpp:
1801         (WebCore):
1802         (WebCore::TextTrackLoader::newRegionsParsed): Called when the
1803         regions have been succesfully parsed.
1804         (WebCore::TextTrackLoader::getNewRegions): Gets the new regions.
1805         * loader/TextTrackLoader.h:
1806         (TextTrackLoaderClient): Added methods that need to be implemented.
1807         (TextTrackLoader):
1808
1809 2013-04-01  Pavel Feldman  <pfeldman@chromium.org>
1810
1811         Web Inspector: Go to line dialog has 0 height, viewport dialogs have empty gaps.
1812         https://bugs.webkit.org/show_bug.cgi?id=113702
1813
1814         Reviewed by Yury Semikhatsky.
1815
1816         * inspector/front-end/DOMExtension.js:
1817         (Element.prototype.measurePreferredSize):
1818         * inspector/front-end/Popover.js:
1819         (WebInspector.Popover.prototype._innerShow):
1820         * inspector/front-end/ViewportControl.js:
1821         (WebInspector.ViewportControl.prototype.refresh):
1822         * inspector/front-end/dialog.css:
1823         (.dialog-contents):
1824
1825 2013-04-01  Andrey Lushnikov  <lushnikov@chromium.org>
1826
1827         Web Inspector: [DTE] Convertion between text and coordinates
1828         https://bugs.webkit.org/show_bug.cgi?id=113389
1829
1830         Reviewed by Pavel Feldman.
1831
1832         Test: inspector/editor/text-editor-char-to-coordinates.html
1833
1834         Implement cursorPositionToCoordinates and coordinatesToCursorPosition
1835         methods pair in DefaultTextEditor.
1836
1837         * inspector/front-end/DefaultTextEditor.js:
1838         (WebInspector.DefaultTextEditor.prototype.cursorPositionToCoordinates):
1839         (WebInspector.DefaultTextEditor.prototype.coordinatesToCursorPosition):
1840         (WebInspector.TextEditorMainPanel.prototype.cursorPositionToCoordinates):
1841         (WebInspector.TextEditorMainPanel.prototype.coordinatesToCursorPosition):
1842         * inspector/front-end/TextEditor.js:
1843         (WebInspector.TextEditor.prototype.cursorPositionToCoordinates):
1844         (WebInspector.TextEditor.prototype.coordinatesToCursorPosition):
1845
1846 2013-04-01  Sergey Ryazanov  <serya@chromium.org>
1847
1848         Web Inspector: Rename "Copy to Curl" menu item command to "Copy to cURL"
1849         https://bugs.webkit.org/show_bug.cgi?id=113575
1850
1851         Reviewed by Pavel Feldman.
1852
1853         Fix the name to the offical way of capitalization.
1854
1855         * English.lproj/localizedStrings.js:
1856         * inspector/front-end/NetworkPanel.js:
1857         (WebInspector.NetworkLogView.prototype._contextMenu):
1858
1859 2013-04-01  Koji Ishii  <kojiishi@gmail.com>
1860
1861         ASSERTION FAILED: m_purgePreventCount when clicking text with emphasis marks
1862         https://bugs.webkit.org/show_bug.cgi?id=85266
1863
1864         Reviewed by Darin Adler.
1865
1866         Font::glyphDataAndPageForCharacter may call FontCache::getFontDataForCharacters
1867         if system fallback occurs, which may return SimpleFontData with DoNotRetain,
1868         so callers must prevent possible font cache purging.
1869
1870         Test: fast/text/emphasis-height-crash.html
1871
1872         * platform/graphics/FontFastPath.cpp:
1873         (WebCore::Font::emphasisMarkAscent): Add FontCachePurgePreventer.
1874         (WebCore::Font::emphasisMarkDescent): ditto.
1875         (WebCore::Font::emphasisMarkHeight): ditto.
1876         (WebCore::Font::drawEmphasisMarks): ditto.
1877
1878 2013-04-01  Vladislav Kaznacheev  <kaznacheev@chromium.org>
1879
1880         Web Inspector: Fixed DOM Breakpoint pane styles.
1881         https://bugs.webkit.org/show_bug.cgi?id=113688
1882
1883         Reviewed by Pavel Feldman.
1884
1885         The required stylesheet (breakpointsList.css) was not loaded because of
1886         the peculiar way DOMBreakpointsSidebarPane is included in two panels
1887         (Sources and Elements) via a proxy pane. Since DOMBreakpointsSidebarPane
1888         was never shown directly the registerRequiredCSS call in its base class
1889         NativeBreakpointsSidebarPane constructor had no effect.
1890         Addin a registerRequiredCSS call to the proxy pane constructor fixes the
1891         problem.
1892
1893
1894         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1895         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
1896
1897 2013-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
1898
1899         Web Inspector: Flame Chart. Extract item to coordinates conversion into a separate function.
1900         https://bugs.webkit.org/show_bug.cgi?id=113682
1901
1902         Reviewed by Yury Semikhatsky.
1903
1904         The calculation was extracted into entryToAnchorBox.
1905
1906         Drive by fixes: unnecessary members were removed.
1907
1908         * inspector/front-end/FlameChart.js:
1909         (WebInspector.FlameChart):
1910         (WebInspector.FlameChart.Entry):
1911         (WebInspector.FlameChart.prototype._calculateTimelineData):
1912         (WebInspector.FlameChart.prototype._calculateTimelineDataForSamples):
1913         (WebInspector.FlameChart.prototype._getPopoverAnchor):
1914         (WebInspector.FlameChart.prototype._entryToAnchorBox):
1915         (WebInspector.FlameChart.prototype.draw):
1916
1917 2013-03-31  Zalan Bujtas  <zalan@apple.com>
1918
1919         Gradient background does not get repainted when child box is expanded.
1920         https://bugs.webkit.org/show_bug.cgi?id=113644
1921
1922         Reviewed by Antti Koivisto.
1923         
1924         The initial value for background-size is SizeNone and remains, unless it is
1925         set explicitly. However, when the background shorthand is used,
1926         the size property defaults to SizeLength. The repaint
1927         logic in mustRepaintFillLayers expects to have this value set correctly.
1928
1929         Test: fast/repaint/background-shorthand-with-gradient-and-height-changes.html
1930
1931         * rendering/RenderObject.cpp:
1932         (WebCore::mustRepaintFillLayers): code cleanup. no functionality change.
1933         * rendering/style/FillLayer.cpp:
1934         (WebCore::FillLayer::FillLayer):
1935         * rendering/style/FillLayer.h:    use SizeNone as initial value.
1936         (WebCore::FillLayer::initialFillSizeType):
1937         (WebCore::FillLayer::initialFillSize):
1938
1939 2013-03-31  Hayato Ito  <hayato@chromium.org>
1940
1941         Text representation of pseudo elements, '::-webkit-distributed', is wrong in CSSSelector::selectorText().
1942         https://bugs.webkit.org/show_bug.cgi?id=113560
1943
1944         Reviewed by Dimitri Glazkov.
1945
1946         Fix the text representation of distributed functional pseudo elements in CSSSelector::selectorText().
1947
1948         Test: fast/dom/shadow/distributed-pseudo-element-css-text.html
1949
1950         * css/CSSSelector.cpp:
1951         (WebCore::CSSSelector::selectorText):
1952         * css/CSSSelector.h:
1953         (CSSSelector):
1954
1955 2013-03-31  Adam Barth  <abarth@webkit.org>
1956
1957         [Chromium] Yarr should build using a separate GYP file from JavaScriptCore
1958         https://bugs.webkit.org/show_bug.cgi?id=113652
1959
1960         Reviewed by Nico Weber.
1961
1962         * WebCore.gyp/WebCore.gyp:
1963             - Update references to yarr.gyp.
1964
1965 2013-03-31  Kangil Han  <kangil.han@samsung.com>
1966
1967         [EFL] Remove unused stdio.h includes
1968         https://bugs.webkit.org/show_bug.cgi?id=113655
1969
1970         Reviewed by Andreas Kling.
1971
1972         We do not have to include unused header file.
1973
1974         * platform/efl/CursorEfl.cpp:
1975         * platform/efl/FileSystemEfl.cpp:
1976         * platform/efl/PlatformKeyboardEventEfl.cpp:
1977         * platform/efl/ScrollbarThemeEfl.cpp:
1978
1979 2013-03-31  Rafael Weinstein  <rafaelw@chromium.org>
1980
1981         HTMLLinkElement should resolve resource URLs when resources will be fetched
1982         https://bugs.webkit.org/show_bug.cgi?id=113630
1983
1984         HTMLLinkElement was resolving its URL when the href attribute was processed and caching it without ever
1985         invalidating the cached URL. This patch removes the cached URL and adds getURL() which resolve the
1986         URL dynamically.
1987
1988         Reviewed by Eric Seidel.
1989
1990         Test: fast/dom/HTMLLinkElement/resolve-url-on-insertion.html
1991
1992         * html/HTMLLinkElement.cpp:
1993         (WebCore::HTMLLinkElement::getURL):
1994         (WebCore):
1995         (WebCore::HTMLLinkElement::parseAttribute):
1996         (WebCore::HTMLLinkElement::shouldLoadLink):
1997         (WebCore::HTMLLinkElement::process):
1998         * html/HTMLLinkElement.h:
1999         (HTMLLinkElement):
2000
2001 2013-03-31  Brady Eidson  <beidson@apple.com>
2002
2003         NetworkProcess crashes in WebCoreResourceHandleAsOperationQueueDelegate callbacks.
2004         <rdar://problem/13541868> and https://bugs.webkit.org/show_bug.cgi?id=113664
2005
2006         Reviewed by Dan Bernstein.
2007
2008         In the "two-part" callbacks that involve waiting on a semaphore for the async block to finish,
2009         the delegate might have been destroyed by the time the wait completes.
2010
2011         A RetainPtr<> protector will fix that up nicely.
2012
2013         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
2014         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
2015         (-[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]):
2016         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
2017         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):
2018
2019 2013-03-30  Adam Barth  <abarth@webkit.org>
2020
2021         Remove unused include of RegularExpression.h
2022         https://bugs.webkit.org/show_bug.cgi?id=113649
2023
2024         Reviewed by Dimitri Glazkov.
2025
2026         * Modules/filesystem/DOMFilePath.cpp:
2027             - This include isn't used.
2028
2029 2013-03-30  Tom Sepez  <tsepez@chromium.org>
2030
2031         Cross-Origin copy&paste / drag&drop allowing XSS via srcdoc attribute.
2032         https://bugs.webkit.org/show_bug.cgi?id=113443
2033
2034         Reviewed by Adam Barth.
2035
2036         Tested by LayoutTests/editing/pasteboard/paste-noscript.html
2037
2038         * dom/Element.h:
2039         (Element):
2040         (WebCore::Element::isHTMLContentAttribute):
2041         Adds an isHTMLContentAttribute() method to determine whether an attribute can contain
2042         (potentially unsafe) HTML content. Currently, the iframe's srcdoc attribute is the only
2043         such attribute, but clever folks might add more in the future.
2044         Rename stripJavaScriptAttributes() method to stripScriptingAttributes(), to better reflect
2045         the reality that scripting content may appear as above.
2046         Adds missing consts and consolidate isJavaScriptAttribute() method.
2047
2048         * dom/Element.cpp:
2049         (WebCore::Element::isJavaScriptURLAttribute):
2050         (WebCore::Element::stripScriptingAttributes):
2051         Consolidated methods.
2052         
2053         * html/HTMLFrameElementBase.cpp:
2054         (WebCore::HTMLFrameElementBase::isHTMLContentAttribute):
2055         (WebCore):
2056         * html/HTMLFrameElementBase.h:
2057         (HTMLFrameElementBase):
2058         Indicate that for frames, the srcdoc attribute contains HTML content.
2059         
2060         * html/parser/HTMLConstructionSite.cpp:
2061         (WebCore::setAttributes):
2062         * xml/parser/XMLDocumentParserLibxml2.cpp:
2063         (WebCore::setAttributes):
2064         * xml/parser/XMLDocumentParserQt.cpp:
2065         (WebCore::setAttributes):
2066         Rename stripJavaScriptAttribute calls to match Element.h
2067
2068 2013-03-30  Tom Sepez  <tsepez@chromium.org>
2069
2070         View-source iframes are dangerous (and not very useful).
2071         https://bugs.webkit.org/show_bug.cgi?id=113345
2072
2073         Reviewed by Adam Barth.
2074
2075         * html/HTMLFrameElementBase.cpp:
2076         (WebCore::HTMLFrameElementBase::parseAttribute):
2077         Conditionalize viewsource attribute on ENABLE(VIEWSOURCE_ATTRIBUTE).
2078
2079 2013-03-30  Philippe Normand  <pnormand@igalia.com>
2080
2081         [GTK] Should use GStreamer codec installation infrastructure
2082         https://bugs.webkit.org/show_bug.cgi?id=34085
2083
2084         Reviewed by Martin Robinson.
2085
2086         Initial support for the GStreamer codec installer. The player will
2087         handle missing-plugins messages and use the pbutils codec
2088         installer facilities to install the missing GStreamer
2089         plugins. Once the plugins are installed reset the pipeline state.
2090
2091         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2092         (WebCore::mediaPlayerPrivatePluginInstallerResultFunction): This
2093         method is used to notify the player that the missing plugins were installed.
2094         (WebCore):
2095         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2096         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Ignore
2097         errors while installing plugins and handle the missing-plugin message.
2098         (WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult):
2099         This method is invoked after the installer finished its task.
2100         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2101         (MediaPlayerPrivateGStreamer):
2102
2103 2013-03-30  Praveen R Jadhav  <praveen.j@samsung.com>
2104
2105         g_slist_reverse() may not be required in webKitWebAudioSrcLoop
2106         https://bugs.webkit.org/show_bug.cgi?id=113568
2107
2108         Reviewed by Philippe Normand.
2109
2110         Decremental 'for' loop logic implemented to avoid using g_slist_reverse().
2111
2112         Original code            - 2.025230 micro seconds per loop
2113         Original code + patch    - 1.964759 micro seconds per loop
2114
2115         This patch is covered by existing webaudio tests.
2116
2117         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2118         (webKitWebAudioSrcLoop):
2119
2120 2013-03-30  Alexei Filippov  <alph@chromium.org>
2121
2122         Web Inspector: Fonts refactoring
2123         https://bugs.webkit.org/show_bug.cgi?id=113047
2124
2125         Reviewed by Pavel Feldman.
2126
2127         Unify fonts usage across inspector.
2128         Make inspector default font depend on platform.
2129
2130         * inspector/front-end/breakpointsList.css:
2131         * inspector/front-end/dataGrid.css:
2132         (.data-grid):
2133         (.data-grid table):
2134         (.data-grid td):
2135         (.data-grid th.sort-ascending > div::after):
2136         (.data-grid th.sort-descending > div::after):
2137         (.data-grid button):
2138         * inspector/front-end/heapProfiler.css:
2139         (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
2140         (.heap-snapshot-view .retainers-view-header):
2141         * inspector/front-end/inspector.css:
2142         (.toolbar-item):
2143         (.toolbar-label):
2144         (.console-message .bubble):
2145         (.outline-disclosure > ol):
2146         (.source-code):
2147         (.scope-bar li):
2148         (.sidebar-tree, .sidebar-tree .children):
2149         (.sidebar-tree-section):
2150         (li .status .bubble):
2151         (.sidebar-tree-item.selected):
2152         (.sidebar-tree-item .titles):
2153         (.sidebar-tree-item .subtitle):
2154         (.sidebar-tree-item.selected .subtitle):
2155         (.source-frame-breakpoint-message):
2156         (.soft-context-menu):
2157         * inspector/front-end/inspectorCommon.css:
2158         (body):
2159         (.resources-divider-label):
2160         * inspector/front-end/navigatorView.css:
2161         (.navigator li):
2162         (.navigator li.selected .selection):
2163         (.navigator .base-navigator-tree-element-title):
2164         * inspector/front-end/networkLogView.css:
2165         (.network-log-grid.data-grid td):
2166         (.network-log-grid.data-grid.small td):
2167         (.network-log-grid.data-grid th):
2168         (.network-log-grid.data-grid select):
2169         (.network-graph-label):
2170         (.network-timeline-grid .resources-divider-label):
2171         (.network-log-grid.data-grid .network-summary-bar td):
2172         * inspector/front-end/resourcesPanel.css:
2173         (.resources.panel .sidebar li):
2174         (.resources.panel .sidebar li.selected):
2175         (.resources.panel .sidebar li.selected .selection):
2176         * inspector/front-end/sidebarPane.css:
2177         (.sidebar-pane > .body .info):
2178         (.sidebar-pane-title):
2179         (.sidebar-pane-toolbar):
2180         (.sidebar-pane-subtitle):
2181         * inspector/front-end/tabbedPane.css:
2182         (.tabbed-pane-header-tab):
2183         (.tabbed-pane-header-tab-close-button):
2184         (select.tabbed-pane-header-tabs-drop-down-select):
2185         * inspector/front-end/timelinePanel.css:
2186         (.memory-counter-value):
2187
2188 2013-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2189
2190         Unreviewed, rolling out r147263.
2191         http://trac.webkit.org/changeset/147263
2192         https://bugs.webkit.org/show_bug.cgi?id=113632
2193
2194         Breaks test fast/loader/display-image-unset-allows-cached-
2195         image-load.html (Requested by mlam on #webkit).
2196
2197         * loader/cache/CachedResource.cpp:
2198         (WebCore::CachedResource::freshnessLifetime):
2199
2200 2013-03-29  Roger Fong  <roger_fong@apple.com>
2201
2202         Unreviewed. AppleWin VS2010 build fix.
2203
2204         * WebCore.vcxproj/WebCore.vcxproj:
2205         * WebCore.vcxproj/WebCore.vcxproj.filters:
2206
2207 2013-03-29  Yongjun Zhang  <yongjun_zhang@apple.com>
2208
2209         When releasing a CGImage, we should also remove it from the subimage cache.
2210         https://bugs.webkit.org/show_bug.cgi?id=102453
2211
2212         Reviewed by Simon Fraser.
2213
2214         When we release an image(CGImageRef) from BitmapImage's cachedFrames, if the image was already
2215         cached in subimage cache, it's ref count won't drop to 0 and the image won't be deleted.  Usually,
2216         the subimage cache will clear the whole cache in a timer with 1 sec delay.  However, if WebCore has
2217         to paint another subimage (not necessarily from the same CGImageRef) before this timer fires, we
2218         will restart the timer and images inside the cache will stay longer than they should.
2219
2220         This patch does two things:
2221             - move SubimageCacheWithTimer and related helper struct into a separate file.
2222             - remove the image from subimage cache when we releasing the CGImageRef, this prevent subimage
2223         cache holding the image after we released it.
2224
2225         No new tests, manually verified the CGImageRef is also removed from subimage cache
2226         when we releasing the image from FrameData::clear.
2227
2228         * WebCore.vcproj/WebCore.vcproj:
2229         * WebCore.xcodeproj/project.pbxproj:
2230         * platform/graphics/cg/BitmapImageCG.cpp:
2231         (WebCore::FrameData::clear): remove the image from subimage cache before we releasing it.
2232         * platform/graphics/cg/GraphicsContextCG.cpp:
2233         (WebCore):
2234         (WebCore::GraphicsContext::drawNativeImage):
2235         * platform/graphics/cg/SubimageCacheWithTimer.cpp: Added.
2236         (WebCore):
2237         (SubimageRequest):
2238         (WebCore::SubimageRequest::SubimageRequest):
2239         (WebCore::SubimageCacheAdder::hash):
2240         (SubimageCacheAdder):
2241         (WebCore::SubimageCacheAdder::equal):
2242         (WebCore::SubimageCacheAdder::translate):
2243         (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):
2244         (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):
2245         (WebCore::SubimageCacheWithTimer::getSubimage):
2246         (WebCore::SubimageCacheWithTimer::clearImage):
2247         (WebCore::subimageCache):
2248         * platform/graphics/cg/SubimageCacheWithTimer.h: Added.
2249         (WebCore):
2250         (SubimageCacheWithTimer): Added a data member m_images to record which image and its subimages are cached.
2251         (SubimageCacheEntry):
2252         (SubimageCacheEntryTraits):
2253         (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::isEmptyValue):
2254         (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::constructDeletedValue):
2255         (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::isDeletedValue):
2256         (WebCore::SubimageCacheWithTimer::SubimageCacheHash::hash):
2257         (WebCore::SubimageCacheWithTimer::SubimageCacheHash::equal):
2258         (SubimageCacheHash):
2259
2260 2013-03-29  Andy Estes  <aestes@apple.com>
2261
2262         Let cached resources from file: schemes expire immediately
2263         https://bugs.webkit.org/show_bug.cgi?id=113626
2264
2265         Reviewed by Brady Eidson
2266
2267         When a CachedResource was loaded from a file: URL, we would give it an
2268         indefinite freshness lifetime. This means that we would continue to
2269         serve a stale resource from the memory cache even if the file was
2270         changed on disk. With the introduction of main resource caching, this
2271         behavior broke at least one third-party WebKit app (see <rdar://problem/13313769>).
2272
2273         We should instead let file resources expire immediately. Modern
2274         filesystems implement their own caching, so we should get good
2275         performance for multiple reads of unmodified files without doing our
2276         own caching.
2277
2278         * loader/cache/CachedResource.cpp:
2279         (WebCore::CachedResource::freshnessLifetime): file: URLs should have a
2280         0 freshness lifetime.
2281
2282 2013-03-29  Ojan Vafai  <ojan@chromium.org>
2283
2284         Flexitems no longer default min-width to min-content
2285         https://bugs.webkit.org/show_bug.cgi?id=111790
2286
2287         Reviewed by Tony Chang.
2288
2289         * css/CSSParser.cpp:
2290         (WebCore::CSSParser::parseValue):
2291         Disallow auto as a valid min-size value.
2292
2293         * css/html.css:
2294         (input::-webkit-datetime-edit):
2295         (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
2296         (input[type="range"]::-webkit-slider-runnable-track):
2297         Remove now unnecessary min-width: 0's.
2298
2299         * css/mediaControlsChromium.css:
2300         (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
2301         (video::-webkit-media-controls-enclosure):
2302         Set a flex-shrink: 0 to avoid shrinking these items below the designated height.
2303
2304         * rendering/RenderBox.cpp:
2305         (WebCore::RenderBox::constrainLogicalHeightByMinMax):
2306         (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
2307         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2308         (WebCore::RenderBox::computeLogicalHeight):
2309         (WebCore::RenderBox::computeLogicalHeightUsing):
2310         (WebCore::RenderBox::computeContentLogicalHeight):
2311         (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
2312         (WebCore::RenderBox::computeReplacedLogicalWidth):
2313         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
2314         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2315         (WebCore::RenderBox::computeReplacedLogicalHeight):
2316         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
2317         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2318         (WebCore::RenderBox::availableLogicalHeightUsing):
2319         (WebCore::RenderBox::computePositionedLogicalWidth):
2320         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2321         (WebCore::RenderBox::computePositionedLogicalHeight):
2322         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
2323         Remove all the unneeded SizeType arguments now that we don't need to
2324         specially handle MinSize in all these functions.
2325
2326         * rendering/RenderBox.h:
2327         * rendering/RenderButton.cpp:
2328         (WebCore::RenderButton::styleWillChange):
2329         (WebCore::RenderButton::setupInnerStyle):
2330         No longer need to explicitly set min-width:0.
2331
2332         * rendering/RenderFlexibleBox.cpp:
2333         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
2334         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2335         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
2336         Remove the code for specially handling auto.
2337
2338         * rendering/RenderGrid.cpp:
2339         (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
2340         * rendering/RenderRegion.cpp:
2341         (WebCore::RenderRegion::maxPageLogicalHeight):
2342         * rendering/RenderReplaced.cpp:
2343         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2344         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2345         Remove all the now unneeded SizeType arguments.
2346
2347         * rendering/style/RenderStyle.h:
2348         Change the default min-size back to 0.
2349
2350 2013-03-29  Alexey Proskuryakov  <ap@apple.com>
2351
2352         Expose FeatureObserver data to WebKit clients
2353         https://bugs.webkit.org/show_bug.cgi?id=113613
2354
2355         Reviewed by Sam Weinig.
2356
2357         FeatureObserver used to depend on chromium-only HistogramSupport, which is not
2358         really usable on Mac at least.
2359
2360         Instead of adding parallel feature reporting machinery, I'm adding a way to
2361         generically relay the data from FeatureObserver to port code.
2362
2363         * loader/FrameLoader.cpp:
2364         (WebCore::FrameLoader::loadWithDocumentLoader):
2365         (WebCore::FrameLoader::commitProvisionalLoad):
2366         (WebCore::FrameLoader::reportMemoryUsage):
2367         * loader/FrameLoader.h:
2368         (WebCore::FrameLoader::previousURL):
2369         Exposed m_previousURL, renaming it to follow WebKit style.
2370
2371         * page/FeatureObserver.cpp:
2372         (WebCore::FeatureObserver::~FeatureObserver):
2373         (WebCore::FeatureObserver::updateMeasurements):
2374         * page/FeatureObserver.h:
2375         (WebCore::FeatureObserver::accumulatedFeatureBits):
2376         Exposed the data to clients, and made reporting through HistogramSupport
2377         chromium only for clarity.
2378
2379 2013-03-29  Bem Jones-Bey  <bjonesbe@adobe.com>
2380
2381         [CSS Exclusions] shape outside segments not properly calculated for ellipses
2382         https://bugs.webkit.org/show_bug.cgi?id=112587
2383
2384         Reviewed by Julien Chaffraix.
2385
2386         When converting the line top coordinates from the parent's coordinate
2387         space to the coordinate space of the float, the offset given by the
2388         shape was not being accounted for. This patch accounts for that
2389         offset.
2390
2391         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-non-zero-y.html
2392
2393         * rendering/RenderBlock.cpp:
2394         (WebCore::RenderBlock::logicalLeftOffsetForLine): Fix the coordinate conversion.
2395         (WebCore::RenderBlock::logicalRightOffsetForLine): Ditto.
2396         * rendering/RenderBlockLineLayout.cpp:
2397         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Ditto.
2398
2399 2013-03-29  Hans Muller  <hmuller@adobe.com>
2400
2401         [CSS Exclusions] Incorrect margin corner radii formula
2402         https://bugs.webkit.org/show_bug.cgi?id=111186
2403
2404         Reviewed by Dirk Schulze.
2405
2406         Corrected an error in the forumla for the margin ellipse's radii.
2407
2408         Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html
2409                fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html
2410
2411         * rendering/ExclusionRectangle.cpp:
2412         (WebCore::FloatRoundedRect::marginBounds):
2413
2414 2013-03-19  Ojan Vafai  <ojan@chromium.org>
2415
2416         min-width/max-width of min-content/max-content don't work correctly if width is specified
2417         https://bugs.webkit.org/show_bug.cgi?id=106143
2418
2419         Reviewed by Tony Chang.
2420
2421         Test: fast/css-intrinsic-dimensions/intrinsic-sized-blocks.html
2422
2423         * rendering/RenderBlock.cpp:
2424         (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
2425         Expose this so that we don't use the preferred widths when calculating intrinsic width
2426         values since the preferred width will be the regular width value if it is set.
2427         Also, simplified the logic around table cells and scrollbar widths. The old code was
2428         wrong and unnecessarily complicated.
2429
2430         (WebCore::RenderBlock::computePreferredLogicalWidths):
2431         Use the new computeIntrinsicLogicalWidths method.
2432
2433         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2434         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2435         Pass in the min/max values as out params so they can be called from computeIntrinsicLogicalWidths.
2436         Also, make computeBlockPreferredLogicalWidths const.
2437
2438         * rendering/RenderBlock.h:
2439
2440 2013-03-29  Joshua Bell  <jsbell@chromium.org>
2441
2442         IndexedDB: Use WTF::TemporaryChange rather than manually resetting a flag
2443         https://bugs.webkit.org/show_bug.cgi?id=113594
2444
2445         Reviewed by Tony Chang.
2446
2447         Split out from another patch: rather than m_foo = true; ... m_foo = false; use
2448         the handy WTF::TemporaryChange scoped variable change doohickey.
2449
2450         Test: http/tests/inspector/indexeddb/database-structure.html
2451
2452         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2453         (WebCore::IDBDatabaseBackendImpl::close):
2454
2455 2013-03-29  Joshua Bell  <jsbell@chromium.org>
2456
2457         [V8] IndexedDB: Exceptions thrown inconsistently for non-cloneable values
2458         https://bugs.webkit.org/show_bug.cgi?id=113091
2459
2460         Reviewed by Kentaro Hara.
2461
2462         The exception thrown by SerializedScriptValue into the JS engine is not
2463         observable by ScriptState. (We should fix that, but it appears non-trivial.)
2464         Ask the SerializedScriptValue directly if it failed to clone. If so, don't
2465         set an exception - one was already set so let that be processed normally.
2466
2467         Test: storage/indexeddb/clone-exception.html
2468
2469         * Modules/indexeddb/IDBObjectStore.cpp:
2470         (WebCore::IDBObjectStore::put):
2471
2472 2013-03-29  Dean Jackson  <dino@apple.com>
2473
2474         Snapshotted plugins must be able to restart on appropriate mouseup events
2475         https://bugs.webkit.org/show_bug.cgi?id=113577
2476
2477         Reviewed by Tim Horton.
2478
2479         If the page content prevents the default behaviour of a mousedown event, then a snapshotted
2480         plugin would never receive a click event, and thus be unable to restart. We have to also
2481         look for a mouseup that happens with an associated mousedown, and trigger restart. This
2482         won't call any page code - it's just behind the scenes.
2483
2484         * rendering/RenderSnapshottedPlugIn.cpp:
2485         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize new member variable.
2486         (WebCore::RenderSnapshottedPlugIn::handleEvent): Track the state of mousedown and up pairs, and restart
2487             if you see an appropriate mouseup.
2488         * rendering/RenderSnapshottedPlugIn.h: New member variable to track mouse state.
2489
2490 2013-03-29  Simon Fraser  <simon.fraser@apple.com>
2491
2492         removeViewportConstrainedLayer() should remove the layer from m_viewportConstrainedLayersNeedingUpdate too
2493         https://bugs.webkit.org/show_bug.cgi?id=113596
2494
2495         Reviewed by Tim Horton.
2496         
2497         It's possible, with some combination of position:fixed and opacity transitions
2498         in iframes, to end up with a RenderLayer in m_viewportConstrainedLayersNeedingUpdate
2499         that has been removed from m_viewportConstrainedLayers, which leads to later assertions
2500         and/or crashes.
2501         
2502         Fix by removing a layer from m_viewportConstrainedLayersNeedingUpdate when we
2503         remove it from m_viewportConstrainedLayers.
2504
2505         I was not able to come up with a testcase that reliably reproduces this.
2506
2507         * rendering/RenderLayerCompositor.cpp:
2508         (WebCore::RenderLayerCompositor::removeViewportConstrainedLayer):
2509
2510 2013-03-29  Greg Hughes  <ghughes@apple.com>
2511
2512         Allow multiple searchKeys to be passed to AXUIElementCopyParameterizedAttributeValue
2513         https://bugs.webkit.org/show_bug.cgi?id=112276
2514
2515         Reviewed by Chris Fleizach.
2516
2517         Added support for accessibility search predicates to accept multiple search keys. The search will return the first item that matches any one of the provided search keys.
2518
2519         * accessibility/AccessibilityObject.cpp:
2520         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
2521         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
2522         (WebCore):
2523         * accessibility/AccessibilityObject.h:
2524         (AccessibilitySearchCriteria):
2525         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
2526         (AccessibilityObject):
2527         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2528         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2529
2530 2013-03-29  Joshua Bell  <jsbell@chromium.org>
2531
2532         IndexedDB: Bind lifetime of in-memory backing stores to IDBFactory backend
2533         https://bugs.webkit.org/show_bug.cgi?id=110820
2534
2535         Reviewed by Tony Chang.
2536
2537         Backing stores are dropped as soon as all connections are closed. That makes sense for
2538         disk-backed stores to free up memory (although there's a performance trade-off...). But
2539         for memory-backed stores, the expected lifetime should match the lifetime of the factory
2540         so that an open/write/close/re-open/read yields the written data.
2541
2542         Test: Chromium's webkit_unit_tests, IDBFactoryBackendTest.MemoryBackingStoreLifetime
2543
2544         * Modules/indexeddb/IDBBackingStore.cpp:
2545         (WebCore::IDBBackingStore::IDBBackingStore): Pass comparator into constructor since it was always
2546         assigned immediately afterwards anyway.
2547         (WebCore::IDBBackingStore::open): Split into three parts - open() which is disk-backed...
2548         (WebCore::IDBBackingStore::openInMemory): ...explit in-memory creation (previously: specified by empty path)
2549         (WebCore::IDBBackingStore::create): ... and the common logic which calls the constructor.
2550         * Modules/indexeddb/IDBBackingStore.h: Headers for the above.
2551         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2552         (WebCore::IDBFactoryBackendImpl::openBackingStore): Add in-memory backing stores to dependent set.
2553         * Modules/indexeddb/IDBFactoryBackendImpl.h: Add member to track dependent backing stores.
2554
2555 2013-03-29  Nate Chapin  <japhet@chromium.org>
2556
2557         ASSERT d->m_defersLoading != defers on detik.com and drive.google.com
2558         https://bugs.webkit.org/show_bug.cgi?id=111902
2559
2560         Reviewed by Alexey Proskuryakov.
2561
2562         Test: http/tests/navigation/same-url-iframes-defer-crash.html
2563
2564         * loader/DocumentLoader.cpp:
2565         (WebCore::DocumentLoader::setDefersLoading): If multiple DocumentLoaders are
2566            using loading the same main resource, ensure only one of them can call
2567            ResourceLoader::setDefersLoading.
2568
2569 2013-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
2570
2571         Web Inspector: Content should not be lost when uiSourceCode's file was removed externally on file system.
2572         https://bugs.webkit.org/show_bug.cgi?id=113581
2573
2574         Reviewed by Pavel Feldman.
2575
2576         * inspector/front-end/IsolatedFileSystem.js:
2577         (WebInspector.IsolatedFileSystem.prototype.errorHandler):
2578         (WebInspector.IsolatedFileSystem.prototype.requestFileContent):
2579         (WebInspector.IsolatedFileSystem.prototype.fileSystemLoaded):
2580         * inspector/front-end/UISourceCode.js:
2581         (WebInspector.UISourceCode.prototype.checkContentUpdated.contentLoaded):
2582         (WebInspector.UISourceCode.prototype.checkContentUpdated):
2583         (WebInspector.UISourceCode.prototype._commitContent):
2584
2585 2013-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
2586
2587         Web Inspector: Prompt before closing dirty tab.
2588         https://bugs.webkit.org/show_bug.cgi?id=113576
2589
2590         Reviewed by Pavel Feldman.
2591
2592         * inspector/front-end/TabbedEditorContainer.js:
2593         (WebInspector.TabbedEditorContainer):
2594         (WebInspector.TabbedEditorContainer.prototype._maybeCloseTab):
2595         (WebInspector.TabbedEditorContainer.prototype._closeTabs):
2596         (WebInspector.EditorContainerTabDelegate):
2597         (WebInspector.EditorContainerTabDelegate.prototype.closeTabs):
2598         * inspector/front-end/TabbedPane.js:
2599         (WebInspector.TabbedPane.prototype.setTabDelegate):
2600         (WebInspector.TabbedPane.prototype.appendTab):
2601         (WebInspector.TabbedPane.prototype.allTabs):
2602         (WebInspector.TabbedPane.prototype.otherTabs):
2603         (WebInspector.TabbedPaneTab.prototype.setDelegate):
2604         (WebInspector.TabbedPaneTab.prototype._tabClicked):
2605         (WebInspector.TabbedPaneTab.prototype._closeTabs):
2606         (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
2607         (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeOthers):
2608         (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeAll):
2609         (WebInspector.TabbedPaneTabDelegate):
2610         (WebInspector.TabbedPaneTabDelegate.prototype.closeTabs):
2611         * inspector/front-end/UISourceCode.js:
2612         (WebInspector.UISourceCode.prototype.resetWorkingCopy):
2613
2614 2013-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
2615
2616         Web Inspector: Flame Chart. Remove hopping ancorElement and use anchorBox instead.
2617         https://bugs.webkit.org/show_bug.cgi?id=113579
2618
2619         Reviewed by Pavel Feldman.
2620
2621         Initially I made a fake anchor element and moved it according to the highlighted element position.
2622         It was a hack and after http://trac.webkit.org/changeset/147209 I'm able to remove it.
2623
2624         Drive by fix: the code was moved from onMouseMove to getPopoverAnchor.
2625
2626         * inspector/front-end/FlameChart.js:
2627         (WebInspector.FlameChart):
2628         (WebInspector.FlameChart.prototype._getPopoverAnchor):
2629         -(WebInspector.FlameChart.prototype._onMouseMove)
2630         * inspector/front-end/flameChart.css:
2631
2632 2013-03-29  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2633
2634         [EFL][EGL] Add support for creating offscreen surface.
2635         https://bugs.webkit.org/show_bug.cgi?id=113359
2636
2637         Reviewed by Noam Rosenthal.
2638
2639         This is in preparation for enabling EGL and GLES2
2640         support for EFL port. This patch adds support for using
2641         EGLPixmapSurface as an offscreensurface.
2642
2643         * PlatformEfl.cmake:
2644         * platform/graphics/opengl/GLPlatformSurface.cpp:
2645         (WebCore::GLPlatformSurface::createOffScreenSurface):
2646         * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
2647         (WebCore::GLTransportSurface::createTransportSurface):
2648         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
2649         (WebCore::EGLConfigSelector::EGLConfigSelector):
2650         (WebCore::EGLConfigSelector::pixmapContextConfig):
2651         (WebCore::EGLConfigSelector::surfaceContextConfig):
2652         (WebCore::EGLConfigSelector::nativeVisualId):
2653         (WebCore::EGLConfigSelector::reset):
2654         (WebCore::EGLConfigSelector::createConfig):
2655         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
2656         (EGLConfigSelector):
2657
2658          Added logic to select EGLConfig supporting alpha and
2659          opaque as needed. Moved Code related to display to
2660          EGLHelper class.
2661
2662         * platform/graphics/surfaces/egl/EGLHelper.cpp: Added.
2663         (WebCore):
2664         (EGLDisplayConnection):
2665         (WebCore::EGLDisplayConnection::EGLDisplayConnection):
2666         (WebCore::EGLDisplayConnection::~EGLDisplayConnection):
2667         (WebCore::EGLDisplayConnection::display):
2668         (WebCore::EGLDisplayConnection::terminate):
2669         (WebCore::EGLHelper::eglDisplay):
2670         * platform/graphics/surfaces/egl/EGLHelper.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
2671         (WebCore):
2672         (EGLHelper):
2673         * platform/graphics/surfaces/egl/EGLSurface.cpp:
2674         (WebCore::EGLTransportSurface::createTransportSurface):
2675         (WebCore::EGLTransportSurface::EGLTransportSurface):
2676         (WebCore::EGLTransportSurface::attributes):
2677         (WebCore::EGLTransportSurface::~EGLTransportSurface):
2678         (WebCore::EGLTransportSurface::destroy):
2679         (WebCore::EGLTransportSurface::configuration):
2680         (WebCore::EGLOffScreenSurface::createOffScreenSurface):
2681         (WebCore::EGLOffScreenSurface::EGLOffScreenSurface):
2682         (WebCore::EGLOffScreenSurface::~EGLOffScreenSurface):
2683         (WebCore::EGLOffScreenSurface::attributes):
2684         (WebCore::EGLOffScreenSurface::configuration):
2685         (WebCore::EGLOffScreenSurface::destroy):
2686         * platform/graphics/surfaces/egl/EGLSurface.h:
2687         (WebCore):
2688         (EGLTransportSurface):
2689         (EGLOffScreenSurface):
2690         * platform/graphics/surfaces/egl/EGLXSurface.cpp: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.cpp.
2691         (WebCore):
2692         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
2693         (WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
2694         (WebCore::EGLWindowTransportSurface::swapBuffers):
2695         (WebCore::EGLWindowTransportSurface::destroy):
2696         (WebCore::EGLPixmapSurface::EGLPixmapSurface):
2697         (WebCore::EGLPixmapSurface::~EGLPixmapSurface):
2698         (WebCore::EGLPixmapSurface::destroy):
2699         * platform/graphics/surfaces/egl/EGLXSurface.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
2700         (WebCore):
2701         (EGLWindowTransportSurface):
2702         (EGLPixmapSurface):
2703
2704         EGLPixmapSurface implementation.
2705
2706 2013-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2707
2708         Unreviewed, rolling out r147218.
2709         http://trac.webkit.org/changeset/147218
2710         https://bugs.webkit.org/show_bug.cgi?id=113585
2711
2712         We should rethink UI of this feature. (Requested by vsevik on
2713         #webkit).
2714
2715         * inspector/InjectedScriptSource.js:
2716         (.):
2717         * inspector/front-end/ObjectPropertiesSection.js:
2718         (WebInspector.ObjectPropertyTreeElement.populateWithProperties):
2719         * inspector/front-end/RemoteObject.js:
2720         (WebInspector.RemoteObject.prototype.set else):
2721         (WebInspector.RemoteObjectProperty):
2722         * inspector/front-end/inspector.css:
2723
2724 2013-03-29  Andrey Kosyakov  <caseq@chromium.org>
2725
2726         Web Inspector: extract common base for 3 timeline overview controls (Events/Frames/Memory)
2727         https://bugs.webkit.org/show_bug.cgi?id=113572
2728
2729         Reviewed by Yury Semikhatsky.
2730
2731         Refactoring, covered by existing tests.
2732
2733         - introduce TimelineOverviewBase as a common base for 3 overview controls;
2734         - make every overview control a view.
2735
2736         This does not yet take advantage of common base (subject of the next patch).
2737
2738         * inspector/front-end/OverviewGrid.js:
2739         (WebInspector.OverviewGrid.prototype.gridElement):
2740         (WebInspector.OverviewGrid.prototype.itemsGraphsElement):
2741         * inspector/front-end/TimelineOverviewPane.js:
2742         (WebInspector.TimelineOverviewPane):
2743         (WebInspector.TimelineOverviewPane.prototype.setMode):
2744         (WebInspector.TimelineOverviewPane.prototype._update):
2745         (WebInspector.TimelineOverviewBase):
2746         (WebInspector.TimelineOverviewBase.prototype.update):
2747         (WebInspector.TimelineMemoryOverview):
2748         (WebInspector.TimelineEventOverview):
2749         (WebInspector.TimelineEventOverview.prototype._renderBar):
2750         (WebInspector.TimelineFrameOverview):
2751         (WebInspector.TimelineFrameOverview.prototype.update):
2752         (WebInspector.TimelineFrameOverview.prototype._renderBars):
2753         (WebInspector.TimelineFrameOverview.prototype._drawFPSMarks):
2754         (WebInspector.TimelineFrameOverview.prototype._renderBar):
2755
2756 2013-03-29  Peter Rybin  <prybin@chromium.org>
2757
2758         Web Inspector: gather accessor property getter and setter under a single tree node
2759         https://bugs.webkit.org/show_bug.cgi?id=113357
2760
2761         Reviewed by Yury Semikhatsky.
2762
2763         A new tree element class AccessorPropertyTreeElemenet is added.
2764         RemoteObjectProperty can now represent accessor property (if value is null).
2765         New tree element is supported in CSS stylesheet.
2766
2767         Testing code is slightly modified for exploring new tree elements.
2768
2769         * inspector/InjectedScriptSource.js:
2770         (.):
2771         * inspector/front-end/ObjectPropertiesSection.js:
2772         (WebInspector.ObjectPropertyTreeElement.populateWithProperties):
2773         (WebInspector.AccessorPropertyTreeElement):
2774         (WebInspector.AccessorPropertyTreeElement.prototype.onattach):
2775         (WebInspector.AccessorPropertyTreeElement.prototype.update):
2776         (WebInspector.AccessorPropertyTreeElement.prototype.onpopulate):
2777         * inspector/front-end/RemoteObject.js:
2778         * inspector/front-end/inspector.css:
2779         (.accessor-property-name):
2780
2781 2013-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
2782
2783         Web Inspector: Flame Chart. Developers will have more clue
2784         if two different profiles will have same colors for same functions.
2785         https://bugs.webkit.org/show_bug.cgi?id=113410
2786
2787         Reviewed by Pavel Feldman.
2788
2789         The code related to color generator was extracted into a separate class.
2790         The instance of the class was stored as static private member of the FlameChart class,
2791         so all the profiles will share the same instance and will use same colors.
2792         The colors itself were slightly adjusted.
2793
2794         Drive by fix: coordinatesToNodeIndex was fixed. The error was introduced in the patch about left padding.
2795
2796         * inspector/front-end/FlameChart.js:
2797         (WebInspector.FlameChart):
2798         (WebInspector.FlameChart.ColorGenerator):
2799         (WebInspector.FlameChart.ColorGenerator.prototype._colorPairForID):
2800         (WebInspector.FlameChart.prototype._calculateTimelineData):
2801         (WebInspector.FlameChart.prototype._calculateTimelineDataForSamples):
2802         (WebInspector.FlameChart.prototype._coordinatesToNodeIndex):
2803
2804 2013-03-29  Charles Wei  <charles.wei@torchmobile.com.cn>
2805
2806         [BlackBerry] Cleanup the CONTEXT_MENUS in BlackBerry porting
2807         https://bugs.webkit.org/show_bug.cgi?id=113562
2808
2809         Reviewed by George Staikos.
2810         Internally reviewed by Mike Fenton and Gen Mak.
2811
2812         No new tests, just disable CONTEXT_MENUS for blackberry porting. 
2813
2814         * platform/blackberry/ContextMenuBlackBerry.cpp:
2815         * platform/blackberry/ContextMenuItemBlackBerry.cpp:
2816
2817 2013-03-29  KwangYong Choi  <ky0.choi@samsung.com>
2818
2819         Fix build warning after r147022
2820         https://bugs.webkit.org/show_bug.cgi?id=113567
2821
2822         Reviewed by Kentaro Hara.
2823
2824         Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
2825         No new tests, no change on behavior.
2826
2827         * page/EventHandler.cpp:
2828         (WebCore::expandSelectionToRespectUserSelectAll):
2829
2830 2013-03-29  Andrey Lushnikov  <lushnikov@chromium.org>
2831
2832         Web Inspector: ability to use AnchorBox as an anchor for Popover
2833         https://bugs.webkit.org/show_bug.cgi?id=113563
2834
2835         Reviewed by Pavel Feldman.
2836
2837         No new test: no change in behaviour.
2838
2839         - Ability to pass AnchorBox instead of Element for popover anchor.
2840
2841         * inspector/front-end/Popover.js:
2842         (WebInspector.Popover.prototype._positionElement):
2843         (WebInspector.PopoverHelper.prototype._eventInHoverElement):
2844
2845 2013-03-29  Andrey Kosyakov  <caseq@chromium.org>
2846
2847         Web Inspector: assign Scroll events to rendering category (was painting)
2848         https://bugs.webkit.org/show_bug.cgi?id=113564
2849
2850         Reviewed by Pavel Feldman.
2851
2852         * inspector/front-end/TimelinePresentationModel.js: /ScrollLayer.*category/s/painting/rendering/
2853         (WebInspector.TimelinePresentationModel._initRecordStyles):
2854
2855 2013-03-28  Philippe Normand  <pnormand@igalia.com>
2856
2857         [GStreamer] playback gets bumpy sometimes when on-disk buffering is slow
2858         https://bugs.webkit.org/show_bug.cgi?id=113512
2859
2860         Reviewed by Martin Robinson.
2861
2862         When the HTTP source element is slow downloading data for on-disk
2863         buffering the playback position might reach an unbuffered region
2864         and have bad consequences, pausing the pipeline beforehand
2865         prevents this case to happen.
2866
2867         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2868         (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
2869
2870 2013-03-29  Keishi Hattori  <keishi@webkit.org>
2871
2872         Add the event handler content attributes that are defined in the spec to HTMLElement
2873         https://bugs.webkit.org/show_bug.cgi?id=86363
2874
2875         Reviewed by Ryosuke Niwa.
2876
2877         Test: fast/events/event-attribute.html
2878
2879         We are missing some event handler content attributes from HTMLElement that are defined in the spec.
2880         http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#event-handlers-on-elements,-document-objects,-and-window-objects
2881
2882         * html/HTMLElement.cpp:
2883         (WebCore::HTMLElement::eventNameForAttributeName): Returns event name for a given attribute name by looking it up on a HashMap.
2884         (WebCore::HTMLElement::parseAttribute): Sets up event listeners for content attributes.
2885         * html/HTMLFormElement.cpp:
2886         (WebCore::HTMLFormElement::parseAttribute): Removed event listener content attributes that was added to HTMLElement.
2887         * html/HTMLFrameElementBase.cpp:
2888         (WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
2889         * html/HTMLImageElement.cpp:
2890         (WebCore::HTMLImageElement::parseAttribute): Ditto.
2891         * html/HTMLLinkElement.cpp:
2892         (WebCore::HTMLLinkElement::parseAttribute): Ditto.
2893         * html/HTMLObjectElement.cpp:
2894         (WebCore::HTMLObjectElement::parseAttribute): Ditto.
2895         * html/HTMLScriptElement.cpp:
2896         (WebCore::HTMLScriptElement::parseAttribute): Ditto.
2897         * html/HTMLSelectElement.cpp:
2898         (WebCore::HTMLSelectElement::parseAttribute): Ditto.
2899         * html/HTMLStyleElement.cpp:
2900         (WebCore::HTMLStyleElement::parseAttribute): Ditto.
2901         * html/HTMLTextFormControlElement.cpp:
2902         (WebCore::HTMLTextFormControlElement::parseAttribute): Ditto.
2903         * html/HTMLTrackElement.cpp:
2904         (WebCore::HTMLTrackElement::parseAttribute): Ditto.
2905
2906 2013-03-22  Andrey Kosyakov  <caseq@chromium.org>
2907
2908         Web Inspector: timeline paint rectangles are off for transformed layers
2909         https://bugs.webkit.org/show_bug.cgi?id=112919
2910
2911         Reviewed by Pavel Feldman.
2912
2913         - pass RenderObject instead of Frame to InspectorInstrumentation::didPaint;
2914         - take transforms into account and convert paint clip rect into quad;
2915         - emit quads, not rects as Paint and Layout record data;
2916         - adjust client to using quads, compute width/height from quad coords.
2917
2918         * inspector/InspectorInstrumentation.cpp: Pass RenderObject, not frame to {will,did}Paint.
2919         (WebCore):
2920         (WebCore::InspectorInstrumentation::willPaintImpl):
2921         (WebCore::InspectorInstrumentation::didPaintImpl):
2922         (WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer): Added.
2923         * inspector/InspectorInstrumentation.h:
2924         (WebCore):
2925         (InspectorInstrumentation):
2926         (WebCore::InspectorInstrumentation::willPaint):
2927         (WebCore::InspectorInstrumentation::didPaint):
2928         * inspector/InspectorTimelineAgent.cpp:
2929         (WebCore::InspectorTimelineAgent::didLayout):
2930         (WebCore::InspectorTimelineAgent::didPaint):
2931         (WebCore::InspectorTimelineAgent::localToPageQuad): Convert local clip rect to transformed quad.
2932         (WebCore):
2933         * inspector/InspectorTimelineAgent.h:
2934         (WebCore):
2935         (InspectorTimelineAgent):
2936         * inspector/TimelineRecordFactory.cpp: Emit quads as Paint and Layout records data.
2937         (WebCore::createQuad):
2938         (WebCore):
2939         (WebCore::TimelineRecordFactory::createPaintData):
2940         (WebCore::TimelineRecordFactory::createLayoutData):
2941         * inspector/TimelineRecordFactory.h:
2942         (WebCore):
2943         (TimelineRecordFactory):
2944         * inspector/front-end/TimelinePanel.js: Highlight a quad iff formatted record has highlightQuad field.
2945         (WebInspector.TimelinePanel.prototype._mouseOut):
2946         (WebInspector.TimelinePanel.prototype._mouseMove):
2947         (WebInspector.TimelinePanel.prototype._highlightQuad):
2948         (WebInspector.TimelinePanel.prototype._hideQuadHighlight):
2949         * inspector/front-end/TimelinePresentationModel.js:
2950         (WebInspector.TimelinePresentationModel.Record): Set highlightQuad for Paint and Layout
2951         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
2952         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
2953         (WebInspector.TimelinePresentationModel.quadWidth):
2954         (WebInspector.TimelinePresentationModel.quadHeight):
2955         * page/FrameView.cpp:
2956         (WebCore::FrameView::paintContents):
2957         * rendering/RenderLayerBacking.cpp:
2958         (WebCore::RenderLayerBacking::paintContents):
2959
2960 2013-03-21  Andrey Kosyakov  <caseq@chromium.org>
2961
2962         Web Inspector: generalize InspectorDOMAgent::highlightRect() to highlightQuad()
2963         https://bugs.webkit.org/show_bug.cgi?id=112911
2964
2965         Reviewed by Pavel Feldman.
2966
2967         - added Quad type and DOMAgent.highlightQuad() to protocol;
2968         - retained DOMAgent.highlightRect(), but implement it via highlightQuad.
2969
2970         * inspector/Inspector.json:
2971         * inspector/InspectorDOMAgent.cpp:
2972         (WebCore::parseQuad):
2973         (WebCore):
2974         (WebCore::InspectorDOMAgent::highlightRect):
2975         (WebCore::InspectorDOMAgent::highlightQuad):
2976         (WebCore::InspectorDOMAgent::innerHighlightQuad):
2977         * inspector/InspectorDOMAgent.h:
2978         (InspectorDOMAgent):
2979         * inspector/InspectorOverlay.cpp: Mostly just renames of rect to quad.
2980         (WebCore::InspectorOverlay::paint):
2981         (WebCore::InspectorOverlay::getHighlight):
2982         (WebCore::InspectorOverlay::hideHighlight):
2983         (WebCore::InspectorOverlay::highlightQuad):
2984         (WebCore::InspectorOverlay::update):
2985         (WebCore::InspectorOverlay::drawQuadHighlight):
2986         (WebCore::InspectorOverlay::reportMemoryUsage):
2987         * inspector/InspectorOverlay.h:
2988         (InspectorOverlay):
2989         * inspector/InspectorOverlayPage.html: Ditto.
2990
2991 2013-03-29  Zalan Bujtas  <zalan@apple.com>
2992
2993         REGRESSION(r143102): Ignore table cell's height attribute when checking if containing block has auto height.
2994         https://bugs.webkit.org/show_bug.cgi?id=113526
2995
2996         It matches shipping Safari and Firefox behaviour.
2997         
2998         Reviewed by Antti Koivisto.
2999
3000         Test: fast/replaced/iframe-with-percentage-height-within-table-with-table-cell-ignore-height.html
3001
3002         * rendering/RenderBoxModelObject.cpp:
3003         (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
3004
3005 2013-03-28  Eugene Klyuchnikov  <eustas@chromium.org>
3006
3007         Web Inspector: [Cookies] CookiesTable should integrate with DataGrid context menu.
3008         https://bugs.webkit.org/show_bug.cgi?id=113496
3009
3010         Reviewed by Pavel Feldman.
3011
3012         Integrate CookiesTable with DataGrid context menu
3013         instead of overriding it.
3014
3015         * inspector/front-end/CookiesTable.js:
3016         Pass context menu callback to DataGrid constructor.
3017         * inspector/front-end/DataGrid.js:
3018         Added context menu callback constructor parameter. Fixed JSDoc.
3019
3020 2013-03-28  Philip Rogers  <pdr@google.com>
3021
3022         Fix compiler warning in IDBTransaction::modeToString
3023         https://bugs.webkit.org/show_bug.cgi?id=113547
3024
3025         Reviewed by Darin Adler.
3026
3027         Not all compilers are smart enough to handle this switch. This patch refactors
3028         modeToString to not return from the default case.
3029
3030         No new tests as this is just a compiler fix.
3031
3032         * Modules/indexeddb/IDBTransaction.cpp:
3033         (WebCore::IDBTransaction::modeToString):
3034
3035 2013-03-28  Simon Fraser  <simon.fraser@apple.com>
3036
3037         GraphicsLayerCA::recomputeVisibleRects() shouldn't actually set the visible rect
3038         https://bugs.webkit.org/show_bug.cgi?id=113544
3039
3040         Reviewed by Tim Horton.
3041         
3042         The functions added in r147058 to update the visible rects of GraphicsLayerCAs
3043         should not have actually set the m_visibleRect on the layer, because this
3044         caused a later call to adjustTiledLayerVisibleRect() to think that the visible
3045         rect had not changed, so it did no expansion.
3046         
3047         Clarify the logic to ask the GraphicsLayer whether, given a new visible
3048         rect, it would need to make new tiles (which happens later during a flush).
3049         
3050         Add a function to RenderLayerCompositor to call this code (but which has
3051         no callers yet).
3052
3053         * platform/graphics/GraphicsLayer.h:
3054         (WebCore::GraphicsLayer::visibleRectChangeRequiresFlush): Make private.
3055         * platform/graphics/ca/GraphicsLayerCA.cpp:
3056         (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
3057         (WebCore::GraphicsLayerCA::visibleRectChangeRequiresFlush):
3058         * platform/graphics/ca/GraphicsLayerCA.h:
3059         * rendering/RenderLayerCompositor.cpp:
3060         (WebCore::RenderLayerCompositor::noteVisibleRectChanged):
3061         * rendering/RenderLayerCompositor.h:
3062         (RenderLayerCompositor):
3063
3064 2013-03-28  Rafael Weinstein  <rafaelw@chromium.org>
3065
3066         [HTMLTemplateElement] <template> should be able to be a foster parent
3067         https://bugs.webkit.org/show_bug.cgi?id=113541
3068
3069         Reviewed by Eric Seidel
3070
3071         This adds to the check in findFosterSite to include whether the parent is a DocumentFragment which is a template contents.
3072
3073         Tests added to html5lib suite.
3074
3075         * html/parser/HTMLConstructionSite.cpp:
3076         (WebCore::HTMLConstructionSite::findFosterSite):
3077
3078 2013-03-28  Xianzhu Wang  <wangxianzhu@chromium.org>
3079
3080         [Chromium] Don't create SolidColorLayer for full transparent background
3081         https://bugs.webkit.org/show_bug.cgi?id=113524
3082
3083         Reviewed by James Robinson.
3084
3085         Test: GraphicsLayerChromiumTest.setContentsToSolidColor
3086
3087         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3088         (WebCore::GraphicsLayerChromium::setContentsToSolidColor):
3089
3090 2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3091
3092         use XMLHttpRequestResponseType enumeration in XMLHttpRequest.idl
3093         https://bugs.webkit.org/show_bug.cgi?id=113518
3094
3095         Reviewed by Kentaro Hara.
3096
3097         Use enum XMLHttpRequestResponseType type instead of DOMString for
3098         XMLHttpRequest responseType.
3099
3100         Argument validation now happens in the bindings. 
3101         XMLHttpRequest::setResponseType should then never receive invalid
3102         arguments. So, replace console message with ASSERT_NOT_REACHED();
3103
3104         Test: fast/xmlhttprequest/xmlhttprequest-set-responsetype.html
3105
3106         * xml/XMLHttpRequest.cpp:
3107         (WebCore::XMLHttpRequest::setResponseType):
3108         * xml/XMLHttpRequest.idl:
3109
3110 2013-03-28  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
3111
3112         [css3-text] Add platform support for "wavy" text decoration style
3113         https://bugs.webkit.org/show_bug.cgi?id=92868
3114
3115         Reviewed by Benjamin Poulain.
3116
3117         This patch uses GraphicsContext::strokePath() to implement
3118         wavy decoration for the CSS3 property "text-decoration-style".
3119
3120         No new tests as this is covered with existing tests.
3121
3122         * rendering/InlineTextBox.cpp:
3123         (WebCore::textDecorationStyleToStrokeStyle): Remove obsolete comment.
3124         (WebCore::adjustStepToDecorationLength): Add function to adjust
3125         variables used to calculate the lenght of Bezier curves.
3126         (WebCore::strokeWavyTextDecoration): Add function to stroke wavy
3127         decoration based on cubic Bezier curve.
3128         (WebCore::InlineTextBox::paintDecoration): Call
3129         strokeWavyTextDecoration when necessary.
3130
3131 2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3132
3133         REGRESSION(r147149): breaks binding test on Mac. (Requested by mlam_ on #webkit).
3134         https://bugs.webkit.org/show_bug.cgi?id=113538
3135
3136         Reviewed by Simon Fraser.
3137
3138         Run run-bindings-tests --reset-results to fix broken tests after
3139         r147149.
3140
3141         * bindings/scripts/test/V8/V8TestInterface.cpp:
3142         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
3143         * bindings/scripts/test/V8/V8TestObj.cpp:
3144         (WebCore::TestObjV8Internal::shortAttrAttrSetter):
3145         (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetter):
3146         (WebCore::TestObjV8Internal::longAttrAttrSetter):
3147         (WebCore::TestObjV8Internal::longLongAttrAttrSetter):
3148         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetter):
3149         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
3150         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
3151         (WebCore::TestObjV8Internal::createAttrSetter):
3152         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetter):
3153         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetter):
3154         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetter):
3155         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetter):
3156         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetter):
3157         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
3158         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
3159         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
3160         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
3161         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
3162         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
3163         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
3164         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
3165         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
3166         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
3167         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
3168         (WebCore::TestObjV8Internal::conditionalAttr1AttrSetter):
3169         (WebCore::TestObjV8Internal::conditionalAttr2AttrSetter):
3170         (WebCore::TestObjV8Internal::conditionalAttr3AttrSetter):
3171         (WebCore::TestObjV8Internal::anyAttributeAttrSetter):
3172         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetter):
3173         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetter):
3174         (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrSetter):
3175         (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrSetter):
3176         (WebCore::TestObjV8Internal::floatArrayAttrSetter):
3177         (WebCore::TestObjV8Internal::doubleArrayAttrSetter):
3178         (WebCore::TestObjV8Internal::mutablePointAttrSetter):
3179         (WebCore::TestObjV8Internal::immutablePointAttrSetter):
3180         (WebCore::TestObjV8Internal::strawberryAttrSetter):
3181         (WebCore::TestObjV8Internal::strictFloatAttrSetter):
3182         (WebCore::TestObjV8Internal::idAttrSetter):
3183         (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrSetter):
3184         (WebCore::TestObjV8Internal::nullableStringValueAttrSetter):
3185         (WebCore::TestObjV8Internal::perWorldAttributeAttrSetter):
3186         (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterForMainWorld):
3187         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3188         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetter):
3189         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
3190         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3191         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetter):
3192         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetter):
3193         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetter):
3194         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetter):
3195
3196 2013-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3197
3198         Unreviewed, rolling out r147130.
3199         http://trac.webkit.org/changeset/147130
3200         https://bugs.webkit.org/show_bug.cgi?id=113539
3201
3202         Not needed now that we do not sleep in preprocessor.pm
3203         (Requested by jamesr on #webkit).
3204
3205         * WebCore.gyp/WebCore.gyp:
3206         * bindings/scripts/CodeGenerator.pm:
3207         (ParseInterface):
3208         * bindings/scripts/IDLParser.pm:
3209         (Parse):
3210         * bindings/scripts/generate-bindings.pl:
3211         * bindings/scripts/generate-preprocessed-idls.pl: Removed.
3212         * bindings/scripts/preprocessor.pm:
3213         (applyPreprocessor):
3214
3215 2013-03-28  Nate Chapin  <japhet@chromium.org>
3216
3217         Don't grant local content permissions for appcache loads.
3218         https://bugs.webkit.org/show_bug.cgi?id=112542
3219
3220         Reviewed by Antti Koivisto.
3221
3222         No new tests, fixing http/tests/appcache/local-content.html
3223
3224         * loader/DocumentLoader.cpp:
3225         (WebCore::DocumentLoader::DocumentLoader):
3226         (WebCore::DocumentLoader::commitData): Don't grant local load permissions
3227             to all SubstituteData loads, only give them to loads that were SubstituteData
3228             loads at the time of DocumentLoader construction. This constitutes all
3229             SubstituteData loads except those triggered by appcache.
3230         * loader/DocumentLoader.h:
3231         * loader/FrameLoader.cpp:
3232         (WebCore::FrameLoader::didBeginDocument): Move granting local load
3233             permissions for SubstituteData loads to DocumentLoader::commitData().
3234
3235 2013-03-28  Mike West  <mkwst@chromium.org>
3236
3237         X-Frame-Options: Blocked resources should fire load events.
3238         https://bugs.webkit.org/show_bug.cgi?id=113192
3239
3240         Reviewed by Nate Chapin.
3241
3242         * loader/DocumentLoader.cpp:
3243         (WebCore::DocumentLoader::responseReceived):
3244             Fire a load event on the frame's owner element when denying access
3245             due to X-Frame-Options header content. This brings us in-line with
3246             Gecko and IE, which both trigger load events currently.
3247
3248 2013-03-28  Tien-Ren Chen  <trchen@chromium.org>
3249
3250         Support bottom-right anchored fixed-position elements during a pinch gesture
3251         https://bugs.webkit.org/show_bug.cgi?id=111670
3252
3253         Reviewed by James Robinson.
3254
3255         This patch adds support to bottom-right fixed-position elements by
3256         introducing WebLayerPositionConstraint to WebLayer.
3257
3258         No new tests. Can't test until chromium patch landed.
3259
3260         * page/scrolling/ScrollingCoordinator.h:
3261         (WebCore::ScrollingCoordinator::updateLayerPositionConstraint):
3262         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3263         (WebCore::clearPositionConstraintExceptForLayer):
3264         (WebCore):
3265         (WebCore::computePositionConstraint):
3266         (WebCore::ScrollingCoordinatorChromium::updateLayerPositionConstraint):
3267         * page/scrolling/chromium/ScrollingCoordinatorChromium.h:
3268         (ScrollingCoordinatorChromium):
3269         * rendering/RenderLayerBacking.cpp:
3270         (WebCore::RenderLayerBacking::registerScrollingLayers):
3271         * rendering/RenderLayerBacking.h:
3272         (WebCore::RenderLayerBacking::contentsContainmentLayer):
3273         (RenderLayerBacking):
3274         * rendering/RenderLayerCompositor.cpp:
3275         * rendering/RenderLayerCompositor.h:
3276
3277 2013-03-28  James Robinson  <jamesr@chromium.org>
3278
3279         Remove unnecessary 1 second sleep on windows from preprocessor.pm
3280         https://bugs.webkit.org/show_bug.cgi?id=113536
3281
3282         Unreviewed, partial rollout of r146661.
3283
3284         This rolls out one line of 146661 that slows down the windows build significantly.
3285
3286         * bindings/scripts/preprocessor.pm:
3287         (applyPreprocessor):
3288
3289 2013-03-28  Levi Weintraub  <leviw@chromium.org>
3290
3291         Enable font measurement optimization for Chromium-mac when there are no font-feature-settings.
3292
3293         Enable measure-once optimization on Chromium-Mac
3294         https://bugs.webkit.org/show_bug.cgi?id=113243
3295
3296         Reviewed by Eric Seidel.
3297
3298         Bugs in Chromium-mac's -webkit-font-feature-settings support prevented us from enabling the
3299         optimization when it was enabled for all other platforms. This was believed to be related to
3300         kerning, but the bug shows up when there are any font-feature-settings specified. For now,
3301         optimizing the common case and only turning off the optimization when there are font-feature-
3302         settings in play.
3303
3304         Updated test fast/text/shaping/shaping-selection-rect.html to avoid breaking due to
3305         https://bugs.webkit.org/show_bug.cgi?id=113418
3306
3307         * rendering/RenderBlockLineLayout.cpp:
3308         (WebCore::setLogicalWidthForTextRun):
3309
3310 2013-03-28  Zoltan Horvath  <zoltan@webkit.org>
3311
3312         [CSS Exclusions][CSS Regions] Block children do not layout inline content correctly in a region with shape-inside set
3313         https://bugs.webkit.org/show_bug.cgi?id=112177
3314
3315         Reviewed by David Hyatt.
3316
3317         When we had two multiple regions and a shape-inside was applied on the second region, but not on the first region and the content contained
3318         paragraphs, the content was pushed down almost to the bottom in the second region. In a flow thread this behavior caused by the lack of the 
3319         proper updating of absoluteLogicalTop in RenderBlock::layoutRunsAndFloatsInRange function.
3320
3321         Tests: fast/regions/shape-inside/shape-inside-on-additional-regions.html
3322                fast/regions/shape-inside/shape-inside-on-regions.html
3323
3324         * rendering/RenderBlockLineLayout.cpp:
3325         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Update the value of absoluteLogicalTop in every run when we are in a flow thread.
3326
3327 2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3328
3329         exceptions are not checked after toInt32 calls in bindings.
3330         https://bugs.webkit.org/show_bug.cgi?id=113218
3331
3332         Reviewed by Kentaro Hara.
3333
3334         In attribute setter, wrap JSValue to native value conversion in a try
3335         catch block.
3336
3337         Define a new macro binding: V8TRYCATCH_VOID
3338
3339         No new tests: covered by fast/dom/exception-in-binding.html
3340
3341         * bindings/scripts/CodeGeneratorV8.pm:
3342         (GenerateNormalAttrSetter):
3343         * bindings/v8/V8BindingMacros.h:
3344         (WebCore):
3345
3346 2013-03-28  ChangSeok Oh  <changseok.oh@collabora.com>
3347
3348         [GTK][AC] Use transform property of ClutterActor
3349         https://bugs.webkit.org/show_bug.cgi?id=113317
3350
3351         Reviewed by Gustavo Noronha Silva.
3352
3353         ClutterActor has a transform property to set transformation matrix directly
3354         since version 1.12. So we don't need to keep and use the matrix property of GraphicsLayerActor.
3355
3356         No new tests because of no functionality change.
3357
3358         * platform/graphics/clutter/GraphicsLayerActor.cpp:
3359         (_GraphicsLayerActorPrivate):
3360         (graphicsLayerActorDispose):
3361         (graphicsLayerActorApplyTransform):
3362         * platform/graphics/clutter/GraphicsLayerActor.h:
3363         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3364         (WebCore::GraphicsLayerClutter::updateTransform):
3365         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
3366         (WebCore::PlatformClutterAnimation::addTransformTransition):
3367
3368 2013-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3369
3370         Unreviewed, rolling out r143834.
3371         http://trac.webkit.org/changeset/143834
3372         https://bugs.webkit.org/show_bug.cgi?id=113530
3373
3374         Multiple use-after-free regressions on ClusterFuzz (Requested
3375         by inferno-sec on #webkit).
3376
3377         * dom/Attr.cpp:
3378         (WebCore::Attr::Attr):
3379         (WebCore::Attr::setValue):
3380         (WebCore::Attr::childrenChanged):
3381         * dom/Attr.h:
3382         (Attr):
3383         * dom/Element.cpp:
3384         (WebCore::Element::setAttributeInternal):
3385         * dom/Element.h:
3386         (Element):
3387
3388 2013-03-28  Julien Chaffraix  <jchaffraix@webkit.org>
3389
3390         [CSS Grid Layout] Before / start paddings and borders are not accounted for when placing the grid items
3391         https://bugs.webkit.org/show_bug.cgi?id=113351
3392
3393         Reviewed by Tony Chang.
3394
3395         Tests: fast/css-grid-layout/grid-element-border-grid-item.html
3396                fast/css-grid-layout/grid-element-border-padding-grid-item.html
3397                fast/css-grid-layout/grid-element-padding-grid-item.html
3398
3399         * rendering/RenderBoxModelObject.h:
3400         (WebCore::RenderBoxModelObject::borderAndPaddingBefore):
3401         Added this helper function (we do have borderAndPaddingStart but didn't have this
3402         one for some reason).
3403
3404         * rendering/RenderGrid.cpp:
3405         (WebCore::RenderGrid::findChildLogicalPosition):
3406         Shifted |offset| by the paddings and borders before / start.
3407
3408 2013-03-28  Zan Dobersek  <zdobersek@igalia.com>
3409
3410         [GTK] Build GTK-specific, non-layer-violating source code into WebCore-independent libPlatformGtk.la
3411         https://bugs.webkit.org/show_bug.cgi?id=112546
3412
3413         Reviewed by Martin Robinson.
3414
3415         No new tests - no new functionality.
3416
3417         * GNUmakefile.am: Passing the DATA_DIR value through the cppflags is not required anymore as the affected source is now
3418         built into libPlatformGtk.la.
3419         * GNUmakefile.list.am: Build the GTK-specific source files that are already independent of WebCore into the
3420         libPlatformGtk.la by assigning the build targets listing to the platformgtk_sources variable.
3421         * platform/gtk/GtkVersioning.c: Renamed from Source/Platform/gtk/GtkVersioning.c.
3422         * platform/gtk/GtkVersioning.h: Renamed from Source/Platform/gtk/GtkVersioning.h.
3423
3424 2013-03-28  Matt Falkenhagen  <falken@chromium.org>
3425
3426         Refactoring: Replace Element::disabled and isEnabledFormControl with isDisabledFormControl
3427         https://bugs.webkit.org/show_bug.cgi?id=113273
3428
3429         Reviewed by Kent Tamura.
3430
3431         Element::disabled is about form controls and Element::isEnabledFormControl
3432         is redundant with it, so replace them with a single function
3433         Element::isDisabledFormControl.
3434
3435         No new tests, there should be no behavior change.
3436
3437         * accessibility/AccessibilityListBox.cpp:
3438         (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
3439         * accessibility/AccessibilityListBoxOption.cpp:
3440         (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
3441         * accessibility/AccessibilityMenuList.cpp:
3442         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
3443         * accessibility/AccessibilityMenuListOption.cpp:
3444         (WebCore::AccessibilityMenuListOption::isEnabled):
3445         * accessibility/AccessibilityNodeObject.cpp:
3446         (WebCore::AccessibilityNodeObject::isEnabled):
3447         (WebCore::AccessibilityNodeObject::actionElement):
3448         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
3449         * css/SelectorChecker.cpp:
3450         (WebCore::SelectorChecker::checkOne):
3451         * css/StyleResolver.cpp:
3452         (WebCore::StyleResolver::canShareStyleWithControl):
3453         * dom/Element.cpp:
3454         (WebCore::Element::isDisabledFormControl):
3455         * dom/Element.h:
3456         (Element):
3457         (WebCore::isDisabledFormControl): Add helper function for convenience.
3458         (WebCore):
3459         * dom/EventDispatcher.cpp:
3460         (WebCore::EventDispatcher::dispatchSimulatedClick):
3461         * dom/GestureEvent.cpp:
3462         (WebCore::GestureEventDispatchMediator::dispatchEvent):
3463         * dom/MouseEvent.cpp:
3464         (WebCore::MouseEventDispatchMediator::dispatchEvent):
3465         * dom/Node.cpp:
3466         (WebCore::Node::handleLocalEvents):
3467         (WebCore::Node::willRespondToMouseMoveEvents):
3468         (WebCore::Node::willRespondToMouseClickEvents):
3469         (WebCore::Node::willRespondToTouchEvents):
3470         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3471         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled):
3472         * html/DOMFormData.cpp:
3473         (WebCore::DOMFormData::DOMFormData):
3474         * html/FileInputType.cpp:
3475         (WebCore::FileInputType::handleDOMActivateEvent):
3476         (WebCore::FileInputType::disabledAttributeChanged):
3477         * html/HTMLButtonElement.cpp:
3478         (WebCore::HTMLButtonElement::defaultEventHandler):
3479         (WebCore::HTMLButtonElement::willRespondToMouseClickEvents):
3480         (WebCore::HTMLButtonElement::isSuccessfulSubmitButton):
3481         * html/HTMLCollection.cpp:
3482         (WebCore::isMatchingElement):
3483         * html/HTMLFormControlElement.cpp:
3484         (WebCore::HTMLFormControlElement::updateAncestorDisabledState):
3485         (WebCore::HTMLFormControlElement::isDisabledFormControl):
3486         (WebCore::HTMLFormControlElement::supportsFocus):
3487         * html/HTMLFormControlElement.h:
3488         (HTMLFormControlElement):
3489         (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
3490         * html/HTMLInputElement.cpp:
3491         (WebCore::HTMLInputElement::isSuccessfulSubmitButton):
3492         (WebCore::HTMLInputElement::willRespondToMouseClickEvents):
3493         * html/HTMLOptGroupElement.cpp:
3494         (WebCore::HTMLOptGroupElement::isDisabledFormControl):
3495         * html/HTMLOptGroupElement.h:
3496         (HTMLOptGroupElement):
3497         * html/HTMLOptionElement.cpp:
3498         (WebCore::HTMLOptionElement::isDisabledFormControl):
3499         * html/HTMLOptionElement.h:
3500         (HTMLOptionElement):
3501         * html/HTMLPlugInElement.cpp:
3502         (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
3503         * html/HTMLSelectElement.cpp:
3504         (WebCore::HTMLSelectElement::nextValidIndex):
3505         (WebCore::HTMLSelectElement::updateListBoxSelection):
3506         (WebCore::HTMLSelectElement::recalcListItems):
3507         (WebCore::HTMLSelectElement::appendFormData):
3508         (WebCore::HTMLSelectElement::updateSelectedState):
3509         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3510         (WebCore::HTMLSelectElement::defaultEventHandler):
3511         (WebCore::HTMLSelectElement::optionAtIndex):
3512         * html/ImageInputType.cpp:
3513         (WebCore::ImageInputType::handleDOMActivateEvent):
3514         * html/ResetInputType.cpp:
3515         (WebCore::ResetInputType::handleDOMActivateEvent):
3516         * html/SubmitInputType.cpp:
3517         (WebCore::SubmitInputType::handleDOMActivateEvent):
3518         * html/shadow/SliderThumbElement.cpp:
3519         (WebCore::SliderThumbElement::isDisabledFormControl):
3520         (WebCore::SliderThumbElement::defaultEventHandler):
3521         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
3522         (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
3523         * html/shadow/SliderThumbElement.h:
3524         (SliderThumbElement):
3525         * html/shadow/SpinButtonElement.h:
3526         * html/shadow/TextFieldDecorationElement.cpp:
3527         (WebCore::TextFieldDecorationElement::updateImage):
3528         * loader/FormSubmission.cpp:
3529         (WebCore::FormSubmission::create):
3530         * page/DragController.cpp:
3531         (WebCore::DragController::tryDocumentDrag):
3532         (WebCore::DragController::concludeEditDrag):
3533         * rendering/RenderListBox.cpp:
3534         (WebCore::RenderListBox::addFocusRingRects):
3535         (WebCore::RenderListBox::paintItemForeground):
3536         * rendering/RenderMenuList.cpp:
3537         (WebCore::RenderMenuList::itemIsEnabled):
3538         * rendering/RenderTextControl.cpp:
3539         (WebCore::updateUserModifyProperty):
3540         * rendering/RenderTheme.cpp:
3541         (WebCore::RenderTheme::isEnabled):
3542         * rendering/RenderThemeMac.mm:
3543         (WebCore::getMediaUIPartStateFlags):
3544         * rendering/RenderThemeMacShared.mm:
3545         (WebCore::RenderThemeMacShared::adjustMenuListStyle):
3546         (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):
3547         * rendering/RenderThemeSafari.cpp:
3548         (WebCore::RenderThemeSafari::adjustMenuListStyle):
3549
3550 2013-03-28  Brady Eidson  <beidson@apple.com>
3551
3552         Remove workaround for <rdar://problem/5321972>.
3553         <rdar://problem/12022862> and https://bugs.webkit.org/show_bug.cgi?id=113516
3554
3555         Reviewed by Sam Weinig.
3556
3557         No new tests (No point in testing the removal of bizarre behavior).
3558
3559         * platform/network/mac/WebCoreURLResponse.mm:
3560         (WebCore::adjustMIMETypeIfNecessary): This workaround isn't needed on Lion+
3561
3562 2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3563
3564         use CanvasWindingRule enumeration in CanvasRenderingContext2D.idl
3565         https://bugs.webkit.org/show_bug.cgi?id=113456
3566
3567         Reviewed by Kentaro Hara.
3568
3569         Use enum CanvasWindingRule type instead of DOMString for winding
3570         arguments when needed. Changed methods are: fill, stroke and isPointInPath.
3571
3572         Test: fast/canvas/winding-enumeration.html
3573
3574         * html/canvas/CanvasRenderingContext2D.idl:
3575
3576 2013-03-28  Scott Graham  <scottmg@chromium.org>
3577
3578         Move preprocessing of idl to pre-pass for gyp
3579         https://bugs.webkit.org/show_bug.cgi?id=113448
3580
3581         Reviewed by Tony Chang.
3582
3583         Moves the preprocessor invocations when parsing IDL files to a
3584         pre-pass to avoid reinvocations when IDLs are referenced from others.
3585         This reduces the number of invocations of the preprocessor from 20071
3586         to 633, which reduces the runtime from 12m30 to 1m (on a Windows box).
3587
3588         No new tests, this is a build time improvement, and shouldn't have any
3589         visible effect.
3590
3591         * WebCore.gyp/WebCore.gyp:
3592         * bindings/scripts/CodeGenerator.pm:
3593         (ParseInterface):
3594         * bindings/scripts/IDLParser.pm:
3595         (Parse):
3596         * bindings/scripts/generate-bindings.pl:
3597         * bindings/scripts/generate-preprocessed-idls.pl: Added.
3598         * bindings/scripts/preprocessor.pm:
3599         (applyPreprocessor):
3600
3601 2013-03-28  Alok Priyadarshi  <alokp@chromium.org>
3602
3603         RenderBox::backgroundIsKnownToBeOpaqueInRect may be wrong for theme-painted elements
3604         https://bugs.webkit.org/show_bug.cgi?id=113419
3605
3606         Reviewed by Simon Fraser.
3607
3608         Do not consider control elements as opaque. They are typically theme painted, and we cannot assume opaqueness on the behalf of theme. It can be improved by asking the theme if it paints opaque.
3609
3610         Test: compositing/contents-opaque/control-layer.html
3611
3612         * rendering/RenderBox.cpp:
3613         (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
3614
3615 2013-03-28  ChangSeok Oh  <changseok.oh@collabora.com>
3616
3617         [GTK][AC] Animating layer disappears while running with clutter backend
3618         https://bugs.webkit.org/show_bug.cgi?id=110470
3619
3620         Reviewed by Gustavo Noronha Silva.
3621
3622         The reason of this issue is that clutter_actor_remove_child leads to stopping animations
3623         of child actor. ClutterActor's animation could be defined only when it has a parent actor.
3624         So we should avoid the case calling the api as much as we can. At least we don't
3625         need to reset a actor's parent at all if the current parent is same with new one.
3626         If we can't avoid invoking clutter_actor_remove_child for an animating actor, we may apply
3627         a more complicated way to keep the animation. But I haven't faced such a case yet.
3628
3629         Covered by existing animation tests.
3630
3631         * platform/graphics/clutter/GraphicsLayerActor.cpp:
3632         (graphicsLayerActorSetSublayers):
3633         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3634         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
3635         (WebCore::GraphicsLayerClutter::updateSublayerList):
3636
3637 2013-03-28  Xianzhu Wang  <wangxianzhu@chromium.org>
3638
3639         Non-painting fixed elements should not cause repaints on scroll
3640         https://bugs.webkit.org/show_bug.cgi?id=110430
3641
3642         Reviewed by Simon Fraser.
3643
3644         Test: compositing/repaint/scroll-fixed-layer-no-content.html
3645         Test: compositing/repaint/scroll-fixed-layer-out-of-view.html
3646
3647         * page/FrameView.cpp:
3648         (WebCore::FrameView::scrollContentsFastPath): Check for no-content and out-of-view flag set by RLC.
3649         * rendering/RenderLayerCompositor.cpp:
3650         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Moved the check for no-content above out-of-view because it's faster.
3651
3652 2013-03-28  Alexander Pavlov  <apavlov@chromium.org>
3653
3654         Unreviewed, revert accidentally added line committed in r147117.
3655
3656         * inspector/front-end/ElementsTreeOutline.js:
3657
3658 2013-03-28  Alexander Pavlov  <apavlov@chromium.org>
3659
3660         Web Inspector: [Elements] Syntax-highlight the "Edit as HTML" editor
3661         https://bugs.webkit.org/show_bug.cgi?id=113306
3662
3663         Reviewed by Vsevolod Vlasov.
3664
3665         Use CodeMirror as the raw HTML editor for the "Edit as HTML" menu item
3666         (and all multiline editors for WebInspector.startEditing()).
3667         Drive-by fix for handling the editing when the editor has been invoked on the closing tag.
3668
3669         * inspector/front-end/ElementsTreeOutline.js:
3670         (WebInspector.ElementsTreeElement.prototype.commit):
3671         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
3672         * inspector/front-end/UIUtils.js:
3673         (WebInspector.EditingConfig.prototype.setMultiline):
3674         (WebInspector.startEditing):
3675         (WebInspector.CodeMirrorCSSLoadView): A bogus view to load-unload CodeMirror-related CSS on demand.
3676         * inspector/front-end/elementsPanel.css:
3677         (#elements-content .CodeMirror):
3678         (#elements-content .CodeMirror pre):
3679         (#elements-content .CodeMirror-lines):
3680         * inspector/front-end/elementsPanel.css: CodeMirror styles for the "Edit as HTML" editor.
3681         * inspector/front-end/externs.js: Declare CodeMirror type with some members, as it is third-party code.
3682         * inspector/front-end/inspector.html: Fix script order (UIUtils.js requires View.js).
3683
3684 2013-03-28  Hajime Morrita  <morrita@google.com>
3685
3686         Custom Elements: should support non-HTML namespaces.
3687         https://bugs.webkit.org/show_bug.cgi?id=111693
3688
3689         Reviewed by Dimitri Glazkov.
3690
3691         Some existing code assumes that the element extends HTMLElements.
3692         This change allow it to extend from Element. Note that the
3693         namespace URI of a custom element is determined by given element
3694         prototype: An element will have XHTML namespace if its prototype
3695         chain includes HTMLElements, SVGElement leads SVG namespace and
3696         null otherwise, respectively.
3697
3698         Test: fast/dom/custom/document-register-namespace.html
3699
3700         * bindings/v8/CustomElementHelpers.cpp:
3701         (WebCore::hasValidPrototypeChainFor): Factored out from isValidPrototypeParameter()
3702         (WebCore::CustomElementHelpers::isValidPrototypeParameter): Extend to support non HTMLElement prototype
3703         (WebCore::CustomElementHelpers::findLocalName): Support non-HTML element names.
3704         * bindings/v8/CustomElementHelpers.h:
3705         (CustomElementHelpers):
3706         * dom/CustomElementConstructor.cpp:
3707         (WebCore::CustomElementConstructor::createElementInternal):
3708         * dom/CustomElementRegistry.cpp:
3709         (WebCore::CustomElementRegistry::registerElement): No longer hard-codes namespace and picks one based on the prototype value.
3710         * dom/CustomElementRegistry.h:
3711         (CustomElementRegistry):
3712
3713 2013-03-28  Hans Muller  <hmuller@adobe.com>
3714
3715         [CSS Exclusions] Add support for the simple case of padding a polygonal shape-inside
3716         https://bugs.webkit.org/show_bug.cgi?id=112592
3717
3718         Reviewed by Dirk Schulze.
3719
3720         First pass at computing the padded or inset boundary of a polygon.  This version does not handle
3721         self-intersecting polygons, or values of shape-padding large enough to change the shape of the
3722         original polygon. The implementation computes an offset edge for each polgon edge, where the offset
3723         edge is parallel to the original edge and separated by shape-padding. The padded polygon's vertices
3724         are the intersections of each pair of adjacent offset edges. When adjacent offset edges do not intersect,
3725         because they share a reflex vertex in the original polygon, an approximation to a circular arc
3726         connects the offset edges.
3727
3728         Tests: fast/exclusions/shape-inside/shape-inside-polygon-padding-001.html
3729                fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html
3730                fast/exclusions/shape-inside/shape-inside-polygon-padding-003.html
3731
3732         * rendering/ExclusionPolygon.cpp:
3733         (WebCore::isReflexVertex): Just moved this function earlier in the file.
3734         (WebCore::inwardEdgeNormal): Unit vector that's perpindicular to the edge and that points inwards.
3735         (WebCore::outwardEdgeNormal): Unit vector that's perpindicular to the edge and that points outwards.
3736         (WebCore::appendArc): Append a linear approximation to a circular arc to a vector of vertices.
3737         (WebCore::computeShapePaddingBounds): Return a polygon whose edges are all inset by shape-padding from m_polygon.
3738         (WebCore::computeShapeMarginBounds): Just a stub, see bug 112917.
3739         (WebCore::ExclusionPolygon::shapePaddingBounds): Lazily use computeShapePaddingBounds() to initialize m_paddingBounds.
3740         (WebCore::ExclusionPolygon::shapeMarginBounds): Lazily use computeShapeMarginBounds() to initialize m_marginBounds.
3741         (WebCore::ExclusionPolygon::getIncludedIntervals): Now based on the value of shapePaddingBounds().
3742         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Now based on the value of shapePaddingBounds().
3743         * rendering/ExclusionPolygon.h:
3744         (WebCore::ExclusionPolygon::ExclusionPolygon):
3745
3746 2013-03-28  Chris Hutten-Czapski  <chutten@blackberry.com>
3747
3748         [BlackBerry] Handle EXIF orientation for ImageDocuments
3749         https://bugs.webkit.org/show_bug.cgi?id=113423
3750
3751         Internal Bug: PR 293648
3752         Informally Reviewed by Jeff Rogers
3753         Reviewed by Rob Buis.
3754
3755         Support image orientation in our image draw calls, and advertise
3756         the capability to the calling code. This allows us to respect EXIF
3757         orientation data.
3758
3759         * platform/graphics/BitmapImage.h:
3760         * platform/graphics/blackberry/ImageBlackBerry.cpp:
3761         (WebCore::BitmapImage::draw):
3762         (WebCore):
3763         * rendering/RenderObject.cpp:
3764         (WebCore::RenderObject::shouldRespectImageOrientation):
3765
3766 2013-03-28  Andrey Kosyakov  <caseq@chromium.org>
3767
3768         Web Inspector: name timeline overview controls consistently
3769         https://bugs.webkit.org/show_bug.cgi?id=113503
3770
3771         Reviewed by Yury Semikhatsky.
3772
3773         Refactoring, covered by existing tests.
3774
3775         - rename HeapGraph to TimelineMemoryOverview;
3776         - rename TimelineCategoryStrips to TimelineEventOvrview.
3777
3778         * inspector/front-end/TimelineOverviewPane.js:
3779         (WebInspector.TimelineOverviewPane):
3780         (WebInspector.TimelineOverviewPane.prototype.setMode):
3781         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
3782         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
3783         (WebInspector.TimelineOverviewPane.prototype._update):
3784         (WebInspector.TimelineOverviewPane.prototype.setMinimumRecordDuration):
3785         (WebInspector.TimelineMemoryOverview):
3786         (WebInspector.TimelineEventOverview):
3787         (WebInspector.TimelineEventOverview.prototype._renderBar):
3788
3789 2013-03-28  Eli Fidler  <efidler@blackberry.com>
3790
3791         [BlackBerry] Correct glyph contour winding direction when fake-bolding
3792         https://bugs.webkit.org/show_bug.cgi?id=113411
3793
3794         Reviewed by Rob Buis.
3795
3796         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
3797         (WebCore::FontPlatformData::applyState):
3798
3799 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3800
3801         Web Inspector: Make JavaScriptSourceFrame work correctly with breakpoints when uiSourceCode does not have a scriptFile.
3802         https://bugs.webkit.org/show_bug.cgi?id=113500
3803
3804         Reviewed by Pavel Feldman.
3805
3806         JavaScriptSourceFrame now listens for uiSourceCode working copy related events and supports muting breakpoints without script file.
3807
3808         * inspector/front-end/JavaScriptSourceFrame.js:
3809         (WebInspector.JavaScriptSourceFrame):
3810         (WebInspector.JavaScriptSourceFrame.prototype._workingCopyChanged):
3811         (WebInspector.JavaScriptSourceFrame.prototype._workingCopyCommitted):
3812         (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
3813         (WebInspector.JavaScriptSourceFrame.prototype.dispose):
3814
3815 2013-03-22  Andrey Kosyakov  <caseq@chromium.org>
3816
3817         Web Inspector: factor out node search controller from inspector.js
3818         https://bugs.webkit.org/show_bug.cgi?id=112689
3819
3820         Reviewed by Pavel Feldman.
3821
3822         This just extracts the existing logic of toggling node search
3823         from inspector.js into a class of its own, InspectElementModeController.
3824         Drive-by: add CtrlOrMeta+Shift+C to help screen.
3825
3826         * English.lproj/localizedStrings.js:
3827         * WebCore.gypi:
3828         * WebCore.vcproj/WebCore.vcproj:
3829         * WebCore.vcxproj/WebCore.vcxproj:
3830         * WebCore.vcxproj/WebCore.vcxproj.filters:
3831         * inspector/compile-front-end.py:
3832         * inspector/front-end/InspectElementModeController.js: Added.
3833         (WebInspector.InspectElementModeController):
3834         (WebInspector.InspectElementModeController.createShortcut):
3835         (WebInspector.InspectElementModeController.prototype.enabled):
3836         (WebInspector.InspectElementModeController.prototype.disable):
3837         (WebInspector.InspectElementModeController.prototype.toggleSearch.callback):
3838         (WebInspector.InspectElementModeController.prototype.toggleSearch):
3839         (WebInspector.InspectElementModeController.prototype.handleShortcut):
3840         * inspector/front-end/InspectorFrontendAPI.js:
3841         (InspectorFrontendAPI.enterInspectElementMode):
3842         * inspector/front-end/WebKit.qrc:
3843         * inspector/front-end/inspector.html:
3844         * inspector/front-end/inspector.js:
3845         (WebInspector._createGlobalStatusBarItems):
3846         (WebInspector._registerShortcuts):
3847         (WebInspector.documentKeyDown):
3848         (WebInspector._updateFocusedNode):
3849
3850 2013-03-28  Eugene Klyuchnikov  <eustas@chromium.org>
3851
3852         Web Inspector: [Settings] "previouslyViewedFiles" exceeds local storage quota.
3853         https://bugs.webkit.org/show_bug.cgi?id=113375
3854
3855         Reviewed by Pavel Feldman.
3856
3857         Serialized "previouslyViewedFiles" may make local storage overflow.
3858         Two fixed applied:
3859         - limit number of history log items
3860         - limit length of URIs that get serialized;
3861           this would affect only data-url URIs.
3862
3863         * inspector/front-end/TabbedEditorContainer.js:
3864         (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
3865         Added length check.
3866         (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
3867         Added output array length limit.
3868
3869 2013-03-28  Alexei Filippov  <alph@chromium.org>
3870
3871         Web Inspector: Heap snapshots retained size falls out of the grid if column is too narrow
3872         https://bugs.webkit.org/show_bug.cgi?id=113497
3873
3874         Reviewed by Pavel Feldman.
3875
3876         * inspector/front-end/HeapSnapshotGridNodes.js:
3877         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
3878         * inspector/front-end/heapProfiler.css:
3879         (.heap-snapshot-view .data-grid div.heap-snapshot-multiple-values):
3880
3881 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3882
3883         Web Inspector: ResourceScriptFile should check if resource content really matches VM script when determining hasDiverged state.
3884         https://bugs.webkit.org/show_bug.cgi?id=113488
3885
3886         Reviewed by Pavel Feldman.
3887
3888         Enabled support for checking that file content matches VM script in ResourceScriptFile (For script resources only).
3889         This check is never done before content is loaded in corresponding editor to avoid regressing performance.
3890         File - script content matching is done bearing in mind sourceURLs. 
3891         Live edit keeps sourceURL in script content now even if it is not present in file's content.
3892
3893         * inspector/front-end/JavaScriptSourceFrame.js:
3894         (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
3895         (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
3896         * inspector/front-end/LiveEditSupport.js:
3897         (WebInspector.LiveEditScriptFile.prototype.checkMapping):
3898         * inspector/front-end/ResourceScriptMapping.js:
3899         (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
3900         (WebInspector.ScriptFile.prototype.checkMapping):
3901         (WebInspector.ResourceScriptFile):
3902         (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
3903         (WebInspector.ResourceScriptFile.prototype._isDiverged):
3904         (WebInspector.ResourceScriptFile.prototype._sourceMatchesScriptSource):
3905         (WebInspector.ResourceScriptFile.prototype._sourceEndsWithSourceURL):
3906         (WebInspector.ResourceScriptFile.prototype.checkMapping.callback):
3907         (WebInspector.ResourceScriptFile.prototype.checkMapping):
3908         * inspector/front-end/ScriptSnippetModel.js:
3909         (WebInspector.SnippetScriptFile.prototype.checkMapping):
3910
3911 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3912
3913         Web Inspector: Simplify ResourceScriptFile so that it stores hasDiverged state in it.
3914         https://bugs.webkit.org/show_bug.cgi?id=113489
3915
3916         Reviewed by Pavel Feldman.
3917
3918         ResourceScriptFile._hasDiverged is the one flag that shows whether we have diverged from VM.
3919         It's values is based both on dirty flag on uiSourceCode and information about live edit failures stored in _lastLiveEditFailed field.
3920         Removed willMerge/Diverge events from ScriptFile.
3921         JavaScriptSourceFrame now uses isMergingToVM/DivergingFromVM methods on ScriptFile.
3922         to determine whether breakpointAdded/Removed events should be ignored.
3923         Introduced muted state on JavaScriptSourceFrame to determine whether it should ignore user attempts to set/remove breakpoints.
3924
3925         * inspector/front-end/JavaScriptSourceFrame.js:
3926         (WebInspector.JavaScriptSourceFrame):
3927         (WebInspector.JavaScriptSourceFrame.prototype._didMergeToVM):
3928         (WebInspector.JavaScriptSourceFrame.prototype._didDivergeFromVM):
3929         (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing):
3930         (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
3931         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
3932         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
3933         (WebInspector.JavaScriptSourceFrame.prototype._shouldIgnoreExternalBreakpointEvents):
3934         (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
3935         (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
3936         (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
3937         (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
3938         * inspector/front-end/LiveEditSupport.js:
3939         (WebInspector.LiveEditScriptFile.prototype.isMergingToVM):
3940         * inspector/front-end/ResourceScriptMapping.js:
3941         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
3942         (WebInspector.ScriptFile.prototype.isMergingToVM):
3943         (WebInspector.ResourceScriptFile):
3944         (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
3945         (WebInspector.ResourceScriptFile.prototype._isDiverged):
3946         (WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
3947         (WebInspector.ResourceScriptFile.prototype._update):
3948         (WebInspector.ResourceScriptFile.prototype._divergeFromVM):
3949         (WebInspector.ResourceScriptFile.prototype._mergeToVM):
3950         (WebInspector.ResourceScriptFile.prototype.hasDivergedFromVM):
3951         (WebInspector.ResourceScriptFile.prototype.isMergingToVM):
3952         * inspector/front-end/ScriptSnippetModel.js:
3953         (WebInspector.SnippetScriptFile.prototype.isMergingToVM):
3954
3955 2013-03-25  Andrey Kosyakov  <caseq@chromium.org>
3956
3957         Web Inspector: DOMContentLoaded event divider is not shown on Timeline's main view
3958         https://bugs.webkit.org/show_bug.cgi?id=113196
3959
3960         Reviewed by Pavel Feldman.
3961
3962         - keep event divider records in TimelinePresentationModel, not in TimelinePanel;
3963         - process event divider records on every level, not just on top.
3964
3965         * inspector/front-end/TimelinePanel.js:
3966         (WebInspector.TimelinePanel.prototype._updateEventDividers):
3967         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.checkVisible):
3968         (WebInspector.TimelinePanel.prototype._resetPanel):
3969         * inspector/front-end/TimelinePresentationModel.js:
3970         (WebInspector.TimelinePresentationModel.prototype.reset):
3971         (WebInspector.TimelinePresentationModel.prototype._innerAddRecord):
3972         (WebInspector.TimelinePresentationModel.prototype.eventDividerRecords):
3973
3974 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
3975
3976         Unreviewed inspector front-end closure compilation fix.
3977
3978         * inspector/front-end/CookiesTable.js:
3979
3980 2013-03-28  Andrey Lushnikov  <lushnikov@chromium.org>
3981
3982         Web Inspector: [DTE] Paint overlay highlight over line background color
3983         https://bugs.webkit.org/show_bug.cgi?id=113346
3984
3985         Reviewed by Pavel Feldman.
3986
3987         No new tests: no change in behaviour.
3988
3989         - Append spans instead of text nodes to lineRows.
3990         - Set positioning of all spans inside of webkit-line-content as
3991         relative
3992         - Set z-index property so that overlay highlight is above line
3993         background but under text.
3994
3995         * inspector/front-end/DefaultTextEditor.js:
3996         (WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
3997         (WebInspector.TextEditorMainPanel.prototype._measureSpans):
3998         (WebInspector.TextEditorMainPanel.prototype._renderRanges):
3999         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
4000         * inspector/front-end/textEditor.css:
4001         (.webkit-line-content > .text-editor-overlay-highlight):
4002         (.webkit-line-content > *):
4003
4004 2013-03-28  Alexander Pavlov  <apavlov@chromium.org>
4005
4006         Web Inspector: [REGRESSION] [Styles] Pasting a property in the "name" field is broken
4007         https://bugs.webkit.org/show_bug.cgi?id=113491
4008
4009         Reviewed by Pavel Feldman.
4010
4011         Update the CSSProperty name and value upon pasting properties into the Styles pane.
4012         Drive-by: start editing the next/new property name after pasting.
4013
4014         Test: inspector/styles/paste-property.html
4015
4016         * inspector/front-end/StylesSidebarPane.js:
4017         (.selectElement):
4018         (.moveDirection.alreadyNew):
4019
4020 2013-03-28  Alexei Filippov  <alph@chromium.org>
4021
4022         Web Inspector: Auto expand retaining path until there are more than one retainer.
4023         https://bugs.webkit.org/show_bug.cgi?id=112596
4024
4025         Reviewed by Yury Semikhatsky.
4026
4027         When retainers view gets opened automatically expand retaining path
4028         for objects having just a single retainer.
4029
4030         Test: inspector/profiler/heap-snapshot-summary-retainers.html
4031
4032         * inspector/front-end/HeapSnapshotDataGrids.js:
4033         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.populateComplete):
4034         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.setDataSource):
4035         * inspector/front-end/HeapSnapshotGridNodes.js:
4036         (WebInspector.HeapSnapshotGridNode.prototype.childrenRetrieved):
4037         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
4038
4039 2013-03-28  Vladislav Kaznacheev  <kaznacheev@chromium.org>
4040
4041         Web Inspector: Fixed property text indentation in Styles sidebar.
4042         https://bugs.webkit.org/show_bug.cgi?id=113409
4043
4044         Reviewed by Alexander Pavlov.
4045
4046         When the sidebar is too narrow and the property text wraps around it breaks the indentation.
4047         This was introduced in r143207 which spuriously modified DOM elements order.
4048
4049         * inspector/front-end/StylesSidebarPane.js:
4050
4051 2013-03-28  Arpita Bahuguna  <a.bah@samsung.com>
4052
4053         Regression: Crash when selecting Hebrew and numbers in a list
4054         https://bugs.webkit.org/show_bug.cgi?id=111894
4055
4056         Reviewed by Ryosuke Niwa.
4057