49bcc125f22819926a0c27601871e7538b48ddb2
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-28  Brady Eidson  <beidson@apple.com>
2
3         Remove workaround for <rdar://problem/5321972>.
4         <rdar://problem/12022862> and https://bugs.webkit.org/show_bug.cgi?id=113516
5
6         Reviewed by Sam Weinig.
7
8         No new tests (No point in testing the removal of bizarre behavior).
9
10         * platform/network/mac/WebCoreURLResponse.mm:
11         (WebCore::adjustMIMETypeIfNecessary): This workaround isn't needed on Lion+
12
13 2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>
14
15         use CanvasWindingRule enumeration in CanvasRenderingContext2D.idl
16         https://bugs.webkit.org/show_bug.cgi?id=113456
17
18         Reviewed by Kentaro Hara.
19
20         Use enum CanvasWindingRule type instead of DOMString for winding
21         arguments when needed. Changed methods are: fill, stroke and isPointInPath.
22
23         Test: fast/canvas/winding-enumeration.html
24
25         * html/canvas/CanvasRenderingContext2D.idl:
26
27 2013-03-28  Scott Graham  <scottmg@chromium.org>
28
29         Move preprocessing of idl to pre-pass for gyp
30         https://bugs.webkit.org/show_bug.cgi?id=113448
31
32         Reviewed by Tony Chang.
33
34         Moves the preprocessor invocations when parsing IDL files to a
35         pre-pass to avoid reinvocations when IDLs are referenced from others.
36         This reduces the number of invocations of the preprocessor from 20071
37         to 633, which reduces the runtime from 12m30 to 1m (on a Windows box).
38
39         No new tests, this is a build time improvement, and shouldn't have any
40         visible effect.
41
42         * WebCore.gyp/WebCore.gyp:
43         * bindings/scripts/CodeGenerator.pm:
44         (ParseInterface):
45         * bindings/scripts/IDLParser.pm:
46         (Parse):
47         * bindings/scripts/generate-bindings.pl:
48         * bindings/scripts/generate-preprocessed-idls.pl: Added.
49         * bindings/scripts/preprocessor.pm:
50         (applyPreprocessor):
51
52 2013-03-28  Alok Priyadarshi  <alokp@chromium.org>
53
54         RenderBox::backgroundIsKnownToBeOpaqueInRect may be wrong for theme-painted elements
55         https://bugs.webkit.org/show_bug.cgi?id=113419
56
57         Reviewed by Simon Fraser.
58
59         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.
60
61         Test: compositing/contents-opaque/control-layer.html
62
63         * rendering/RenderBox.cpp:
64         (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
65
66 2013-03-28  ChangSeok Oh  <changseok.oh@collabora.com>
67
68         [GTK][AC] Animating layer disappears while running with clutter backend
69         https://bugs.webkit.org/show_bug.cgi?id=110470
70
71         Reviewed by Gustavo Noronha Silva.
72
73         The reason of this issue is that clutter_actor_remove_child leads to stopping animations
74         of child actor. ClutterActor's animation could be defined only when it has a parent actor.
75         So we should avoid the case calling the api as much as we can. At least we don't
76         need to reset a actor's parent at all if the current parent is same with new one.
77         If we can't avoid invoking clutter_actor_remove_child for an animating actor, we may apply
78         a more complicated way to keep the animation. But I haven't faced such a case yet.
79
80         Covered by existing animation tests.
81
82         * platform/graphics/clutter/GraphicsLayerActor.cpp:
83         (graphicsLayerActorSetSublayers):
84         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
85         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
86         (WebCore::GraphicsLayerClutter::updateSublayerList):
87
88 2013-03-28  Xianzhu Wang  <wangxianzhu@chromium.org>
89
90         Non-painting fixed elements should not cause repaints on scroll
91         https://bugs.webkit.org/show_bug.cgi?id=110430
92
93         Reviewed by Simon Fraser.
94
95         Test: compositing/repaint/scroll-fixed-layer-no-content.html
96         Test: compositing/repaint/scroll-fixed-layer-out-of-view.html
97
98         * page/FrameView.cpp:
99         (WebCore::FrameView::scrollContentsFastPath): Check for no-content and out-of-view flag set by RLC.
100         * rendering/RenderLayerCompositor.cpp:
101         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Moved the check for no-content above out-of-view because it's faster.
102
103 2013-03-28  Alexander Pavlov  <apavlov@chromium.org>
104
105         Unreviewed, revert accidentally added line committed in r147117.
106
107         * inspector/front-end/ElementsTreeOutline.js:
108
109 2013-03-28  Alexander Pavlov  <apavlov@chromium.org>
110
111         Web Inspector: [Elements] Syntax-highlight the "Edit as HTML" editor
112         https://bugs.webkit.org/show_bug.cgi?id=113306
113
114         Reviewed by Vsevolod Vlasov.
115
116         Use CodeMirror as the raw HTML editor for the "Edit as HTML" menu item
117         (and all multiline editors for WebInspector.startEditing()).
118         Drive-by fix for handling the editing when the editor has been invoked on the closing tag.
119
120         * inspector/front-end/ElementsTreeOutline.js:
121         (WebInspector.ElementsTreeElement.prototype.commit):
122         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
123         * inspector/front-end/UIUtils.js:
124         (WebInspector.EditingConfig.prototype.setMultiline):
125         (WebInspector.startEditing):
126         (WebInspector.CodeMirrorCSSLoadView): A bogus view to load-unload CodeMirror-related CSS on demand.
127         * inspector/front-end/elementsPanel.css:
128         (#elements-content .CodeMirror):
129         (#elements-content .CodeMirror pre):
130         (#elements-content .CodeMirror-lines):
131         * inspector/front-end/elementsPanel.css: CodeMirror styles for the "Edit as HTML" editor.
132         * inspector/front-end/externs.js: Declare CodeMirror type with some members, as it is third-party code.
133         * inspector/front-end/inspector.html: Fix script order (UIUtils.js requires View.js).
134
135 2013-03-28  Hajime Morrita  <morrita@google.com>
136
137         Custom Elements: should support non-HTML namespaces.
138         https://bugs.webkit.org/show_bug.cgi?id=111693
139
140         Reviewed by Dimitri Glazkov.
141
142         Some existing code assumes that the element extends HTMLElements.
143         This change allow it to extend from Element. Note that the
144         namespace URI of a custom element is determined by given element
145         prototype: An element will have XHTML namespace if its prototype
146         chain includes HTMLElements, SVGElement leads SVG namespace and
147         null otherwise, respectively.
148
149         Test: fast/dom/custom/document-register-namespace.html
150
151         * bindings/v8/CustomElementHelpers.cpp:
152         (WebCore::hasValidPrototypeChainFor): Factored out from isValidPrototypeParameter()
153         (WebCore::CustomElementHelpers::isValidPrototypeParameter): Extend to support non HTMLElement prototype
154         (WebCore::CustomElementHelpers::findLocalName): Support non-HTML element names.
155         * bindings/v8/CustomElementHelpers.h:
156         (CustomElementHelpers):
157         * dom/CustomElementConstructor.cpp:
158         (WebCore::CustomElementConstructor::createElementInternal):
159         * dom/CustomElementRegistry.cpp:
160         (WebCore::CustomElementRegistry::registerElement): No longer hard-codes namespace and picks one based on the prototype value.
161         * dom/CustomElementRegistry.h:
162         (CustomElementRegistry):
163
164 2013-03-28  Hans Muller  <hmuller@adobe.com>
165
166         [CSS Exclusions] Add support for the simple case of padding a polygonal shape-inside
167         https://bugs.webkit.org/show_bug.cgi?id=112592
168
169         Reviewed by Dirk Schulze.
170
171         First pass at computing the padded or inset boundary of a polygon.  This version does not handle
172         self-intersecting polygons, or values of shape-padding large enough to change the shape of the
173         original polygon. The implementation computes an offset edge for each polgon edge, where the offset
174         edge is parallel to the original edge and separated by shape-padding. The padded polygon's vertices
175         are the intersections of each pair of adjacent offset edges. When adjacent offset edges do not intersect,
176         because they share a reflex vertex in the original polygon, an approximation to a circular arc
177         connects the offset edges.
178
179         Tests: fast/exclusions/shape-inside/shape-inside-polygon-padding-001.html
180                fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html
181                fast/exclusions/shape-inside/shape-inside-polygon-padding-003.html
182
183         * rendering/ExclusionPolygon.cpp:
184         (WebCore::isReflexVertex): Just moved this function earlier in the file.
185         (WebCore::inwardEdgeNormal): Unit vector that's perpindicular to the edge and that points inwards.
186         (WebCore::outwardEdgeNormal): Unit vector that's perpindicular to the edge and that points outwards.
187         (WebCore::appendArc): Append a linear approximation to a circular arc to a vector of vertices.
188         (WebCore::computeShapePaddingBounds): Return a polygon whose edges are all inset by shape-padding from m_polygon.
189         (WebCore::computeShapeMarginBounds): Just a stub, see bug 112917.
190         (WebCore::ExclusionPolygon::shapePaddingBounds): Lazily use computeShapePaddingBounds() to initialize m_paddingBounds.
191         (WebCore::ExclusionPolygon::shapeMarginBounds): Lazily use computeShapeMarginBounds() to initialize m_marginBounds.
192         (WebCore::ExclusionPolygon::getIncludedIntervals): Now based on the value of shapePaddingBounds().
193         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Now based on the value of shapePaddingBounds().
194         * rendering/ExclusionPolygon.h:
195         (WebCore::ExclusionPolygon::ExclusionPolygon):
196
197 2013-03-28  Chris Hutten-Czapski  <chutten@blackberry.com>
198
199         [BlackBerry] Handle EXIF orientation for ImageDocuments
200         https://bugs.webkit.org/show_bug.cgi?id=113423
201
202         Internal Bug: PR 293648
203         Informally Reviewed by Jeff Rogers
204         Reviewed by Rob Buis.
205
206         Support image orientation in our image draw calls, and advertise
207         the capability to the calling code. This allows us to respect EXIF
208         orientation data.
209
210         * platform/graphics/BitmapImage.h:
211         * platform/graphics/blackberry/ImageBlackBerry.cpp:
212         (WebCore::BitmapImage::draw):
213         (WebCore):
214         * rendering/RenderObject.cpp:
215         (WebCore::RenderObject::shouldRespectImageOrientation):
216
217 2013-03-28  Andrey Kosyakov  <caseq@chromium.org>
218
219         Web Inspector: name timeline overview controls consistently
220         https://bugs.webkit.org/show_bug.cgi?id=113503
221
222         Reviewed by Yury Semikhatsky.
223
224         Refactoring, covered by existing tests.
225
226         - rename HeapGraph to TimelineMemoryOverview;
227         - rename TimelineCategoryStrips to TimelineEventOvrview.
228
229         * inspector/front-end/TimelineOverviewPane.js:
230         (WebInspector.TimelineOverviewPane):
231         (WebInspector.TimelineOverviewPane.prototype.setMode):
232         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
233         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
234         (WebInspector.TimelineOverviewPane.prototype._update):
235         (WebInspector.TimelineOverviewPane.prototype.setMinimumRecordDuration):
236         (WebInspector.TimelineMemoryOverview):
237         (WebInspector.TimelineEventOverview):
238         (WebInspector.TimelineEventOverview.prototype._renderBar):
239
240 2013-03-28  Eli Fidler  <efidler@blackberry.com>
241
242         [BlackBerry] Correct glyph contour winding direction when fake-bolding
243         https://bugs.webkit.org/show_bug.cgi?id=113411
244
245         Reviewed by Rob Buis.
246
247         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
248         (WebCore::FontPlatformData::applyState):
249
250 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
251
252         Web Inspector: Make JavaScriptSourceFrame work correctly with breakpoints when uiSourceCode does not have a scriptFile.
253         https://bugs.webkit.org/show_bug.cgi?id=113500
254
255         Reviewed by Pavel Feldman.
256
257         JavaScriptSourceFrame now listens for uiSourceCode working copy related events and supports muting breakpoints without script file.
258
259         * inspector/front-end/JavaScriptSourceFrame.js:
260         (WebInspector.JavaScriptSourceFrame):
261         (WebInspector.JavaScriptSourceFrame.prototype._workingCopyChanged):
262         (WebInspector.JavaScriptSourceFrame.prototype._workingCopyCommitted):
263         (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
264         (WebInspector.JavaScriptSourceFrame.prototype.dispose):
265
266 2013-03-22  Andrey Kosyakov  <caseq@chromium.org>
267
268         Web Inspector: factor out node search controller from inspector.js
269         https://bugs.webkit.org/show_bug.cgi?id=112689
270
271         Reviewed by Pavel Feldman.
272
273         This just extracts the existing logic of toggling node search
274         from inspector.js into a class of its own, InspectElementModeController.
275         Drive-by: add CtrlOrMeta+Shift+C to help screen.
276
277         * English.lproj/localizedStrings.js:
278         * WebCore.gypi:
279         * WebCore.vcproj/WebCore.vcproj:
280         * WebCore.vcxproj/WebCore.vcxproj:
281         * WebCore.vcxproj/WebCore.vcxproj.filters:
282         * inspector/compile-front-end.py:
283         * inspector/front-end/InspectElementModeController.js: Added.
284         (WebInspector.InspectElementModeController):
285         (WebInspector.InspectElementModeController.createShortcut):
286         (WebInspector.InspectElementModeController.prototype.enabled):
287         (WebInspector.InspectElementModeController.prototype.disable):
288         (WebInspector.InspectElementModeController.prototype.toggleSearch.callback):
289         (WebInspector.InspectElementModeController.prototype.toggleSearch):
290         (WebInspector.InspectElementModeController.prototype.handleShortcut):
291         * inspector/front-end/InspectorFrontendAPI.js:
292         (InspectorFrontendAPI.enterInspectElementMode):
293         * inspector/front-end/WebKit.qrc:
294         * inspector/front-end/inspector.html:
295         * inspector/front-end/inspector.js:
296         (WebInspector._createGlobalStatusBarItems):
297         (WebInspector._registerShortcuts):
298         (WebInspector.documentKeyDown):
299         (WebInspector._updateFocusedNode):
300
301 2013-03-28  Eugene Klyuchnikov  <eustas@chromium.org>
302
303         Web Inspector: [Settings] "previouslyViewedFiles" exceeds local storage quota.
304         https://bugs.webkit.org/show_bug.cgi?id=113375
305
306         Reviewed by Pavel Feldman.
307
308         Serialized "previouslyViewedFiles" may make local storage overflow.
309         Two fixed applied:
310         - limit number of history log items
311         - limit length of URIs that get serialized;
312           this would affect only data-url URIs.
313
314         * inspector/front-end/TabbedEditorContainer.js:
315         (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
316         Added length check.
317         (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
318         Added output array length limit.
319
320 2013-03-28  Alexei Filippov  <alph@chromium.org>
321
322         Web Inspector: Heap snapshots retained size falls out of the grid if column is too narrow
323         https://bugs.webkit.org/show_bug.cgi?id=113497
324
325         Reviewed by Pavel Feldman.
326
327         * inspector/front-end/HeapSnapshotGridNodes.js:
328         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
329         * inspector/front-end/heapProfiler.css:
330         (.heap-snapshot-view .data-grid div.heap-snapshot-multiple-values):
331
332 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
333
334         Web Inspector: ResourceScriptFile should check if resource content really matches VM script when determining hasDiverged state.
335         https://bugs.webkit.org/show_bug.cgi?id=113488
336
337         Reviewed by Pavel Feldman.
338
339         Enabled support for checking that file content matches VM script in ResourceScriptFile (For script resources only).
340         This check is never done before content is loaded in corresponding editor to avoid regressing performance.
341         File - script content matching is done bearing in mind sourceURLs. 
342         Live edit keeps sourceURL in script content now even if it is not present in file's content.
343
344         * inspector/front-end/JavaScriptSourceFrame.js:
345         (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
346         (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
347         * inspector/front-end/LiveEditSupport.js:
348         (WebInspector.LiveEditScriptFile.prototype.checkMapping):
349         * inspector/front-end/ResourceScriptMapping.js:
350         (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
351         (WebInspector.ScriptFile.prototype.checkMapping):
352         (WebInspector.ResourceScriptFile):
353         (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
354         (WebInspector.ResourceScriptFile.prototype._isDiverged):
355         (WebInspector.ResourceScriptFile.prototype._sourceMatchesScriptSource):
356         (WebInspector.ResourceScriptFile.prototype._sourceEndsWithSourceURL):
357         (WebInspector.ResourceScriptFile.prototype.checkMapping.callback):
358         (WebInspector.ResourceScriptFile.prototype.checkMapping):
359         * inspector/front-end/ScriptSnippetModel.js:
360         (WebInspector.SnippetScriptFile.prototype.checkMapping):
361
362 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
363
364         Web Inspector: Simplify ResourceScriptFile so that it stores hasDiverged state in it.
365         https://bugs.webkit.org/show_bug.cgi?id=113489
366
367         Reviewed by Pavel Feldman.
368
369         ResourceScriptFile._hasDiverged is the one flag that shows whether we have diverged from VM.
370         It's values is based both on dirty flag on uiSourceCode and information about live edit failures stored in _lastLiveEditFailed field.
371         Removed willMerge/Diverge events from ScriptFile.
372         JavaScriptSourceFrame now uses isMergingToVM/DivergingFromVM methods on ScriptFile.
373         to determine whether breakpointAdded/Removed events should be ignored.
374         Introduced muted state on JavaScriptSourceFrame to determine whether it should ignore user attempts to set/remove breakpoints.
375
376         * inspector/front-end/JavaScriptSourceFrame.js:
377         (WebInspector.JavaScriptSourceFrame):
378         (WebInspector.JavaScriptSourceFrame.prototype._didMergeToVM):
379         (WebInspector.JavaScriptSourceFrame.prototype._didDivergeFromVM):
380         (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing):
381         (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
382         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
383         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
384         (WebInspector.JavaScriptSourceFrame.prototype._shouldIgnoreExternalBreakpointEvents):
385         (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
386         (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
387         (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
388         (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
389         * inspector/front-end/LiveEditSupport.js:
390         (WebInspector.LiveEditScriptFile.prototype.isMergingToVM):
391         * inspector/front-end/ResourceScriptMapping.js:
392         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
393         (WebInspector.ScriptFile.prototype.isMergingToVM):
394         (WebInspector.ResourceScriptFile):
395         (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
396         (WebInspector.ResourceScriptFile.prototype._isDiverged):
397         (WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
398         (WebInspector.ResourceScriptFile.prototype._update):
399         (WebInspector.ResourceScriptFile.prototype._divergeFromVM):
400         (WebInspector.ResourceScriptFile.prototype._mergeToVM):
401         (WebInspector.ResourceScriptFile.prototype.hasDivergedFromVM):
402         (WebInspector.ResourceScriptFile.prototype.isMergingToVM):
403         * inspector/front-end/ScriptSnippetModel.js:
404         (WebInspector.SnippetScriptFile.prototype.isMergingToVM):
405
406 2013-03-25  Andrey Kosyakov  <caseq@chromium.org>
407
408         Web Inspector: DOMContentLoaded event divider is not shown on Timeline's main view
409         https://bugs.webkit.org/show_bug.cgi?id=113196
410
411         Reviewed by Pavel Feldman.
412
413         - keep event divider records in TimelinePresentationModel, not in TimelinePanel;
414         - process event divider records on every level, not just on top.
415
416         * inspector/front-end/TimelinePanel.js:
417         (WebInspector.TimelinePanel.prototype._updateEventDividers):
418         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.checkVisible):
419         (WebInspector.TimelinePanel.prototype._resetPanel):
420         * inspector/front-end/TimelinePresentationModel.js:
421         (WebInspector.TimelinePresentationModel.prototype.reset):
422         (WebInspector.TimelinePresentationModel.prototype._innerAddRecord):
423         (WebInspector.TimelinePresentationModel.prototype.eventDividerRecords):
424
425 2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
426
427         Unreviewed inspector front-end closure compilation fix.
428
429         * inspector/front-end/CookiesTable.js:
430
431 2013-03-28  Andrey Lushnikov  <lushnikov@chromium.org>
432
433         Web Inspector: [DTE] Paint overlay highlight over line background color
434         https://bugs.webkit.org/show_bug.cgi?id=113346
435
436         Reviewed by Pavel Feldman.
437
438         No new tests: no change in behaviour.
439
440         - Append spans instead of text nodes to lineRows.
441         - Set positioning of all spans inside of webkit-line-content as
442         relative
443         - Set z-index property so that overlay highlight is above line
444         background but under text.
445
446         * inspector/front-end/DefaultTextEditor.js:
447         (WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
448         (WebInspector.TextEditorMainPanel.prototype._measureSpans):
449         (WebInspector.TextEditorMainPanel.prototype._renderRanges):
450         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
451         * inspector/front-end/textEditor.css:
452         (.webkit-line-content > .text-editor-overlay-highlight):
453         (.webkit-line-content > *):
454
455 2013-03-28  Alexander Pavlov  <apavlov@chromium.org>
456
457         Web Inspector: [REGRESSION] [Styles] Pasting a property in the "name" field is broken
458         https://bugs.webkit.org/show_bug.cgi?id=113491
459
460         Reviewed by Pavel Feldman.
461
462         Update the CSSProperty name and value upon pasting properties into the Styles pane.
463         Drive-by: start editing the next/new property name after pasting.
464
465         Test: inspector/styles/paste-property.html
466
467         * inspector/front-end/StylesSidebarPane.js:
468         (.selectElement):
469         (.moveDirection.alreadyNew):
470
471 2013-03-28  Alexei Filippov  <alph@chromium.org>
472
473         Web Inspector: Auto expand retaining path until there are more than one retainer.
474         https://bugs.webkit.org/show_bug.cgi?id=112596
475
476         Reviewed by Yury Semikhatsky.
477
478         When retainers view gets opened automatically expand retaining path
479         for objects having just a single retainer.
480
481         Test: inspector/profiler/heap-snapshot-summary-retainers.html
482
483         * inspector/front-end/HeapSnapshotDataGrids.js:
484         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.populateComplete):
485         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.setDataSource):
486         * inspector/front-end/HeapSnapshotGridNodes.js:
487         (WebInspector.HeapSnapshotGridNode.prototype.childrenRetrieved):
488         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
489
490 2013-03-28  Vladislav Kaznacheev  <kaznacheev@chromium.org>
491
492         Web Inspector: Fixed property text indentation in Styles sidebar.
493         https://bugs.webkit.org/show_bug.cgi?id=113409
494
495         Reviewed by Alexander Pavlov.
496
497         When the sidebar is too narrow and the property text wraps around it breaks the indentation.
498         This was introduced in r143207 which spuriously modified DOM elements order.
499
500         * inspector/front-end/StylesSidebarPane.js:
501
502 2013-03-28  Arpita Bahuguna  <a.bah@samsung.com>
503
504         Regression: Crash when selecting Hebrew and numbers in a list
505         https://bugs.webkit.org/show_bug.cgi?id=111894
506
507         Reviewed by Ryosuke Niwa.
508
509         There is a crash when trying to click/select an anonymous
510         renderer.
511
512         This is a regression due to r143313 which tries to add border/padding
513         to the computed caret rect in RenderBox::localCaretRect().
514         The patch calls on the node() method for the corresponding
515         renderer. For an anonymous renderer though, node() returns
516         null. Since no check had been added for this, a crash occurs when
517         caret rect for an anonymous renderer is being computed.
518
519         Test: editing/selection/click-on-anonymous-content-crash.html
520
521         * rendering/RenderBox.cpp:
522         (WebCore::RenderBox::localCaretRect):
523         Added a check for validating the return from the node() call.
524
525 2013-03-28  Mike West  <mkwst@chromium.org>
526
527         X-Frame-Options: Multiple headers are ignored completely.
528         https://bugs.webkit.org/show_bug.cgi?id=113387
529
530         Reviewed by Nate Chapin.
531
532         If a server sends multiple 'X-Frame-Options' headers, we end up with a
533         value like 'SAMEORIGIN, SAMEORIGIN'. Currently, we're treating that as
534         invalid, and ignoring the header. It would be safer to follow Gecko's
535         lead[1] by:
536
537         - Folding duplicated entries into their common value (that is:
538           'sameorigin, sameorigin' -> 'sameorigin').
539
540         - Failing closed in the case of conflicts (that is:
541           'sameorigin, allowall' -> 'deny').
542
543         [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=761655
544
545         Tests: http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict.html
546                http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow.html
547                http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html
548
549         * loader/FrameLoader.cpp:
550         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
551             Call out to parseXFrameOptionsHeader to get the header's disposition
552             and deal with each case in a switch statement for clarity. Add a new
553             console warning for the conflict case described above.
554         * platform/network/HTTPParsers.cpp:
555         (WebCore::parseXFrameOptionsHeader):
556         * platform/network/HTTPParsers.h:
557             Move X-Frame-Options parsing out into HTTPParsers, as it's getting
558             more and more complicated. To do this, the patch defines a new enum
559             to pass around the header's disposition.
560
561 2013-03-28  Mihnea Ovidenie  <mihnea@adobe.com>
562
563         [CSSRegions] Consolidate use of RenderRegion::isValid
564         https://bugs.webkit.org/show_bug.cgi?id=113154
565
566         Reviewed by David Hyatt.
567
568         After https://bugs.webkit.org/show_bug.cgi?id=98752, the list of invalid regions is kept separately than the list of valid regions.
569         A valid region has always a valid flow thread attached. We can use isValid() throughout the RenderRegion code
570         instead of testing for both isValid() and m_flowThread.
571
572         No new tests since there is no change is functionality, just code refactoring.
573
574         * rendering/RenderNamedFlowThread.cpp:
575         (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread): Added a new function to keep the code
576         used in addRegionToThread and checkInvalidRegions.
577         (WebCore::RenderNamedFlowThread::addRegionToThread):
578         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
579         * rendering/RenderNamedFlowThread.h:
580         * rendering/RenderRegion.cpp:
581         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
582         (WebCore::RenderRegion::isFirstRegion):
583         (WebCore::RenderRegion::isLastRegion):
584         (WebCore::RenderRegion::paintObject):
585         (WebCore::RenderRegion::nodeAtPoint):
586         (WebCore::RenderRegion::incrementAutoLogicalHeightCount):
587         (WebCore::RenderRegion::decrementAutoLogicalHeightCount):
588         (WebCore::RenderRegion::layoutBlock):
589         (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
590         (WebCore::RenderRegion::attachRegion):
591         (WebCore::RenderRegion::renderBoxRegionInfo):
592         (WebCore::RenderRegion::setRenderBoxRegionInfo):
593         (WebCore::RenderRegion::logicalTopOfFlowThreadContentRect):
594         (WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect):
595         (WebCore::RenderRegion::computePreferredLogicalWidths):
596
597 2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>
598
599         Web Inspector: Timeline. Refresh is slow when user drags the overview window.
600         https://bugs.webkit.org/show_bug.cgi?id=113371
601
602         Reviewed by Pavel Feldman.
603
604         The root of problem is the 300ms delay in scheduleRefresh method.
605         It was introduced for the case when we add a huge number of records per second.
606         The scheduleRefresh was written such a way that refresh happened immediately
607         only for the scrolling operations. Actually we would like to see fast
608         refresh every time when it is forced by an user action.
609
610         In this patch additional flag newRecordWasAdded was added to the
611         _invalidateAndScheduleRefresh. I made it mandatory because the function
612         is also used as a callback for an event and it is easy to make a mistake and
613         interpret the event as the flag.
614
615         * inspector/front-end/TimelinePanel.js:
616         (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
617         (WebInspector.TimelinePanel.prototype._durationFilterChanged):
618         (WebInspector.TimelinePanel.prototype._repopulateRecords):
619         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
620         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
621         (WebInspector.TimelinePanel.prototype._invalidateAndScheduleRefresh):
622         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
623         (WebInspector.TimelinePanel.prototype._revealRecord):
624         (WebInspector.TimelinePanel.prototype._refreshRecords):
625         (WebInspector.TimelinePanel.prototype.performFilter):
626
627 2013-03-27  Keishi Hattori  <keishi@webkit.org>
628
629         Dragging to edge should always snap to min/max.
630         https://bugs.webkit.org/show_bug.cgi?id=113477
631
632         Reviewed by Kent Tamura.
633
634         Dragging to the edge of a slider should always snap to the min/max.
635
636         Test: fast/forms/range/range-slow-drag-to-edge.html
637
638         * html/shadow/SliderThumbElement.cpp:
639         (WebCore::SliderThumbElement::setPositionFromPoint):
640
641 2013-03-27  Simon Fraser  <simon.fraser@apple.com>
642
643         Add a way to update GraphicsLayerCA visibleRects without having to do a flush
644         https://bugs.webkit.org/show_bug.cgi?id=113459
645
646         Reviewed by Tim Horton.
647         
648         Some platforms need to update TiledBacking visible rects from
649         outside of WebKit, for example if they use delegated scrolling.
650         They want to avoid forcing layout to be up-to-date when doing this.
651         
652         Currently, updating the visibleRect happens when the GraphicsLayerCA
653         layer are being flushed, but that makes some assumptions about
654         layout being up-to-date.
655         
656         To fix this, add a light-weight pass over the layer tree that
657         uses TransformState to compute the visibleRect for each
658         layer, and only if the visibleRect would cause a change in the
659         tiles in a TiledBacking trigger a layer flush.
660
661         * platform/graphics/GraphicsLayer.h:
662         (WebCore::GraphicsLayer::recomputeVisibleRects):
663         * platform/graphics/TiledBacking.h:
664         * platform/graphics/ca/GraphicsLayerCA.cpp:
665         (WebCore::GraphicsLayerCA::recursiveComputeVisibleRect):
666         (WebCore::GraphicsLayerCA::recomputeVisibleRects):
667         (WebCore::GraphicsLayerCA::computeVisibleRect):
668         * platform/graphics/ca/GraphicsLayerCA.h:
669         * platform/graphics/ca/mac/TileController.h:
670         * platform/graphics/ca/mac/TileController.mm:
671         (WebCore::TileController::tilesWouldChangeForVisibleRect):
672         (WebCore::TileController::computeTileCoverageRect):
673         (WebCore::TileController::revalidateTiles):
674
675 2013-03-27  Philip Rogers  <pdr@google.com>
676
677         Rename toScriptElement -> toScriptElementIfPossible
678         https://bugs.webkit.org/show_bug.cgi?id=113473
679
680         Reviewed by Ryosuke Niwa.
681
682         Rename ScriptElement::toScriptElement to ScriptElement::toScriptElementIfPossible to
683         differentiate this function from other to*Element functions, and to better describe the
684         function's behavior. Other to*Element functions do not return null if the cast fails,
685         whereas toScriptElementIfPossible does.
686
687         No new tests as this is just a refactoring.
688
689         * dom/ScriptElement.cpp:
690         (WebCore::toScriptElementIfPossible):
691         * dom/ScriptElement.h:
692         (WebCore):
693         * dom/ScriptRunner.cpp:
694         (WebCore::ScriptRunner::timerFired):
695
696             This is the only unchecked return value but there isn't a security issue here.
697
698         * html/HTMLOptionElement.cpp:
699         (WebCore::HTMLOptionElement::collectOptionInnerText):
700         * html/parser/HTMLConstructionSite.cpp:
701         (WebCore::HTMLConstructionSite::attachLater):
702         (WebCore::HTMLConstructionSite::insertForeignElement):
703         * html/parser/HTMLScriptRunner.cpp:
704         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
705         (WebCore::HTMLScriptRunner::requestPendingScript):
706         (WebCore::HTMLScriptRunner::runScript):
707         * xml/parser/XMLDocumentParser.cpp:
708         (WebCore::XMLDocumentParser::notifyFinished):
709         * xml/parser/XMLDocumentParserLibxml2.cpp:
710         (WebCore::XMLDocumentParser::startElementNs):
711         (WebCore::XMLDocumentParser::endElementNs):
712         * xml/parser/XMLDocumentParserQt.cpp:
713         (WebCore::XMLDocumentParser::parseStartElement):
714         (WebCore::XMLDocumentParser::parseEndElement):
715
716 2013-03-27  Ryosuke Niwa  <rniwa@webkit.org>
717
718         Debug test fix after r147018.
719
720         toElement() asserts. What we want here is isElementNode().
721
722         * html/parser/HTMLConstructionSite.cpp:
723         (WebCore::HTMLConstructionSite::attachLater):
724
725 2013-03-27  Noel Gordon  <noel.gordon@gmail.com>
726
727         Add webp image color profile support
728         https://bugs.webkit.org/show_bug.cgi?id=113184
729
730         Reviewed by Eric Seidel.
731
732         Requires libwebp version 0.3.0 (decoder ABI version 0x201). For images
733         with an ICC color profile chunk, poll the incremental decoder for the
734         current decoded height with the WebPIDecGetRGB() API and color correct
735         any newly decoded rows in-situ in the frame buffer.
736
737         Note: the ICC chunk appears before the encoded image frame in the webp
738         encoding (RIFF container) format. When the incremental decoder outputs
739         decoded pixels, enough encoded data has arrived to read the entire ICC
740         color profile data chunk.
741
742         Tests: fast/images/webp-color-profile-lossless.html
743                fast/images/webp-color-profile-lossy-alpha.html
744                fast/images/webp-color-profile-lossy.html
745
746         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
747         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
748         (WebCore::WEBPImageDecoder::~WEBPImageDecoder): Call clear().
749         (WebCore):
750         (WebCore::WEBPImageDecoder::clear):
751         Added. Helper to clean up the webp decoder and color transform members.
752         (WebCore::WEBPImageDecoder::createColorTransform):
753         Create m_transform using the supplied profile memory data. Note that
754         the |deviceProfile| is not owned, but the |inputProfile| temporary is
755         so release it here with qcms_release_profile().
756         (WebCore::WEBPImageDecoder::readColorProfile):
757         Called once only when the decoder begins to output decoded rows of an
758         image containing an ICC chunk, to read the ICC color profile data from
759         the encoded data stream, verify it, and use it to create m_transform.
760         (WebCore::WEBPImageDecoder::applyColorProfile):
761         Since there is no row callback in libwebp, poll for the decoded height
762         of the image so far. If new rows are decoded, color correct the pixels
763         of those new rows and re-write them back into the frame buffer using
764         buffer.setRGBA() to 1) alpha pre-multiply the pixels if needed, and 2)
765         shuffle the pixel bytes into the platform's RGBA pixel endian-ness.
766         (WebCore::WEBPImageDecoder::decode):
767         If the container format indicates the image has an ICC color profile,
768         decode the image to RGBA format for subsequent input to the QCMS color
769         correction library in applyColorProfile().
770         * platform/image-decoders/webp/WEBPImageDecoder.h:
771         (WEBPImageDecoder):
772         (WebCore::WEBPImageDecoder::colorTransform): m_transform getter.
773
774 2013-03-27  Jun Jiang  <jun.a.jiang@intel.com>
775
776         Refactor validation checks for texture uploads
777         https://bugs.webkit.org/show_bug.cgi?id=111012
778
779         Reviewed by Kenneth Russell.
780
781         Move the validation checks to the entry level of tex{Sub}Image2D, return early for invalid parameters and avoid duplicated checks.
782         Moreover, turn all the validation checks at the bottom level - tex{Sub}Image2DBase into assertions.
783
784         Already covered by current tests.
785
786         * html/canvas/WebGLRenderingContext.cpp:
787         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
788         (WebCore::WebGLRenderingContext::texImage2DBase):
789         (WebCore::WebGLRenderingContext::texImage2DImpl):
790         (WebCore::WebGLRenderingContext::validateTexFunc): A helper function for tex{Sub}Image2D to check input parameters.
791         (WebCore::WebGLRenderingContext::texImage2D):
792         (WebCore::WebGLRenderingContext::texSubImage2DBase):
793         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
794         (WebCore::WebGLRenderingContext::texSubImage2D):
795         (WebCore::WebGLRenderingContext::validateHTMLImageElement):
796         (WebCore::WebGLRenderingContext::validateHTMLCanvasElement):
797         (WebCore::WebGLRenderingContext::validateHTMLVideoElement):
798         * html/canvas/WebGLRenderingContext.h:
799
800 2013-03-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
801
802         remove parentsOnly variable in codeGenerator.pm
803         https://bugs.webkit.org/show_bug.cgi?id=113457
804
805         Reviewed by Kentaro Hara.
806
807         Remove unused variable parentsOnly.
808
809         No new tests: no change in behaviour.
810
811         * bindings/scripts/CodeGenerator.pm:
812         (ForAllParents):
813         (AddMethodsConstantsAndAttributesFromParentInterfaces):
814         (ParseInterface):
815         (InheritsInterface):
816         (InheritsExtendedAttribute):
817         * bindings/scripts/CodeGeneratorV8.pm:
818         (BaseInterfaceName):
819
820 2013-03-27  Beth Dakin  <bdakin@apple.com>
821
822         Need WK2 API to give a WebView a header and footer
823         https://bugs.webkit.org/show_bug.cgi?id=113352
824         -and corresponding-
825         <rdar://problem/13383835>
826
827         Reviewed by Simon Fraser.
828
829         This API will require RenderLayerCompositor to keep layers for the header and 
830         footer when the exist. It also requires the scrolling machinery to know that the 
831         size of the scrollable area will differ from the contentsSize when there is a 
832         header or footer.
833
834         setWantsLayerForHeader() and setWantsLayerForFooter() return GraphicsLayers to 
835         WK2. setHeaderHeight() and setFooterHeight() set the header and footer heights
836         respectively.
837         * WebCore.exp.in:
838         * page/FrameView.h:
839         (FrameView):
840         * page/FrameView.cpp:
841         (WebCore::FrameView::FrameView):
842         (WebCore::FrameView::setWantsLayerForHeader):
843         (WebCore::FrameView::setWantsLayerForFooter):
844         (WebCore::FrameView::setHeaderHeight):
845         (WebCore::FrameView::setFooterHeight):
846
847         Should use totalContentsSize() instead of contentsSize().
848         (WebCore::FrameView::windowClipRect):
849         (WebCore::FrameView::isScrollable):
850         * page/SpatialNavigation.cpp:
851         (WebCore::canScrollInDirection):
852
853         This should also use totalContentsSize() instead of contentsSize(), and while 
854         we're at it, re-name the variable and function names in the scrolling tree code 
855         from contentsSize to totalContentsSize.
856         * page/scrolling/ScrollingStateScrollingNode.cpp:
857         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
858         (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
859         (WebCore::ScrollingStateScrollingNode::dumpProperties):
860         * page/scrolling/ScrollingStateScrollingNode.h:
861         (WebCore::ScrollingStateScrollingNode::totalContentsSize):
862         (ScrollingStateScrollingNode):
863         * page/scrolling/ScrollingTreeScrollingNode.cpp:
864         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
865         * page/scrolling/ScrollingTreeScrollingNode.h:
866         (WebCore::ScrollingTreeScrollingNode::totalContentsSize):
867         (ScrollingTreeScrollingNode):
868         * page/scrolling/mac/ScrollingCoordinatorMac.h:
869         (ScrollParameters):
870         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
871         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
872         (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
873         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
874         (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
875         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
876         (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
877
878         Use totalContentsSize() instead of contentsSize().
879         * platform/ScrollView.cpp:
880         (WebCore::ScrollView::maximumScrollPosition):
881         (WebCore::ScrollView::setScrollOffset):
882         (WebCore::ScrollView::overhangAmount):
883         (WebCore::ScrollView::updateScrollbars):
884         (WebCore::ScrollView::calculateOverhangAreasForPainting):
885
886         scrollOffset() represents the offset within the totalContentsSize, but that is 
887         not what we need here. So subtract out the headerHeight() for the appropriate 
888         value.
889         (WebCore::ScrollView::windowToContents):
890         (WebCore::ScrollView::contentsToWindow):
891
892         Use totalContentsSize() instead of contentsSize().
893         * platform/ScrollableArea.cpp:
894         (WebCore::ScrollableArea::maximumScrollPosition):
895         (WebCore):
896         (WebCore::ScrollableArea::totalContentsSize):
897         * platform/ScrollableArea.h:
898         (WebCore::ScrollableArea::headerHeight):
899         (WebCore::ScrollableArea::footerHeight):
900         (ScrollableArea):
901         * platform/mac/ScrollAnimatorMac.mm:
902         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
903         (WebCore::ScrollAnimatorMac::pinnedInDirection):
904         * platform/mac/ThemeMac.mm:
905         (WebCore::ThemeMac::ensuredView):
906
907         The rootContentLayer needs to be offset by the headerHeight().
908         * rendering/RenderLayerCompositor.cpp:
909         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
910
911         New member variables m_layerForHeader and m_layerForFooter. This code properly 
912         creates and manages them.
913         (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
914         (WebCore::RenderLayerCompositor::updateLayerForHeader):
915         (WebCore):
916         (WebCore::RenderLayerCompositor::updateLayerForFooter):
917         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
918         (WebCore::RenderLayerCompositor::reportMemoryUsage):
919         * rendering/RenderLayerCompositor.h:
920         (RenderLayerCompositor):
921
922         Test infrastructure. 
923         * testing/Internals.cpp:
924         (WebCore::Internals::resetToConsistentState):
925         (WebCore::Internals::setHeaderHeight):
926         (WebCore):
927         (WebCore::Internals::setFooterHeight):
928         * testing/Internals.h:
929         * testing/Internals.idl:
930
931 2013-03-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
932
933         javascriptcore bindings do not check exception after calling valueToStringWithNullCheck
934         https://bugs.webkit.org/show_bug.cgi?id=113219
935
936         Reviewed by Kentaro Hara.
937
938         When converting JSValue to native value in attribute setter, store the
939         native value in a temporary variable. After this variable assignment,
940         always check if an exception has been raised.
941
942         Update binding tests.
943
944         Test: fast/dom/exception-in-binding.html
945
946         * bindings/scripts/CodeGeneratorJS.pm:
947         (GenerateImplementation):
948         (GetNativeType):
949         (JSValueToNative):
950         * bindings/scripts/test/JS/JSTestInterface.cpp:
951         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
952         (WebCore::setJSTestInterfaceSupplementalStr2):
953         (WebCore::setJSTestInterfaceSupplementalNode):
954         * bindings/scripts/test/JS/JSTestObj.cpp:
955         (WebCore::setJSTestObjConstructorStaticStringAttr):
956         (WebCore::setJSTestObjEnumAttr):
957         (WebCore::setJSTestObjShortAttr):
958         (WebCore::setJSTestObjUnsignedShortAttr):
959         (WebCore::setJSTestObjLongAttr):
960         (WebCore::setJSTestObjLongLongAttr):
961         (WebCore::setJSTestObjUnsignedLongLongAttr):
962         (WebCore::setJSTestObjStringAttr):
963         (WebCore::setJSTestObjTestObjAttr):
964         (WebCore::setJSTestObjXMLObjAttr):
965         (WebCore::setJSTestObjCreate):
966         (WebCore::setJSTestObjReflectedStringAttr):
967         (WebCore::setJSTestObjReflectedIntegralAttr):
968         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
969         (WebCore::setJSTestObjReflectedBooleanAttr):
970         (WebCore::setJSTestObjReflectedURLAttr):
971         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
972         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
973         (WebCore::setJSTestObjReflectedCustomURLAttr):
974         (WebCore::setJSTestObjTypedArrayAttr):
975         (WebCore::setJSTestObjAttrWithGetterException):
976         (WebCore::setJSTestObjAttrWithSetterException):
977         (WebCore::setJSTestObjStringAttrWithGetterException):
978         (WebCore::setJSTestObjStringAttrWithSetterException):
979         (WebCore::setJSTestObjWithScriptStateAttribute):
980         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
981         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
982         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
983         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
984         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
985         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
986         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
987         (WebCore::setJSTestObjConditionalAttr1):
988         (WebCore::setJSTestObjConditionalAttr2):
989         (WebCore::setJSTestObjConditionalAttr3):
990         (WebCore::setJSTestObjAnyAttribute):
991         (WebCore::setJSTestObjMutablePoint):
992         (WebCore::setJSTestObjImmutablePoint):
993         (WebCore::setJSTestObjStrawberry):
994         (WebCore::setJSTestObjStrictFloat):
995         (WebCore::setJSTestObjId):
996         (WebCore::setJSTestObjNullableLongSettableAttribute):
997         (WebCore::setJSTestObjNullableStringValue):
998         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
999         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
1000         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
1001         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1002         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
1003         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
1004         (WebCore::setJSTestTypedefsAttrWithGetterException):
1005         (WebCore::setJSTestTypedefsAttrWithSetterException):
1006         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
1007         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
1008
1009 2013-03-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1010
1011         cache parsed interfaces in CodeGenerator.pm
1012         https://bugs.webkit.org/show_bug.cgi?id=113446
1013
1014         Reviewed by Kentaro Hara.
1015
1016         When generating binding for an interface, informations about parent
1017         interfaces are sometimes needed several times. This patch caches
1018         those the parsed interface. When generating all WebCore bindings, this
1019         results in a speedup of about 40% for JavaScriptCore and about 80% for
1020         V8.
1021
1022         No new tests: no change in behaviour.
1023
1024         * bindings/scripts/CodeGenerator.pm:
1025         (ParseInterface):
1026
1027 2013-03-27  KyungTae Kim <ktf.kim@samsung.com> and Yongjun Zhang  <yongjun_zhang@apple.com>
1028
1029         Add a settings to disallow initializing background-size if background shorthand doesn't include it.
1030         https://bugs.webkit.org/show_bug.cgi?id=113363
1031
1032         Reviewed by David Kilzer.
1033
1034         This is based on KyungTae Kim's patch in https://bugs.webkit.org/show_bug.cgi?id=97761.  Many legacy sites set
1035         background-size first and then set background for setting background-image.  For backward-compatibility
1036         in some WebKit based clients, if 'background' shorthand have no 'background-size' attribute, we could add
1037         a settings to let the css parser not initialize 'background-size'.
1038
1039         Test: fast/backgrounds/background-shorthand-after-set-backgroundSize.html
1040
1041         * css/CSSParser.cpp:
1042         (WebCore::CSSParserContext::CSSParserContext): initialize useLegacyBackgroundSizeShorthandBehavior.
1043         (WebCore::operator==):
1044         (WebCore::CSSParser::useLegacyBackgroundSizeShorthandBehavior): add a method to return if we want background-size
1045             to be initialized by background shorthand.
1046         (WebCore):
1047         (WebCore::CSSParser::parseFillShorthand): don't initialize background-size in background shorthand if we have
1048             useLegacyBackgroundSizeShorthandBehavior set to true.
1049         * css/CSSParser.h:
1050         (CSSParser):
1051         * css/CSSParserMode.h: add member useLegacyBackgroundSizeShorthandBehavior to CSSParserContext.
1052         (CSSParserContext):
1053         * page/Settings.in: initialize useLegacyBackgroundSizeShorthandBehavior to false.
1054         * testing/InternalSettings.cpp:
1055         (WebCore::InternalSettings::Backup::Backup): add the new settings useLegacyBackgroundSizeShorthandBehavior to Backup.
1056         (WebCore::InternalSettings::Backup::restoreTo): restore useLegacyBackgroundSizeShorthandBehavior from Backup.
1057         (WebCore::InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior):
1058         (WebCore):
1059         * testing/InternalSettings.h:
1060         (Backup):
1061         (InternalSettings):
1062         * testing/InternalSettings.idl: add a JS testing API setUseLegacyBackgroundSizeShorthandBehavior to turn on/off
1063             the new settings.
1064
1065 2013-03-27  Florin Malita  <fmalita@chromium.org>
1066
1067         Remove unused RenderLayer::renderBox{X,Y} methods
1068         https://bugs.webkit.org/show_bug.cgi?id=113408
1069
1070         Reviewed by Simon Fraser.
1071
1072         Minor cleanup - renderBoxX() and renderBox() are no longer used.
1073
1074         No new tests: no functional changes.
1075
1076         * rendering/RenderLayer.h:
1077
1078 2013-03-27  PhistucK  <phistuck@chromium.org>
1079
1080         Web Inspector: Plumb and expose cookie clearing options throughout the Resources Cookies tree and views
1081         https://bugs.webkit.org/show_bug.cgi?id=87140
1082
1083         Reviewed by Vsevolod Vlasov.
1084
1085         Added cookie clearing buttons and context menu options
1086         throughout the tree and views.
1087         Drive by -
1088         - Made sure the delete button is only visible
1089         when a cookie is selected.
1090         - Fixed a wrong JSDoc comment.
1091
1092         * inspector/front-end/CookieItemsView.js:
1093         (WebInspector.CookieItemsView):
1094         (WebInspector.CookieItemsView.prototype.statusBarItems):
1095         (WebInspector.CookieItemsView.prototype._updateWithCookies):
1096         (WebInspector.CookieItemsView.prototype.clear):
1097         Added. Clears the entire cookie view.
1098         (WebInspector.CookieItemsView.prototype._clearButtonClicked):
1099         Added. Ditto (when clicking on the button).
1100         (WebInspector.CookieItemsView.prototype._showDeleteButton):
1101         Added. Shows the delete button when selecting a cookie row.
1102         * inspector/CookiesTable.js:
1103         (WebInspector.CookiesTable):
1104         (WebInspector.CookiesTable.prototype._clearAndRefresh):
1105         Added. Clears the cookies of the current table and updates it.
1106         (WebInspector.CookiesTable.prototype._handleContextMenuEvent):
1107         Added. Manages the context menu within the table.
1108         (WebInspector.CookiesTable.prototype.clear):
1109         Added. Clears the cookies of the current table.
1110         (WebInspector.CookiesTable.prototype.setCookies):
1111          Fixed a wrong JSDoc comment structure.
1112         * inspector/front-end/ResourcesPanel.js:
1113         (WebInspector.ResourcesPanel.prototype.clearCookies):
1114         Added. Clears the cookies of the given domain view.
1115         (WebInspector.CookieTreeElement.prototype.onattach):
1116         Added. Adds a contextmenu handler.
1117         (WebInspector.CookieTreeElement.prototype._handleContextMenuEvent):
1118         Added. Manages the context menu within cookie tree.
1119         (WebInspector.CookieTreeElement.prototype._clearCookies):
1120         Added. Clears the cookies of the view of the tree item.
1121         * inspector/front-end/treeoutline.js:
1122         (TreeOutline): Fixed a wrong JSDoc comment.
1123
1124         * English.lproj/localizedStrings.js:
1125         Added strings for the context menu options.
1126
1127 2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>
1128
1129         Web Inspector: [DTE] implement "tokenAtTextPosition" method
1130         https://bugs.webkit.org/show_bug.cgi?id=113390
1131
1132         Reviewed by Pavel Feldman.
1133
1134         Test: inspector/editor/text-editor-token-at-position.html
1135
1136         - Add TextEditor.tokenAtTextPosition method
1137         - Implement tokenAtTextPosition method in DefaultTextEditor
1138
1139         * inspector/front-end/DefaultTextEditor.js:
1140         (WebInspector.DefaultTextEditor.prototype.tokenAtTextPosition):
1141         (WebInspector.TextEditorMainPanel.prototype.compare):
1142         (WebInspector.TextEditorMainPanel.prototype.tokenAtTextPosition):
1143         (WebInspector.TextEditorMainPanel.prototype._tokenAtUnhighlightedLine):
1144         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
1145         (WebInspector.TextEditorMainPanel.prototype.get mimeType):
1146         * inspector/front-end/TextEditor.js:
1147         (WebInspector.TextEditor.prototype.tokenAtTextPosition):
1148         * inspector/front-end/TextEditorHighlighter.js:
1149         (WebInspector.TextEditorHighlighter):
1150         (WebInspector.TextEditorHighlighter.prototype.get mimeType):
1151         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
1152
1153 2013-03-27  Charles Wei  <charles.wei@torchmobile.com.cn>
1154
1155         Remove build warning for unused function parameters in indexeddb.
1156         https://bugs.webkit.org/show_bug.cgi?id=113043
1157
1158         Reviewed by Tony Chang.
1159
1160         No new tests, just remove build warning.
1161
1162         * Modules/indexeddb/IDBCallbacks.h:
1163         (WebCore::IDBCallbacks::onBlocked):
1164         (WebCore::IDBCallbacks::onUpgradeNeeded):
1165         * Modules/indexeddb/IDBCursor.cpp:
1166         (WebCore::IDBCursor::stringToDirection):
1167         * Modules/indexeddb/IDBCursor.h:
1168         (IDBCursor):
1169         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1170         (WebCore::IDBCursorBackendImpl::prefetchReset):
1171         * Modules/indexeddb/IDBDatabase.cpp:
1172         (WebCore::IDBDatabase::transaction):
1173         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1174         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
1175         * Modules/indexeddb/IDBIndex.cpp:
1176         (WebCore::IDBIndex::openCursor):
1177         (WebCore::IDBIndex::openKeyCursor):
1178         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1179         (IDBLevelDBCoding):
1180         * Modules/indexeddb/IDBObjectStore.cpp:
1181         (WebCore):
1182         (WebCore::IDBObjectStore::openCursor):
1183         * Modules/indexeddb/IDBTransaction.cpp:
1184         (WebCore::IDBTransaction::stringToMode):
1185         * Modules/indexeddb/IDBTransaction.h:
1186         (IDBTransaction):
1187         * inspector/InspectorIndexedDBAgent.cpp:
1188         (WebCore):
1189
1190 2013-03-27  Sergey Ryazanov  <serya@chromium.org>
1191
1192         REGRESSION (r146588): Cannot correctly display Chinese SNS Renren
1193         https://bugs.webkit.org/show_bug.cgi?id=113142
1194
1195         Reviewed by Pavel Feldman.
1196
1197         Changed CSS grammar to be equivalent to pre-r146588.
1198         CSS error reporting disabled to prevent message overflow.
1199
1200         * css/CSSGrammar.y.in:
1201         * css/CSSParser.cpp:
1202         (WebCore::CSSParser::isLoggingErrors):
1203
1204 2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>
1205
1206         Web Inspector: enhance Popover.js to rely on hover element coordinates
1207         https://bugs.webkit.org/show_bug.cgi?id=113340
1208
1209         Reviewed by Pavel Feldman.
1210
1211         No new tests: no change in behaviour.
1212
1213         Introduce a coordinates-based method that checks if mouse is inside hover
1214         element and use it in PopoverHelper instead of DOM hierarchy.
1215
1216         * inspector/front-end/Popover.js:
1217         (WebInspector.PopoverHelper.prototype._eventInHoverElement): Added.
1218         (WebInspector.PopoverHelper.prototype._mouseDown):
1219         (WebInspector.PopoverHelper.prototype._mouseMove):
1220         (WebInspector.PopoverHelper.prototype._mouseOut):
1221
1222 2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>
1223
1224         Web Inspector: [CodeMirror] fix webinspector-css theme for CodeMirror
1225         https://bugs.webkit.org/show_bug.cgi?id=113399
1226
1227         Reviewed by Alexander Pavlov.
1228
1229         Add style rule to highlight css properties for CodeMirror
1230         webinspector-css theme.
1231
1232         No new tests: no change in behaviour.
1233
1234         * inspector/front-end/cm/cmdevtools.css:
1235         (.cm-s-web-inspector-css span.cm-property):
1236
1237 2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>
1238
1239         Web Inspector: [DTE] paint overlay highlight for unhighlighted lines
1240         https://bugs.webkit.org/show_bug.cgi?id=113344
1241
1242         Reviewed by Pavel Feldman.
1243
1244         No new tests.
1245
1246         Remove fast-return condition from paintLine method that checked for
1247         highlight existence.
1248
1249         * inspector/front-end/DefaultTextEditor.js:
1250         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1251
1252 2013-03-27  Ryosuke Niwa  <rniwa@webkit.org>
1253
1254         Shift clicking on an element with -webkit-user-select: all doesn't extend selection
1255         https://bugs.webkit.org/show_bug.cgi?id=113270
1256
1257         Reviewed by Enrica Casucci.
1258
1259         The bug was caused by updateSelectionForMouseDownDispatchingSelectStart always replacing selection whenever
1260         the target node was inside an element with -webkit-suer-select even when we were attemping to extend selection
1261         in handleMousePressEventSingleClick.
1262
1263         Fixed the bug by extracting this logic as a separate function (expandSelectionToRespectUserSelectAll) and deploying
1264         it in handleMousePressEventSingleClick to extend selection as needed.
1265
1266         Test: editing/selection/user-select-all-with-shift.html
1267
1268         * page/EventHandler.cpp:
1269         (WebCore::expandSelectionToRespectUserSelectAll): Extracted from updateSelectionForMouseDownDispatchingSelectStart.
1270         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
1271         (WebCore::EventHandler::selectClosestWordFromHitTestResult):
1272         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
1273         (WebCore::EventHandler::handleMousePressEventTripleClick):
1274         (WebCore::EventHandler::handleMousePressEventSingleClick): Adjust "pos" as needed when extending selection.
1275         Also use shouldConsiderSelectionAsDirectional() instead of manually peeking editingBehaviorType while we're at it.
1276
1277 2013-03-27  Zalan Bujtas  <zalan@apple.com>
1278
1279         REGRESSION(r143102): iframe with percentage height within table with anonymous cell fails.
1280         https://bugs.webkit.org/show_bug.cgi?id=113077
1281
1282         Reviewed by Antti Koivisto.
1283         
1284         http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level
1285         "Anonymous block boxes are ignored when resolving percentage values that would refer to it:
1286         the closest non-anonymous ancestor box is used instead."
1287         When figuring out whether auto height needs to be applied on the current box, ignore anonymous
1288         ancestors until the first non-anonymous containing block is found. This matches both
1289         Firefox and Opera behaviour.
1290         
1291         Test: fast/replaced/iframe-with-percentage-height-within-table-with-anonymous-table-cell.html
1292
1293         * rendering/RenderBoxModelObject.cpp:
1294         (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight): Switch from
1295         isAnonymousBlock() to isAnonymous() to make sure all anonymous boxes are ignored.
1296         Remove isTableCell() check which is a noop as table cell isn't an anonymous block.
1297         
1298 2013-03-27  Pierre Rossi  <pierre.rossi@gmail.com>
1299
1300         [Qt] Add WOFF support when using zlib
1301         https://bugs.webkit.org/show_bug.cgi?id=112805
1302
1303         Reviewed by Allan Sandfeld Jensen.
1304
1305         Covered by existing test:
1306         fast/css/font-face-woff.html
1307
1308         * Target.pri: Conditional inclusion of WOFFFileFormat
1309         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
1310         (WebCore::createFontCustomPlatformData): Try to unpack WOFF data, otherwise spit out a warning and bail.
1311         (WebCore::FontCustomPlatformData::supportsFormat): accept WOFF webfonts if USE(ZLIB).
1312
1313 2013-03-27  Robert Hogan  <robert@webkit.org>
1314
1315         Growing a position:absolute element in a position:relative one in a table does not update scrollHeight
1316         https://bugs.webkit.org/show_bug.cgi?id=111977
1317
1318         Reviewed by David Hyatt.
1319
1320         During simplified layout tables still need to know about overflow from positioned objects in any of
1321         their cells.
1322
1323         Test: fast/table/cell-overflow-simplified-layout.html
1324
1325         * rendering/RenderBlock.h:
1326         (RenderBlock):
1327         * rendering/RenderTable.cpp:
1328         (WebCore::RenderTable::simplifiedNormalFlowLayout):
1329         (WebCore):
1330         * rendering/RenderTable.h:
1331         * rendering/RenderTableSection.cpp:
1332         (WebCore::RenderTableSection::layoutRows):
1333         (WebCore):
1334         (WebCore::RenderTableSection::computeOverflowFromCells):
1335         * rendering/RenderTableSection.h:
1336         (RenderTableSection):
1337
1338 2013-03-22  Geoffrey Garen  <ggaren@apple.com>
1339
1340         Honor the setting for whether JavaScript markup is enabled
1341         https://bugs.webkit.org/show_bug.cgi?id=113122
1342
1343         Reviewed by Ryosuke Niwa.
1344
1345         * dom/ScriptableDocumentParser.cpp:
1346         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Applied the
1347         setting here, so all document parsing would be covered. This is similar
1348         to what we do for plug-in stripping.
1349
1350         * html/parser/HTMLConstructionSite.cpp:
1351         (WebCore::HTMLConstructionSite::insertForeignElement): Fixed a bug where
1352         we would insert an SVG script element into the document even in script
1353         markup disabled mode.
1354
1355         (This bug has existed for copy/paste for a long time, but other bugs and
1356         quirks in SVG copy/paste papered over it. It's a serious issue now
1357         that non-paste clients will rely on this mode.)
1358
1359         * html/parser/HTMLTreeBuilder.cpp:
1360         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Fixed the same
1361         bug -- this time in the part of the parser that executes scripts as they
1362         parse.
1363
1364         I adopted the toScriptElement() convention for testing for a script
1365         element to match the XML parser.
1366
1367 2013-03-27  Dean Jackson  <dino@apple.com>
1368
1369         Chromium Mac fails to build after r146995 because the new NSFont category
1370         may conflict with the system. Add the WebCoreTheme category to the whitelist.
1371
1372         Unreviewed.
1373
1374         * WebCore.gyp/WebCore.gyp:
1375
1376 2013-03-27  Ryosuke Niwa  <rniwa@webkit.org>
1377
1378         Selection code spends a lot of time in InlineTextBox::localSelectionRect
1379         https://bugs.webkit.org/show_bug.cgi?id=113364
1380
1381         Reviewed by Enrica Casucci.
1382
1383         Avoid computing the font width when we're selecting the entire line box.
1384
1385         This appears to be 25-26% improvement on Interactive/SelectAll:Time.
1386
1387         * rendering/InlineTextBox.cpp:
1388         (WebCore::InlineTextBox::localSelectionRect):
1389
1390 2013-03-26  Timothy Hatcher  <timothy@apple.com>
1391
1392         Add support for dock-to-right of the Web Inspector in the Mac port.
1393
1394         Unfortunately this requires Safari changes, so it is disabled in the nightly builds.
1395
1396         https://webkit.org/b/113341
1397         rdar://problem/10368152
1398
1399         Reviewed by Joseph Pecoraro.
1400
1401         * WebCore.exp.in:
1402         * inspector/InspectorFrontendClient.h:
1403         (InspectorFrontendClient):
1404         * inspector/InspectorFrontendClientLocal.cpp:
1405         (WebCore):
1406         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
1407         (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
1408         (WebCore::InspectorFrontendClientLocal::canAttachWindow):
1409         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
1410         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
1411         (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowWidth):
1412         * inspector/InspectorFrontendClientLocal.h:
1413         (InspectorFrontendClientLocal):
1414         * inspector/InspectorFrontendHost.cpp:
1415         (WebCore::InspectorFrontendHost::setAttachedWindowWidth):
1416         (WebCore):
1417         * inspector/InspectorFrontendHost.h:
1418         (InspectorFrontendHost):
1419         * inspector/InspectorFrontendHost.idl:
1420         * inspector/front-end/InspectorFrontendHostStub.js:
1421         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowWidth):
1422         * inspector/front-end/externs.js:
1423         (InspectorFrontendHostAPI.prototype.setAttachedWindowWidth):
1424         * testing/Internals.cpp:
1425
1426 2013-03-27  Eric Carlson  <eric.carlson@apple.com>
1427
1428         [Mac] webkitClosedCaptionsVisible doesn't work
1429         https://bugs.webkit.org/show_bug.cgi?id=113417
1430
1431         Reviewed by Jer Noble.
1432
1433         Test: media/track/track-in-band-legacy-api.html
1434
1435         * html/HTMLMediaElement.cpp:
1436         (WebCore::HTMLMediaElement::HTMLMediaElement): Delete m_disableCaptions, it is no longer used.
1437         (WebCore::HTMLMediaElement::configureTextTrackGroup): Pass this to textTrackSelectionScore.
1438         (WebCore::HTMLMediaElement::setClosedCaptionsVisible):  Delete m_disableCaptions, it is no longer used.
1439         * html/HTMLMediaElement.h: Ditto.
1440
1441         * page/CaptionUserPreferences.cpp:
1442         (WebCore::CaptionUserPreferences::textTrackSelectionScore): Add an HTMLMediaElement parameter.
1443         * page/CaptionUserPreferences.h:
1444
1445         * page/CaptionUserPreferencesMac.h:
1446         * page/CaptionUserPreferencesMac.mm:
1447         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Return a score if the media element
1448             is showing captions, even if the preference says captions are disabled.
1449
1450 2013-03-27  Eric Carlson  <eric.carlson@apple.com>
1451
1452         [Mac] Text track menu items sometimes labeled incorrectly
1453         https://bugs.webkit.org/show_bug.cgi?id=113406
1454
1455         Reviewed by Jer Noble.
1456
1457         media/video-controls-captions-trackmenu-localized.html was updated to test this.
1458
1459         * page/CaptionUserPreferencesMac.mm:
1460         (WebCore::trackDisplayName): Use the 'label' attribute for the menu text when necessary.
1461
1462 2013-03-27  Sergio Villar Senin  <svillar@igalia.com>
1463
1464         Inserting a blank (" ") at the end of a line does not insert anything in Overtype mode
1465         https://bugs.webkit.org/show_bug.cgi?id=113413
1466
1467         Reviewed by Ryosuke Niwa.
1468
1469         Perform a "normal" insert instead of a replace when there is
1470         nothing to replace (like at the end of a line) as this case is not
1471         supported by the replacing code path. This will allow us to
1472         properly rebalance whitespaces in those cases.
1473
1474         Updated the editing/execCommand/overtype.html test to check also
1475         this use case.
1476
1477         * editing/InsertTextCommand.cpp:
1478         (WebCore::InsertTextCommand::setEndingSelectionWithoutValidation):
1479         (WebCore::InsertTextCommand::performTrivialReplace):
1480         (WebCore::InsertTextCommand::performOverwrite):
1481         (WebCore::InsertTextCommand::doApply): use the recently added
1482         setEndingSelectionWithoutValidation() to avoid code duplication.
1483         * editing/InsertTextCommand.h:
1484         (InsertTextCommand):
1485
1486 2013-03-27  Dean Jackson  <dino@apple.com>
1487
1488         [Mac] Use fontName rather than familyName for internal fonts
1489         https://bugs.webkit.org/show_bug.cgi?id=113392
1490         <rdar://problem/13474743>
1491
1492         Reviewed by Enrica Casucci.
1493
1494         Some internal fonts on OS X have a family name that
1495         isn't listed in availableFontFamilies. In this case
1496         we should use the font name rather than the family
1497         name when looking for a match.
1498
1499         * platform/mac/ThemeMac.h: NSFont category to provide a web-friendly family name.
1500         * platform/mac/ThemeMac.mm:
1501         (-[NSFont webCoreFamilyName]): Returns the font name for internal fonts, otherwise the family name.
1502         (WebCore::ThemeMac::controlFont):
1503         * rendering/RenderThemeMacShared.mm: Use the webCoreFamilyName.
1504         (WebCore::RenderThemeMacShared::systemFont): Ditto.
1505         (WebCore::RenderThemeMacShared::setFontFromControlSize): Ditto.
1506
1507 2013-03-26  Jer Noble  <jer.noble@apple.com>
1508
1509         Mac: Media Controls always hide time display elements
1510         https://bugs.webkit.org/show_bug.cgi?id=113355
1511
1512         Reviewed by Eric Carlson.
1513
1514         No new tests; rebaselined existing tests against correct behavior.
1515
1516         A prior commit set the "min-width:0" property on the time display elements, which, combined
1517         with the "-webkit-flex-box:0 0" setting, caused the flex-box container to collapse the width
1518         of the elements to zero. To achieve the desired effect of hiding the time display elements,
1519         first set the elements' min-width to the desired width, as the new flex-box spec treats the
1520         default value of "min-width:auto" as the intrinsic width, and will collapse the text display
1521         elements to the intrinsic width of its contained text node.
1522
1523         The above allows the timeline container to collapse beyond the sum of its childrens'
1524         intrinsic width. Create a custom renderer that detects when this happens, and hide the time
1525         display controls.
1526
1527         * css/mediaControls.css:
1528         * css/mediaControlsQuickTime.css:
1529         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1530             Set the "min-width:" property to equal the "width:" property.
1531         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1532             Ditto.
1533         * css/mediaControlsChromium.css:
1534         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1535             Chromium assumes the time display controls are flex-boxes, so make that explicit.
1536         * html/shadow/MediaControlElementTypes.cpp: Removed MediaControlTimeDisplayElement::createRenderer().
1537         * html/shadow/MediaControlElementTypes.h:
1538         (MediaControlTimeDisplayElement): Ditto.
1539         * html/shadow/MediaControlElements.cpp:
1540         (WebCore::MediaControlTimelineContainerElement::setTimeDisplaysHidden): Added, walks through the 
1541             container's children and shows or hides time display elements.
1542         (WebCore::MediaControlTimelineContainerElement::createRenderer): Added, creates a RenderMediaControlTimelineContainer.
1543         (WebCore::getMediaControlTimeRemainingDisplayElementShadowPseudoId): Added, allow setTimeDisplaysHidden to
1544             query against children's shadowPseudoId().
1545         (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Moved contents to getMediaControlTimeRemainingDisplayElementShadowPseudoId.
1546         (WebCore::getMediaControlCurrentTimeDisplayElementShadowPseudoId): Added, allow setTimeDisplaysHidden to
1547             query against children's shadowPseudoId().
1548         (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Moved contents to getMediaControlCurrentTimeDisplayElementShadowPseudoId.
1549         * html/shadow/MediaControlElements.h:
1550         (MediaControlTimelineContainerElement):
1551         * rendering/RenderMediaControlElements.cpp:
1552         (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): Added, simple constructor.
1553         (WebCore::RenderMediaControlTimelineContainer::layout): Detect when the controller's width is greater than
1554             a certain value, and show or hide the time display elements in response.
1555         * rendering/RenderMediaControlElements.h:
1556         (RenderMediaControlTimelineContainer):
1557
1558 2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>
1559
1560         Web Inspector: CPU profiler. Swap FlameChart with Data Grid.
1561         https://bugs.webkit.org/show_bug.cgi?id=113395
1562
1563         Reviewed by Pavel Feldman.
1564
1565         Looks like FlameChart is more powerful and flexible instrument
1566         than plain old ProfileTree in DataGrid. The same action like
1567         'look for the most expensive function in a frame' could be easily
1568         done with FlameChart and need number of clicks in DataGrid.
1569         So in an offline discussion we decided to place FlameChart on top of DataGrid.
1570
1571         * inspector/front-end/CPUProfileView.js:
1572
1573 2013-03-27  Chris Fleizach  <cfleizach@apple.com>
1574
1575         Regression in tests due to https://bugs.webkit.org/show_bug.cgi?id=113339
1576         https://bugs.webkit.org/show_bug.cgi?id=113361
1577
1578         Fix the red bots. No review.
1579
1580         Ensure only pop-up buttons get the AXRequired attribute instead of all buttons.        
1581
1582         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1583         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1584         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1585
1586 2013-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
1587
1588         Web Inspector: Breakpoint manager should restore breakpoints when uiSourceCode is added.
1589         https://bugs.webkit.org/show_bug.cgi?id=113381
1590
1591         Reviewed by Pavel Feldman.
1592
1593         Breakpoint manager now restores breakpoints on UISourceCodeAdded event.
1594         Breakpoint manager now only resets breakpoints in debugger when source mapping is changed to/from non identity one.
1595
1596         * inspector/front-end/BreakpointManager.js:
1597         (WebInspector.BreakpointManager.prototype._uiSourceCodeAdded):
1598         (WebInspector.BreakpointManager.prototype._resetBreakpoints):
1599         (WebInspector.BreakpointManager.prototype._uiSourceCodeMappingChanged):
1600         * inspector/front-end/CompilerScriptMapping.js:
1601         (WebInspector.CompilerScriptMapping.prototype.get isIdentity):
1602         * inspector/front-end/DefaultScriptMapping.js:
1603         (WebInspector.DefaultScriptMapping.prototype.isIdentity):
1604         * inspector/front-end/ResourceScriptMapping.js:
1605         (WebInspector.ResourceScriptMapping.prototype.isIdentity):
1606         * inspector/front-end/SASSSourceMapping.js:
1607         (WebInspector.SASSSourceMapping.prototype.isIdentity):
1608         * inspector/front-end/ScriptSnippetModel.js:
1609         (WebInspector.SnippetScriptMapping.prototype.isIdentity):
1610         * inspector/front-end/SourceMapping.js:
1611         (WebInspector.SourceMapping.prototype.isIdentity):
1612         * inspector/front-end/StylesSourceMapping.js:
1613         (WebInspector.StylesSourceMapping.prototype.isIdentity):
1614         * inspector/front-end/UISourceCode.js:
1615         (WebInspector.UISourceCode.prototype.setSourceMapping):
1616
1617 2013-03-27  Yury Semikhatsky  <yurys@chromium.org>
1618
1619         Web Inspector: update Timeline.TimelineEvent definition to include DOM counters and native memory stats
1620         https://bugs.webkit.org/show_bug.cgi?id=113376
1621
1622         Reviewed by Vsevolod Vlasov.
1623
1624         Fixed assertion failure in debug mode after r146975.
1625
1626         * inspector/InspectorTimelineAgent.cpp:
1627         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
1628
1629 2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>
1630
1631         Web Inspector: FlameChart. Provide 15px padding left for the chart so developers will see the first divider with '0' title.
1632         https://bugs.webkit.org/show_bug.cgi?id=113404
1633
1634         Reviewed by Pavel Feldman.
1635
1636         15px paddingLeft was added to the code for the chart.
1637
1638         * inspector/front-end/FlameChart.js:
1639         (WebInspector.FlameChart):
1640         (WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
1641         (WebInspector.FlameChart.Calculator.prototype.computePosition):
1642         (WebInspector.FlameChart.prototype.draw):
1643
1644 2013-03-27  Kent Tamura  <tkent@chromium.org>
1645
1646         Rename HTMLFormControlElement::readOnly to isReadOnly
1647         https://bugs.webkit.org/show_bug.cgi?id=113297
1648
1649         Reviewed by Alexey Proskuryakov.
1650
1651         HTMLFormControlElement::readOnly is not an implementation of
1652         'readOnly' IDL attribute. It's confusing and we don't need to
1653         violate our naming convention.
1654
1655         No new tests. Just a refactoring.
1656
1657         * accessibility/AccessibilityNodeObject.cpp:
1658         (WebCore::AccessibilityNodeObject::isReadOnly):
1659         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1660         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly):
1661         * html/HTMLFormControlElement.cpp:
1662         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1663         (WebCore::HTMLFormControlElement::parseAttribute):
1664         * html/HTMLFormControlElement.h:
1665         (WebCore::HTMLFormControlElement::isReadOnly):
1666         (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
1667         * html/HTMLInputElement.cpp:
1668         (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass):
1669         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
1670         * html/HTMLTextAreaElement.cpp:
1671         (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass):
1672         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
1673         * html/shadow/SliderThumbElement.cpp:
1674         (WebCore::SliderThumbElement::defaultEventHandler):
1675         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
1676         (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
1677         * html/shadow/TextControlInnerElements.cpp:
1678         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
1679         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
1680         * html/shadow/TextFieldDecorationElement.cpp:
1681         (WebCore::TextFieldDecorationElement::updateImage):
1682         * rendering/RenderTextControl.cpp:
1683         (WebCore::updateUserModifyProperty):
1684         * rendering/RenderThemeMacShared.mm:
1685         (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):
1686
1687 2013-03-27  Yury Semikhatsky  <yurys@chromium.org>
1688
1689         Web Inspector: update Timeline.TimelineEvent definition to include DOM counters and native memory stats
1690         https://bugs.webkit.org/show_bug.cgi?id=113376
1691
1692         Reviewed by Vsevolod Vlasov.
1693
1694         Added missing fields to Timeline.TimelineEvent type definition in Inspector.json
1695
1696         * inspector/Inspector.json:
1697         * inspector/InspectorTimelineAgent.cpp:
1698         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
1699         (WebCore::InspectorTimelineAgent::setDOMCounters):
1700         Switched InspectorTimelineAgent to the new typed event builders.
1701         (WebCore::InspectorTimelineAgent::setNativeHeapStatistics):
1702         * inspector/InspectorTimelineAgent.h:
1703         (InspectorTimelineAgent):
1704
1705 2013-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
1706
1707         Web Inspector: Follow-up to r146898: test that uiSourceCodes are not leaking in breakpoint manager.
1708         https://bugs.webkit.org/show_bug.cgi?id=113368
1709
1710         Reviewed by Pavel Feldman.
1711
1712         Added a missed line and a test.
1713
1714         * inspector/front-end/BreakpointManager.js:
1715         (WebInspector.BreakpointManager.prototype._projectWillReset):
1716
1717 2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>
1718
1719         Web Inspector: [CodeMirror] CodeMirrorTextEditor.highlightRange has bugs
1720         https://bugs.webkit.org/show_bug.cgi?id=113348
1721
1722         Reviewed by Vsevolod Vlasov.
1723
1724         No new tests.
1725
1726         - Append additional "<class>-start" class to the first highlighted span
1727         and "<class>-end" class to the last highlighted span to provide a way
1728         to set up a css classes with borders.
1729         - Increment end column of the markup range to simulate inclusive range.
1730
1731         * inspector/front-end/CodeMirrorTextEditor.js:
1732         (WebInspector.CodeMirrorTextEditor.prototype.highlightRange):
1733
1734 2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>
1735
1736         Web Inspector: Add isClean/markClean method pair to textEditor.js
1737         https://bugs.webkit.org/show_bug.cgi?id=112815
1738
1739         Reviewed by Vsevolod Vlasov.
1740
1741         No new tests: no change in behaviour.
1742
1743         - Add TextEditor.isClean and TextEditor.markClean methods
1744         - Implement these methods in DefaultTextEditor
1745         - Implement these methods in CodeMirrorTextEditor
1746
1747         * inspector/front-end/CodeMirrorTextEditor.js:
1748         (WebInspector.CodeMirrorTextEditor.prototype.isClean):
1749         (WebInspector.CodeMirrorTextEditor.prototype.markClean):
1750         * inspector/front-end/DefaultTextEditor.js:
1751         (WebInspector.DefaultTextEditor.prototype.isClean):
1752         (WebInspector.DefaultTextEditor.prototype.markClean):
1753         * inspector/front-end/TextEditor.js:
1754         (WebInspector.TextEditor.prototype.isClean):
1755         (WebInspector.TextEditor.prototype.markClean):
1756         * inspector/front-end/TextEditorModel.js:
1757         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1758
1759 2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>
1760
1761         Unreviewed. Web Inspector. rename method Timeline.Calculator.grandMinimumBoundary to Timeline.Calculator.zeroTime
1762
1763         No changes in behaviour.
1764
1765         * inspector/front-end/FlameChart.js:
1766         (WebInspector.FlameChart.Calculator.prototype.zeroTime):
1767         (WebInspector.FlameChart.OverviewCalculator.prototype.zeroTime):
1768         * inspector/front-end/NetworkPanel.js:
1769         (WebInspector.NetworkBaseCalculator.prototype.zeroTime):
1770         * inspector/front-end/TimelineGrid.js:
1771         (WebInspector.TimelineGrid.prototype.updateDividers):
1772         (WebInspector.TimelineGrid.Calculator.prototype.zeroTime):
1773         * inspector/front-end/TimelineOverviewPane.js:
1774         (WebInspector.TimelineOverviewCalculator.prototype.zeroTime):
1775         * inspector/front-end/TimelinePanel.js:
1776         (WebInspector.TimelineCalculator.prototype.zeroTime):
1777
1778 2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
1779
1780         Web Inspector: Timeline. Scroll dividers with the underlying events.
1781         https://bugs.webkit.org/show_bug.cgi?id=113315
1782
1783         Reviewed by Pavel Feldman.
1784
1785         Now when TimelineGrid is able to draw dividers with any offset
1786         we could cut away paddingLeft member of Timeline.Calculator
1787         and clear the code of TimelineGrid.
1788
1789         * inspector/front-end/TimelineGrid.js:
1790         (WebInspector.TimelineGrid.prototype.updateDividers):
1791         * inspector/front-end/TimelinePanel.js:
1792         (WebInspector.TimelinePanel.prototype._refresh):
1793         (WebInspector.TimelineCalculator.prototype.computePosition):
1794         (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
1795         (WebInspector.TimelineCalculator.prototype.grandMinimumBoundary):
1796         * inspector/front-end/inspectorCommon.css:
1797         (.resources-dividers-label-bar):
1798
1799 2013-03-27  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1800
1801         [CoordGfx] Support to share GraphicsSurface flags with client.
1802         https://bugs.webkit.org/show_bug.cgi?id=112982
1803
1804         Reviewed by Noam Rosenthal.
1805
1806         Covered by existing WebGL tests.
1807
1808         This patch adds support to pass GraphicsSurface flags during it's client creation.
1809         This would be helpful to determine cases when blending can be disabled on client
1810         side i.e When AlphaSupport is disabled during Graphics Surface creation.
1811         With GLX, we rely on Window to provide us with necessary information on client side.
1812         This might not be the case on other platforms or when not using Window on X.
1813         This patch doesn't change original behaviour of creating GraphicsSurface client
1814         with default flags GraphicsSurface::SupportsTextureTarget and GraphicsSurface::SupportsSharing.
1815
1816         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
1817         (WebCore::TextureMapperPlatformLayer::graphicsSurfaceFlags):
1818         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1819         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
1820         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1821         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
1822         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1823         (CoordinatedGraphicsLayerState):
1824         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1825         (WebCore):
1826         (WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):
1827         * platform/graphics/efl/GraphicsContext3DPrivate.h:
1828         (GraphicsContext3DPrivate):
1829         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
1830         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
1831         (WebCore::GraphicsSurfacePrivate::initializeClient):
1832
1833 2013-03-26  Takashi Sakamoto  <tasak@google.com>
1834
1835         [shadow] styleForText should consider the case where parent node has no style
1836         https://bugs.webkit.org/show_bug.cgi?id=113275
1837
1838         If a text node is distributed, its parent node for rendering and
1839         styling might have no style. In the case, styleForText should return
1840         default style.
1841
1842         Reviewed by Hajime Morrita.
1843
1844         Test: fast/dom/shadow/text-node-distributed-crash.html
1845
1846         * css/StyleResolver.cpp:
1847         (WebCore::StyleResolver::styleForText):
1848         Check whether a parent node has any style or not. If not, return
1849         default style. This is the same behavior as styleForElement.
1850
1851 2013-03-26  Takeshi Yoshino  <tyoshino@chromium.org>
1852
1853         Make SocketStreamHandle (Chromium port) fully use IPC window in send()
1854         https://bugs.webkit.org/show_bug.cgi?id=113304
1855
1856         Reviewed by Kent Tamura.
1857
1858         socket_stream of Chromium buffers send data up to 32KiB (exact) bytes.
1859
1860         However, SocketStreamHandleInternal::send() method now keeps in-flight
1861         send data not greater than m_maxPendingSendAllowed - 1 that is
1862         32KiB - 1. This means that SocketStreamHandleInternal consumes the
1863         buffered data in SocketStreamHandleBase by 32KiB - 1. It makes memory
1864         copy operations unaligned unnecessarily. It should just use the
1865         allowed size fully.
1866
1867         * platform/network/chromium/SocketStreamHandle.cpp:
1868         (WebCore::SocketStreamHandleInternal::send):
1869         (WebCore):
1870
1871 2013-03-26  Hayato Ito  <hayato@chromium.org>
1872
1873         Allow ShadowContents in HitTests by default.
1874         https://bugs.webkit.org/show_bug.cgi?id=113171
1875
1876         Reviewed by Dimitri Glazkov.
1877
1878         HitTestRequest is widely used in WebCore, but AllowShadowContents
1879         flag is not turned on by default.  In most places, we can set the
1880         flag on.
1881
1882         This change makes HitTests allow shadow contents by default.
1883
1884         To track all existing HitTests which do not allow shadow contents,
1885         and discourage such a HitTest in the future, I've introduced
1886         disallowShadowContenet flag so that callers must turn on this flag
1887         explicitly if they want to disallow shadow contents in their HitTests.
1888
1889         This change should be refactoring and should not include any
1890         behavior changes.  After this change, we'll investigate each place
1891         where disallowShadowContents is used step by step and get rid of
1892         the flag if it is okay to remove.
1893
1894         No new tests, no behavior change.
1895
1896         * dom/Document.h:
1897         (Document):
1898         * dom/TreeScope.cpp:
1899         (WebCore::nodeFromPoint):
1900         * editing/FrameSelection.cpp:
1901         (WebCore::FrameSelection::contains):
1902         * page/DragController.cpp:
1903         (WebCore::elementUnderMouse):
1904         (WebCore::DragController::canProcessDrag):
1905         (WebCore::DragController::startDrag):
1906         * page/EventHandler.cpp:
1907         (WebCore::EventHandler::handleMouseDraggedEvent):
1908         (WebCore::EventHandler::eventMayStartDrag):
1909         (WebCore::EventHandler::updateSelectionForMouseDrag):
1910         (WebCore::EventHandler::hitTestResultAtPoint):
1911         (WebCore::EventHandler::handleMousePressEvent):
1912         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1913         (WebCore::EventHandler::handleMouseMoveEvent):
1914         (WebCore::EventHandler::handleMouseReleaseEvent):
1915         (WebCore::EventHandler::updateDragAndDrop):
1916         (WebCore::EventHandler::isInsideScrollbar):
1917         (WebCore::EventHandler::handleWheelEvent):
1918         (WebCore::EventHandler::handleGestureEvent):
1919         (WebCore::EventHandler::handleGestureLongPress):
1920         (WebCore::EventHandler::handleGestureScrollBegin):
1921         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
1922         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
1923         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
1924         (WebCore::EventHandler::sendContextMenuEvent):
1925         (WebCore::EventHandler::sendContextMenuEventForKey):
1926         (WebCore::EventHandler::hoverTimerFired):
1927         (WebCore::EventHandler::dragSourceEndedAt):
1928         (WebCore::EventHandler::handleDrag):
1929         (WebCore::EventHandler::handleTouchEvent):
1930         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1931         * page/EventHandler.h:
1932         (EventHandler):
1933         * page/FocusController.cpp:
1934         (WebCore::updateFocusCandidateIfNeeded):
1935         * page/Frame.cpp:
1936         (WebCore::Frame::visiblePositionForPoint):
1937         * page/TouchDisambiguation.cpp:
1938         (WebCore::findGoodTouchTargets):
1939         * rendering/HitTestRequest.h:
1940         (WebCore::HitTestRequest::disallowsShadowContent):
1941         * rendering/HitTestResult.cpp:
1942         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
1943         * rendering/RenderFlowThread.cpp:
1944         (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
1945         * rendering/svg/RenderSVGResourceClipper.cpp:
1946         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
1947         * testing/Internals.cpp:
1948         (WebCore::Internals::nodesFromRect):
1949
1950 2013-03-26  Tim Horton  <timothy_horton@apple.com>
1951
1952         [ca] Tell CA to clean up unused resources if a given WebProcess won't be drawing
1953         https://bugs.webkit.org/show_bug.cgi?id=107539
1954         <rdar://problem/13032692>
1955
1956         Reviewed by Simon Fraser.
1957
1958         Update WebCoreSystemInterface.
1959
1960         * platform/mac/WebCoreSystemInterface.h:
1961         * platform/mac/WebCoreSystemInterface.mm:
1962
1963 2013-03-26  Antti Koivisto  <antti@apple.com>
1964
1965         Test if non-immediate descendants obscure background
1966         https://bugs.webkit.org/show_bug.cgi?id=113137
1967
1968         Reviewed by Simon Fraser.
1969
1970         The current obscuration test only covers immediate children. We can find more cases by looking deeper into descendants.
1971         
1972         The patch makes the test sufficiently smart to stop a heavy fully obscured gif animation on micrsoft.com.
1973
1974         * loader/cache/CachedImage.cpp:
1975         (WebCore::CachedImage::animationAdvanced):
1976         * rendering/RenderBox.cpp:
1977         (WebCore::RenderBox::styleDidChange):
1978         
1979             Invalidate parents to max test depth.
1980
1981         (WebCore::RenderBox::backgroundPaintedExtent):
1982         
1983             Background painting is pixel snapped.
1984
1985         (WebCore::isCandidateForOpaquenessTest):
1986         (WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect):
1987         
1988             Separate foreground testing and make it recursive.
1989             Add fast bailout for common static positioned case.
1990             Remove maximum child count, the fast bailouts should prevent long tests.
1991             Add maximum depth so we know how deep we need to invalidate in styleDidChange.
1992
1993         (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
1994         (WebCore):
1995         * rendering/RenderBox.h:
1996         (RenderBox):
1997         * rendering/RenderImage.cpp:
1998         (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
1999         (WebCore):
2000         (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):
2001         
2002         * rendering/RenderImage.h:
2003         (RenderImage):
2004
2005 2013-03-26  Benjamin Poulain  <bpoulain@apple.com>
2006
2007         Regression (r145601): out-of-bounds read in line breaking / new width cache
2008         https://bugs.webkit.org/show_bug.cgi?id=113347
2009
2010         Reviewed by Geoffrey Garen.
2011
2012         The values zero and 0xffff have special values with the default HashTraits. Those values
2013         are also valid values for UChar.
2014
2015         To avoid any table inconsitency, switch from UChar to uint32_t as the key type for
2016         the WidthCache's single char map. The traits is also changed to allow zero as a normal
2017         value.
2018
2019         This makes no space or time change over the previous code because:
2020         -The struct KeyValuePair was already 64bits due to the ABI alignment restrictions on floats.
2021         -The two hashes take the same number of instructions.
2022
2023         * platform/graphics/WidthCache.h:
2024         (WidthCache):
2025
2026 2013-03-26  Kent Tamura  <tkent@chromium.org>
2027
2028         Make HTMLProgressElement::isDeterminate private
2029         https://bugs.webkit.org/show_bug.cgi?id=113299
2030
2031         Reviewed by Kentaro Hara.
2032
2033         The only callsite of isDeterminate outside of HTMLProgressElement
2034         is in StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes,
2035         and we can replace it with Element::shouldAppearIndeterminate.
2036
2037         No new tests. Just a refactoring.
2038
2039         * css/StyleResolver.cpp:
2040         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
2041         Use Element::shouldAppearIndeterminate.
2042         * html/HTMLProgressElement.h:
2043         (HTMLProgressElement): Make isDeterminate private.
2044
2045 2013-03-26  David Grogan  <dgrogan@chromium.org>
2046
2047         IndexedDB: Histogram cause of LevelDB write errors
2048         https://bugs.webkit.org/show_bug.cgi?id=113350
2049
2050         Reviewed by Tony Chang.
2051
2052         Add histogram for source of LevelDB errors on Write in addition to
2053         Open.
2054
2055         No new tests - no good way to test histogram code.
2056
2057         * platform/leveldb/LevelDBDatabase.cpp:
2058         (WebCore::histogramLevelDBError):
2059         (WebCore):
2060         (WebCore::LevelDBDatabase::open):
2061         (WebCore::LevelDBDatabase::write):
2062
2063 2013-03-26  Chris Fleizach  <cfleizach@apple.com>
2064
2065         WebKit does not expose @required or @aria-required as AXRequired on select elements
2066         https://bugs.webkit.org/show_bug.cgi?id=113339
2067
2068         Reviewed by Tim Horton.
2069
2070         Make sure button types can return the AXRequired attribute.
2071
2072         Tests: platform/mac/accessibility/aria-required-popup-button.html
2073
2074         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2075         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2076
2077 2013-03-26  Dean Jackson  <dino@apple.com>
2078
2079         When a primary plugin is restarted, also start similar plugins
2080         https://bugs.webkit.org/show_bug.cgi?id=113265
2081
2082         Reviewed by Tim Horton.
2083
2084         If we detect a primary plugin that is snapshotted, we immediately restart it.
2085         When this happens, we should also restart any other plugins that
2086         match the same origin and type. This allows sites with a lot of
2087         (geometrically) nearby plugins to behave as if they are a single big plugin.
2088
2089         Tests: plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html
2090                plugins/snapshotting/autoplay-similar-to-dominant.html
2091
2092         * WebCore.exp.in: Export mimeTypeFromURL.
2093         * html/HTMLPlugInImageElement.cpp:
2094         (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Use loadedMimeType helper.
2095         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): New method, which copied the
2096             existing code from userDidClickSnapshot.
2097         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Move the similar plugin detection
2098             out into another function and call it.
2099         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Call restartSimilarPlugIns.
2100         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Use loadedMimeType helper.
2101         * html/HTMLPlugInImageElement.h: Declaration of restartSimilarPlugIns.
2102         (WebCore::HTMLPlugInImageElement::loadedMimeType): New helper method since this
2103             code was being often duplicated.
2104
2105 2013-03-26  Brent Fulgham  <bfulgham@webkit.org>
2106
2107         [Windows, WinCairo] Scroll offset being applied to plugins during print operations.
2108         https://bugs.webkit.org/show_bug.cgi?id=39889
2109
2110         Reviewed by Anders Carlsson.
2111
2112         This must be tested manually. See the issue for details.
2113
2114         * plugins/win/PluginViewWin.cpp:
2115         (WebCore::PluginView::paintWindowedPluginIntoContext):
2116         Revise the Windows implementation of the PluginView class
2117         paintWindowedPluginIntoContext to use the containing window
2118         position when computing the plugin's position for printing.
2119
2120 2013-03-26  Xianzhu Wang  <wangxianzhu@chromium.org>
2121
2122         Non-paintsContent fixed position layer should not cause slow scrolling
2123         https://bugs.webkit.org/show_bug.cgi?id=113238
2124
2125         Reviewed by James Robinson.
2126
2127         Added NotCompositedForNoVisibleContent in ViewportConstrainedNotCompositedReason and set it in RLC.
2128
2129         Test: compositing/layer-creation/fixed-position-no-content-scroll-reason.html
2130
2131         * rendering/RenderLayer.h: Add NotCompositedForNoVisibleContent.
2132         * rendering/RenderLayerCompositor.cpp:
2133         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Set NotCompositedForNoVisibleContent reason when the fixed position layer has no visible content.
2134
2135 2013-03-26  Zoltan Horvath  <zoltan@webkit.org>
2136
2137         [CSS Exclusions] The radius of a circle should be computed based on the shorter available dimension
2138         https://bugs.webkit.org/show_bug.cgi?id=113255
2139
2140         Reviewed by Julien Chaffraix.
2141
2142         When we decide what should be the radius of a circle, we should choose the smallest available space. For instance when the
2143         width or height is not resolvable for the circle we should not have a radius for it. This change modifies the behavior to
2144         use the smaller available space, so we won't render unnecessary circle shapes.
2145
2146         Test: fast/exclusions/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html
2147
2148         * rendering/ExclusionShape.cpp:
2149         (WebCore::ExclusionShape::createExclusionShape):
2150
2151 2013-03-26  Timothy Hatcher  <timothy@apple.com>
2152
2153         Make the Web Inspector console work in strict mode with JavaScriptCore.
2154
2155         https://webkit.org/b/65829
2156         rdar://problem/11271238
2157
2158         Reviewed by Joseph Pecoraro.
2159
2160         * inspector/InjectedScriptSource.js:
2161         (InjectedScript.prototype._evaluateOn): Don't use 'eval' parameter (it isn't
2162         allowed in strict mode). Swap window.eval with our known eval instead.
2163
2164 2013-03-26  Ryosuke Niwa  <rniwa@webkit.org>
2165
2166         Heap-use-after-free regression
2167         https://bugs.webkit.org/show_bug.cgi?id=113337
2168
2169         Reviewed by Abhishek Arya and Alexey Proskuryakov.
2170
2171         Use RefPtr instead of raw pointer in m_associatedFormControls.
2172
2173         * dom/Document.cpp:
2174         (WebCore::Document::didAssociateFormControlsTimerFired):
2175         * dom/Document.h:
2176         (Document):
2177         * loader/EmptyClients.h:
2178         (WebCore::EmptyChromeClient::didAssociateFormControls):
2179         * page/ChromeClient.h:
2180         (WebCore::ChromeClient::didAssociateFormControls):
2181
2182 2013-03-26  Alexey Proskuryakov  <ap@apple.com>
2183
2184         <rdar://problem/13194263> Crashes in NetworkProcess due to threading issues
2185         https://bugs.webkit.org/show_bug.cgi?id=113256
2186
2187         Reviewed by Brady Eidson.
2188
2189         Added a new code path in ResourceHandle/ResourceHandleClient that doesn't need
2190         blocking calls. Implemented it for NSURLConnection by changing NSOperationQueue
2191         version to forward calls to main thread.
2192
2193         * WebCore.exp.in: Export new methods.
2194         * WebCore.xcodeproj/project.pbxproj: Added WebCoreResourceHandleAsOperationQueueDelegate.
2195
2196         * platform/network/CredentialStorage.cpp: Assert that unprotected global map operations
2197         happen on main thread.
2198
2199         * platform/network/ResourceHandle.cpp: Added default implementations of functions
2200         that handle async responses.
2201
2202         * platform/network/chromium/ResourceHandle.cpp: Ditto.
2203
2204         * platform/network/ResourceHandle.h: Added functions that are called in response
2205         to new async functions in ResourceHandleClient. Changed Mac delegate type to id,
2206         ast can now be either WebCoreResourceHandleAsDelegate or WebCoreResourceHandleAsOperationQueueDelegate.
2207
2208         * platform/network/ResourceHandleClient.cpp:
2209         (WebCore::ResourceHandleClient::willSendRequestAsync):
2210         (WebCore::ResourceHandleClient::shouldUseCredentialStorageAsync):
2211         (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpaceAsync):
2212         (WebCore::ResourceHandleClient::willCacheResponseAsync):
2213         Default implementations of async client functions. These match default behavior of
2214         sync versions.
2215
2216         * platform/network/ResourceHandleClient.h: Added async functions. A ResourceHandle
2217         should use these when the client returns true from usesAsyncCallbacks().
2218
2219         * platform/network/ResourceHandleInternal.h: Changed to use id for delegate type
2220         here, too.
2221
2222         * platform/network/mac/ResourceHandleMac.mm:
2223         (WebCore::ResourceHandle::delegate): Create an appropriate delegate for the client.
2224         (WebCore::ResourceHandle::willSendRequest): Since this function has a lot of common
2225         behavior in sync and async cases, implement the new code path as a branch inside
2226         it, not as a new function.
2227         (WebCore::ResourceHandle::continueWillSendRequest): Unblock the connection when
2228         response is known.
2229         (WebCore::ResourceHandle::shouldUseCredentialStorage): Branched here too, for consistency.
2230         Perhaps we'll want to break this into separate functions though.
2231         (WebCore::ResourceHandle::continueShouldUseCredentialStorage): Unblock the connection.
2232         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Same change as above.
2233         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace): Ditto.
2234         (WebCore::ResourceHandle::continueWillCacheResponse): Ditto. Currently, delegate
2235         calls the client directly, so we only have a "continue" function, and no "willCacheResponse".
2236
2237         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
2238         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Removed some
2239         nonsense code.
2240
2241         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h: Copied from Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.h.
2242         This delegate is responsible for forwarding calls to main thread. Unfortunately,
2243         this adds some code duplication, which I tried to rectify somewhat in previous patches
2244         by moving more logic to ResourceHandle.
2245
2246         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm: Copied from Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm.
2247         (-[WebCoreResourceHandleAsOperationQueueDelegate detachHandle]): Unblock waiting
2248         threads if we don't expect a response any more.
2249         (-[WebCoreResourceHandleAsOperationQueueDelegate dealloc]): Release the semaphore.
2250         (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]): Unblock
2251         a waiting thread with a response.
2252         (-[WebCoreResourceHandleAsOperationQueueDelegate continueShouldUseCredentialStorage:]): Ditto.
2253         (-[WebCoreResourceHandleAsOperationQueueDelegate continueCanAuthenticateAgainstProtectionSpace:]): Ditto.
2254         (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillCacheResponse:]): Ditto.
2255         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
2256         Run code that uses WebCore objects on main thread.
2257         (-[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]): Ditto.
2258         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
2259         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
2260         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]): Ditto.
2261         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]): Ditto.
2262         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveDataArray:]): Ditto.
2263         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]): Ditto.
2264         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]): Ditto.
2265         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): Ditto.
2266         (-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]): Ditto.
2267         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]): Ditto.
2268         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]): Ditto.
2269
2270 2013-03-26  Tony Chang  <tony@chromium.org>
2271
2272         Autogenerate the scrollAnimatorEnabled setting in Settings.in
2273         https://bugs.webkit.org/show_bug.cgi?id=113253
2274
2275         Reviewed by James Robinson.
2276
2277         Convert scrollAnimatorEnabled into an autogenerated setting. This involves renaming
2278         the setter from setEnableScrollAnimator(bool) to setScrollAnimatorEnabled(bool) and
2279         updating the callers. I didn't change any WebKit API methods.
2280
2281         Also remove the code in InternalSettings since it's never used and will now be
2282         autogenerated with proper resetting code.
2283
2284         No new tests, this is a refactor and should compile.
2285
2286         * page/Settings.cpp:
2287         (WebCore::Settings::Settings): Remove code that is now autogenerated.
2288         * page/Settings.h:
2289         (Settings): Remove code that is now autogenerated.
2290         * page/Settings.in: Add entry for scrollAnimatorEnabled.
2291         * testing/InternalSettings.cpp: Remove unused code.
2292         * testing/InternalSettings.h: Remove unused code.
2293         * testing/InternalSettings.idl: Remove unused code.
2294
2295 2013-03-26  Joe Mason  <jmason@blackberry.com>
2296
2297         [BlackBerry] In RSSFilterStream, don't swallow headers when there's no body
2298         https://bugs.webkit.org/show_bug.cgi?id=113334
2299
2300         Reviewed by Rob Buis.
2301
2302         RIM PR 316345
2303
2304         When receiving an HTTP response that has a Content-Type header such as text/xml, but no
2305         body, RSSFilterStream::notifyHeadersReceived reads the Content-Type as "potential RSS", and
2306         calls saveHeaders. It expects to sniff the body in notifyDataReceived to see if it's RSS,
2307         and then call sendSavedHeaders to pass on the headers. But since there is no body,
2308         notifyDataReceived is never called. So call sendSavedHeaders in notifyClose too (it will not
2309         send them again if they were already sent.)
2310
2311         * platform/network/blackberry/rss/RSSFilterStream.cpp:
2312         (WebCore::RSSFilterStream::notifyClose):
2313
2314 2013-03-26  Dmitry Zvorygin  <zvorygin@chromium.org>
2315
2316         Web Inspector: Faster drawer animation.
2317         https://bugs.webkit.org/show_bug.cgi?id=113330
2318
2319         250ms -> 100ms
2320
2321         Reviewed by Pavel Feldman.
2322
2323         * inspector/front-end/inspector.css:
2324         (.animate #main):
2325         (.animate #floating-status-bar-container):
2326         (.animate #drawer):
2327         (.animate #bottom-status-bar-container > *):
2328
2329 2013-03-26  Brent Fulgham  <bfulgham@webkit.org>
2330
2331         [WinCairo] Unreviewed Build fix.
2332
2333         * platform/graphics/win/FontCustomPlatformDataCairo.h:
2334         (FontCustomPlatformData): Correct signature in header to match
2335         required implementation.
2336
2337 2013-03-26  Arvid Nilsson  <anilsson@rim.com>
2338
2339         [BlackBerry] Scrolling up and down can cause the screen to flash black
2340         https://bugs.webkit.org/show_bug.cgi?id=113269
2341
2342         Reviewed by Rob Buis.
2343
2344         PR 296106
2345
2346         The LayerRenderer should never clear before drawing the layers, from
2347         now on that's the responsibility of the caller.
2348
2349         Only manually testable.
2350
2351         * platform/graphics/blackberry/LayerRenderer.cpp:
2352         (WebCore::LayerRenderer::setViewport):
2353         * platform/graphics/blackberry/LayerRendererClient.h:
2354         (LayerRendererClient):
2355
2356 2013-03-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2357
2358         [Qt] editing/pasteboard/can-read-in-dragstart-event.html and /can-read-in-copy-and-cut-events.html are crashing
2359         https://bugs.webkit.org/show_bug.cgi?id=113126
2360
2361         Reviewed by Jocelyn Turcotte.
2362
2363         Make it possible to read from a writable Clipboard.
2364
2365         Test: editing/pasteboard/can-read-in-copy-and-cut-events.html
2366
2367         * platform/qt/ClipboardQt.cpp:
2368         (WebCore::ClipboardQt::getData):
2369         (WebCore::ClipboardQt::types):
2370         (WebCore::ClipboardQt::files):
2371         (WebCore::ClipboardQt::readClipboardData):
2372         (WebCore::ClipboardQt::hasData):
2373         (WebCore::ClipboardQt::items):
2374         * platform/qt/ClipboardQt.h:
2375         (ClipboardQt):
2376
2377 2013-03-26  Brent Fulgham  <bfulgham@webkit.org>
2378
2379         [WinCairo] Unreviewed build correction.
2380
2381         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2382         (WebCore::FontCustomPlatformData::fontPlatformData): Update
2383         method signature to match CG variant.
2384
2385 2013-03-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2386
2387         Code duplication between HTTPParsers and HTTPValidation
2388         https://bugs.webkit.org/show_bug.cgi?id=113283
2389
2390         Reviewed by Alexey Proskuryakov.
2391
2392         Merged isValidHTTPToken() from HTTPValidation.h and isRFC2616Token() from
2393         HTTPParsers.h. They were doing exactly the same thing and their
2394         implementation was almost the same.
2395
2396         Removed HTTPValidation.* and moved remaining code to HTTPParsers.* as this
2397         seems like the proper place and it seems odd to keep HTTPValidation for
2398         just one function.
2399
2400         No new tests, no behavior change for layout tests.
2401
2402         * CMakeLists.txt:
2403         * GNUmakefile.list.am:
2404         * Target.pri:
2405         * WebCore.gypi:
2406         * WebCore.vcproj/WebCore.vcproj:
2407         * WebCore.vcxproj/WebCore.vcxproj:
2408         * WebCore.vcxproj/WebCore.vcxproj.filters:
2409         * WebCore.xcodeproj/project.pbxproj:
2410         * platform/network/HTTPParsers.cpp:
2411         (WebCore::isValidHTTPHeaderValue):
2412         (WebCore):
2413         (WebCore::isValidHTTPToken): Implementation is slightly simplified based on
2414         isValidHTTPToken() from HTTPValidation.cpp. (c >= 0x80 || c == 0x7F) is
2415         replaced by (c >= 0x7F). (c <= 0x1F ||  c == ' ' || c == '\t') is replaced
2416         by (c <= 0x20). Those expressions are shorter but equivalent.
2417         (WebCore::contentDispositionType):
2418         * platform/network/HTTPParsers.h:
2419         * platform/network/HTTPValidation.cpp: Removed.
2420         * platform/network/HTTPValidation.h: Removed.
2421         * xml/XMLHttpRequest.cpp: Stop including HTTPValidation.h.
2422
2423 2013-03-26  Sergio Villar Senin  <svillar@igalia.com>
2424
2425         Implement overtype mode for editable content
2426         https://bugs.webkit.org/show_bug.cgi?id=112126
2427
2428         Reviewed by Ryosuke Niwa.
2429
2430         Tests: editing/execCommand/overtype-support.html
2431                editing/execCommand/overtype.html
2432
2433         Add a new Overwrite command to the editor. This command will
2434         perform overtype operations when enabled instead of "normal" text
2435         insertions. As IE does, we maintain a single toggle state in the
2436         editor (enabled/disabled) for all the editable content in the
2437         page.
2438
2439         This new command will be only available for richly editable
2440         content via keybindings or the context menu. For testing purposes
2441         it is also accessible via internals.
2442
2443         * editing/CompositeEditCommand.cpp:
2444         (WebCore::CompositeEditCommand::replaceTextInNode): Use RefPtr for
2445         local variables.
2446         * editing/Editor.cpp:
2447         (WebCore::Editor::Editor):
2448         * editing/Editor.h:
2449         (WebCore::Editor::isOverwriteModeEnabled):
2450         (WebCore::Editor::toggleOverwriteModeEnabled):
2451         (Editor): Added two new functions and a new attribute.
2452         * editing/EditorCommand.cpp:
2453         (WebCore::executeToggleOverwrite): Enables/disables overwrite mode.
2454         (WebCore):
2455         (WebCore::createCommandMap): New OverWrite command.
2456         * editing/InsertTextCommand.cpp:
2457         (WebCore::InsertTextCommand::setEndingSelectionWithoutValidation):
2458         Refactored from performTrivialReplace(), shared by
2459         performOverwrite().
2460         (WebCore):
2461         (WebCore::InsertTextCommand::performTrivialReplace):
2462         (WebCore::InsertTextCommand::performOverwrite):
2463         (WebCore::InsertTextCommand::doApply): Perform overwrite if enabled.
2464         * editing/InsertTextCommand.h:
2465         (InsertTextCommand):
2466         * testing/Internals.cpp:
2467         (WebCore::Internals::resetToConsistentState): Reset OverWrite mode
2468         to false.
2469         (WebCore::Internals::isOverwriteModeEnabled):
2470         (WebCore):
2471         (WebCore::Internals::toggleOverwriteModeEnabled): Provide access
2472         to overwrite functionality in Editor for testing purposes.
2473         * testing/Internals.h:
2474         (Internals):
2475         * testing/Internals.idl:
2476
2477 2013-03-26  Arvid Nilsson  <anilsson@rim.com>
2478
2479         [BlackBerry] WebOverlay::pixelViewportRect() should return pixel viewport coordinates
2480         https://bugs.webkit.org/show_bug.cgi?id=113263
2481
2482         Reviewed by Rob Buis.
2483
2484         PR 312404
2485
2486         Fix WebOverlay::pixelViewportRect() to return the pixel viewport rect
2487         instead of the window rect. These are different if the web page is
2488         rendered starting at a window coordinate other than 0,0. The clip rect
2489         encodes the position we're rendered at, and can be used to translate
2490         the rect expressed in window coordinates to the pixel viewport
2491         coordinate system.
2492
2493         Also perform some cleanup of related code.
2494
2495         Only manually testable.
2496
2497         * platform/graphics/blackberry/LayerCompositingThread.cpp:
2498         (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
2499         (WebCore::LayerCompositingThread::drawTextures):
2500         * platform/graphics/blackberry/LayerRenderer.cpp:
2501         (WebCore::toPixelCoordinates):
2502         (WebCore):
2503         (WebCore::LayerRenderer::toWindowCoordinates):
2504         (WebCore::LayerRenderer::toPixelViewportCoordinates):
2505         (WebCore::LayerRenderer::toDocumentViewportCoordinates):
2506         (WebCore::LayerRenderer::updateLayersRecursive):
2507         * platform/graphics/blackberry/LayerRenderer.h:
2508         (LayerRenderer):
2509
2510 2013-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2511
2512         Unreviewed, rolling out r146901.
2513         http://trac.webkit.org/changeset/146901
2514         https://bugs.webkit.org/show_bug.cgi?id=113321
2515
2516         Was landed to soon (Requested by pfeldman on #webkit).
2517
2518         * inspector/front-end/ConsoleView.js:
2519         (WebInspector.ConsoleView.prototype.):
2520         (WebInspector.ConsoleView.prototype.filter):
2521         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
2522         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
2523         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
2524         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
2525         (WebInspector.ConsoleView.prototype._consoleCleared):
2526         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
2527         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get preserveLogItemAction):
2528         (WebInspector.ConsoleView.prototype._shouldBeVisible):
2529         (WebInspector.ConsoleView.prototype._updateMessageList):
2530         (WebInspector.ConsoleView.prototype._promptKeyDown):
2531         (WebInspector.ConsoleView.prototype._printResult):
2532         (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
2533         * inspector/front-end/inspector.css:
2534         (.console-warning-level, .console-error-level, .console-log-level, .console-debug-level):
2535         (.filter-all .console-debug-level, .filter-debug .console-debug-level):
2536         (.filter-all .console-debug-level.repeated-message, .filter-debug .console-debug-level.repeated-message):
2537
2538 2013-03-26  Rafael Weinstein  <rafaelw@chromium.org>
2539
2540         HTMLStackItem should include <template> as a special tag
2541         https://bugs.webkit.org/show_bug.cgi?id=113016
2542
2543         Reviewed by Eric Seidel.
2544
2545         New test added to html5lib suite.
2546
2547         * html/parser/HTMLStackItem.h:
2548         (WebCore::HTMLStackItem::isSpecialNode):
2549
2550 2013-03-26  Vsevolod Vlasov  <vsevik@chromium.org>
2551
2552         Web Inspector: Distinguish breakpoints and breakpoint locations in BreakpointManager API
2553         https://bugs.webkit.org/show_bug.cgi?id=113311
2554
2555         Reviewed by Pavel Feldman.
2556
2557         Made independent handling of breakpoints and breakpoint location in breakpoint manager consistent.
2558         JavaScriptSourceFrame now removes breakpoints originally set in it based on primary UI location.
2559
2560         * inspector/front-end/BreakpointManager.js:
2561         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
2562         (WebInspector.BreakpointManager.prototype.allBreakpoints):
2563         (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
2564         (WebInspector.BreakpointManager.prototype.allBreakpointLocations):
2565         (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
2566         (WebInspector.BreakpointManager.prototype._projectWillReset):
2567         * inspector/front-end/JavaScriptSourceFrame.js:
2568         (WebInspector.JavaScriptSourceFrame.prototype.onUISourceCodeContentChanged):
2569         (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
2570         (WebInspector.JavaScriptSourceFrame.prototype._removeAllBreakpoints):
2571
2572 2013-03-26  Dmitry Zvorygin  <zvorygin@chromium.org>
2573
2574         Web Inspector: Remove remainings of CSS-based console message filtering.
2575         https://bugs.webkit.org/show_bug.cgi?id=112710
2576
2577         Reviewed by Pavel Feldman.
2578
2579         * inspector/front-end/ConsoleView.js:
2580         (WebInspector.ConsoleView.get this):
2581         (WebInspector.ConsoleView.prototype.):
2582         (WebInspector.ConsoleView.prototype.filter):
2583         (WebInspector.ConsoleView.prototype._consoleMessageAdded):
2584         (WebInspector.ConsoleView.prototype._appendConsoleMessage):
2585         (WebInspector.ConsoleView.prototype._consoleCleared):
2586         (WebInspector.ConsoleView.prototype._shouldBeVisible):
2587         (WebInspector.ConsoleView.prototype._updateMessageList):
2588         (WebInspector.ConsoleView.prototype._promptKeyDown):
2589         (WebInspector.ConsoleView.prototype._printResult):
2590         (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
2591         * inspector/front-end/inspector.css:
2592         (.console-debug-level.repeated-message):
2593
2594 2013-03-26  Peter Rybin  <prybin@chromium.org>
2595
2596         Web Inspector: refactor code duplication: WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements
2597         https://bugs.webkit.org/show_bug.cgi?id=113211
2598
2599         Reviewed by Yury Semikhatsky.
2600
2601         A new method WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements is added and used
2602         from 2 sites.
2603
2604         * inspector/front-end/ObjectPropertiesSection.js:
2605         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
2606         (WebInspector.ObjectPropertiesSection.prototype.update):
2607         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
2608         (.callback):
2609         (WebInspector.ObjectPropertyTreeElement.populate):
2610         (WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements):
2611         * inspector/front-end/WatchExpressionsSidebarPane.js:
2612         (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
2613         (WebInspector.WatchExpressionsSection.prototype.update):
2614
2615 2013-03-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2616
2617         HTTPHeaderMap::copyData() could call uncheckedAppend()
2618         https://bugs.webkit.org/show_bug.cgi?id=113279
2619
2620         Reviewed by Alexey Proskuryakov.
2621
2622         HTTPHeaderMap::copyData() calls reserveInitialCapacity() on the Vector
2623         but then appends items using append() function. Since we already know
2624         the capacity is sufficient, it is more efficient to call uncheckedAppend()
2625         instead to bypass capacity checks.
2626
2627         No new tests, no behavior change for layout tests.
2628
2629         * platform/network/HTTPHeaderMap.cpp:
2630         (WebCore::HTTPHeaderMap::copyData):
2631
2632 2013-03-26  Vsevolod Vlasov  <vsevik@chromium.org>
2633
2634         Web Inspector: UISourceCodes are leaking on reload sometimes.
2635         https://bugs.webkit.org/show_bug.cgi?id=113310
2636
2637         Reviewed by Pavel Feldman.
2638
2639         * inspector/front-end/BreakpointManager.js:
2640         (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
2641         (WebInspector.BreakpointManager.prototype._projectWillReset):
2642         * inspector/front-end/ConsoleModel.js:
2643         (WebInspector.ConsoleModel.prototype.clearMessages):
2644
2645 2013-03-26  Alexander Pavlov  <apavlov@chromium.org>
2646
2647         Web Inspector: [Elements] Unable to "Edit as HTML" XHTML/SVG documents.
2648         https://bugs.webkit.org/show_bug.cgi?id=113290
2649
2650         Reviewed by Pavel Feldman.
2651
2652         DOMPatchSupport has been slightly augmented to handle XML (XHTML and SVG) documents.
2653
2654         Test: inspector/elements/set-outer-html-for-xhtml.xhtml
2655
2656         * inspector/DOMPatchSupport.cpp:
2657         (WebCore::DOMPatchSupport::patchDocument):
2658         (WebCore::DOMPatchSupport::patchNode):
2659         * inspector/InspectorDOMAgent.cpp:
2660         (WebCore::InspectorDOMAgent::setOuterHTML): Let HTML, XHTML, and SVG documents through.
2661
2662 2013-03-26  Hajime Morrita  <morrita@google.com>
2663
2664         https://bugs.webkit.org/show_bug.cgi?id=113164
2665         Custom Elements: readyCallback should be called for outerHTML and insertAdjecentHTML
2666
2667         These APIs also create new elements thus should have V8DeliverCustomElementCallbacks attribute.
2668
2669         Reviewed by Dimitri Glazkov.
2670
2671         Test: Updated lifecycle-ready-creation-api.html.
2672
2673         * html/HTMLElement.idl:
2674
2675 2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
2676
2677         Unreviewed. WebInspector: remove unnecessary method.
2678
2679         * inspector/front-end/OverviewGrid.js:
2680         (WebInspector.OverviewGrid.Window):
2681
2682 2013-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
2683
2684         Web Inspector: Flame Chart. Scroll dividers together with underlying chart.
2685         http://bugs.webkit.org/show_bug.cgi?id=113080
2686
2687         Reviewed by Pavel Feldman.
2688
2689         * inspector/front-end/FlameChart.js:
2690         (WebInspector.FlameChart.Calculator.prototype.grandMinimumBoundary):
2691         (WebInspector.FlameChart.prototype._canvasDragging):
2692         * inspector/front-end/TimelineGrid.js:
2693         (WebInspector.TimelineGrid.prototype.updateDividers):
2694
2695 2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
2696
2697         Web Inspector: Flame Chart. Scroll dividers together with underlying chart.
2698         http://bugs.webkit.org/show_bug.cgi?id=113080
2699
2700         Reviewed by Pavel Feldman.
2701
2702         The only thing we need to do for this feature is to automatically adjust
2703         the initial offset for the dividers. I measured the speed of scrolling and found
2704         no difference. The speed is about 16ms so we have 60fps on dragging.
2705
2706         * inspector/front-end/FlameChart.js:
2707         (WebInspector.FlameChart.Calculator.prototype.grandMinimumBoundary):
2708         (WebInspector.FlameChart.OverviewCalculator.prototype.grandMinimumBoundary):
2709         (WebInspector.FlameChart.prototype._canvasDragging):
2710         * inspector/front-end/NetworkPanel.js:
2711         (WebInspector.NetworkBaseCalculator.prototype.grandMinimumBoundary):
2712         * inspector/front-end/TimelineGrid.js:
2713         (WebInspector.TimelineGrid.prototype.updateDividers):
2714         (WebInspector.TimelineGrid.Calculator.prototype.grandMinimumBoundary):
2715         * inspector/front-end/TimelineOverviewPane.js:
2716         (WebInspector.TimelineOverviewCalculator.prototype.grandMinimumBoundary):
2717         * inspector/front-end/TimelinePanel.js:
2718         (WebInspector.TimelineCalculator.prototype.grandMinimumBoundary):
2719
2720 2013-03-26  Mike West  <mkwst@chromium.org>
2721
2722         CSP 1.1: Experiment with 'base-uri' directive.
2723         https://bugs.webkit.org/show_bug.cgi?id=113307
2724
2725         Reviewed by Jochen Eisinger.
2726
2727         The 'base-uri' directive was introduced[1] as an experimental directive
2728         in CSP 1.1 after a bit of discussion[2][3]. The exact semantics will
2729         likely change, but it would be good for us to get some implementation
2730         experience with the API as currently specified, and to allow folks to
2731         play with the implementation to determine whether it meets the
2732         requirements the way we think it might.
2733
2734         This patch is a first pass at that implementation: it will have no
2735         effect on ports that haven't enabled the CSP_NEXT flag.
2736
2737         [1]: https://dvcs.w3.org/hg/content-security-policy/rev/4b89c246ea16
2738         [2]: http://lists.w3.org/Archives/Public/public-webappsec/2012Oct/0022.html
2739         [3]: http://lists.w3.org/Archives/Public/public-webappsec/2013Feb/0074.html
2740
2741         Tests: http/tests/security/contentSecurityPolicy/1.1/base-uri-allow.html
2742                http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html
2743
2744         * dom/Document.cpp:
2745         (WebCore::Document::processBaseElement):
2746             Check that the new base URI is allowed by CSP before using it as
2747             the document's base URI.
2748         * page/ContentSecurityPolicy.cpp:
2749             Add a constant for the new directive name (and, as a drive-by, split
2750             the list into CSP 1.0 and CSP 1.1 for clarity).
2751         (CSPDirectiveList):
2752             Add a property to hold the base URI policy directive value.
2753         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
2754             Customize the error message iff we're dealing with 'base-uri'.
2755         (WebCore::CSPDirectiveList::allowBaseURI):
2756             Check the given URI against the 'base-uri' directive's value,
2757             exactly as we do for every other source-list type of directive.
2758         (WebCore::CSPDirectiveList::addDirective):
2759             Accept 'base-uri' as a valid directive iff CSP_NEXT is set, and
2760             the embedder has opted-in via the runtime flag.
2761         (WebCore::ContentSecurityPolicy::allowBaseURI):
2762             Expose an API method on ContentSecurityPolicy to check URIs against
2763             the 'base-uri' directive's value.
2764
2765 2013-03-26  Arvid Nilsson  <anilsson@rim.com>
2766
2767         [BlackBerry] Main frame fixed divs not positioned correctly
2768         https://bugs.webkit.org/show_bug.cgi?id=112889
2769
2770         Reviewed by Carlos Garcia Campos.
2771
2772         PR 283363
2773
2774         This was a regression from bug #112806. It caused main frame fixed
2775         handling to enter the iframe/scrollable div code path in LayerRenderer.
2776
2777         Fixed by not setting the container for fixed flag on the main frame,
2778         the LayerRenderer expects this flag to be set only on non-mainframe
2779         containers.
2780
2781         Only manually testable.
2782
2783         * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:
2784         (WebCore::scrollLayerForFrame):
2785         (WebCore):
2786         (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsContainerForFixedPositionLayers):
2787         (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsFixedToContainerLayer):
2788
2789 2013-03-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2790
2791         FormData::deepCopy() could use Vector::uncheckedAppend()
2792         https://bugs.webkit.org/show_bug.cgi?id=113309
2793
2794         Reviewed by Kenneth Rohde Christiansen.
2795
2796         FormData::deepCopy() calls reserveInitialCapacity() on the Vector but then uses the
2797         regular append() method. This patch switches to using uncheckedAppend() method
2798         instead to bypass capacity checks as we already know it is sufficient.
2799
2800         No new tests, no behavior change.
2801
2802         * platform/network/FormData.cpp:
2803         (WebCore::FormData::deepCopy):
2804
2805 2013-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2806
2807         Unreviewed, rolling out r146879.
2808         http://trac.webkit.org/changeset/146879
2809         https://bugs.webkit.org/show_bug.cgi?id=113312
2810
2811         Multiple layout test crashes in
2812         WebCore::RenderListItem::updateListMarkerNumbers (Requested by
2813         yurys on #webkit).
2814
2815         * dom/Node.cpp:
2816         * dom/Node.h:
2817         (Node):
2818         * dom/NodeTraversal.cpp:
2819         * dom/NodeTraversal.h:
2820         (ElementTraversal):
2821         (NodeTraversal):
2822         * html/HTMLLIElement.cpp:
2823         (WebCore::HTMLLIElement::attach):
2824         * html/HTMLOListElement.cpp:
2825         (WebCore::HTMLOListElement::updateItemValues):
2826         (WebCore::HTMLOListElement::recalculateItemCount):
2827         * rendering/RenderCounter.cpp:
2828         (WebCore::previousInPreOrder):
2829         (WebCore::previousSiblingOrParent):
2830         (WebCore::parentElement):
2831         (WebCore::nextInPreOrder):
2832         * rendering/RenderListItem.cpp:
2833         (WebCore::enclosingList):
2834         (WebCore::RenderListItem::nextListItem):
2835         (WebCore::previousListItem):
2836         (WebCore::RenderListItem::calcValue):
2837         (WebCore::RenderListItem::explicitValueChanged):
2838         (WebCore::previousOrNextItem):
2839         (WebCore::RenderListItem::updateListMarkerNumbers):
2840         * rendering/RenderListItem.h:
2841         (RenderListItem):
2842
2843 2013-03-26  Hajime Morrita  <morrita@google.com>
2844
2845         remoeveAllEventListeners() should be called to shadow trees
2846         https://bugs.webkit.org/show_bug.cgi?id=113037
2847
2848         Reviewed by Dimitri Glazkov.
2849
2850         Document::removeAllEventListeners() doesn't traverse shadow tree, but we should.
2851         This change override Element::removeAllEventListeners() so that it cleans its shadow trees up.
2852
2853         Test: fast/dom/shadow/shadow-tree-listener-clearance.html
2854
2855         * dom/Element.cpp:
2856         (WebCore::Element::removeAllEventListeners):
2857         (WebCore):
2858         * dom/Element.h:
2859         (Element):
2860         * dom/ElementShadow.cpp:
2861         (WebCore::ElementShadow::removeAllEventListeners): Added.
2862         (WebCore):
2863         * dom/ElementShadow.h:
2864         (ElementShadow):
2865
2866 2013-03-26  Andrei Bucur  <abucur@adobe.com>
2867
2868         Use DOM ordering for list counts
2869         https://bugs.webkit.org/show_bug.cgi?id=110352
2870
2871         Reviewed by Elliott Sprehn.
2872
2873         Currently the list items ordering is made by traversing the render tree. This gives bad results for:
2874         - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
2875         - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
2876         list so the numbering gets broken.
2877
2878         To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
2879         so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
2880         namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
2881         for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
2882         pre-order traversal methods aware of the pseudo-elements.
2883         An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
2884         no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
2885         first parent of the <li> or the shadow root if there is no ancestor.
2886         The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
2887         To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
2888         of this method. The CSS counters and the list items now have the same traversal algorithm.
2889
2890         In later patches I'll add tests that should cover the regions and shadow DOM use cases.
2891         Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
2892         Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975
2893
2894         Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
2895         and fast/dom/shadow/shadow-and-list-elements.html
2896
2897         * dom/Node.cpp:
2898         (WebCore::Node::pseudoAwarePreviousSibling):
2899         (WebCore):
2900         (WebCore::Node::pseudoAwareNextSibling):
2901         (WebCore::Node::pseudoAwareFirstChild):
2902         (WebCore::Node::pseudoAwareLastChild):
2903         * dom/Node.h:
2904         (Node):
2905         * dom/NodeTraversal.cpp:
2906         (WebCore):
2907         (WebCore::NodeTraversal::previousIncludingPseudo):
2908         (NodeTraversal):
2909         (WebCore::NodeTraversal::nextIncludingPseudo):
2910         (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
2911         * dom/NodeTraversal.h:
2912         (ElementTraversal):
2913         (NodeTraversal):
2914         (WebCore::ElementTraversal::previousIncludingPseudo):
2915         (WebCore::ElementTraversal::nextIncludingPseudo):
2916         (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
2917         (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
2918         * html/HTMLLIElement.cpp:
2919         (WebCore::HTMLLIElement::attach):
2920         * html/HTMLOListElement.cpp:
2921         (WebCore::HTMLOListElement::updateItemValues):
2922         (WebCore::HTMLOListElement::recalculateItemCount):
2923         * rendering/RenderCounter.cpp:
2924         (WebCore::previousInPreOrder):
2925         (WebCore::previousSiblingOrParent):
2926         (WebCore::parentElement):
2927         (WebCore::nextInPreOrder):
2928         * rendering/RenderListItem.cpp:
2929         (WebCore):
2930         (WebCore::enclosingList):
2931         (WebCore::RenderListItem::nextListItem):
2932         (WebCore::previousListItem):
2933         (WebCore::RenderListItem::calcValue):
2934         (WebCore::RenderListItem::explicitValueChanged):
2935         (WebCore::previousOrNextItem):
2936         (WebCore::RenderListItem::updateListMarkerNumbers):
2937         * rendering/RenderListItem.h:
2938         (RenderListItem):
2939
2940 2013-03-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2941
2942         [Qt] Poor rounding in GraphicsContext::drawLineForText
2943         https://bugs.webkit.org/show_bug.cgi?id=113301
2944
2945         Reviewed by Jocelyn Turcotte.
2946
2947         Round the position of the line decoration, so lines on subpixel
2948         coordinates are not always rounded up.
2949
2950         * platform/graphics/qt/GraphicsContextQt.cpp:
2951         (WebCore::GraphicsContext::drawLineForText):
2952
2953 2013-03-26  Vsevolod Vlasov  <vsevik@chromium.org>
2954
2955         Web Inspector: Decorations in several consecutive lines are not moved correctly in DTE.
2956         https://bugs.webkit.org/show_bug.cgi?id=113296
2957
2958         Reviewed by Pavel Feldman.
2959
2960         Separated removing and adding decorations so that moved decorations are not removed when next line is processed.
2961
2962         * inspector/front-end/DefaultTextEditor.js:
2963         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2964
2965 2013-03-26  Yury Semikhatsky  <yurys@chromium.org>
2966
2967         Remove references to non-chromium entries from WebCore.gypi (part 2)
2968         https://bugs.webkit.org/show_bug.cgi?id=103124
2969
2970         Reviewed by Pavel Feldman.
2971
2972         * WebCore.gypi: removed unused references to gtk, cf, win and mac
2973
2974 2013-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2975
2976         Unreviewed, rolling out r146767.
2977         http://trac.webkit.org/changeset/146767
2978         https://bugs.webkit.org/show_bug.cgi?id=113295
2979
2980         Rolling out until nicer fonts / sizes are chosen (Requested by
2981         pfeldman on #webkit).
2982
2983         * inspector/front-end/dataGrid.css:
2984         (.data-grid table):
2985         (.data-grid td):
2986         * inspector/front-end/inspector.css:
2987         (.toolbar-label):
2988         (body.show-toolbar-icons .toolbar-label):
2989         (.console-message .bubble):
2990         (li .status .bubble):
2991         (.source-frame-breakpoint-message):
2992         (.soft-context-menu):
2993         (.drawer-header-close-button):
2994         * inspector/front-end/inspectorCommon.css:
2995         (body):
2996         * inspector/front-end/networkLogView.css:
2997         (.network-log-grid.data-grid td):
2998         (.network-log-grid.data-grid.small td):
2999         * inspector/front-end/tabbedPane.css:
3000         (.tabbed-pane-header-tab):
3001         (.tabbed-pane-header-tab-close-button):
3002         * inspector/front-end/timelinePanel.css:
3003         (.timeline-tree-item .count):
3004         (.timeline-records-stats, .storage-application-cache-status, .storage-application-cache-connectivity):
3005         (.memory-counter-sidebar-info):
3006         (.memory-counter-value):
3007
3008 2013-03-26  Arpita Bahuguna  <a.bah@samsung.com>
3009
3010         Unable to insert a paragraph in between some text whose previous sibling is a non-editable block.
3011         https://bugs.webkit.org/show_bug.cgi?id=113007
3012
3013         Reviewed by Ryosuke Niwa.
3014
3015         Unable to insert a line break in between a text that follows a
3016         non-editable block but is itself contained within an editable
3017         block.
3018
3019         While comparing the positions from the start block till the
3020         insertion position, we should ignore the nodes that do not
3021         generate a visiblePosition for the position before the node.
3022         This ultimately results in an assert within comparePositions().
3023
3024         For this case, the firstChild of the start block is a text
3025         node with no renderer which would thus not generate a candidate
3026         position for itself.
3027         There is also no candidate previous to it, and since
3028         the position after it lies within a different editable element (root),
3029         no candidate after it as well.
3030         Such a point will thus return a null visiblePosition.
3031
3032         Test: editing/inserting/insert-paragraph-between-text.html
3033
3034         * editing/InsertParagraphSeparatorCommand.cpp:
3035         (WebCore::InsertParagraphSeparatorCommand::doApply):
3036         Added a check to verify the generated visiblePosition (for the
3037         position before the node) prior to carrying out a comparison with
3038         the insertion point.
3039
3040 2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
3041
3042         Web Inspector: OverviewGrid. Dragged window may change its width due to accumulating rounding error.
3043         https://bugs.webkit.org/show_bug.cgi?id=113138
3044
3045         Reviewed by Pavel Feldman.
3046
3047         The old version had problem with rounding because it recalculates the window size on each event.
3048         The new version just calculates the dragging delta and moves the window
3049         to the new position based on the initial values and the delta.
3050
3051         * inspector/front-end/OverviewGrid.js:
3052         (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
3053         (WebInspector.OverviewGrid.Window.prototype._windowDragging):
3054         (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
3055
3056 2013-03-26  Kent Tamura  <tkent@chromium.org>
3057
3058         Rename HTMLInputElement::isIndeterminate to Element::shouldAppearIndeterminate
3059         https://bugs.webkit.org/show_bug.cgi?id=113264
3060
3061         Reviewed by Kentaro Hara.
3062
3063         HTMLInputElement had indeterminate() and isIndeterminate(). It's very
3064         confusing.
3065
3066         Because indeterminate is a public DOM function and isIndeterminate is
3067         for CSS and rendering, we rename isIndetermiante to
3068         shouldAppearIndeterminate. Also, HTMLProgressElement, which support
3069         :indeterminate pseudo class, should follow it. We add
3070         shouldAppearIndeterminate to Element.
3071
3072         No new tests. Just a refactoring.
3073
3074         * dom/Element.cpp:
3075         (WebCore::Element::shouldAppearIndeterminate): Added. Returns false.
3076         * dom/Element.h:
3077         (Element): Declare shouldAppearIndeterminate.
3078         * html/HTMLInputElement.cpp:
3079         (WebCore::HTMLInputElement::shouldAppearIndeterminate):
3080         Renamed from isIndeterminate.
3081         * html/HTMLInputElement.h:
3082         (HTMLInputElement): Rename isIndeterminate to shouldAppearIndeterminate,
3083         and overrides Element::shouldAppearIndeterminate.
3084         * html/HTMLProgressElement.cpp:
3085         (WebCore::HTMLProgressElement::shouldAppearIndeterminate): Added.
3086         * html/HTMLProgressElement.h: Add shouldAppearIndeterminate.
3087
3088         * accessibility/AccessibilityNodeObject.cpp:
3089         (WebCore::AccessibilityNodeObject::isIndeterminate):
3090         Use shouldAppearIndeterminate.
3091         * css/SelectorChecker.cpp:
3092         (WebCore::SelectorChecker::checkOne): Ditto.
3093         * css/StyleResolver.cpp:
3094         (WebCore::StyleResolver::canShareStyleWithControl): Ditto.
3095         * rendering/RenderTheme.cpp:
3096         (WebCore::RenderTheme::isIndeterminate): Ditto.
3097
3098 2013-03-26  Pan Deng  <pan.deng@intel.com>
3099
3100         Web Inspector: [FlameChart] Make function bar highlighted consistent with cursor.
3101         https://bugs.webkit.org/show_bug.cgi?id=113266.
3102
3103         Reviewed by Vsevolod Vlasov.
3104
3105         In Flamechart, the highlighted function bar is not consistent with cursor sometimes, 
3106         reason is that time range that converted from cursor position is truncated by floor. 
3107         Actually float value is expected to compare with function startTime and duration.
3108
3109         No new tests.
3110
3111         * inspector/front-end/FlameChart.js:
3112         (WebInspector.FlameChart.prototype._coordinatesToNodeIndex): Remove floor
3113
3114 2013-03-26  Mihnea Ovidenie  <mihnea@adobe.com>
3115
3116         [CSSRegions]: Crash accessing offsetParent for contentNodes inside a flow thread
3117         https://bugs.webkit.org/show_bug.cgi?id=112730
3118
3119         Reviewed by Levi Weintraub.
3120
3121         When computing the offsetParent for an element inside a flow thread, do not
3122         let the algorithm process past the flow thread boundaries, until we figure out
3123         the proper behavior. When reaching the flow thread, offsetParent will return 0,
3124         thus preventing the assert while calling toElement inside Element::offsetParent.
3125
3126         The attached test sets the ground work and will be changed to match the right behavior.
3127         For now, it makes sure we do not crash or return HTMLDocument as offsetParent for
3128         elements inside the flow thread.
3129
3130         Test: fast/regions/offsetParent-in-flow-thread.html
3131
3132         * rendering/RenderObject.cpp:
3133         (WebCore::RenderObject::offsetParent):
3134
3135 2013-03-26  Dominik Röttsches  <dominik.rottsches@intel.com>
3136
3137         Remove HarfBuzzShaperBase
3138         https://bugs.webkit.org/show_bug.cgi?id=112087
3139
3140         Reviewed by Martin Robinson.
3141
3142         Folding HarfBuzzShaperBase into HarfBuzzShaper since
3143         there is no harfbuzz-old vs. harfbuzz-ng distinction anymore.
3144
3145         No new tests, no change in behavior.
3146
3147         * GNUmakefile.list.am: Removing HarfBuzzShaperBase.*
3148         * PlatformEfl.cmake: Removing HarfBuzzShaperBase.*
3149         * WebCore.gypi: Removing HarfBuzzShaperBase.*
3150         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp: Folding base class members and methods into HarfBuzzShaper.
3151         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
3152         (WebCore::normalizeSpacesAndMirrorChars):
3153         (WebCore):
3154         (WebCore::HarfBuzzShaper::setNormalizedBuffer):
3155         (WebCore::HarfBuzzShaper::isWordEnd):
3156         (WebCore::HarfBuzzShaper::determineWordBreakSpacing):
3157         (WebCore::HarfBuzzShaper::setPadding):
3158         * platform/graphics/harfbuzz/HarfBuzzShaper.h: Folding base class members and methods into HarfBuzzShaper.
3159         (HarfBuzzShaper):
3160         (WebCore::HarfBuzzShaper::isCodepointSpace):
3161         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: Removed.
3162         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h: Removed.
3163
3164 2013-03-22  Hajime Morrita  <morrita@google.com>
3165
3166         Listening touch events on ShadowRoot can crash.
3167         https://bugs.webkit.org/show_bug.cgi?id=113035
3168
3169         Reviewed by Kentaro Hara.
3170
3171         TreeScope destructor clears a document reference on ShadowRoot but
3172         destructors of ContainerNode and Node assumed it being available
3173         and tried to access it for some cleanup purposes.
3174
3175         This change extracts such cleanup to Node::willBeDeletedFrom() and
3176         calls it from ShadowRoot dtor before the document reference gets cleared.
3177
3178         Test: fast/dom/shadow/shadow-root-touch-listener-crash.html
3179
3180         * dom/ContainerNode.cpp:
3181         (WebCore::ContainerNode::~ContainerNode): Adopted willBeDeletedFrom()
3182         * dom/Node.cpp:
3183         (WebCore::Node::~Node): Adopted willBeDeletedFrom()
3184         (WebCore::Node::willBeDeletedFrom): Extracted from Node and ContainerNode
3185         (WebCore):
3186         * dom/Node.h:
3187         * dom/ShadowRoot.cpp:
3188         (WebCore::ShadowRoot::~ShadowRoot): Adopted willBeDeletedFrom()
3189
3190 2013-03-25  Hajime Morrita  <morrita@google.com>
3191
3192         Custom Elements Refactoring: The name V8CustomElement is confusing.
3193         https://bugs.webkit.org/show_bug.cgi?id=113165
3194
3195         Reviewed by Kent Tamura.
3196
3197         This change moves functions from V8CustomElement to CustomElementHelpers and
3198         removes V8CustomElement. V8CustomElement is just a heritage of old design
3199         and no longer makes sense.
3200
3201         No new tests. No behavior change.
3202
3203         * WebCore.gypi:
3204         * bindings/v8/CustomElementHelpers.cpp:
3205         (WebCore::CustomElementHelpers::createWrapper):
3206         (WebCore):
3207         * bindings/v8/CustomElementHelpers.h:
3208         (CustomElementHelpers):
3209         (WebCore::CustomElementHelpers::wrap):
3210         (WebCore):
3211         (WebCore::CustomElementHelpers::constructorOf):
3212         * bindings/v8/V8CustomElement.cpp: Removed.
3213         * bindings/v8/V8CustomElement.h: Removed.
3214         * bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
3215         (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
3216         * dom/make_names.pl:
3217         (printWrapperFactoryCppFile):
3218
3219 2013-03-25  Eugene Klyuchnikov  <eustas@chromium.org>
3220
3221         Web Inspector: [Timeline] Records sidebar is clipped.
3222         https://bugs.webkit.org/show_bug.cgi?id=113177
3223
3224         Reviewed by Pavel Feldman.
3225
3226         Analysis: depending on CSS injection order sidebar rule that overwrites
3227         "bottom" property may win.
3228
3229         Fix: make timeline-specific rule "important".
3230
3231         * inspector/front-end/timelinePanel.css:
3232         (.timeline .sidebar): Make "bottom" value "important".
3233
3234 2013-03-25  Kent Tamura  <tkent@chromium.org>
3235
3236         Rename ENABLE_INPUT_TYPE_DATETIME
3237         https://bugs.webkit.org/show_bug.cgi?id=113254
3238
3239         Reviewed by Kentaro Hara.
3240
3241         Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
3242         Actually I'd like to remove the code, but we shouldn't remove it yet
3243         because we shipped products with it on some platforms.
3244
3245         * Configurations/FeatureDefines.xcconfig:
3246         * bindings/generic/RuntimeEnabledFeatures.cpp:
3247         (WebCore):
3248         * bindings/generic/RuntimeEnabledFeatures.h:
3249         (RuntimeEnabledFeatures):
3250         * css/html.css:
3251         * html/DateTimeInputType.cpp:
3252         * html/DateTimeInputType.h:
3253         * html/InputType.cpp:
3254         (WebCore::createInputTypeFactoryMap):
3255
3256 2013-03-25  Timothy Hatcher  <timothy@apple.com>
3257
3258         Make the Web Inspector console work in strict mode with JavaScriptCore.
3259
3260         https://webkit.org/b/65829
3261         rdar://problem/11271238
3262
3263         Reviewed by Oliver Hunt.
3264
3265         * bindings/js/JSInjectedScriptHostCustom.cpp:
3266         (WebCore::JSInjectedScriptHost::evaluate):
3267         Return the evalFunction directly.
3268
3269         * inspector/InjectedScriptHost.h:
3270         (WebCore::InjectedScriptHost::evaluateReturnsEvalFunction):
3271         Added. Return true on JSC and false on V8.
3272
3273         * inspector/InjectedScriptHost.idl:
3274         Added evaluateReturnsEvalFunction and change evaluate to an attribute on JSC.
3275
3276         * inspector/InjectedScriptSource.js:
3277         (InjectedScript.prototype._evaluateOn): Change from using 'with' statements to creating
3278         a closure that evaluates the expression. The command line APIs are passed as parameters
3279         to the closure so they are in scope but not injected. This allows the code evaluated in
3280         the console to stay in strict mode (if is was already set), or to get strict mode by
3281         prefixing expressions with 'use strict';.
3282
3283 2013-03-25  Tony Chang  <tony@chromium.org>
3284
3285         Image alt text not included in plain-text version when copying
3286         https://bugs.webkit.org/show_bug.cgi?id=11200
3287
3288         Reviewed by Ryosuke Niwa.
3289
3290         Add a setting to enable copying image alt text to the clipboard and drag and drop pasteboard.
3291         This setting is disabled by default, so each port can enable if they want to match IE10 and
3292         Firefox's behavior.
3293
3294         Test: editing/pasteboard/copy-image-with-alt-text.html
3295
3296         * editing/Editor.cpp:
3297         (WebCore::Editor::cut): Explicitly ask that the selection on the pasteboard as being for the clipboard.
3298         (WebCore::Editor::copy): Explicitly ask that the selection on the pasteboard as being for the clipboard.
3299         (WebCore::Editor::selectedText): Add a private version of selectedText() that can choose between having image alt text or not.
3300         (WebCore::Editor::selectedTextForClipboard): Ask for image alt text if the setting is enabled.
3301         * editing/Editor.h:
3302         * editing/TextIterator.cpp:
3303         (WebCore::TextIterator::TextIterator): Add a bool to keep track of whether or not to emit image alt text.
3304         (WebCore::TextIterator::handleReplacedElement): If there's alt text, point the iterator to it.
3305         * editing/TextIterator.h:
3306         (TextIterator):
3307         * editing/mac/EditorMac.mm:
3308         (WebCore::Editor::takeFindStringFromSelection): Use the same text as on the clipboard.
3309         (WebCore::Editor::writeSelectionToPasteboard): Don't include image alt text since this is
3310         used by Services.
3311         (WebCore::Editor::stringSelectionForPasteboard): Don't include image alt text since this is
3312         used by Services.
3313         * page/DragController.cpp:
3314         (WebCore::DragController::startDrag): Use image alt text (matches Firefox).
3315         * page/Settings.in: Add a setting that disables image alt text by default.
3316         * platform/Pasteboard.h:
3317         * platform/blackberry/PasteboardBlackBerry.cpp:
3318         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3319         * platform/chromium/ClipboardChromium.cpp:
3320         (WebCore::ClipboardChromium::writeRange): Use clipboard text when writing ranges (used by d&d).
3321         * platform/chromium/PasteboardChromium.cpp:
3322         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3323         * platform/efl/PasteboardEfl.cpp:
3324         (WebCore::Pasteboard::writeSelection): Update function param.
3325         * platform/gtk/ClipboardGtk.cpp:
3326         (WebCore::ClipboardGtk::writeRange): Use clipboard text when writing ranges (used by d&d).
3327         * platform/gtk/PasteboardGtk.cpp:
3328         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3329         * platform/mac/ClipboardMac.mm:
3330         (WebCore::ClipboardMac::writeRange): Use clipboard text when writing ranges (used by d&d).
3331         * platform/mac/PasteboardMac.mm:
3332         (WebCore::Pasteboard::getStringSelection): Use ShouldSerializeSelectedTextForClipboard to determine whether the selected
3333         text is for the clipboard or not.
3334         (WebCore::Pasteboard::writeSelectionForTypes): Pass ShouldSerializeSelectedTextForClipboard through.
3335         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3336         * platform/qt/ClipboardQt.cpp:
3337         (WebCore::ClipboardQt::writeRange): Use clipboard text when writing ranges (used by d&d).
3338         * platform/qt/PasteboardQt.cpp:
3339         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3340         * platform/win/ClipboardWin.cpp:
3341         (WebCore::ClipboardWin::writeRange): Use clipboard text when writing ranges (used by d&d).
3342         * platform/win/PasteboardWin.cpp:
3343         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3344         * platform/wince/PasteboardWinCE.cpp:
3345         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3346         * platform/wx/PasteboardWx.cpp:
3347         (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
3348         * rendering/RenderImage.h:
3349         (WebCore::RenderImage::altText): Add a getter for the alt text.
3350
3351 2013-03-25  Dean Jackson  <dino@apple.com>
3352
3353         Remove autostart hashing code from WebCore
3354         https://bugs.webkit.org/show_bug.cgi?id=113242
3355
3356         Reviewed by Tim Horton.
3357
3358         Remove PlugInOriginHash and all the related build entries.
3359
3360         * CMakeLists.txt:
3361         * GNUmakefile.list.am:
3362         * Target.pri:
3363         * WebCore.gypi:
3364         * WebCore.vcproj/WebCore.vcproj:
3365         * WebCore.vcxproj/WebCore.vcxproj:
3366         * WebCore.vcxproj/WebCore.vcxproj.filters:
3367         * WebCore.xcodeproj/project.pbxproj:
3368         * html/HTMLPlugInImageElement.cpp:
3369         * plugins/PlugInOriginHash.cpp: Removed.
3370         * plugins/PlugInOriginHash.h: Removed.
3371
3372 2013-03-25  Roger Fong  <roger_fong@apple.com>
3373
3374         Unreviewed. Wrong place to enable RuntimeEnabledFeature for Windows.
3375
3376         * bindings/generic/RuntimeEnabledFeatures.cpp:
3377         (WebCore):
3378
3379 2013-03-25  James Robinson  <jamesr@chromium.org>
3380
3381         [chromium] Support GraphicsLayer::setContentsToSolidColor
3382         https://bugs.webkit.org/show_bug.cgi?id=104396
3383
3384         Reviewed by Adrienne Walker.
3385
3386         This enables and implements the GraphicsLayer::setContentsToSolidColor
3387         path for Chromium.
3388
3389         Tested by reftests in compositing/background-color/ and several other
3390         compositing/ tests.
3391
3392         * platform/graphics/GraphicsLayer.h:
3393         (WebCore::GraphicsLayer::supportsBackgroundColorContent):
3394         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3395         (WebCore::GraphicsLayerChromium::setContentsToSolidColor):
3396         (WebCore):
3397         * platform/graphics/chromium/GraphicsLayerChromium.h:
3398         (WebKit):
3399         (GraphicsLayerChromium):
3400
3401 2013-03-25  Victor Carbune  <vcarbune@chromium.org>
3402
3403         TextTrack Extension for WebVTT Regions
3404         https://bugs.webkit.org/show_bug.cgi?id=109820
3405
3406         Reviewed by Eric Carlson.
3407
3408         Implemented the TextTrackRegionList and extended TextTrack with
3409         methods required for proper interaction with TextTrackRegion objects.
3410
3411         Test: media/track/regions-webvtt/text-track-region-list.html
3412
3413         * WebCore.gypi: Added files for proper building of TextTrackRegionList.
3414         * html/track/TextTrack.cpp:
3415         (WebCore::TextTrack::TextTrack):
3416         (WebCore):
3417         (WebCore::TextTrack::ensureTextTrackRegionList): Method for creating a
3418         TextTrackRegionList associated with the current track, if it does exist
3419         already.
3420         (WebCore::TextTrack::regions): Getter for the regions object.
3421         (WebCore::TextTrack::addRegion): Method for adding a region.
3422         (WebCore::TextTrack::removeRegion): Method for removing a region.
3423         * html/track/TextTrack.h:
3424         (WebCore):
3425         (TextTrack):
3426         * html/track/TextTrack.idl: Added methods specific for region handling.
3427         * html/track/TextTrackRegion.cpp:
3428         (WebCore::TextTrackRegion::TextTrackRegion): Initialized the track member variable.
3429         (WebCore::TextTrackRegion::setTrack): Added internal setter for the track attribute.
3430         (WebCore):
3431         (WebCore::TextTrackRegion::updateParametersFromRegion): Method to copy the parameters
3432         from a different region object.
3433         * html/track/TextTrackRegion.h: Added track member variable and copy method.
3434         (WebCore::TextTrackRegion::track): Getter retrieves now the member variable.
3435         (TextTrackRegion):
3436         * html/track/TextTrackRegionList.cpp: Implemented methods required by the IDL.
3437         (WebCore):
3438         (WebCore::TextTrackRegionList::TextTrackRegionList):
3439         (WebCore::TextTrackRegionList::length):
3440         (WebCore::TextTrackRegionList::item):
3441         (WebCore::TextTrackRegionList::getRegionById):
3442         (WebCore::TextTrackRegionList::add):
3443         (WebCore::TextTrackRegionList::remove):
3444         (WebCore::TextTrackRegionList::clear):
3445         * html/track/TextTrackRegionList.h:
3446         (WebCore):
3447         (TextTrackRegionList):
3448         (WebCore::TextTrackRegionList::create):
3449         (WebCore::TextTrackRegionList::~TextTrackRegionList):
3450         * html/track/TextTrackRegionList.idl: IDL defined by the specification.
3451
3452 2013-03-25  Dean Jackson  <dino@apple.com>
3453
3454         Cleanup plugin snapshotting autostart decision making
3455         https://bugs.webkit.org/show_bug.cgi?id=113231
3456
3457         Reviewed by Tim Horton.
3458
3459         Move the code that creates a hash of plugin origin info
3460         out of WebCore. All WebCore needs to do now is simply ask its
3461         host layer whether or not a tuple of (pluginOrigin, pageOrigin, mimeType)
3462         should autostart or not.
3463
3464         As a drive-by, the code in subframeLoaderWillCreatePlugIn was not quite
3465         restarting properly when the displayState was Restarting or
3466         RestartingWithPendingMouseClick. It still worked most of the time, but usually
3467         because the code ran soon after a mouse click. Now it should be explicit and
3468         also allowed us to be more clear about snapshotting at the end of the method.
3469
3470         * html/HTMLPlugInElement.h: No more pluginOriginHash().
3471         * html/HTMLPlugInImageElement.cpp:
3472         (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Change signature to accept the tuple
3473             described above, and compare strings rather than hashes.
3474         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Tell host layer the origin
3475             info rather than hash info.
3476         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Remember the url that
3477             the plugin was loaded from. Make some of the logging messages more clear. Test for
3478             plugin and page origin rather than hash.
3479         * html/HTMLPlugInImageElement.h:
3480         (WebCore::HTMLPlugInImageElement::loadedUrl): New loadedURL member function.
3481         * page/PlugInClient.h:
3482         (PlugInClient): Change signature of virtual class to accept origin and mimeType info
3483             rather than hash.
3484
3485 2013-03-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3486
3487         Unreviewed, rolling out r146793.
3488         http://trac.webkit.org/changeset/146793
3489         https://bugs.webkit.org/show_bug.cgi?id=113248
3490
3491         Fix did not work (Requested by rfong on #webkit).
3492
3493         * bindings/scripts/preprocessor.pm:
3494         (applyPreprocessor):
3495
3496 2013-03-25  Brandon Jones  <bajones@google.com>
3497
3498         WEBGL_compressed_texture_pvrtc needs implementation
3499         https://bugs.webkit.org/show_bug.cgi?id=110497
3500
3501         Reviewed by Kenneth Russell.
3502
3503         Test: webgl/conformance/extensions/webgl-compressed-texture-pvrtc.html
3504
3505         Exposes the WEBGL_compressed_texture_pvrtc extension, but is unverified since no desktop hardware supports
3506         the format that I am aware of. Should enable mobile ports to expose the format, however.
3507
3508         * CMakeLists.txt:
3509         * DerivedSources.make:
3510         * DerivedSources.pri:
3511         * GNUmakefile.list.am:
3512         * Target.pri:
3513         * WebCore.gypi:
3514         * WebCore.xcodeproj/project.pbxproj:
3515         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3516         (WebCore::toJS):
3517         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3518         (WebCore::toV8Object):
3519         * html/canvas/WebGLCompressedTexturePVRTC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3520         (WebCore):
3521         (WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
3522         (WebCore::WebGLCompressedTexturePVRTC::~WebGLCompressedTexturePVRTC):
3523         (WebCore::WebGLCompressedTexturePVRTC::getName):
3524         (WebCore::WebGLCompressedTexturePVRTC::create):
3525         (WebCore::WebGLCompressedTexturePVRTC::supported):
3526         * html/canvas/WebGLCompressedTexturePVRTC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3527         (WebCore):
3528         (WebGLCompressedTexturePVRTC):
3529         * html/canvas/WebGLCompressedTexturePVRTC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3530         * html/canvas/WebGLExtension.h:
3531         * html/canvas/WebGLRenderingContext.cpp:
3532         (WebCore):
3533         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
3534         (WebCore::WebGLRenderingContext::getExtension):
3535         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3536         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
3537         * html/canvas/WebGLRenderingContext.h:
3538         (WebCore):
3539         (WebGLRenderingContext):
3540
3541 2013-03-25  Roger Fong  <roger_fong@apple.com>
3542
3543         Enable CSS_REGIONS and CSS_EXCLUSIONS.
3544         https://bugs.webkit.org/show_bug.cgi?id=87519
3545
3546         Reviewed by Timothy Horton.
3547
3548         * bindings/generic/RuntimeEnabledFeatures.cpp:
3549         (WebCore):
3550
3551 2013-03-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3552
3553         Remove unused code from Frame class destructor
3554         https://bugs.webkit.org/show_bug.cgi?id=113181
3555
3556         Reviewed by Alexey Proskuryakov.
3557
3558         No new tests. No new functionality.
3559
3560         * page/Frame.cpp:
3561         (WebCore::Frame::~Frame):
3562
3563             Removed the code which could never have been executed
3564             as m_view had been set to '0'.
3565
3566 2013-03-25  Eric Seidel  <eric@webkit.org>
3567
3568         Incorrect parsing due to hash collision
3569         https://bugs.webkit.org/show_bug.cgi?id=113235
3570
3571         Reviewed by Adam Barth.
3572
3573         Test: fast/parser/tag-hash-collision.html
3574
3575         * html/parser/HTMLIdentifier.cpp:
3576         (WebCore::HTMLIdentifier::findIndex):
3577
3578 2013-03-25  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3579
3580         Compile without SVG will fail
3581         https://bugs.webkit.org/show_bug.cgi?id=113234
3582
3583         Reviewed by Timothy Hatcher.
3584
3585         Only make the cast to SVGStyleElement if we have SVG support built.
3586
3587         * inspector/InspectorCSSAgent.cpp:
3588         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3589
3590 2013-03-25  Patrick Gansterer  <paroga@webkit.org>
3591
3592         Enable STORE_FONT_CUSTOM_PLATFORM_DATA for all platforms
3593         https://bugs.webkit.org/show_bug.cgi?id=108438
3594
3595         Reviewed by Andreas Kling.
3596
3597         Remove the conditional code so it is turned on for all platforms.
3598
3599         * loader/cache/CachedFont.cpp:
3600         (WebCore::CachedFont::~CachedFont):
3601         (WebCore::CachedFont::ensureCustomFontData):
3602         (WebCore::CachedFont::platformDataFromCustomData):
3603         (WebCore::CachedFont::allClientsRemoved):
3604         (WebCore::CachedFont::reportMemoryUsage):
3605
3606 2013-03-25  Eric Carlson  <eric.carlson@apple.com>
3607
3608         REGRESSION(r146380): media/track/track-user-preferences.html
3609         https://bugs.webkit.org/show_bug.cgi?id=113083
3610
3611         Reviewed by Jer Noble.
3612
3613         Ignore track change notifications triggered by automatic track selection so the 
3614         configuration is not changed.
3615
3616         No new tests, this fixes an existing test.
3617
3618         * html/HTMLMediaElement.cpp:
3619         (WebCore::HTMLMediaElement::configureTextTrackGroup): Clear m_processingPreferenceChange after all
3620             track configuration is finished.
3621         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Do nothing if m_processingPreferenceChange
3622             is true.
3623
3624 2013-03-25  Martin Robinson  <mrobinson@igalia.com>
3625
3626         [GTK] [gyp] Build the final piece of WebCore
3627         https://bugs.webkit.org/show_bug.cgi?id=113216
3628
3629         Reviewed by Nico Weber.
3630
3631         * WebCore.gyp/WebCoreGTK.gyp: Add the rest of the WebCore source files to the WebCore build target.
3632
3633 2013-03-25  Martin Robinson  <mrobinson@igalia.com>
3634
3635         [GTK] [gyp] Adding support for building WebCore rendering
3636         https://bugs.webkit.org/show_bug.cgi?id=113213
3637
3638         Reviewed by Gustavo Noronha Silva.
3639
3640         * WebCore.gyp/WebCoreGTK.gyp: Build the rendering directory into a shared library.
3641
3642 2013-03-25  Tony Chang  <tony@chromium.org>
3643
3644         Remove TextIterator argumentless constructor
3645         https://bugs.webkit.org/show_bug.cgi?id=113226
3646
3647         Reviewed by Ryosuke Niwa.
3648
3649         The TextIterator argumentless constructors are never used and wouldn't be useful
3650         since you can't specify a range.
3651
3652         No new tests, removing dead code. There should be no behavior change.
3653
3654         * editing/TextIterator.cpp: Remove constructors.
3655         * editing/TextIterator.h:
3656         (TextIterator):
3657         (SimplifiedBackwardsTextIterator):
3658         (CharacterIterator):
3659         (BackwardsCharacterIterator):
3660         (WordAwareIterator):
3661
3662 2013-03-25  Brandon Jones  <bajones@chromium.org>
3663
3664         Enabled canvas.getContext("webgl") on Desktop Chrome
3665         https://bugs.webkit.org/show_bug.cgi?id=113079
3666
3667         Reviewed by Dean Jackson.
3668
3669         Test: fast/canvas/webgl/webgl-unprefixed-context-id.html
3670
3671         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3672         (WebCore::V8HTMLCanvasElement::getContextMethodCustom):
3673         * html/HTMLCanvasElement.cpp:
3674         (WebCore::HTMLCanvasElement::getContext):
3675
3676 2013-03-25  Roger Fong  <roger_fong@apple.com>
3677
3678         Unreviewed. Remove some suspicious looking code in an attempt to fix EWS bots.
3679
3680         * bindings/scripts/preprocessor.pm:
3681         (applyPreprocessor):
3682
3683 2013-03-25  Martin Robinson  <mrobinson@igalia.com>
3684
3685         [GTK] [gyp] Add support for building the platform directory
3686         https://bugs.webkit.org/show_bug.cgi?id=113212
3687
3688         Reviewed by Nico Weber.
3689
3690         * WebCore.gyp/WebCoreGTK.gyp: Add support for building the platform directory including
3691         two libraries, one for platform and one for geometry files. This follows the approach
3692         of Chromium.
3693
3694 2013-03-25  Jochen Eisinger  <jochen@chromium.org>
3695
3696         Swap both the error and change event queue before processing fullscreen events
3697         https://bugs.webkit.org/show_bug.cgi?id=113194
3698
3699         Reviewed by Jer Noble.
3700
3701         While processing the change events, not only new change events but
3702         also new error events might get generated. However, for the timer, we
3703         should only process preexisting events.
3704
3705         This is covered by fullscreen/full-screen-restrictions.html which times
3706         out depending on the delay between requesting fullscreen and granting
3707         fullscreen.
3708
3709         * dom/Document.cpp:
3710         (WebCore::Document::fullScreenChangeDelayTimerFired):
3711
3712 2013-03-25  Marja Hölttä  <marja@chromium.org>
3713
3714         [V8] Generate specialized callbacks for the main world
3715         https://bugs.webkit.org/show_bug.cgi?id=112430
3716
3717         Reviewed by Kentaro Hara.
3718
3719         The new specialized bindings will be faster, because they don't need to
3720         do the "main world, isolated world or a worker" check, but can right
3721         away assume that we're in the main world.
3722
3723         This patch generates main world bindings for getters and setters for a
3724         small amount of frequently used functions / functions used by Dromaeo.
3725
3726         Added tests to TestObj.idl and updated bindings tests.
3727
3728         * bindings/scripts/CodeGeneratorV8.pm:
3729         (GenerateOverloadedFunction):
3730         (GenerateFunctionCallback):
3731         (GenerateFunction):
3732         (GenerateParametersCheck):
3733         (GenerateSingleConstructorCallback):
3734         (GenerateNonStandardFunction):
3735         (GenerateImplementation):
3736         (GenerateFunctionCallString):
3737         * bindings/scripts/test/TestObj.idl:
3738         * bindings/scripts/test/V8/V8Float64Array.cpp:
3739         (WebCore):
3740         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3741         (WebCore):
3742         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3743         (WebCore):
3744         * bindings/scripts/test/V8/V8TestInterface.cpp:
3745         (WebCore):
3746         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3747         (WebCore):
3748         * bindings/scripts/test/V8/V8TestObj.cpp:
3749         (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetter):
3750         (TestObjV8Internal):
3751         (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterCallback):
3752         (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterForMainWorld):
3753         (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterCallbackForMainWorld):
3754         (WebCore::TestObjV8Internal::perWorldAttributeAttrGetter):
3755         (WebCore::TestObjV8Internal::perWorldAttributeAttrGetterCallback):
3756         (WebCore::TestObjV8Internal::perWorldAttributeAttrGetterForMainWorld):
3757         (WebCore::TestObjV8Internal::perWorldAttributeAttrGetterCallbackForMainWorld):
3758         (WebCore::TestObjV8Internal::perWorldAttributeAttrSetter):
3759         (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterCallback):
3760         (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterForMainWorld):
3761         (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterCallbackForMainWorld):
3762         (WebCore::TestObjV8Internal::perWorldMethodMethod):
3763         (WebCore::TestObjV8Internal::perWorldMethodMethodForMainWorld):
3764         (WebCore::TestObjV8Internal::perWorldMethodMethodCallback):
3765         (WebCore::TestObjV8Internal::perWorldMethodMethodCallbackForMainWorld):
3766         (WebCore::TestObjV8Internal::overloadedPerWorldMethod1Method):
3767         (WebCore::TestObjV8Internal::overloadedPerWorldMethod1MethodForMainWorld):
3768         (WebCore::TestObjV8Internal::overloadedPerWorldMethod2Method):
3769         (WebCore::TestObjV8Internal::overloadedPerWorldMethod2MethodForMainWorld):
3770         (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethod):
3771         (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodForMainWorld):
3772         (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodCallback):
3773         (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodCallbackForMainWorld):
3774         (WebCore):
3775         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3776         (WebCore):
3777         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3778         (WebCore):
3779         * bindings/v8/V8DOMConfiguration.cpp:
3780         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
3781         (WebCore::V8DOMConfiguration::configureTemplate):
3782         * bindings/v8/V8DOMConfiguration.h:
3783         (BatchedMethod):
3784         (V8DOMConfiguration):
3785         * dom/Document.idl:
3786         * dom/Element.idl:
3787         * dom/Node.idl:
3788         * page/DOMWindow.idl:
3789
3790 2013-03-25  Daniel Cheng  <dcheng@chromium.org>
3791
3792         Don't allow drags to start after a mouse press that creates a context menu
3793         https://bugs.webkit.org/show_bug.cgi?id=112079
3794
3795         Reviewed by Tony Chang.
3796
3797         This appears to be the intent of the original code anyway (the comments in the corresponding
3798         context menu handlers indicate that they set m_mousePressed to false in order to suppress
3799         drags from starting). Since exact platform behavior differs quite a bit in this area, this
3800         will also make the behavior more consistent across different WebKit implementations.
3801
3802         Manually testable using context-menu-during-drag-selection.html.
3803
3804         * page/EventHandler.cpp:
3805         (WebCore::EventHandler::handleMouseDraggedEvent):
3806
3807 2013-03-25  Vsevolod Vlasov  <vsevik@chromium.org>
3808
3809         Web Inspector: [Regression] Provisional breakpoints are not shown on reload.
3810         https://bugs.webkit.org/show_bug.cgi?id=113210
3811
3812         Reviewed by Pavel Feldman.
3813
3814         * inspector/front-end/BreakpointManager.js:
3815         (WebInspector.BreakpointManager.prototype._restoreBreakpoints):
3816         (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
3817         (WebInspector.BreakpointManager.prototype._projectWillReset):
3818         (WebInspector.BreakpointManager.prototype._breakpointResolved):
3819         * inspector/front-end/utilities.js:
3820
3821 2013-03-25  Sergey Ryazanov  <serya@chromium.org>
3822
3823         Web Inspector: Remove console warnings for *_ prefixed CSS styles
3824         https://bugs.webkit.org/show_bug.cgi?id=113175
3825
3826         Reviewed by Pavel Feldman.
3827
3828         Added separate error message for syntax CSS error in declaration list when no property detected.
3829         Added filter for messages starting with '*'.
3830
3831         * css/CSSGrammar.y.in:
3832
3833 2013-03-25  Alexis Hetu  <sugoi@chromium.org>
3834
3835         Integration of the Skia displacement mapping into WebKit
3836         https://bugs.webkit.org/show_bug.cgi?id=112927
3837
3838         Reviewed by Stephen White.
3839
3840         Added displacement mapping to effect-reference.html and
3841         effect-reference-hw.html
3842
3843         * WebCore.gypi:
3844         * platform/graphics/filters/FEDisplacementMap.h:
3845         (FEDisplacementMap):
3846         Adding Skia specific declarations
3847         * platform/graphics/filters/skia/FEDisplacementMapSkia.cpp: Added.
3848         (WebCore):
3849         (WebCore::toSkiaMode):
3850         Provides conversion between the WebKit displacement mapping mode and
3851         the Skia displacement mapping mode
3852         (WebCore::FEDisplacementMap::platformApplySkia):
3853         Displacement through the Skia API. (Accelerated only for now)
3854         (WebCore::FEDisplacementMap::createImageFilter):
3855         Displacement image filter creation through the Skia API.
3856
3857 2013-03-25  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3858
3859         Web Inspector: Graduate some new Inspector APIs to public
3860         https://bugs.webkit.org/show_bug.cgi?id=113176
3861
3862         Reviewed by Pavel Feldman.
3863
3864         Summary of changes:
3865             DOM.highlightNode.nodeId: required parameter is now optional
3866             Input: domain has been added
3867             Runtime.enable: command has been added
3868             Runtime.executionContextCreated: event has been added
3869             Page.clearGeolocationOverride: command has been added
3870             Page.setGeolocationOverride: command has been added
3871             Page.captureScreenshot: command has been added
3872             Debugger.setBreakpointByUrl.locations: optional response parameter is now required
3873
3874
3875         * inspector/Inspector.json:
3876
3877 2013-03-25  Andrey Kosyakov  <caseq@chromium.org>
3878
3879         Web Inspector: [Timeline] set glue records mode off by default
3880         https://bugs.webkit.org/show_bug.cgi?id=113189
3881
3882         Reviewed by Pavel Feldman.
3883
3884         * inspector/front-end/TimelinePanel.js: /glueRecordsSetting/s/true/false/
3885
3886 2013-03-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3887
3888         [EFL] Fix build break when media source is enabled
3889         https://bugs.webkit.org/show_bug.cgi?id=113143
3890
3891         Unreviewed. Build error needs to be fixed in order to start to implement
3892         media source functionality.
3893
3894         * CMakeLists.txt:
3895         * platform/efl/MIMETypeRegistryEfl.cpp:
3896         (WebCore):
3897         (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType):
3898         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3899         (WebCore):
3900         (WebCore::MediaPlayerPrivateGStreamer::load):
3901         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3902         (MediaPlayerPrivateGStreamer):
3903
3904 2013-03-25  Vsevolod Vlasov  <vsevik@chromium.org>
3905
3906         Web Inspector: Toggling breakpoint with shortcut should be freezed as well while editing.
3907         https://bugs.webkit.org/show_bug.cgi?id=113188
3908
3909         Reviewed by Pavel Feldman.
3910
3911         * inspector/front-end/JavaScriptSourceFrame.js:
3912         (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
3913
3914 2013-03-25  Vsevolod Vlasov  <vsevik@chromium.org>
3915
3916         Web Inspector: Remove unneeded code from JavaScriptSourceFrame.
3917         https://bugs.webkit.org/show_bug.cgi?id=113182
3918
3919         Reviewed by Pavel Feldman.
3920
3921         * inspector/front-end/JavaScriptSourceFrame.js:
3922         (WebInspector.JavaScriptSourceFrame):
3923
3924 2013-03-25  Alexei Filippov  <alph@chromium.org>
3925
3926         Web Inspector: Fonts refactoring
3927         https://bugs.webkit.org/show_bug.cgi?id=113047
3928
3929         Reviewed by Pavel Feldman.
3930
3931         Unify fonts usage across inspector.
3932         Make inspector default font depend on platform.
3933
3934         * inspector/front-end/dataGrid.css:
3935         (.data-grid table):
3936         (.data-grid td):
3937         * inspector/front-end/inspector.css:
3938         (.toolbar-label):
3939         (body.show-toolbar-icons .toolbar-label):
3940         (.console-message .bubble):
3941         (li .status .bubble):
3942         (.source-frame-breakpoint-message):
3943         (.soft-context-menu):
3944         * inspector/front-end/inspectorCommon.css:
3945         (body):
3946         * inspector/front-end/networkLogView.css:
3947         (.network-log-grid.data-grid td):
3948         (.network-log-grid.data-grid.small td):
3949         * inspector/front-end/tabbedPane.css:
3950         (.tabbed-pane-header-tab):
3951         (select.tabbed-pane-header-tabs-drop-down-select):
3952         * inspector/front-end/timelinePanel.css:
3953         (.memory-counter-value):
3954
3955 2013-03-25  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3956
3957         Web Inspector: Use generate-inspector-protocol-version to list valid public API changes
3958         https://bugs.webkit.org/show_bug.cgi?id=113148
3959
3960         Added --show-changes command line option.
3961         Used existing compare_schemas method to do a reverse compare.
3962         Fixed a number of small problems (missing domain name in the message,
3963         incorrect error messages for command parameters).
3964
3965         Reviewed by Pavel Feldman.
3966
3967         * inspector/generate-inspector-protocol-version:
3968         (named_list_to_map):
3969         (removed):
3970         (required):
3971         (compare_schemas):
3972         (compare_domains):
3973         (compare_commands):
3974         (compare_events):
3975         (compare_params_list):
3976         (compare_types):
3977         (self_test):
3978         (self_test.create_test_schema_1):
3979         (self_test.create_test_schema_2):
3980         (self_test.is_subset):
3981         (self_test.errors_match):
3982         (main):
3983
3984 2013-03-25  Alec Flett  <alecflett@chromium.org>
3985
3986         Support Quota API in Workers
3987         https://bugs.webkit.org/show_bug.cgi?id=112972
3988
3989         Reviewed by Adam Barth.
3990
3991         Tests: fast/workers/shared-worker-storagequota-query-usage.html
3992                fast/workers/worker-storagequota-query-usage.html
3993
3994         * Modules/quota/WorkerNavigatorStorageQuota.cpp: Added.
3995         * Modules/quota/WorkerNavigatorStorageQuota.h: Added.
3996         * Modules/quota/WorkerNavigatorStorageQuota.idl: Added.
3997         * WebCore.gypi: Add entries for WorkerNavigatorStorageQuota.
3998         * page/WorkerNavigator.h: Add a Navigator supplement that extends the worker navigator.
3999
4000 2013-03-25  Mike West  <mkwst@chromium.org>
4001
4002         CSP 1.1: Rename SecurityPolicyViolationEvent::sourceURL to ::sourceFile.
4003         https://bugs.webkit.org/show_bug.cgi?id=113033
4004
4005         Reviewed by Jochen Eisinger.
4006
4007         Bringing our experimental implementation into line with the spec, which
4008         has landed on the de facto standard name Gecko has been sending out for
4009         years and years.
4010
4011         Spec: https://dvcs.w3.org/hg/content-security-policy/rev/e44f4003e158
4012         Thread: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0087.html
4013
4014         * dom/SecurityPolicyViolationEvent.h:
4015         (SecurityPolicyViolationEventInit):
4016         (WebCore::SecurityPolicyViolationEvent::sourceFile):
4017         (WebCore::SecurityPolicyViolationEvent::SecurityPolicyViolationEvent):
4018         (SecurityPolicyViolationEvent):
4019         * dom/SecurityPolicyViolationEvent.idl:
4020         * page/ContentSecurityPolicy.cpp:
4021         (WebCore::gatherSecurityPolicyViolationEventData):
4022             s/sourceURL/sourceFile/
4023
4024 2013-03-25  Michelangelo De Simone  <michelangelo@webkit.org>
4025
4026         [CSS Filters] Using negative drop-shadow radius values has slow performance
4027         https://bugs.webkit.org/show_bug.cgi?id=107848
4028
4029         Setting negative blur radius values in drop-shadow() and box-shadow() led to
4030         significant rendering performance loss. The invalid value overflowed and the
4031         embedder became unresponsive for few seconds.
4032         This impacted SVG too (SVGFEDropShadow and SVGFEGaussianBlur).
4033
4034         Reviewed by Dirk Schulze.
4035
4036         Tests: css3/filters/effect-drop-shadow-negative-radius.html
4037                fast/box-shadow/box-shadow-parsing-invalid.html
4038                svg/filters/feDropShadow-negative-deviation-expected.svg
4039