eec1252640d032d7ee472abbe959035048943cd8
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-20  Tim Horton  <timothy_horton@apple.com>
2
3         Autosize should use documentRect height instead of scrollHeight
4         https://bugs.webkit.org/show_bug.cgi?id=112770
5
6         Reviewed by David Levin.
7
8         Autosizing fails to compute the correct height if the root element is very
9         small but the document has significant overflow.
10
11         No new tests; autosizing is not currently exposed in a testable way on Mac.
12
13         * page/FrameView.cpp:
14         (WebCore::FrameView::autoSizeIfEnabled):
15
16 2013-03-20  Julien Chaffraix  <jchaffraix@webkit.org>
17
18         [CSS Grid Layout] Improper repainting when grid item change their position
19         https://bugs.webkit.org/show_bug.cgi?id=112749
20
21         Reviewed by Ojan Vafai.
22
23         Tests: fast/css-grid-layout/grid-element-change-columns-repaint.html
24                fast/css-grid-layout/grid-element-change-rows-repaint.html
25                fast/css-grid-layout/grid-item-change-column-repaint.html
26                fast/css-grid-layout/grid-item-change-row-repaint.html
27
28         * rendering/RenderGrid.cpp:
29         (WebCore::RenderGrid::layoutGridItems):
30         Added a call to repaintDuringLayoutIfMoved to repaint moving grid items.
31
32 2013-03-20  Arvid Nilsson  <anilsson@rim.com>
33
34         [BlackBerry] compositing/iframes/scroll-fixed-transformed-element.html fails in manual testing
35         https://bugs.webkit.org/show_bug.cgi?id=112806
36
37         Reviewed by Antonio Gomes.
38
39         PR 283363
40
41         When scrolling the iframe, the position: fixed element is correctly
42         positioned, that is, as if it was fixed with respect to the iframe's
43         viewport. When scrolling the main frame however, the fixed pos element
44         was positioned as if it was fixed with respect to the main frame's
45         viewport.
46
47         Fixed by falling back to using the WebKit-thread scroll position for
48         fixed positioning in LayerRenderer, if the override doesn't have a
49         position currently set, i.e. if we are not currently scrolling the
50         iframe.
51
52         The effects of the bug are only visual, i.e. not detectable by DRT.
53
54         Manually testable using compositing/iframes/scroll-fixed-transformed-element.html
55
56         * platform/graphics/blackberry/LayerRenderer.cpp:
57         (WebCore::LayerRenderer::updateLayersRecursive):
58
59 2013-03-20  Michael Pruett  <michael@68k.org>
60
61         [V8] Simplify implementation of EnforceRange conversions
62         https://bugs.webkit.org/show_bug.cgi?id=112758
63
64         Reviewed by Kentaro Hara.
65
66         Factor out EnforceRange conversion into a helper function.
67         Simplify calculation for truncation.
68
69         Tests: fast/js/webidl-type-mapping.html
70                storage/indexeddb/cursor-advance.html
71                storage/indexeddb/cursor-advance-workers.html
72                storage/indexeddb/intversion-bad-parameters.html
73
74         * bindings/v8/V8Binding.cpp:
75         (WebCore::enforceRange):
76         (WebCore):
77         (WebCore::toInt32):
78         (WebCore::toUInt32):
79         (WebCore::toInt64):
80         (WebCore::toUInt64):
81
82 2013-03-20  Harald Alvestrand  <hta@google.com>
83
84         Remove Local/Remote and RTCStatsElement from WebRTCStats API
85         https://bugs.webkit.org/show_bug.cgi?id=112678
86
87         Reviewed by Adam Barth.
88
89         Pure removal, remaining functionality covered by existing test.
90
91         * Modules/mediastream/RTCStatsReport.cpp:
92         * Modules/mediastream/RTCStatsReport.h:
93         (RTCStatsReport):
94         * Modules/mediastream/RTCStatsResponse.cpp:
95         * Modules/mediastream/RTCStatsResponse.h:
96         (RTCStatsResponse):
97         * platform/chromium/support/WebRTCStatsResponse.cpp:
98         * platform/mediastream/RTCStatsResponseBase.h:
99         (RTCStatsResponseBase):
100
101 2013-03-20  Xingnan Wang  <xingnan.wang@intel.com>
102
103         ASSERTION FAILED: !m_renderingAutomaticPullNodes.size()
104         https://bugs.webkit.org/show_bug.cgi?id=112777
105
106         Reviewed by Chris Rogers.
107
108         * Modules/webaudio/AudioContext.cpp:
109         (WebCore::AudioContext::~AudioContext):
110
111 2013-03-20  Rouslan Solomakhin  <rouslan@chromium.org>
112
113         Copy-paste should not spellcheck when continuous spellcheck is turned off
114         https://bugs.webkit.org/show_bug.cgi?id=112464
115
116         Reviewed by Ryosuke Niwa.
117
118         Test: editing/spelling/spellcheck-paste-continuous-disabled.html
119
120         * WebCore.exp.in: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
121         * WebCore.order: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
122         * editing/Editor.cpp:
123         (WebCore::Editor::replaceSelectionWithFragment): Do not spellcheck if continuous spellcheck is turned off.
124         * testing/Internals.cpp:
125         (WebCore::Internals::resetToConsistentState): Leave continuous spellcheck turned on after a test.
126         (WebCore::Internals::setContinuousSpellCheckingEnabled): Let tests enable and disable continuous spellcheck.
127         (WebCore):
128         * testing/Internals.h: Let tests enable and disable continuous spellcheck.
129         (Internals):
130         * testing/Internals.idl: Let tests enable and disable continuous spellcheck.
131
132 2013-03-20  Aaron Colwell  <acolwell@chromium.org>
133
134         Add support for MediaSource::isTypeSupported()
135         https://bugs.webkit.org/show_bug.cgi?id=112301
136
137         Reviewed by Darin Fisher.
138
139         Test: http/tests/media/media-source/video-media-source-is-type-supported.html
140
141         * Modules/mediasource/MediaSource.cpp:
142         (WebCore::MediaSource::addSourceBuffer): Added isTypeSupported() call to verify parameters
143                                                  pass into this method.
144         (WebCore::MediaSource::isTypeSupported):
145         (WebCore):
146         * Modules/mediasource/MediaSource.h:
147         (MediaSource):
148         * Modules/mediasource/MediaSource.idl: Added isTypeSupported().
149         * platform/MIMETypeRegistry.h:
150         (MIMETypeRegistry): Added isSupportedMediaSourceMIMEType().
151         * platform/chromium/MIMETypeRegistryChromium.cpp:
152         (WebCore):
153         (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType): Implemented in terms of WebMimeRegistry::isSupportedMediaSourceMIMEType.
154
155 2013-03-20  Brent Fulgham  <bfulgham@webkit.org>
156
157         [WinCairo] Unreviewed VS2010 build correction.
158
159         * WebCore.vcxproj/WebCore.vcxproj: Enable build of NetworkStorageSessionStub.cpp
160         for WinCairo port.
161         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct build type of
162         CookieJarCurl from 'custom' to 'C++ source file'
163
164 2013-03-20  Marja Hölttä  <marja@chromium.org>
165
166         [V8] Rename DOMDataStore::isMainWorldObject
167         https://bugs.webkit.org/show_bug.cgi?id=112817
168
169         Reviewed by Jochen Eisinger.
170
171         No new tests (no changes in functionality).
172
173         * bindings/v8/DOMDataStore.h:
174         (WebCore::DOMDataStore::getWrapperFast):
175         (WebCore::DOMDataStore::getWrapper):
176         (WebCore::DOMDataStore::getWrapperForMainWorld):
177         (WebCore::DOMDataStore::setWrapper):
178         (WebCore::DOMDataStore::canExistInWorker):
179
180 2013-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
181
182         Web Inspector: Flame Chart. Provide Overview pane for better user expirience.
183         https://bugs.webkit.org/show_bug.cgi?id=112496
184
185         Reviewed by Yury Semikhatsky.
186
187         This patch implements basic part of Overview Pane in FlameChart.
188         The idea of the patch is to move everything into chart-container element.
189         And put OverviewGrid into new overview-container element.
190
191         Drive by change: fix the layout of the flame chart elements.
192         Drive by change: fix the drag window & drag resizer mechanics
193         for the case when the parent element has zero offsetLeft.
194
195         * inspector/front-end/FlameChart.js:
196         (WebInspector.FlameChart):
197         (WebInspector.FlameChart.OverviewCalculator):
198         (WebInspector.FlameChart.OverviewCalculator.prototype._updateBoundaries):
199         (WebInspector.FlameChart.OverviewCalculator.prototype.computePosition):
200         (WebInspector.FlameChart.OverviewCalculator.prototype.formatTime):
201         (WebInspector.FlameChart.OverviewCalculator.prototype.maximumBoundary):
202         (WebInspector.FlameChart.OverviewCalculator.prototype.minimumBoundary):
203         (WebInspector.FlameChart.OverviewCalculator.prototype.boundarySpan):
204         (WebInspector.FlameChart.prototype._onWindowChanged):
205         (WebInspector.FlameChart.prototype._adjustXScale):
206         (WebInspector.FlameChart.prototype.update):
207         * inspector/front-end/OverviewGrid.js:
208         (WebInspector.OverviewGrid.Window):
209         (WebInspector.OverviewGrid.Window.prototype._resizerElementStartDragging):
210         (WebInspector.OverviewGrid.Window.prototype._leftResizeElementDragging):
211         (WebInspector.OverviewGrid.Window.prototype._rightResizeElementDragging):
212         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
213         (WebInspector.OverviewGrid.Window.prototype._windowSelectorDragging):
214         (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
215         (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
216         (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
217         (WebInspector.OverviewGrid.WindowSelector):
218         * inspector/front-end/TimelineOverviewPane.js:
219         * inspector/front-end/flameChart.css:
220         (.chart-container .item-anchor):
221         (.overview-container):
222         (.chart-container):
223         (#flame-chart-overview-grid .resources-dividers-label-bar):
224         * inspector/front-end/inspectorCommon.css:
225         (.resources-divider-label):
226
227 2013-03-20  Sergey Ryazanov  <serya@chromium.org>
228
229         Web Inspector: Plumbing CSS warnings
230         https://bugs.webkit.org/show_bug.cgi?id=111334
231
232         Reviewed by Pavel Feldman.
233
234         Adding a framework for plumbing CSS warnings from CSSParser/grammar to the Inspector console.
235
236         * css/CSSParser.cpp:
237         (WebCore::CSSParser::CSSParser):
238         (WebCore::CSSParser::parseSheet):
239         (WebCore::CSSParser::syntaxError):
240         (WebCore):
241         (WebCore::CSSParser::isLoggingErrors):
242         (WebCore::CSSParser::logError):
243         * css/CSSParser.h:
244         (CSSParser):
245         (CSSParser::Location):
246         (WebCore):
247         * css/StyleSheetContents.cpp:
248         (WebCore::StyleSheetContents::parseAuthorStyleSheet):
249         (WebCore::StyleSheetContents::parseString):
250         (WebCore::StyleSheetContents::parseStringAtLine):
251         * css/StyleSheetContents.h:
252         (StyleSheetContents):
253         * dom/StyleElement.cpp:
254         (WebCore::StyleElement::createSheet):
255         * page/PageConsole.cpp:
256         (WebCore::PageConsole::addMessage):
257
258 2013-03-20  Justin Novosad  <junov@google.com>
259
260         [Chromium] Code cleanup: removing support for non-deferred 2d canvas rendering
261         https://bugs.webkit.org/show_bug.cgi?id=112605
262
263         Reviewed by James Robinson.
264
265         Deleting all the code that was used for propagating and supporting
266         the Chromium setting for disabling deferred 2d canvas rendering.
267
268         No new tests: Affected code paths covered by existing tests.
269
270         * html/HTMLCanvasElement.cpp:
271         (WebCore::HTMLCanvasElement::createImageBuffer):
272         * html/HTMLCanvasElement.h:
273         * page/Settings.in:
274         * platform/graphics/ImageBuffer.h:
275         (WebCore::ImageBuffer::create):
276         (ImageBuffer):
277         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
278         (WebCore::ImageBuffer::ImageBuffer):
279         * platform/graphics/cairo/ImageBufferCairo.cpp:
280         (WebCore::ImageBuffer::ImageBuffer):
281         * platform/graphics/cg/ImageBufferCG.cpp:
282         (WebCore::ImageBuffer::ImageBuffer):
283         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
284         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
285         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
286         (WebCore::Canvas2DLayerBridge::prepareForDraw):
287         (WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged):
288         (WebCore::Canvas2DLayerBridge::storageAllocatedForRecording):
289         (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible):
290         (WebCore::Canvas2DLayerBridge::flush):
291         (WebCore::Canvas2DLayerBridge::skCanvas):
292         (WebCore::Canvas2DLayerBridge::prepareTexture):
293         (WebCore::Canvas2DLayerBridge::contextAcquired):
294         * platform/graphics/chromium/Canvas2DLayerBridge.h:
295         (WebCore::Canvas2DLayerBridge::create):
296         (Canvas2DLayerBridge):
297         * platform/graphics/qt/ImageBufferQt.cpp:
298         (WebCore::ImageBuffer::ImageBuffer):
299         * platform/graphics/skia/ImageBufferSkia.cpp:
300         (WebCore::createAcceleratedCanvas):
301         (WebCore::ImageBuffer::ImageBuffer):
302         * platform/graphics/wince/ImageBufferWinCE.cpp:
303         (WebCore::ImageBuffer::ImageBuffer):
304         * platform/graphics/wx/ImageBufferWx.cpp:
305         (WebCore::ImageBuffer::ImageBuffer):
306
307 2013-03-20  Mike West  <mkwst@chromium.org>
308
309         Drop full URLs from cross-domain access errors caused by 'document.domain' mismatches.
310         https://bugs.webkit.org/show_bug.cgi?id=112813
311
312         Reviewed by Timothy Hatcher.
313
314         Following up on http://wkbug.com/112042, this patch brings 'document.domain'
315         mismatch error messages into line with the newly origin-only default
316         message. There will probably be two or three more patches in this series
317         just to keep the rebaselines down to something managably reviewable.
318
319         * page/DOMWindow.cpp:
320         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
321             Move the default message redefinition up out of the final 'return' so
322             that 'document.domain' mismatch errors grab the new text.
323
324 2013-03-20  Ken Kania  <kkania@chromium.org>
325
326         Web Inspector: Add promptText param to Page.handleJavaScriptDialog
327         https://bugs.webkit.org/show_bug.cgi?id=112706
328
329         Reviewed by Pavel Feldman.
330
331         * inspector/Inspector.json:
332         * inspector/InspectorClient.h:
333         (WebCore::InspectorClient::handleJavaScriptDialog):
334         * inspector/InspectorPageAgent.cpp:
335         (WebCore::InspectorPageAgent::handleJavaScriptDialog):
336         * inspector/InspectorPageAgent.h:
337
338 2013-03-20  Andrey Lushnikov  <lushnikov@chromium.org>
339
340         Web Inspector: fix SourceFrame.js compilation warning
341         https://bugs.webkit.org/show_bug.cgi?id=112804
342
343         Reviewed by Yury Semikhatsky.
344
345         No new tests: no change in behavior.
346
347         - Explicitly parse lineNumber from object property name.
348         - Add type annotations to ensure addMessageToSource is monomorphic.
349
350         * inspector/front-end/SourceFrame.js:
351         (WebInspector.SourceFrame.prototype.clearMessages):
352
353 2013-03-20  Dan Carney  <dcarney@google.com>
354
355         [v8] unsafe persistent access in V8LazyEventListener
356         https://bugs.webkit.org/show_bug.cgi?id=112807
357
358         Reviewed by Kentaro Hara.
359
360         No new tests.
361
362         * bindings/v8/V8LazyEventListener.cpp:
363         (WebCore::toObjectWrapper):
364
365 2013-03-20  Arvid Nilsson  <anilsson@rim.com>
366
367         [BlackBerry] Enable appropriate vertex attribute arrays in LayerRenderer::useProgram()
368         https://bugs.webkit.org/show_bug.cgi?id=112757
369
370         Reviewed by Rob Buis.
371
372         PR 306465
373
374         Make the LayerRenderer and associated code more bullet-proof when it
375         comes to enabling vertex attribute arrays, by enabling them already
376         when LayerRenderer::useProgram() is called. This fixes a bug where the
377         video hole punch rectangle wasn't punched when preceding rendering
378         caused the vertex attribute array at index 0 to be disabled, such as
379         when rendering the text selection overlay immediately before video.
380
381         A number of places where the position attribute index was hard-coded
382         to 0 were also fixed. This causes no change in behavior, the position
383         attribute was really at 0, but nonetheless that shouldn't be hardcoded.
384
385         The effects of this patch are only manually testable.
386
387         * platform/graphics/blackberry/LayerCompositingThread.cpp:
388         (WebCore::LayerCompositingThread::drawTextures):
389         (WebCore::LayerCompositingThread::drawSurface):
390         * platform/graphics/blackberry/LayerRenderer.cpp:
391         (WebCore::LayerRenderer::compositeBuffer):
392         (WebCore::LayerRenderer::drawColor):
393         (WebCore::LayerRenderer::drawDebugBorder):
394         (WebCore::LayerRenderer::drawHolePunchRect):
395         (WebCore::LayerRenderer::compositeLayersRecursive):
396         (WebCore::LayerRenderer::useProgram):
397
398 2013-03-20  Andrey Lushnikov  <lushnikov@chromium.org>
399
400         Web Inspector: [CodeMirror] implement highlightRange method
401         https://bugs.webkit.org/show_bug.cgi?id=112802
402
403         Reviewed by Vsevolod Vlasov.
404
405         - Implement highlightRange/removeHighlight methods in
406         CodeMirrorTextEditor.
407         - Update TextEditor interface closure annotations.
408
409         No new tests.
410
411         * inspector/front-end/CodeMirrorTextEditor.js:
412         (WebInspector.CodeMirrorTextEditor.prototype.removeHighlight):
413         (WebInspector.CodeMirrorTextEditor.prototype.highlightRange):
414         * inspector/front-end/DefaultTextEditor.js:
415         * inspector/front-end/TextEditor.js:
416
417 2013-03-20  Andrey Lushnikov  <lushnikov@chromium.org>
418
419         Web Inspector: [CodeMirror] show source location for codemirror text editor
420         https://bugs.webkit.org/show_bug.cgi?id=112798
421
422         Reviewed by Vsevolod Vlasov.
423
424         No new tests.
425
426         - Implement CodeMirrorTextEditor.copyRange method
427         - Fire "selectionChange" event for text editor delegate from
428         CodeMirrorTextEditor.
429
430         * inspector/front-end/CodeMirrorTextEditor.js:
431         (WebInspector.CodeMirrorTextEditor):
432         (WebInspector.CodeMirrorTextEditor.prototype.copyRange):
433         (WebInspector.CodeMirrorTextEditor.prototype._cursorActivity):
434
435 2013-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
436
437         Unreviewed, rolling out r146331.
438         http://trac.webkit.org/changeset/146331
439         https://bugs.webkit.org/show_bug.cgi?id=112795
440
441         Does not work as expected (Requested by carewolf on #webkit).
442
443         * platform/graphics/qt/FontQt.cpp:
444         (WebCore::Font::initFormatForTextLayout):
445
446 2013-03-20  Eugene Klyuchnikov  <eustas@chromium.org>
447
448         Web Inspector: [Resources] Local Storage: "Add item" row height doesn't match underlying grid.
449         https://bugs.webkit.org/show_bug.cgi?id=112433
450
451         Reviewed by Pavel Feldman.
452
453         Fixed cell height to correspond grid step.
454
455         * inspector/front-end/dataGrid.css:
456         (.data-grid td): Fixed cell height to correspond grid step.
457
458 2013-03-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
459
460         [Qt] New fast/text/word-space-with-kerning-3.html fails on Qt
461         https://bugs.webkit.org/show_bug.cgi?id=112668
462
463         Reviewed by Jocelyn Turcotte.
464
465         Kerning is on by default in Qt. This means we need to disable it
466         when WebCore does not request it.
467
468         * platform/graphics/qt/FontQt.cpp:
469         (WebCore::Font::initFormatForTextLayout):
470
471 2013-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
472
473         Web Inspector: OverviewGrid rename classes according to names of js classes.
474         https://bugs.webkit.org/show_bug.cgi?id=112786
475
476         Reviewed by Yury Semikhatsky.
477
478         It is a part of meta bug 'extract OverviewGrid from TimelineOverviewPane'.
479         As the last step it renames timeline-...... classes to overview-grid-...... classes
480         and moves them to inspectorCommon.css
481
482         * inspector/front-end/OverviewGrid.js:
483         (WebInspector.OverviewGrid):
484         (WebInspector.OverviewGrid.Window):
485         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
486         (WebInspector.OverviewGrid.WindowSelector):
487         (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
488         * inspector/front-end/inspectorCommon.css:
489         (.overview-grid-window-selector):
490         (.overview-grid-window):
491         (.overview-grid-dividers-background):
492         (.overview-grid-window-rulers):
493         (.overview-grid-window-resizer):
494         * inspector/front-end/timelinePanel.css:
495         (.timeline-frame-overview .overview-grid-window):
496         (.timeline-frame-overview .overview-grid-dividers-background):
497
498 2013-03-20  Dmitry Zvorygin  <zvorygin@chromium.org>
499
500         Web Inspector: Switch Drawer animation from JavaScript to CSS transitions.
501         https://bugs.webkit.org/show_bug.cgi?id=112586
502
503         This is prerequisite to make Drawer work in overlay mode.
504
505         Reviewed by Vsevolod Vlasov.
506
507         * inspector/front-end/Drawer.js:
508         (WebInspector.Drawer):
509         (WebInspector.Drawer.prototype.show):
510         (WebInspector.Drawer.prototype.hide.this.animationFinished):
511         (WebInspector.Drawer.prototype.hide):
512         (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
513         (WebInspector.Drawer.prototype._getAnimationStyles):
514         * inspector/front-end/UIUtils.js:
515         * inspector/front-end/inspector.css:
516         (.animate-slow *):
517         (.animate #main):
518         (.animate #floating-status-bar-container):
519         (.animate #drawer):
520         (.animate #bottom-status-bar-container > *):
521
522 2013-03-19  Eugene Klyuchnikov  <eustas@chromium.org>
523
524         Web Inspector: [DataGrid] Refactorings.
525         https://bugs.webkit.org/show_bug.cgi?id=112690
526
527         Reviewed by Pavel Feldman.
528
529         1. Avoid using string literals;
530         2. Remove unused notifications; turn "populate" to method invocation;
531         3. Replace some getters with regular functions.
532
533         * inspector/front-end/DataGrid.js: Applied refactorings.
534         * inspector/front-end/ApplicationCacheItemsView.js: Adopted changes.
535         * inspector/front-end/BottomUpProfileDataGridTree.js: Ditto.
536         * inspector/front-end/CPUProfileView.js: Ditto.
537         * inspector/front-end/CSSSelectorProfileView.js: Ditto.
538         * inspector/front-end/CookiesTable.js: Ditto.
539         * inspector/front-end/DirectoryContentView.js: Ditto.
540         * inspector/front-end/HeapSnapshotDataGrids.js: Ditto.
541         * inspector/front-end/HeapSnapshotGridNodes.js: Ditto.
542         * inspector/front-end/NativeMemorySnapshotView.js: Ditto.
543         * inspector/front-end/NetworkPanel.js: Ditto.
544         * inspector/front-end/ProfileDataGridTree.js: Ditto.
545         * inspector/front-end/ResourceWebSocketFrameView.js: Ditto.
546         * inspector/front-end/TopDownProfileDataGridTree.js: Ditto.
547         * inspector/front-end/dataGrid.css: Ditto.
548
549 2013-03-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
550
551         [Qt] Support -webkit-font-smoothing
552         https://bugs.webkit.org/show_bug.cgi?id=106009
553
554         Reviewed by Jocelyn Turcotte.
555
556         Set QFont antialiasing settings based on the font smoothing settings in FontDescription.
557
558         * platform/graphics/qt/FontPlatformDataQt.cpp:
559         (WebCore::FontPlatformData::FontPlatformData):
560
561 2013-03-20  Alexei Filippov  <alph@chromium.org>
562
563         Web Inspector: Allow toolbar customization
564         https://bugs.webkit.org/show_bug.cgi?id=112440
565
566         Adds a tools menu item that allows the user to show/hide
567         inspector panels on the toolbar.
568
569         Reviewed by Yury Semikhatsky.
570
571         * inspector/front-end/InspectorView.js:
572         * inspector/front-end/Settings.js:
573         (WebInspector.Settings):
574         (WebInspector.ExperimentsSettings):
575         * inspector/front-end/Toolbar.js:
576         (WebInspector.Toolbar):
577         (WebInspector.Toolbar.prototype.addPanel):
578         (WebInspector.Toolbar.prototype._isPanelVisibleByDefault):
579         (WebInspector.Toolbar.prototype.set _hidePanel):
580         (WebInspector.Toolbar.prototype._showPanel):
581         (WebInspector.Toolbar.prototype._togglePanelsMenu):
582         * inspector/front-end/inspector.css:
583         (#toolbar-panels-menu):
584         (#toolbar-panels-menu:hover):
585         (#toolbar-panels-menu:active):
586         * inspector/front-end/inspector.html:
587
588 2013-03-20  Eugene Klyuchnikov  <eustas@chromium.org>
589
590         Web Inspector: [Settings] Add "storage" parameter to WebInspector.Setting
591         https://bugs.webkit.org/show_bug.cgi?id=112667
592
593         Reviewed by Pavel Feldman.
594
595         New parameter will allow more options on how long setting will persist.
596         Possible options are: localStorage, sessionStorage and no-storage.
597
598         Additional change: use delete instead of .removeItem to make it possible
599         use any object as storage.
600
601         * inspector/front-end/Settings.js:
602         Added "storage" parameter and used is instead of "window.localStorage".
603
604 2013-03-20  Pan Deng  <pan.deng@intel.com>
605
606         Web Inspector: [Network] Fix the bug of WebSocketFrameView crash.
607         https://bugs.webkit.org/show_bug.cgi?id=112771.
608
609         Reviewed by Pavel Feldman.
610
611         WebSocketFrameView crashes when websocket receives an error message, this
612         patch fixes this problem, and error message will be shown in dataGrid as expected.
613
614         No new tests.
615
616         * inspector/front-end/ResourceWebSocketFrameView.js:
617         (WebInspector.ResourceWebSocketFrameView): Handle the errorMessage case.
618
619 2013-03-20  Dmitry Zvorygin  <zvorygin@chromium.org>
620
621         Remove remainings of obsolete LogLevels and MessageSources from inspector JS part.
622         https://bugs.webkit.org/show_bug.cgi?id=112709
623
624         By the way tuned messagesources in ApplicationCacheGroup.
625
626         Reviewed by Pavel Feldman.
627
628         * inspector/front-end/ConsoleMessage.js:
629         (WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
630         (WebInspector.ConsoleMessageImpl.prototype.toString):
631         * inspector/front-end/ConsoleModel.js:
632         * inspector/front-end/ExtensionAPI.js:
633         (defineCommonExtensionSymbols):
634         * inspector/front-end/ExtensionServer.js:
635         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
636         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
637         * loader/appcache/ApplicationCacheGroup.cpp:
638         (WebCore::ApplicationCacheGroup::didReceiveResponse):
639         (WebCore::ApplicationCacheGroup::didFinishLoading):
640         (WebCore::ApplicationCacheGroup::didFail):
641
642 2013-03-20  Krzysztof Czech  <k.czech@samsung.com>
643
644         [GTK] accessibility/aria-scrollbar-role.html is failing
645         https://bugs.webkit.org/show_bug.cgi?id=98358
646
647         Reviewed by Martin Robinson.
648
649         Adds support for checking an orientation attribute of accessibility object.
650         AccessibilityObject that represents ScrollBar element should be ATK_VALUE type.
651         ScrollBar element can be considered as a Range Widget that is able to expose some
652         range values.
653
654         Test: accessibility/aria-scrollbar-role.html
655
656         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
657         (setAtkStateSetFromCoreObject):
658         (getInterfaceMaskFromObject):
659
660 2013-03-20  Zan Dobersek  <zdobersek@igalia.com>
661
662         Unreviewed. Fixing a typo in libLevelDB_la_CFLAGS assignment - cxflags -> cflags.
663
664         * GNUmakefile.am:
665
666 2013-03-20  Robert Hogan  <robert@webkit.org>
667
668         Absolute position div without width specified does not reflow its text when it is moved (and computed width changes)
669         https://bugs.webkit.org/show_bug.cgi?id=112052
670
671         Reviewed by Emil A Eklund.
672         
673         If a positioned block has auto width then any movement means the block needs to be resized.
674
675         Test: fast/block/positioned-block-auto-width-movement.html
676
677         * rendering/style/RenderStyle.cpp:
678         (WebCore::positionedObjectMoved):
679         (WebCore::RenderStyle::diff):
680
681 2013-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
682
683         Unreviewed, rolling out r146301.
684         http://trac.webkit.org/changeset/146301
685         https://bugs.webkit.org/show_bug.cgi?id=112776
686
687         Caused hundreds of tests to hit assertions on Windows debug
688         bots (Requested by rniwa on #webkit).
689
690         * CMakeLists.txt:
691         * GNUmakefile.list.am:
692         * Target.pri:
693         * WebCore.exp.in:
694         * WebCore.gypi:
695         * WebCore.vcproj/WebCore.vcproj:
696         * WebCore.vcxproj/WebCore.vcxproj:
697         * WebCore.vcxproj/WebCore.vcxproj.filters:
698         * WebCore.xcodeproj/project.pbxproj:
699         * loader/DocumentLoader.cpp:
700         (WebCore::DocumentLoader::DocumentLoader):
701         (WebCore::DocumentLoader::mainResourceLoader):
702         (WebCore::DocumentLoader::~DocumentLoader):
703         (WebCore::DocumentLoader::mainResourceData):
704         (WebCore::DocumentLoader::stopLoading):
705         (WebCore::DocumentLoader::finishedLoading):
706         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
707         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
708         (WebCore::DocumentLoader::responseReceived):
709         (WebCore::DocumentLoader::continueAfterContentPolicy):
710         (WebCore::DocumentLoader::reportMemoryUsage):
711         (WebCore::DocumentLoader::receivedData):
712         (WebCore::DocumentLoader::clearMainResourceLoader):
713         (WebCore::DocumentLoader::setDefersLoading):
714         (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
715         (WebCore::DocumentLoader::addSubresourceLoader):
716         (WebCore::DocumentLoader::isLoadingMainResource):
717         (WebCore):
718         (WebCore::DocumentLoader::maybeLoadEmpty):
719         (WebCore::DocumentLoader::startLoadingMainResource):
720         * loader/DocumentLoader.h:
721         (WebCore):
722         (DocumentLoader):
723         * loader/MainResourceLoader.cpp: Added.
724         (WebCore):
725         (WebCore::MainResourceLoader::MainResourceLoader):
726         (WebCore::MainResourceLoader::~MainResourceLoader):
727         (WebCore::MainResourceLoader::create):
728         (WebCore::MainResourceLoader::clearResource):
729         (WebCore::MainResourceLoader::frameLoader):
730         (WebCore::MainResourceLoader::request):
731         (WebCore::MainResourceLoader::resourceData):
732         (WebCore::MainResourceLoader::redirectReceived):
733         (WebCore::MainResourceLoader::responseReceived):
734         (WebCore::MainResourceLoader::dataReceived):
735         (WebCore::MainResourceLoader::notifyFinished):
736         (WebCore::MainResourceLoader::reportMemoryUsage):
737         (WebCore::MainResourceLoader::load):
738         (WebCore::MainResourceLoader::setDefersLoading):
739         (WebCore::MainResourceLoader::defersLoading):
740         (WebCore::MainResourceLoader::setDataBufferingPolicy):
741         (WebCore::MainResourceLoader::loader):
742         (WebCore::MainResourceLoader::identifier):
743         * loader/MainResourceLoader.h: Added.
744         (WebCore):
745         (MainResourceLoader):
746         (WebCore::MainResourceLoader::cachedMainResource):
747         (WebCore::MainResourceLoader::documentLoader):
748         * loader/mac/DocumentLoaderMac.cpp:
749         (WebCore::DocumentLoader::schedule):
750         (WebCore::DocumentLoader::unschedule):
751
752 2013-03-19  Mike West  <mkwst@chromium.org>
753
754         CSP 1.1: Stub out SecurityPolicyViolationEvent interface.
755         https://bugs.webkit.org/show_bug.cgi?id=112681
756
757         Reviewed by Adam Barth.
758
759         A first pass at a SecurityPolicyViolationEvent interface is defined in
760         CSP 1.1's editor's draft[1]. This patch puts the big components into
761         place so that we can start getting some implementation experience with
762         the new event interface as it's defined, and feed that back into the
763         working group.
764
765         Here, we're only defining the interface, and creating a listener on the
766         Document. Events aren't yet being fired when Content Security Policy
767         violations occur. I'll tackle that in a future patch; adding files is
768         a big enough annoyance to do it separately.
769
770         This patch has only two web-visible impacts:
771
772         - Document objects now have an 'onsecuritypolicyviolation' attribute.
773         - A SecurityPolicyViolationEvent constructor is accessible on the Window object.
774
775         Ports that have not enabled the CSP_NEXT flag should experience no change.
776
777         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicyviolationevent-events
778
779         Test: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html
780
781         * CMakeLists.txt:
782         * GNUmakefile.list.am:
783         * WebCore.gypi:
784         * WebCore.vcproj/WebCore.vcproj:
785         * WebCore.xcodeproj/project.pbxproj:
786             Wow! A new file! This is so exciting! I'm going to tell ALL my build
787             systems about this!
788         * dom/Document.h:
789         * dom/Document.idl:
790             Define an 'onsecuritypolicyviolation' event handler on Document objects.
791         * dom/EventNames.h:
792         * dom/EventNames.in:
793             Define a 'securitypolicyviolation' event type.
794         * dom/SecurityPolicyViolationEvent.h: Added.
795         (WebCore::SecurityPolicyViolationEventInit::SecurityPolicyViolationEventInit):
796         (SecurityPolicyViolationEventInit):
797         (SecurityPolicyViolationEvent):
798         (WebCore::SecurityPolicyViolationEvent::create):
799         (WebCore::SecurityPolicyViolationEvent::documentURI):
800         (WebCore::SecurityPolicyViolationEvent::referrer):
801         (WebCore::SecurityPolicyViolationEvent::blockedURI):
802         (WebCore::SecurityPolicyViolationEvent::violatedDirective):
803         (WebCore::SecurityPolicyViolationEvent::effectiveDirective):
804         (WebCore::SecurityPolicyViolationEvent::originalPolicy):
805         (WebCore::SecurityPolicyViolationEvent::sourceURL):
806         (WebCore::SecurityPolicyViolationEvent::lineNumber):
807         (WebCore::SecurityPolicyViolationEvent::interfaceName):
808         (WebCore::SecurityPolicyViolationEvent::SecurityPolicyViolationEvent):
809         * dom/SecurityPolicyViolationEvent.idl: Added.
810             Define the SecurityPolicyViolationEvent's IDL, and then create all the
811             boilerplate necessary to properly initialize a SecurityPolicyViolationEvent
812             object with the relevant properties.
813         * page/DOMWindow.idl:
814             Add the new SecurityPolicyViolationEvent constructor to the Window object
815             so it's available on a page.
816
817 2013-03-19  Eugene Klyuchnikov  <eustas@chromium.org>
818
819         Web Inspector: [Timeline] Tune status bar UI for limited-width window.
820         https://bugs.webkit.org/show_bug.cgi?id=112702
821
822         Reviewed by Pavel Feldman.
823
824         Reduce filter titles when there is not enough space.
825
826         * inspector/front-end/TimelinePanel.js: Add classnames to elements.
827         * inspector/front-end/timelinePanel.css: Specify "flex" behaviour.
828
829 2013-03-19  Nate Chapin  <japhet@chromium.org>
830
831         Merge MainResourceLoader into DocumentLoader
832         https://bugs.webkit.org/show_bug.cgi?id=104969
833
834         Reviewed by Adam Barth.
835
836         No new tests, refactor only.
837
838         * CMakeLists.txt:
839         * GNUmakefile.list.am:
840         * Target.pri:
841         * WebCore.exp.in:
842         * WebCore.gypi:
843         * WebCore.vcproj/WebCore.vcproj:
844         * WebCore.vcxproj/WebCore.vcxproj:
845         * WebCore.vcxproj/WebCore.vcxproj.filters:
846         * WebCore.xcodeproj/project.pbxproj:
847         * loader/DocumentLoader.cpp:
848         (WebCore::DocumentLoader::DocumentLoader):
849         (WebCore::DocumentLoader::mainResourceLoader):
850         (WebCore::DocumentLoader::~DocumentLoader): Move main resource clearing from
851             ~MainResourceLoader.
852         (WebCore::DocumentLoader::mainResourceData):
853         (WebCore::DocumentLoader::stopLoading):
854         (WebCore::DocumentLoader::notifyFinished): Moved from MainResourceLoader::notifyFinished.
855         (WebCore):
856         (WebCore::DocumentLoader::finishedLoading):
857         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
858         (WebCore::DocumentLoader::redirectReceived):
859         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
860         (WebCore::DocumentLoader::responseReceived):
861         (WebCore::DocumentLoader::continueAfterContentPolicy):
862         (WebCore::DocumentLoader::reportMemoryUsage):
863         (WebCore::DocumentLoader::dataReceived):
864         (WebCore::DocumentLoader::clearMainResourceLoader):
865         (WebCore::DocumentLoader::setDefersLoading):
866         (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
867         (WebCore::DocumentLoader::addSubresourceLoader):
868         (WebCore::DocumentLoader::maybeLoadEmpty):
869         (WebCore::DocumentLoader::startLoadingMainResource): Don't keep separate checks
870              for normal and empty loads, just use a single boolean.
871         * loader/DocumentLoader.h:
872         (WebCore::DocumentLoader::isLoadingMainResource):
873         * loader/MainResourceLoader.cpp: Removed.
874         * loader/MainResourceLoader.h: Removed.
875         * loader/mac/DocumentLoaderMac.cpp:
876         (WebCore::DocumentLoader::schedule):
877         (WebCore::DocumentLoader::unschedule):
878
879 2013-03-19  Ankur Taly  <ataly@google.com>
880
881         Cache a pointer to V8DOMActivityLogger in PerContextData.
882         https://bugs.webkit.org/show_bug.cgi?id=112719
883
884         Reviewed by Kentaro Hara.
885
886         Adds a data member (and getter, setter methods) to V8PerContextData
887         that holds a pointer to a V8DOMActivityLogger. This member is set while
888         initializing the context for a V8DOMWindowShell. Ownership of the pointer
889         is still retained by the HashMap in DOMWrapperWorld.
890         As a result of this patch, subsequent patches that will implement logging
891         for DOM API access (See bug 107207) will be able to obtain a reference to
892         the logger directly from PerContextData. This will benefit performance as it
893         will be faster than looking up the logger in the DOMActivityLoggerMap in
894         DOMWrapperWorld.
895
896         There are no new tests as there is no change in behavior.
897
898         * bindings/v8/V8DOMWindowShell.cpp:
899         (WebCore::V8DOMWindowShell::initializeIfNeeded):
900         * bindings/v8/V8PerContextData.h:
901         (WebCore::V8PerContextData::activityLogger):
902         (V8PerContextData):
903         (WebCore::V8PerContextData::setActivityLogger):
904
905 2013-03-19  Arnaud Renevier  <a.renevier@sisa.samsung.com>
906
907         do not use string reference for enum support in CodeGeneratorJS.pm
908         https://bugs.webkit.org/show_bug.cgi?id=112760
909
910         Reviewed by Kentaro Hara.
911
912         Do use string references in generated JS bindings for enum values.
913
914         Test: bindings/scripts/test/TestObj.idl
915
916         * bindings/scripts/CodeGeneratorJS.pm:
917         (GenerateImplementation):
918         (GenerateParametersCheck):
919         * bindings/scripts/test/JS/JSTestObj.cpp:
920         (WebCore::setJSTestObjEnumAttr):
921         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
922
923 2013-03-19  Simon Fraser  <simon.fraser@apple.com>
924
925         Make RLC::haveNonMainLayersWithTiledBacking() public and fix the name
926         https://bugs.webkit.org/show_bug.cgi?id=112763
927
928         Reviewed by Tim Horton.
929
930         Downstream code needs to call hasNonMainLayersWithTiledBacking().
931
932         * rendering/RenderLayerCompositor.h:
933         (WebCore::RenderLayerCompositor::hasNonMainLayersWithTiledBacking):
934         (RenderLayerCompositor):
935
936 2013-03-19  David Levin  <levin@chromium.org>
937
938         FrameLoader::didChangeIcons isn't called when the favicon is changed.
939         https://bugs.webkit.org/show_bug.cgi?id=112080
940
941         Reviewed by Dmitry Titov.
942
943         Test: fast/dom/icon-url-property.html
944
945         * dom/Document.cpp:
946         (WebCore::Document::addIconURL): Made the callback for didChangeIcons
947         happen whenever there are favicon changes instead of filtering it
948         and have to be in sync about what hosts care about. As far as I could
949         tell no hosts rely on this callback except for Chromium, so in general
950         doing less work here may potentially help a small amount for other
951         ports.
952
953 2013-03-19  Michael Pruett  <michael@68k.org>
954
955         Don't throw on infinity or NaN index in HTMLOptionsCollection.add()
956         https://bugs.webkit.org/show_bug.cgi?id=112612
957
958         Reviewed by Kentaro Hara.
959
960         HTMLOptionsCollection.add() should not throw a type error when
961         its optional index argument is infinity or NaN. Such values
962         should instead be converted to 0 with no error.
963
964         Tests: fast/dom/non-numeric-values-numeric-parameters.html
965                fast/js/select-options-add.html
966
967         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
968         (WebCore::JSHTMLOptionsCollection::add):
969
970 2013-03-19  Dominic Mazzoni  <dmazzoni@google.com>
971
972         Security: Heap-use-after-free in WebCore::AXObjectCache::getOrCreate
973         https://bugs.webkit.org/show_bug.cgi?id=112044
974
975         Reviewed by Chris Fleizach.
976
977         Always call recalcSectionsIfNeeded before accessing
978         table sections.
979
980         Test: accessibility/table-remove-cell-crash.html
981
982         * accessibility/AccessibilityTable.cpp:
983         (WebCore::AccessibilityTable::addChildren):
984
985 2013-03-19  Arnaud Renevier  <a.renevier@sisa.samsung.com>
986
987         [v8] add IDL 'enum' in DOM methods
988         https://bugs.webkit.org/show_bug.cgi?id=112644
989
990         Reviewed by Kentaro Hara.
991
992         This adds V8 support for enumerations in method parameters.
993
994         Test: bindings/scripts/test/TestObj.idl
995
996         * bindings/scripts/CodeGeneratorV8.pm:
997         (GenerateParametersCheck):
998         * bindings/scripts/test/V8/V8TestObj.cpp:
999         (WebCore::TestObjV8Internal::methodWithEnumArgMethod):
1000
1001 2013-03-19  Kenneth Russell  <kbr@google.com>
1002
1003         Unreviewed, rolling out r146277.
1004         http://trac.webkit.org/changeset/146277
1005         https://bugs.webkit.org/show_bug.cgi?id=111695
1006
1007         Broke Chromium Android build
1008
1009         * Modules/speech/SpeechSynthesis.cpp:
1010         (WebCore::SpeechSynthesis::boundaryEventOccurred):
1011         (WebCore::SpeechSynthesis::didStartSpeaking):
1012         (WebCore::SpeechSynthesis::didPauseSpeaking):
1013         (WebCore::SpeechSynthesis::didResumeSpeaking):
1014         (WebCore::SpeechSynthesis::didFinishSpeaking):
1015         (WebCore::SpeechSynthesis::speakingErrorOccurred):
1016         (WebCore):
1017         * Modules/speech/SpeechSynthesis.h:
1018         (SpeechSynthesis):
1019         * Modules/speech/SpeechSynthesisUtterance.cpp:
1020         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
1021         (WebCore::SpeechSynthesisUtterance::setVoice):
1022         * Modules/speech/SpeechSynthesisUtterance.h:
1023         (WebCore::SpeechSynthesisUtterance::text):
1024         (WebCore::SpeechSynthesisUtterance::setText):
1025         (WebCore::SpeechSynthesisUtterance::lang):
1026         (WebCore::SpeechSynthesisUtterance::setLang):
1027         (WebCore::SpeechSynthesisUtterance::volume):
1028         (WebCore::SpeechSynthesisUtterance::setVolume):
1029         (WebCore::SpeechSynthesisUtterance::rate):
1030         (WebCore::SpeechSynthesisUtterance::setRate):
1031         (WebCore::SpeechSynthesisUtterance::pitch):
1032         (WebCore::SpeechSynthesisUtterance::setPitch):
1033         (WebCore::SpeechSynthesisUtterance::startTime):
1034         (WebCore::SpeechSynthesisUtterance::setStartTime):
1035         (WebCore::SpeechSynthesisUtterance::platformUtterance):
1036         (SpeechSynthesisUtterance):
1037         * Modules/speech/SpeechSynthesisVoice.h:
1038         * WebCore.exp.in:
1039         * WebCore.gypi:
1040         * platform/PlatformSpeechSynthesis.h:
1041         (PlatformSpeechSynthesis):
1042         * platform/PlatformSpeechSynthesisUtterance.cpp:
1043         * platform/PlatformSpeechSynthesisUtterance.h:
1044         (PlatformSpeechSynthesisUtterance):
1045         * platform/PlatformSpeechSynthesisVoice.cpp:
1046         (WebCore::PlatformSpeechSynthesisVoice::create):
1047         * platform/PlatformSpeechSynthesisVoice.h:
1048         (PlatformSpeechSynthesisVoice):
1049         * platform/PlatformSpeechSynthesizer.cpp:
1050         (WebCore::PlatformSpeechSynthesizer::create):
1051         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1052         (WebCore):
1053         * platform/PlatformSpeechSynthesizer.h:
1054         (PlatformSpeechSynthesizerClient):
1055         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
1056         (PlatformSpeechSynthesizer):
1057         * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Removed.
1058         * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Removed.
1059         * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Removed.
1060         * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Removed.
1061         * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Removed.
1062         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1063         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1064         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
1065         (WebCore::PlatformSpeechSynthesizer::speak):
1066         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1067         (WebCore::PlatformSpeechSynthesizerMock::create):
1068         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
1069         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
1070         (WebCore::PlatformSpeechSynthesizerMock::speak):
1071         * platform/mock/PlatformSpeechSynthesizerMock.h:
1072         (PlatformSpeechSynthesizerMock):
1073
1074 2013-03-19  Antti Koivisto  <antti@apple.com>
1075
1076         Don't compute background obscuration on every repaint
1077         https://bugs.webkit.org/show_bug.cgi?id=112457
1078
1079         Reviewed by Simon Fraser.
1080
1081         Test: fast/backgrounds/obscured-background-child-style-change.html
1082         
1083         It is generally enough to compute background obscuration status once per layout rather than doing it on every repaint.
1084         Since there are fewer layouts than repaints this will allow more expensive checks in the future.
1085         
1086         With this patch adds caching and invalidation of the obscuration status.
1087
1088         * rendering/RenderBlock.cpp:
1089         (WebCore::RenderBlock::layout):
1090         
1091             Invalidate the obscuration status on layout.
1092
1093         * rendering/RenderBox.cpp:
1094         (WebCore::RenderBox::styleDidChange):
1095         
1096             Invalidate the parent obscuration status if there is repaint-only style change (often background related). 
1097             Tested by the new fast/css/obscured-background-child-style-change.html.
1098
1099         (WebCore::RenderBox::layout):
1100         (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
1101         * rendering/RenderBox.h:
1102         * rendering/RenderImage.cpp:
1103         (WebCore::RenderImage::imageChanged):
1104         (WebCore::RenderImage::notifyFinished):
1105         (WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
1106         (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):
1107         
1108             Use CachedImage::currentFrameKnownToBeOpaque which ensures that the frame is decoded and we get the real status.
1109             Tested by an additional case in fast/css/obscured-background-child-style-change.html.
1110
1111         * rendering/RenderImage.h:
1112         * rendering/RenderObject.cpp:
1113         (WebCore::RenderObject::styleWillChange):
1114         * rendering/RenderObject.h:
1115         (WebCore::RenderObject::hasBoxDecorations):
1116         (WebCore::RenderObject::computeBackgroundIsKnownToBeObscured):
1117         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
1118         (RenderObjectBitfields):
1119         (WebCore::RenderObject::RenderObjectBitfields::boxDecorationState):
1120         (WebCore::RenderObject::RenderObjectBitfields::setBoxDecorationState):
1121         
1122             Combine box decoration bit and the obscuration status so we only need one extra bit.
1123
1124         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
1125         (WebCore::RenderObject::setHasBoxDecorations):
1126         (WebCore::RenderObject::invalidateBackgroundObscurationStatus):
1127         (WebCore::RenderObject::backgroundIsKnownToBeObscured):
1128         * rendering/RenderReplaced.cpp:
1129         (WebCore::RenderReplaced::layout):
1130
1131 2013-03-19  Dominic Mazzoni  <dmazzoni@google.com>
1132
1133         Implement Web Speech Synthesis for Chromium
1134         https://bugs.webkit.org/show_bug.cgi?id=111695
1135
1136         Reviewed by Adam Barth.
1137
1138         Straightforward implementation of speech synthesis
1139         for Chromium by exposing interfaces for the platform
1140         to implement.
1141
1142         * Modules/speech/SpeechSynthesis.cpp:
1143         (WebCore::SpeechSynthesis::boundaryEventOccurred):
1144         (WebCore::SpeechSynthesis::didStartSpeaking):
1145         (WebCore::SpeechSynthesis::didPauseSpeaking):
1146         (WebCore::SpeechSynthesis::didResumeSpeaking):
1147         (WebCore::SpeechSynthesis::didFinishSpeaking):
1148         (WebCore::SpeechSynthesis::speakingErrorOccurred):
1149         (WebCore):
1150         * Modules/speech/SpeechSynthesis.h:
1151         (SpeechSynthesis):
1152         * Modules/speech/SpeechSynthesisUtterance.cpp:
1153         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
1154         (WebCore):
1155         (WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
1156         (WebCore::SpeechSynthesisUtterance::setVoice):
1157         * Modules/speech/SpeechSynthesisUtterance.h:
1158         (SpeechSynthesisUtterance):
1159         (WebCore::SpeechSynthesisUtterance::text):
1160         (WebCore::SpeechSynthesisUtterance::setText):
1161         (WebCore::SpeechSynthesisUtterance::lang):
1162         (WebCore::SpeechSynthesisUtterance::setLang):
1163         (WebCore::SpeechSynthesisUtterance::volume):
1164         (WebCore::SpeechSynthesisUtterance::setVolume):
1165         (WebCore::SpeechSynthesisUtterance::rate):
1166         (WebCore::SpeechSynthesisUtterance::setRate):
1167         (WebCore::SpeechSynthesisUtterance::pitch):
1168         (WebCore::SpeechSynthesisUtterance::setPitch):
1169         (WebCore::SpeechSynthesisUtterance::startTime):
1170         (WebCore::SpeechSynthesisUtterance::setStartTime):
1171         (WebCore::SpeechSynthesisUtterance::platformUtterance):
1172         * Modules/speech/SpeechSynthesisVoice.h:
1173         (WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
1174         * WebCore.exp.in:
1175         * WebCore.gypi:
1176         * platform/PlatformSpeechSynthesis.h:
1177         (PlatformSpeechSynthesis):
1178         * platform/PlatformSpeechSynthesisUtterance.cpp:
1179         (WebCore):
1180         (WebCore::PlatformSpeechSynthesisUtterance::create):
1181         * platform/PlatformSpeechSynthesisUtterance.h:
1182         (PlatformSpeechSynthesisUtterance):
1183         (WebCore::PlatformSpeechSynthesisUtterance::setClient):
1184         * platform/PlatformSpeechSynthesisVoice.cpp:
1185         (WebCore):
1186         (WebCore::PlatformSpeechSynthesisVoice::create):
1187         (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
1188         * platform/PlatformSpeechSynthesisVoice.h:
1189         (PlatformSpeechSynthesisVoice):
1190         (WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
1191         (WebCore::PlatformSpeechSynthesisVoice::setName):
1192         (WebCore::PlatformSpeechSynthesisVoice::setLang):
1193         (WebCore::PlatformSpeechSynthesisVoice::setLocalService):
1194         (WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
1195         * platform/PlatformSpeechSynthesizer.cpp:
1196         (WebCore::PlatformSpeechSynthesizer::create):
1197         (WebCore::PlatformSpeechSynthesizer::setVoiceList):
1198         (WebCore):
1199         * platform/PlatformSpeechSynthesizer.h:
1200         (WebKit):
1201         (PlatformSpeechSynthesizerClient):
1202         (PlatformSpeechSynthesizer):
1203         * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
1204         (WebCore):
1205         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1206         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
1207         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1208         (WebCore::PlatformSpeechSynthesizer::speak):
1209         (WebCore::PlatformSpeechSynthesizer::pause):
1210         (WebCore::PlatformSpeechSynthesizer::resume):
1211         (WebCore::PlatformSpeechSynthesizer::cancel):
1212         * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
1213         (WebKit):
1214         (WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
1215         (WebKit::WebSpeechSynthesisUtterance::operator=):
1216         (WebKit::WebSpeechSynthesisUtterance::assign):
1217         (WebKit::WebSpeechSynthesisUtterance::reset):
1218         (WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
1219         (WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
1220         (WebKit::WebSpeechSynthesisUtterance::text):
1221         (WebKit::WebSpeechSynthesisUtterance::lang):
1222         (WebKit::WebSpeechSynthesisUtterance::voice):
1223         (WebKit::WebSpeechSynthesisUtterance::volume):
1224         (WebKit::WebSpeechSynthesisUtterance::rate):
1225         (WebKit::WebSpeechSynthesisUtterance::pitch):
1226         (WebKit::WebSpeechSynthesisUtterance::startTime):
1227         * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
1228         (WebKit):
1229         (WebKit::WebSpeechSynthesisVoice::assign):
1230         (WebKit::WebSpeechSynthesisVoice::reset):
1231         (WebKit::WebSpeechSynthesisVoice::setVoiceURI):
1232         (WebKit::WebSpeechSynthesisVoice::setName):
1233         (WebKit::WebSpeechSynthesisVoice::setLanguage):
1234         (WebKit::WebSpeechSynthesisVoice::setIsLocalService):
1235         (WebKit::WebSpeechSynthesisVoice::setIsDefault):
1236         (WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
1237         * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
1238         (WebCore):
1239         (WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
1240         (WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
1241         (WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
1242         (WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
1243         (WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
1244         (WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
1245         (WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
1246         (WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
1247         (WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
1248         (WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
1249         * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
1250         (WebCore):
1251         (WebSpeechSynthesizerClientImpl):
1252         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1253         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1254         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
1255         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1256         (WebCore):
1257         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
1258         (WebCore::PlatformSpeechSynthesizer::speak):
1259         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1260         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
1261         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
1262         (WebCore::PlatformSpeechSynthesizerMock::speak):
1263         * platform/mock/PlatformSpeechSynthesizerMock.h:
1264         (PlatformSpeechSynthesizerMock):
1265
1266 2013-03-19  Ryosuke Niwa  <rniwa@webkit.org>
1267
1268         Another build fix after r146220.
1269
1270         * English.lproj/localizedStrings.js:
1271
1272 2013-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
1273
1274         [CSS Grid Layout] Add parsing for grid-auto-{row|column}
1275         https://bugs.webkit.org/show_bug.cgi?id=112724
1276
1277         Reviewed by Tony Chang.
1278
1279         This change is a first step towards handling grid-auto-{row|column}.
1280         For now, only the parsing, storing and getComputedStyle bits are implemented.
1281         In order to do so without duplicating code, the functions handling <track-size>
1282         (named <track-minmax> in the code based on a previous version of the grammar)
1283         have been tweaked to be called in a standalone fashion. The code was also
1284         updated to match the grammar more closely:
1285         - <track-minmax> is now <track-size>.
1286         - <track-group> was renmoved, folded into <track-list>.
1287
1288         Test: fast/css-grid-layout/grid-auto-columns-rows-get-set.html
1289
1290         * css/CSSComputedStyleDeclaration.cpp:
1291         (WebCore::valueForGridTrackSize):
1292         Renamed from valueForGridTrackMinMax.
1293
1294         (WebCore::valueForGridTrackList):
1295         Folded valueForGridTrackGroup here.
1296
1297         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1298         * css/CSSParser.cpp:
1299         (WebCore::CSSParser::parseValue):
1300         Added the parsing for grid-auto-{rows|columns}.
1301
1302         (WebCore::CSSParser::parseGridTrackSize):
1303         Renamed from parseGridTrackMinMax. Changed to return the parsed value (or 0 in case of
1304         error). This enables us to reuse it in parseValue. Note that this function now moves
1305         the parser value list instead of the caller.
1306
1307         (WebCore::CSSParser::parseGridTrackList):
1308         Updated after parseGridTrackSize changes and parseGridTrackGroup removal.
1309
1310         * css/CSSParser.h: Updated the names.
1311         * css/CSSProperty.cpp:
1312         (WebCore::CSSProperty::isInheritedProperty):
1313         * css/CSSPropertyNames.in:
1314         Added the 2 new non-inherited properties.
1315
1316         * css/StyleResolver.cpp:
1317         (WebCore::createGridTrackSize):
1318         Renamed from createGridTrackMinMax. Also simplified to ensure code reuse (applyProperty hands
1319         down a CSSValue) and consistency (the state wasn't consistently the last argument).
1320
1321         (WebCore::createGridTrackList):
1322         Folded createGridTrackGroup into this function.
1323
1324         (WebCore::StyleResolver::applyProperty):
1325         Added the code for the new properties.
1326
1327         * rendering/style/RenderStyle.h:
1328         * rendering/style/StyleGridData.cpp:
1329         (WebCore::StyleGridData::StyleGridData):
1330         * rendering/style/StyleGridData.h:
1331         (WebCore::StyleGridData::operator==):
1332         Added the storage and boiler-plate code for the new properties.
1333
1334 2013-03-19  Geoffrey Garen  <ggaren@apple.com>
1335
1336         Removed a using declaration to avoid name conflicts
1337         https://bugs.webkit.org/show_bug.cgi?id=112752
1338
1339         Reviewed by Ryosuke Niwa.
1340
1341         * html/ClassList.cpp: Put the using declaration here instead.
1342
1343         * html/ClassList.h: Don't put a using declaration in this header because
1344         it can cause name conflicts with SVGNames.
1345
1346 2013-03-18  Ojan Vafai  <ojan@chromium.org>
1347
1348         Make intrinsic size keywords on flexboxes work
1349         https://bugs.webkit.org/show_bug.cgi?id=112652
1350
1351         Reviewed by Tony Chang.
1352
1353         Tests: fast/css-intrinsic-dimensions/intrinsic-sized-column-flex-items.html
1354                fast/css-intrinsic-dimensions/intrinsic-sized-flex-items.html
1355
1356         * platform/Length.h:
1357         (WebCore::Length::isSpecifiedOrIntrinsic):
1358         * rendering/RenderBox.cpp:
1359         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
1360         (WebCore::RenderBox::computeLogicalWidthInRegion):
1361         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1362         Pass in the Length so that RenderFlexibleBox can call this method and avoid
1363         doing a bunch of code duplication.
1364
1365         * rendering/RenderBox.h:
1366         * rendering/RenderFlexibleBox.cpp:
1367         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
1368         Instead of just calling valueForLength, call computeLogicalWidthInRegionUsing so that
1369         we properly resolve intrinsic Length types. Incidentally, this should also make viewport
1370         percentage units work.
1371
1372         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
1373         Resolve intrinsic min/max Lengths. Also, instead of calling minPreferredLogicalWidth for the
1374         min-width: auto case, call computeMainAxisExtentForChild to correctly compute the min intrinsic size.
1375
1376 2013-03-19  Geoffrey Garen  <ggaren@apple.com>
1377
1378         Try to fix the Windows build.
1379
1380         * svg/SVGAnimateMotionElement.cpp:
1381         (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Qualify the
1382         namespace to avoid conflicts.
1383
1384 2013-03-19  Ryosuke Niwa  <rniwa@webkit.org>
1385
1386         Windows build fix after r146264.
1387
1388         * svg/SVGAnimateMotionElement.cpp:
1389         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
1390
1391 2013-03-19  Nate Chapin  <japhet@chromium.org>
1392
1393         REGRESSION(r146223): chromium asserts/crashes in DocumentLoader
1394         https://bugs.webkit.org/show_bug.cgi?id=112745
1395
1396         Reviewed by Kenneth Russell.
1397
1398         Fixes layout tests on chromium debug
1399
1400         * loader/DocumentLoader.cpp:
1401         (WebCore::DocumentLoader::mainReceivedError): Frame might be detached, get
1402             defersLoading() from mainResourceLoader().
1403         (WebCore::DocumentLoader::responseReceived): RefPtr got dropped, it's really needed.
1404         (WebCore::DocumentLoader::receivedData): Frame might be detached, get
1405             defersLoading() from mainResourceLoader().
1406         (WebCore::DocumentLoader::cancelMainResourceLoad): The ResourceError parameter
1407             can be null if coming from the WebKit layer, we should have a default just in case.
1408
1409 2013-03-19  Geoffrey Garen  <ggaren@apple.com>
1410
1411         Refactored script content removal in the fragment parser for clarity and speed
1412         https://bugs.webkit.org/show_bug.cgi?id=112734
1413
1414         Reviewed by Enrica Casucci.
1415
1416         * WebCore.exp.in: Export!
1417
1418         * dom/DocumentFragment.cpp:
1419         (WebCore::DocumentFragment::parseHTML):
1420         (WebCore::DocumentFragment::parseXML):
1421         * dom/DocumentFragment.h:
1422         (DocumentFragment): Updated for rename of FragmentScriptingPermission to
1423         ParserContentPolicy.
1424
1425         * dom/Element.cpp:
1426         (WebCore::isEventHandlerAttribute):
1427         (WebCore::Element::isJavaScriptURLAttribute):
1428         (WebCore::Element::isJavaScriptAttribute): Fixed a FIXME by factoring
1429         out some helper functions that reuse isURLAttribute(). This makes our
1430         attribute removal slightly more precise, as reflected in test changes.
1431
1432         (WebCore::Element::stripJavaScriptAttributes): Factored this function out
1433         of parserSetAttributes to clarify that the parser is responsible for
1434         fully removing scripts before inserting anything into the DOM.
1435
1436         Now that this is a helper function, we can avoid doing any work in the
1437         common case, where script content is allowed. Also, when we do have to
1438         strip attributes, we use "two finger compaction" to avoid copying the
1439         vector, and to avoid O(N) vector removal operations when there is
1440         something to remove.
1441
1442         (WebCore::Element::parserSetAttributes):
1443         * dom/Element.h:
1444
1445         * dom/FragmentScriptingPermission.h:
1446         (WebCore::scriptingContentIsAllowed):
1447         (WebCore::disallowScriptingContent):
1448         (WebCore::pluginContentIsAllowed):
1449         (WebCore::allowPluginContent): Renamed for clarity, and added some helper
1450         functions for reading values out of this enum.
1451
1452         * dom/ScriptableDocumentParser.cpp:
1453         (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Moved
1454         a settings check into the parser constructor so we're sure that all
1455         clients get the right behavior.
1456
1457         * dom/ScriptableDocumentParser.h:
1458         (WebCore::ScriptableDocumentParser::parserContentPolicy):
1459         (ScriptableDocumentParser):
1460         * editing/markup.cpp:
1461         (WebCore::createFragmentFromMarkup):
1462         (WebCore::createFragmentFromMarkupWithContext):
1463         (WebCore::createFragmentForInnerOuterHTML):
1464         (WebCore::createContextualFragment):
1465         * editing/markup.h: Updated for renames.
1466
1467         * html/HTMLAnchorElement.cpp:
1468         (WebCore::HTMLAnchorElement::isURLAttribute): Fixed a bug where
1469         isURLAttribute would ignore href attributes in other namespaces, like
1470         xlink:href.
1471
1472         * html/HTMLBaseElement.cpp:
1473         (WebCore::HTMLBaseElement::isURLAttribute): Same bug.
1474
1475         * html/HTMLElement.cpp:
1476         (WebCore::HTMLElement::isURLAttribute): Fixed a logic error where HTMLElement
1477         wouldn't call through to its base class.
1478
1479         * html/HTMLLinkElement.cpp:
1480         (WebCore::HTMLLinkElement::isURLAttribute): Same isURLAttribute namespace
1481         bug as above.
1482
1483         * html/parser/HTMLConstructionSite.cpp:
1484         (WebCore::setAttributes): Helper function for optionally stripping
1485         disallowed attributes before setting them on an element. This helps all
1486         clients get the right behavior without sprinkling checks everywhere.
1487
1488         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1489         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1490
1491         (WebCore::HTMLConstructionSite::insertScriptElement): Don't schedule the
1492         element for insertion into the document if the element is forbidden. This
1493         is slightly clearer than leaving an empty forbidden element in the document.
1494
1495         (WebCore::HTMLConstructionSite::createElement):
1496         (WebCore::HTMLConstructionSite::createHTMLElement):
1497         * html/parser/HTMLConstructionSite.h:
1498         (HTMLConstructionSite):
1499         (WebCore::HTMLConstructionSite::parserContentPolicy):
1500         * html/parser/HTMLDocumentParser.cpp:
1501         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1502         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
1503         (WebCore::HTMLDocumentParser::parseDocumentFragment):
1504         * html/parser/HTMLDocumentParser.h:
1505         (HTMLDocumentParser):
1506         (WebCore::HTMLDocumentParser::create):
1507         * html/parser/HTMLTreeBuilder.cpp:
1508         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1509         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
1510         Updated for renames and interface changes above.
1511
1512         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1513         (WebCore::HTMLTreeBuilder::processEndTag): Removed isParsingFragment()
1514         checks to make it possible to use ParserContentPolicy in more places.
1515
1516         Removed call to removeChildren() because, if an element is forbidden,
1517         we fully remove the element now. This brings behavior for <script>
1518         elements in line with behavior for plug-in elements. It also brings
1519         behavior of the HTML parser in line with behavior of the XML parser.
1520
1521         * html/parser/HTMLTreeBuilder.h:
1522         (WebCore::HTMLTreeBuilder::create):
1523         (FragmentParsingContext):
1524         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
1525         * platform/blackberry/PasteboardBlackBerry.cpp:
1526         (WebCore::Pasteboard::documentFragment):
1527         * platform/chromium/DragDataChromium.cpp:
1528         (WebCore::DragData::asFragment):
1529         * platform/chromium/PasteboardChromium.cpp:
1530         (WebCore::Pasteboard::documentFragment):
1531         * platform/gtk/PasteboardGtk.cpp:
1532         (WebCore::Pasteboard::documentFragment):
1533         * platform/mac/PasteboardMac.mm:
1534         (WebCore::Pasteboard::documentFragment):
1535         * platform/qt/DragDataQt.cpp:
1536         (WebCore::DragData::asFragment):
1537         * platform/qt/PasteboardQt.cpp:
1538         (WebCore::Pasteboard::documentFragment):
1539         * platform/win/ClipboardUtilitiesWin.cpp:
1540         (WebCore::fragmentFromCFHTML):
1541         (WebCore::fragmentFromHTML):
1542         * platform/wx/PasteboardWx.cpp:
1543         (WebCore::Pasteboard::documentFragment): Updated for renames and interface
1544         changes.
1545
1546         * svg/SVGAElement.cpp:
1547         (WebCore::SVGAElement::isURLAttribute): Fixed a bug where SVG anchor
1548         elements didn't identify their URL attributes.
1549
1550         * svg/SVGAElement.h:
1551         (SVGAElement):
1552
1553         * xml/XMLErrors.cpp:
1554         (WebCore::createXHTMLParserErrorHeader):
1555         (WebCore::XMLErrors::insertErrorMessageBlock): No need to disallow
1556         scripting attributes here because we're creating the attributes 
1557         ourselves and we know they're not scripting attributes.
1558
1559         * xml/parser/XMLDocumentParser.cpp:
1560         (WebCore::XMLDocumentParser::parseDocumentFragment):
1561         * xml/parser/XMLDocumentParser.h:
1562         (WebCore::XMLDocumentParser::create):
1563         (XMLDocumentParser): Updated for renames and interface changes above.
1564
1565         Removed the 8 inline capacity in the attribute vector so we could share
1566         helper functions with the HTML parser, which didn't have it.
1567
1568         * xml/parser/XMLDocumentParserLibxml2.cpp:
1569         (WebCore::setAttributes):
1570         (WebCore):
1571         (WebCore::XMLDocumentParser::XMLDocumentParser):
1572         (WebCore::handleNamespaceAttributes):
1573         (WebCore::handleElementAttributes):
1574         (WebCore::XMLDocumentParser::startElementNs):
1575         (WebCore::XMLDocumentParser::endElementNs):
1576         * xml/parser/XMLDocumentParserQt.cpp:
1577         (WebCore::setAttributes):
1578         (WebCore):
1579         (WebCore::XMLDocumentParser::XMLDocumentParser):
1580         (WebCore::handleNamespaceAttributes):
1581         (WebCore::handleElementAttributes):
1582         (WebCore::XMLDocumentParser::parseStartElement):
1583         (WebCore::XMLDocumentParser::parseEndElement): Same changes as for the
1584         HTML parser.
1585
1586 2013-03-19  Philip Rogers  <pdr@google.com>
1587
1588         Clean up static_casts for SVG renderers
1589         https://bugs.webkit.org/show_bug.cgi?id=111651
1590
1591         Reviewed by Abhishek Arya.
1592
1593         toRenderSVGPath and toRenderSVGFilter are preferred over static_casts because bad casts can
1594         be caught on our testing infrastructure. This patch replaces all static_casts for
1595         RenderSVGPath and RenderSVGFilter with toRenderSVGPath and toRenderSVGFilter, respectively.
1596
1597         This patch also adds FIXME to the remaining toRenderSVG* instances that are missing.
1598
1599         No new tests as this is covered with existing tests.
1600
1601         * rendering/RenderLayer.cpp:
1602         (WebCore::RenderLayer::paintLayerContents):
1603
1604             This call is currently safe due to the element->hasTagName(SVGNames::clipPathTag) check.
1605
1606         * rendering/svg/RenderSVGPath.h:
1607         (WebCore):
1608         (WebCore::toRenderSVGPath):
1609         * rendering/svg/RenderSVGResourceFilter.h:
1610         (WebCore):
1611         (WebCore::toRenderSVGFilter):
1612         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1613         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
1614         * rendering/svg/RenderSVGRoot.cpp:
1615         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
1616         * rendering/svg/SVGRenderSupport.cpp:
1617         (WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow):
1618         (WebCore::SVGRenderSupport::rendererHasSVGShadow):
1619         (WebCore::SVGRenderSupport::setRendererHasSVGShadow):
1620         * rendering/svg/SVGRenderingContext.cpp:
1621         (WebCore::SVGRenderingContext::~SVGRenderingContext):
1622
1623             This cast was not correct! Thankfully it was not required anyway.
1624
1625         * svg/SVGCircleElement.cpp:
1626         (WebCore::SVGCircleElement::svgAttributeChanged):
1627
1628             This cast was not correct!
1629
1630         * svg/SVGEllipseElement.cpp:
1631         (WebCore::SVGEllipseElement::svgAttributeChanged):
1632
1633             This cast was not correct!
1634
1635         * svg/SVGLineElement.cpp:
1636         (WebCore::SVGLineElement::svgAttributeChanged):
1637         * svg/SVGPathElement.cpp:
1638         (WebCore::SVGPathElement::svgAttributeChanged):
1639         (WebCore::SVGPathElement::pathSegListChanged):
1640         (WebCore::SVGPathElement::getBBox):
1641         * svg/SVGPolyElement.cpp:
1642         (WebCore::SVGPolyElement::svgAttributeChanged):
1643         * svg/SVGRectElement.cpp:
1644         (WebCore::SVGRectElement::svgAttributeChanged):
1645
1646 2013-03-19  Beth Dakin  <bdakin@apple.com>
1647
1648         RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
1649         https://bugs.webkit.org/show_bug.cgi?id=110673
1650
1651         Reviewed by Simon Fraser.
1652
1653         FrameLoaderClient::didChangeScrollOffset() should be called whenever something is 
1654         actually being scrolled. 
1655
1656         * rendering/RenderLayer.cpp:
1657         (WebCore::RenderLayer::scrollTo):
1658
1659 2013-03-19  Marja Hölttä  <marja@chromium.org>
1660
1661         [V8] Add machinery for generating specialized bindings for the main world
1662         https://bugs.webkit.org/show_bug.cgi?id=111417
1663
1664         Reviewed by Jochen Eisinger.
1665
1666         The new specialized bindings will be faster, because they don't need to
1667         do the "main world, isolated world or a worker" check, but can right
1668         away assume that we're in the main world.
1669
1670         Added an IDL attribute (V8PerWorldBindings) to define which
1671         attribute getters / setters to specialize.
1672
1673         This patch generates main world bindings for getters and setters of Node
1674         and Element. (The possibility to generate bindings for callbacks will be
1675         added later.)
1676
1677         No new tests (updated existing bindings tests).
1678
1679         * bindings/scripts/CodeGeneratorV8.pm:
1680         (GenerateHeader):
1681         (GenerateNormalAttrGetterCallback):
1682         (GenerateNormalAttrGetter):
1683         (GenerateNormalAttrSetterCallback):
1684         (GenerateNormalAttrSetter):
1685         (GenerateNamedConstructor):
1686         (GenerateSingleBatchedAttribute):
1687         (GenerateImplementation):
1688         (GenerateCallbackImplementation):
1689         (GenerateFunctionCallString):
1690         (CreateCustomSignature):
1691         (NativeToJSValue):
1692         * bindings/scripts/IDLAttributes.txt:
1693         * bindings/scripts/test/V8/V8Float64Array.cpp:
1694         (WebCore::ConfigureV8Float64ArrayTemplate):
1695         (WebCore::V8Float64Array::GetTemplate):
1696         (WebCore::V8Float64Array::HasInstance):
1697         * bindings/scripts/test/V8/V8Float64Array.h:
1698         (WebCore::toV8ForMainWorld):
1699         (WebCore):
1700         (WebCore::toV8FastForMainWorld):
1701         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1702         (WebCore):
1703         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1704         (WebCore::V8TestActiveDOMObject::GetTemplate):
1705         (WebCore::V8TestActiveDOMObject::HasInstance):
1706         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1707         (WebCore::toV8ForMainWorld):
1708         (WebCore):
1709         (WebCore::toV8FastForMainWorld):
1710         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1711         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
1712         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1713         (WebCore::V8TestCustomNamedGetter::HasInstance):
1714         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1715         (WebCore::toV8ForMainWorld):
1716         (WebCore):
1717         (WebCore::toV8FastForMainWorld):
1718         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1719         (WebCore):
1720         (WebCore::ConfigureV8TestEventConstructorTemplate):
1721         (WebCore::V8TestEventConstructor::GetTemplate):
1722         (WebCore::V8TestEventConstructor::HasInstance):
1723         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1724         (WebCore::toV8ForMainWorld):
1725         (WebCore):
1726         (WebCore::toV8FastForMainWorld):
1727         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1728         (WebCore::ConfigureV8TestEventTargetTemplate):
1729         (WebCore::V8TestEventTarget::GetTemplate):
1730         (WebCore::V8TestEventTarget::HasInstance):
1731         * bindings/scripts/test/V8/V8TestEventTarget.h:
1732         (WebCore::toV8ForMainWorld):
1733         (WebCore):
1734         (WebCore::toV8FastForMainWorld):
1735         * bindings/scripts/test/V8/V8TestException.cpp:
1736         (WebCore):
1737         (WebCore::ConfigureV8TestExceptionTemplate):
1738         (WebCore::V8TestException::GetTemplate):
1739         (WebCore::V8TestException::HasInstance):
1740         * bindings/scripts/test/V8/V8TestException.h:
1741         (WebCore::toV8ForMainWorld):
1742         (WebCore):
1743         (WebCore::toV8FastForMainWorld):
1744         * bindings/scripts/test/V8/V8TestInterface.cpp:
1745         (WebCore):
1746         (WebCore::ConfigureV8TestInterfaceTemplate):
1747         (WebCore::V8TestInterface::GetTemplate):
1748         (WebCore::V8TestInterface::HasInstance):
1749         * bindings/scripts/test/V8/V8TestInterface.h:
1750         (WebCore::toV8ForMainWorld):
1751         (WebCore):
1752         (WebCore::toV8FastForMainWorld):
1753         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1754         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1755         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1756         (WebCore::V8TestMediaQueryListListener::HasInstance):
1757         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1758         (WebCore::toV8ForMainWorld):
1759         (WebCore):
1760         (WebCore::toV8FastForMainWorld):
1761         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1762         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1763         (WebCore::ConfigureV8TestNamedConstructorTemplate):
1764         (WebCore::V8TestNamedConstructor::GetTemplate):
1765         (WebCore::V8TestNamedConstructor::HasInstance):
1766         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1767         (WebCore::toV8ForMainWorld):
1768         (WebCore):
1769         (WebCore::toV8FastForMainWorld):
1770         * bindings/scripts/test/V8/V8TestNode.cpp:
1771         (WebCore::ConfigureV8TestNodeTemplate):
1772         (WebCore::V8TestNode::GetTemplate):
1773         (WebCore::V8TestNode::HasInstance):
1774         * bindings/scripts/test/V8/V8TestNode.h:
1775         (WebCore::toV8ForMainWorld):
1776         (WebCore):
1777         (WebCore::toV8FastForMainWorld):
1778         * bindings/scripts/test/V8/V8TestObj.cpp:
1779         (WebCore):
1780         (WebCore::ConfigureV8TestObjTemplate):
1781         (WebCore::V8TestObj::GetTemplate):
1782         (WebCore::V8TestObj::HasInstance):
1783         (WebCore::V8TestObj::installPerContextProperties):
1784         * bindings/scripts/test/V8/V8TestObj.h:
1785         (WebCore::toV8ForMainWorld):
1786         (WebCore):
1787         (WebCore::toV8FastForMainWorld):
1788         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1789         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
1790         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1791         (WebCore::V8TestOverloadedConstructors::HasInstance):
1792         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1793         (WebCore::toV8ForMainWorld):
1794         (WebCore):
1795         (WebCore::toV8FastForMainWorld):
1796         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1797         (WebCore):
1798         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
1799         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1800         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1801         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1802         (WebCore::toV8ForMainWorld):
1803         (WebCore):
1804         (WebCore::toV8FastForMainWorld):
1805         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1806         (WebCore):
1807         (WebCore::ConfigureV8TestTypedefsTemplate):
1808         (WebCore::V8TestTypedefs::GetTemplate):
1809         (WebCore::V8TestTypedefs::HasInstance):
1810         * bindings/scripts/test/V8/V8TestTypedefs.h:
1811         (WebCore::toV8ForMainWorld):
1812         (WebCore):
1813         (WebCore::toV8FastForMainWorld):
1814         * bindings/v8/DOMDataStore.h:
1815         (WebCore::DOMDataStore::getWrapperForMainWorld):
1816         (DOMDataStore):
1817         * bindings/v8/V8DOMConfiguration.cpp:
1818         (WebCore::V8DOMConfiguration::batchConfigureAttributes):
1819         (WebCore::V8DOMConfiguration::configureTemplate):
1820         * bindings/v8/V8DOMConfiguration.h:
1821         (BatchedAttribute):
1822         (V8DOMConfiguration):
1823         (WebCore::V8DOMConfiguration::configureAttribute):
1824         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1825         (WebCore::toV8ForMainWorld):
1826         (WebCore):
1827         * bindings/v8/custom/V8EventTargetCustom.cpp:
1828         (WebCore::toV8ForMainWorld):
1829         (WebCore):
1830         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1831         (WebCore::toV8ForMainWorld):
1832         (WebCore):
1833         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
1834         (WebCore::toV8ForMainWorld):
1835         (WebCore):
1836         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1837         (WebCore::toV8ForMainWorld):
1838         (WebCore):
1839         * dom/Element.idl:
1840         * dom/Node.idl:
1841
1842 2013-03-19  Mike West  <mkwst@chromium.org>
1843
1844         FeatureObserver: Measure X-Frame-Options usage.
1845         https://bugs.webkit.org/show_bug.cgi?id=112670
1846
1847         Reviewed by Adam Barth.
1848
1849         This patch adds three FeatureObserver entries to gather information
1850         about 'X-Frame-Options' usage in general, and in particular usage
1851         and potential misunderstanding of the 'SAMEORIGIN' value.
1852
1853         Three entries are added:
1854
1855         - XFrameOptions measures the raw number of 'X-Frame-Options' headers.
1856
1857         - XFrameOptionsSameOrigin measures the number of those headers that
1858           set the value to 'SAMEORIGIN'.
1859
1860         - XFrameOptionsSameOriginWithBadAncestorChain measures the number of
1861           occasions in which the frame passed the "top-only" origin check we're
1862           currently performing, but would have failed a more strict check
1863           against poisoned ancestor chains (that is, an ancestor chain that
1864           looks like 'example.com' -> 'evil.com' -> 'example.com').
1865
1866         Mozilla is considering changing 'SAMEORIGIN's behavior to block the
1867         latter loophole[1], and the UI Safety spec is considering dropping
1868         'top-only' entirely[2]. This data will inform those decisions.
1869
1870         [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=725490
1871         [2]: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0007.html
1872
1873         This doesn't change web-visible behavior; it only adds histograms
1874
1875         * loader/FrameLoader.cpp:
1876         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
1877             When processing an 'X-Frame-Options' header's value, call out to
1878             FeatureObserver when relevant to increment the correct histogram
1879             entries.
1880         * page/FeatureObserver.h:
1881             Added three entries to the FeatureObserver enum: XFrameOptions,
1882             XFrameOptionsSameOrigin, and XFrameOptionsSameOriginWithBadAncestorChain.
1883             Each is explained above.
1884
1885 2013-03-19  Adam Barth  <abarth@webkit.org>
1886
1887         GenerateHashValue should be usable outside CodeGeneratorJS.pm
1888         https://bugs.webkit.org/show_bug.cgi?id=112736
1889
1890         Reviewed by Benjamin Poulain.
1891
1892         GenerateHashValue is not specific to CodeGeneratorJS.pm. Instead, the
1893         function matches the StringHash used in WTF. This patch moves the
1894         function into a separate Perl module so that it can be used by other
1895         Perl scripts. For example, I plan to use this function to compute the
1896         hash value for HTMLNames at compile time rather than at startup.
1897
1898         * bindings/scripts/CodeGeneratorJS.pm:
1899         (GenerateHashTable):
1900         * bindings/scripts/Hash.pm: Added.
1901         (leftShift):
1902         (GenerateHashValue):
1903
1904 2013-03-19  Dean Jackson  <dino@apple.com>
1905
1906         Allow PlugIn Snapshotting to be tested
1907         https://bugs.webkit.org/show_bug.cgi?id=98696
1908
1909         Reviewed by Tim Horton.
1910
1911         Expose a new setting maximumPlugInSnapshotAttempts that can
1912         be set by testing scripts.
1913
1914         Tests: plugins/snapshotting/restart.html
1915                plugins/snapshotting/simple.html
1916
1917         * page/Settings.in:
1918
1919 2013-03-19  Dean Jackson  <dino@apple.com>
1920
1921         Restarting a snapshotted plugin should restart all plugins from the same domain on the page
1922         https://bugs.webkit.org/show_bug.cgi?id=112725
1923
1924         Reviewed by Tim Horton.
1925
1926         If the user restarts a snapshotted plugin, then typically they will
1927         want to restart all similar plugins on the page, where similarity
1928         is defined by the domain of the content. Or in other words, since clients
1929         will typically add a restarted plugin to the list of autostarting
1930         domain hashes, we should start the other plugins that would autostart
1931         on reload.
1932
1933         When a snapshotted plugin gets the user click telling it to restart, it iterates
1934         over every frame in the document looking for domain hashes similar to its own.
1935         It then manually restarts each of the paused plugins.
1936
1937         * html/HTMLPlugInImageElement.cpp:
1938         (WebCore::addPlugInsFromNodeListMatchingOriginHash): Static helper function
1939             that builds a list of plugins to restart.
1940         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): After restarting itself,
1941             the plugin looks for all other similar snapshotted plugins in the page.
1942         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn): Splits out the actual
1943             restart functionality, to make it separate from plugins that were manually
1944             restarted and thus probably want to forward a delayed click event.
1945         * html/HTMLPlugInImageElement.h:
1946         (HTMLPlugInImageElement): New method restartSnapshottedPlugIn.
1947
1948 2013-03-19  Nate Chapin  <japhet@chromium.org>
1949
1950         Merge MainResourceLoader's SubstituteData loading + others into DocumentLoader
1951         https://bugs.webkit.org/show_bug.cgi?id=112722
1952
1953         Part of the ongoing effort to merge MainResourceLoader entirely
1954         into DocumentLoader.
1955
1956         Reviewed by Antti Koivisto.
1957
1958         No new tests, refactor only.
1959
1960         * loader/DocumentLoader.cpp:
1961         (WebCore::DocumentLoader::mainReceivedError): Moved from MainResourceLoader::receivedError
1962             and the failure case in MainResourceLoader::notifyFinished.
1963         (WebCore::DocumentLoader::stopLoading):
1964         (WebCore::DocumentLoader::finishedLoading):
1965         (WebCore::DocumentLoader::handleSubstituteDataLoadNow): Moved from MainResourceLoader.
1966         (WebCore::DocumentLoader::startDataLoadTimer): Moved from MainResourceLoader.
1967         (WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Moved from MainResourceLoader.
1968         (WebCore::DocumentLoader::willSendRequest):
1969         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
1970         (WebCore::DocumentLoader::responseReceived):
1971         (WebCore::DocumentLoader::receivedData):
1972         (WebCore::DocumentLoader::startLoadingMainResource): Most of MainResourceLoader::load
1973             moved here.
1974         (WebCore::DocumentLoader::cancelMainResourceLoad): MainResourceLoader::cancel
1975             moved here.
1976         * loader/DocumentLoader.h:
1977         * loader/MainResourceLoader.cpp:
1978         (WebCore::MainResourceLoader::notifyFinished):
1979         (WebCore::MainResourceLoader::reportMemoryUsage):
1980         (WebCore::MainResourceLoader::load):
1981         (WebCore::MainResourceLoader::identifier):
1982         * loader/MainResourceLoader.h:
1983
1984 2013-03-19  Ryosuke Niwa  <rniwa@webkit.org>
1985
1986         Unreviewed build fix after r146220. Add the missing ]'s.
1987
1988         * English.lproj/localizedStrings.js:
1989
1990 2013-03-19  Alpha Lam  <hclam@chromium.org>
1991
1992         GIFImageReader to count frames and decode in one pass
1993         https://bugs.webkit.org/show_bug.cgi?id=111144
1994
1995         Reviewed by Stephen White.
1996
1997         OBJECTIVE
1998
1999         This change has the objective of improving performance reading GIF
2000         files. This implementation can parse the entire GIF file in one pass
2001         and saves information about each frame, such that decoding in a later
2002         pass does not need to parse the file again.
2003
2004         This change fixes the performance problem of decoding GIF files when
2005         they are received very slowly. Existing implementation creates a new
2006         GIFImageReader for counting frames for every time it is notified that
2007         new data has been received, this has O(n^2) behavior when data is
2008         received very slowly.
2009
2010         ALGORITHM
2011
2012         This implementation divides the decoding process into two separate
2013         steps: parse and LZW decoding.
2014
2015         In the parse step, the state machine is similar to the existing
2016         implementation. However this algorithm does not perform any decoding
2017         while scanning through the file. Intead it creates a new data structure
2018         for caching all frame information and the corresponding LZW blocks.
2019
2020         If a full decode is requested then LZW decoding is performed. This
2021         implementation looks through all frame information saved and decodes
2022         each frame sequentially until the target frame is reached.
2023
2024         Because of the separation of parse and decode, each frame can be
2025         decoded separately. This paves the way to support seeking in GIF files.
2026
2027         TESTING
2028
2029         Added a new unit test to cover progressively decoding a GIF image.
2030         There are already GIF unit tests for functional testing.
2031         Exhaustive testing was done locally with a corpus of 60k images.
2032         I mixed the corpus with some generated bad data and truncated files.
2033         The results was bit-identical when compared to the previous
2034         implementation.
2035
2036         These was also no crashing when decoding the entire corpus.
2037
2038         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2039         (WebCore::GIFImageDecoder::GIFImageDecoder):
2040         (WebCore::GIFImageDecoder::setData):
2041         (WebCore::GIFImageDecoder::frameCount):
2042         (WebCore::GIFImageDecoder::repetitionCount):
2043         (WebCore::GIFImageDecoder::decode):
2044         * platform/image-decoders/gif/GIFImageDecoder.h:
2045         (GIFImageDecoder):
2046         * platform/image-decoders/gif/GIFImageReader.cpp:
2047         (GIFLZWContext::outputRow):
2048         (GIFLZWContext::doLZW):
2049         (GIFFrameContext::decode):
2050         (GIFImageReader::decode):
2051         (GIFImageReader::parse):
2052         (GIFImageReader::addFrameIfNecessary):
2053         (GIFLZWContext::prepareToDecode):
2054         * platform/image-decoders/gif/GIFImageReader.h:
2055         There is a lot of reshuffling in GIFLZWContext and GIFFrameContext.
2056         These changes has the goal of having GIFLZWContext be a pure decoding
2057         state machine. GIFFrameContext is mostly a read-only container for
2058         frame information. With all these changes we can decode each
2059         GIFFrameContext independently.
2060
2061         The ownership pattern is:
2062         GIFImageReader owns GIFFrameContext owns GIFLZWContext.
2063
2064         (GIFLZWContext::GIFLZWContext):
2065         (GIFLZWContext):
2066         (GIFLZWContext::hasRemainingRows):
2067         GIFLZWContext is moved to the top of file.
2068         (GIFLZWBlock):
2069         (GIFLZWBlock::GIFLZWBlock):
2070         New data structure to save block position and size.
2071         (GIFFrameContext):
2072         (GIFFrameContext::GIFFrameContext):
2073         (GIFFrameContext::~GIFFrameContext):
2074         (GIFFrameContext::addLzwBlock):
2075         (GIFFrameContext::isComplete):
2076         (GIFFrameContext::isHeaderDefined):
2077         (GIFFrameContext::isDataSizeDefined):
2078         (GIFFrameContext::setComplete):
2079         (GIFFrameContext::setHeaderDefined):
2080         (GIFFrameContext::setDataSize):
2081         Now owns GIFLZWContext for decoding.
2082         (GIFImageReader::GIFImageReader):
2083         (GIFImageReader::~GIFImageReader):
2084         (GIFImageReader::imagesCount):
2085         (GIFImageReader::frameContext):
2086         (GIFImageReader):
2087         (GIFImageReader::parseFailed):
2088         (GIFImageReader::isFirstFrame):
2089         Owns a list of GIFFrameContxt.
2090
2091 2013-03-19  Brent Fulgham  <bfulgham@webkit.org>
2092
2093         [WinCairo] Unreviewed build correction for WebCore library.
2094
2095         * WebCore.vcxproj/WebCore.vcxproj: Exclude CG-specific frame source
2096         from WinCairo build.
2097         * WebCore.vcxproj/WebCoreGeneratedWinCairo.make: Pass correct
2098         parameter to build-generated-files.sh for WinCairo build.
2099
2100 2013-03-19  Leon Scroggins  <scroggo@chromium.org>
2101
2102         Implement onRefEncodedData for lazy pixel refs.
2103         This allows printToSkPicture to write the original
2104         encoded data to the stream.
2105         Add a method to ImageFrameGenerator to copy its
2106         data, which is used by onRefEncodedData.
2107         https://bugs.webkit.org/show_bug.cgi?id=110759
2108
2109         Reviewed by Stephen White.
2110
2111         No new tests. New functionality is for testing purposes
2112         (creating SKP files).
2113
2114         * platform/graphics/chromium/ImageFrameGenerator.cpp:
2115         (WebCore::ImageFrameGenerator::data):
2116         (WebCore):
2117         * platform/graphics/chromium/ImageFrameGenerator.h:
2118         (ImageFrameGenerator):
2119         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
2120         (WebCore::LazyDecodingPixelRef::isClipped):
2121         (WebCore):
2122         (WebCore::LazyDecodingPixelRef::onRefEncodedData):
2123         * platform/graphics/chromium/LazyDecodingPixelRef.h:
2124         (LazyDecodingPixelRef):
2125
2126 2013-03-19  Philip Rogers  <pdr@google.com>
2127
2128         Separate SVG image size and container size
2129         https://bugs.webkit.org/show_bug.cgi?id=112651
2130
2131         Reviewed by Stephen Chenney.
2132
2133         Previously, SVG images could retain their cached size between reloads due to a bug where an
2134         old container size would be re-used if the image's new container size was not available yet.
2135
2136         This patch changes SVGImage::size() to return the intrinsic size of the image before a
2137         container size has been set. SVGImageCache::imageSizeForRenderer will now return the
2138         image's intrinsic size instead of a cached value if the container size cannot be looked up.
2139         In javascript, querying [SVGImage].width will now return either the image's intrinsic size
2140         or the size of 'imageForContainer'.
2141
2142         Test: svg/as-image/svg-container-size-after-reload.html
2143
2144         * svg/graphics/SVGImage.cpp:
2145         (WebCore::SVGImage::setContainerSize):
2146         (WebCore::SVGImage::containerSize):
2147         (WebCore::SVGImage::draw):
2148         (WebCore::SVGImage::dataChanged):
2149         * svg/graphics/SVGImage.h:
2150
2151             The member variable 'm_intrinsicSize' has been added to track the image's intrinsic
2152             size. This term can be found in: http://www.w3.org/TR/css3-images/#default-sizing
2153
2154         * svg/graphics/SVGImageCache.cpp:
2155         (WebCore::SVGImageCache::imageSizeForRenderer):
2156         (WebCore::SVGImageCache::imageForRenderer):
2157
2158             In both of these functions, image has been renamed to imageForContainer here to clarify
2159             that the cached container size is being returned, not the image's intrinsic size.
2160
2161 2013-03-19  Joshua Bell  <jsbell@chromium.org>
2162
2163         IndexedDB: Use integer plumbing for deleteDatabase onVersionChange calls
2164         https://bugs.webkit.org/show_bug.cgi?id=112715
2165
2166         Reviewed by Tony Chang.
2167
2168         When deleteDatabase on the back-end needs to send the front-end an
2169         onVersionChange notification it does so using the string overload. That's
2170         the only remaining use of that overload and we'd like to delete it. Switch
2171         to using the integer overload, with an already defined special value.
2172         This will unblock http://wkbug.com/112712 to delete the dead code.
2173
2174         No new tests - no functional change.
2175
2176         * Modules/indexeddb/IDBDatabase.cpp:
2177         (WebCore::IDBDatabase::onVersionChange): Map NoIntVersion to null.
2178         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2179         (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Call integer overload.
2180
2181 2013-03-19  Terry Anderson  <tdanderson@chromium.org>
2182
2183         Hover effects from a GestureTapDown are dismissed by a GestureTap on the hover element
2184         https://bugs.webkit.org/show_bug.cgi?id=103283
2185
2186         Reviewed by Antonio Gomes.
2187
2188         On a GestureTap event over an element that was made visible as a hover effect, the
2189         GestureTap should be applied to that element and the hover effects should not be dismissed. 
2190         A GestureTap or a mouse move to a location outside of the element should still dismiss the
2191         hover effects.
2192
2193         Tests: fast/events/touch/gesture/gesture-tap-hover-clear.html
2194                fast/events/touch/gesture/gesture-tap-on-hover-element.html
2195
2196         * page/EventHandler.cpp:
2197         (WebCore::EventHandler::handleGestureEvent):
2198
2199 2013-03-19  Alexei Filippov  <alph@chromium.org>
2200
2201         Web Inspector: Fix menu items capitalization.
2202         https://bugs.webkit.org/show_bug.cgi?id=112553
2203
2204         The context menu items should be correctly capitalized.
2205
2206         Reviewed by Pavel Feldman.
2207
2208         * English.lproj/localizedStrings.js:
2209         * inspector/front-end/BreakpointsSidebarPane.js:
2210         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._emptyElementContextMenu):
2211         (WebInspector.XHRBreakpointsSidebarPane.prototype._emptyElementContextMenu):
2212         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
2213         * inspector/front-end/CallStackSidebarPane.js:
2214         (WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
2215         * inspector/front-end/ConsoleView.js:
2216         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get var):
2217         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.set get contextMenu):
2218         * inspector/front-end/DOMBreakpointsSidebarPane.js:
2219         (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
2220         * inspector/front-end/DataGrid.js:
2221         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
2222         * inspector/front-end/ElementsPanel.js:
2223         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
2224         (WebInspector.ElementsPanel.prototype.appendApplicableItems):
2225         * inspector/front-end/ElementsTreeOutline.js:
2226         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
2227         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2228         * inspector/front-end/HeapSnapshotDataGrids.js:
2229         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
2230         * inspector/front-end/NetworkPanel.js:
2231         (WebInspector.NetworkPanel.prototype.appendApplicableItems):
2232         * inspector/front-end/ProfilesPanel.js:
2233         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
2234         (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
2235         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
2236         * inspector/front-end/ResourcesPanel.js:
2237         (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
2238         * inspector/front-end/ScriptsPanel.js:
2239         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
2240         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
2241         (WebInspector.ScriptsPanel.prototype._appendFunctionItems):
2242         * inspector/front-end/TabbedPane.js:
2243         (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
2244         * inspector/front-end/TimelinePanel.js:
2245         (WebInspector.TimelinePanel.prototype._contextMenu):
2246         * inspector/front-end/WatchExpressionsSidebarPane.js:
2247         (WebInspector.WatchExpressionsSection.prototype._emptyElementContextMenu):
2248         (WebInspector.WatchExpressionTreeElement.prototype.populateContextMenu):
2249
2250 2013-03-19  Alec Flett  <alecflett@chromium.org>
2251
2252         Inspector: IndexedDB clear button and menu item
2253         https://bugs.webkit.org/show_bug.cgi?id=112066
2254
2255         Reviewed by Vsevolod Vlasov.
2256
2257         Adds a button that can clear the contents of an objectStore from
2258         the IDBDataView, and a context menu from the ResourcesPanel that
2259         can do the same.
2260
2261         This also disables the Refresh button from the IDBDataView, so there
2262         is at least some visual feedback that the refresh button is working.
2263
2264         Tests: http/tests/inspector/indexeddb/database-data.html
2265
2266         * inspector/Inspector.json: New API clearObjectStore.
2267         * inspector/InspectorIndexedDBAgent.cpp: Implementation of clearObjectStore
2268         (WebCore):
2269         (ClearObjectStoreListener): Calls the original closure after the objectStore is cleared.
2270         (ClearObjectStore): Initiates the clear operation after the DB opens.
2271         * inspector/front-end/IndexedDBModel.js: Exposes clearObjectStore to the Model API.
2272         (WebInspector.IDBDataView): Add clear button and enable/disable clear and refresh buttons appropriately.
2273         * inspector/front-end/ResourcesPanel.js: Add a menu item and refresh the displayed data after the clear.
2274         * inspector/front-end/inspector.css: Add a style to show the right button for clear.
2275
2276 2013-03-19  Nate Chapin  <japhet@chromium.org>
2277
2278         Merge MainResourceLoader::responseReceived into DocumentLoader
2279         https://bugs.webkit.org/show_bug.cgi?id=112593
2280
2281         Part of the ongoing effort to merge MainResourceLoader entirely
2282         into DocumentLoader.
2283
2284         Reviewed by Adam Barth.
2285
2286         No new tests, refactor only.
2287
2288         * loader/DocumentLoader.cpp:
2289         (WebCore::DocumentLoader::DocumentLoader):
2290         (WebCore::DocumentLoader::stopLoading):
2291         (WebCore::DocumentLoader::finishedLoading): The only thing left in
2292             MainResourceLoader related to this function was a RefPtr which indirectly
2293             protected DocumentLoader. Move the RefPtr here and protect DocumentLoader directly.
2294         (WebCore::DocumentLoader::responseReceived): Moved from MainResourceLoader.
2295         (WebCore::DocumentLoader::callContinueAfterContentPolicy): Moved from MainResourceLoader.
2296         (WebCore::DocumentLoader::continueAfterContentPolicy): Moved from MainResourceLoader.
2297         (WebCore::DocumentLoader::interruptedForPolicyChangeError): Moved from MainResourceLoader.
2298         (WebCore::DocumentLoader::stopLoadingForPolicyChange): Moved from MainResourceLoader.
2299         (WebCore::DocumentLoader::receivedData):
2300         (WebCore::DocumentLoader::cancelMainResourceLoad):
2301         * loader/DocumentLoader.h:
2302         (WebCore::DocumentLoader::isLoadingMultipartContent): Store multipart bit here.
2303         * loader/MainResourceLoader.cpp:
2304         (WebCore::MainResourceLoader::MainResourceLoader):
2305         (WebCore::MainResourceLoader::cancel):
2306         (WebCore::MainResourceLoader::responseReceived):
2307         (WebCore::MainResourceLoader::notifyFinished):
2308         * loader/MainResourceLoader.h:
2309
2310 2013-03-19  Tony Chang  <tony@chromium.org>
2311
2312         Cleanup defaultUnifiedTextCheckerEnabled type
2313         https://bugs.webkit.org/show_bug.cgi?id=112640
2314
2315         Reviewed by Adam Barth.
2316
2317         It's a bool setting. I accidentally declared the default value as a double
2318         in r139202.
2319
2320         No new tests, this is a refactor/code cleanup.
2321
2322         * page/Settings.cpp:
2323         (WebCore): Switch from double to a bool.
2324
2325 2013-03-19  Alexei Filippov  <alph@chromium.org>
2326
2327         Web Inspector: Increase DataGrid default font size.
2328         https://bugs.webkit.org/show_bug.cgi?id=112692
2329
2330         Reviewed by Pavel Feldman.
2331
2332         The default font of 10px is too small. Most instances of DataGrid set
2333         font to 11px.
2334
2335         * inspector/front-end/dataGrid.css:
2336         (.data-grid table):
2337
2338 2013-03-19  Max Vujovic  <mvujovic@adobe.com>
2339
2340         Refactor conditions for setCompositingLayersNeedRebuild in RenderLayer::styleChanged
2341         https://bugs.webkit.org/show_bug.cgi?id=112606
2342
2343         Reviewed by Simon Fraser.
2344
2345         To fix bug 109098 [1], we will need to add more conditions for calling
2346         RenderLayerCompositor::setCompositingLayersNeedRebuild in RenderLayer::styleChanged.
2347         Adding more non-trivial conditions will make this block of code even harder to follow.
2348         This patch refactors the current conditions into functions:
2349             needsCompositingLayersRebuiltForClip
2350             needsCompositingLayersRebuiltForOverflow
2351
2352         In bug 109098 [1], I'm planning to add:
2353             needsCompositingLayersRebuiltForFilters
2354
2355         [1]: https://bugs.webkit.org/show_bug.cgi?id=109098
2356
2357         No new tests. Just refactoring.
2358
2359         * rendering/RenderLayer.cpp:
2360         (WebCore):
2361         (WebCore::RenderLayer::needsCompositingLayersRebuiltForClip):
2362         (WebCore::RenderLayer::needsCompositingLayersRebuiltForOverflow):
2363             This is a method and not a file static function because it needs to look at the
2364             RenderLayer's stackingContainer(), which is a private method.
2365         (WebCore::RenderLayer::styleChanged):
2366         * rendering/RenderLayer.h:
2367         (RenderLayer):
2368
2369 2013-03-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2370
2371         [Qt] Support kerning in fast path font rendering
2372         https://bugs.webkit.org/show_bug.cgi?id=106013
2373
2374         Reviewed by Jocelyn Turcotte.
2375
2376         To support kerning in the fast font path we need to implement SimpleFontData::applyTransforms.
2377
2378         This patch changes the types used by the fast path GlyphBuffer to match those used by Qt,
2379         and implements SimpleFontData::applyTransforms using QRawFont::advancesForGlyphIndexes.
2380
2381         * platform/graphics/GlyphBuffer.h:
2382         (GlyphBufferAdvance):
2383         (WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
2384         (WebCore::GlyphBufferAdvance::setWidth):
2385         (WebCore::GlyphBufferAdvance::width):
2386         (WebCore::GlyphBufferAdvance::height):
2387         (WebCore::GlyphBuffer::add):
2388         * platform/graphics/SimpleFontData.h:
2389         (WebCore::SimpleFontData::applyTransforms):
2390         * platform/graphics/WidthIterator.h:
2391         (WebCore::WidthIterator::supportsTypesettingFeatures):
2392
2393 2013-03-19  Sergey Ryazanov  <serya@chromium.org>
2394
2395         Web Inspector: split Console into two entities, a web-facing bound object and page console.
2396         https://bugs.webkit.org/show_bug.cgi?id=111578
2397
2398         Reviewed by Vsevolod Vlasov.
2399
2400         Otherwise, a lot of logging in WebCore needs to go through the DOMWindow which is unnecessary.
2401
2402         * CMakeLists.txt:
2403         * GNUmakefile.list.am:
2404         * Target.pri:
2405         * WebCore.exp.in:
2406         * WebCore.gypi:
2407         * WebCore.order:
2408         * WebCore.vcproj/WebCore.vcproj:
2409         * WebCore.vcxproj/WebCore.vcxproj:
2410         * WebCore.vcxproj/WebCore.vcxproj.filters:
2411         * WebCore.xcodeproj/project.pbxproj:
2412         * bindings/js/JSCustomXPathNSResolver.cpp:
2413         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2414         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2415         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2416         * dom/Document.cpp:
2417         (WebCore::Document::addConsoleMessage):
2418         (WebCore::Document::addMessage):
2419         * inspector/PageDebuggerAgent.cpp:
2420         (WebCore::PageDebuggerAgent::muteConsole):
2421         (WebCore::PageDebuggerAgent::unmuteConsole):
2422         * inspector/PageRuntimeAgent.cpp:
2423         (WebCore::PageRuntimeAgent::muteConsole):
2424         (WebCore::PageRuntimeAgent::unmuteConsole):
2425         * page/Console.cpp:
2426         (WebCore::internalAddMessage):
2427         * page/Console.h:
2428         (WebCore):
2429         (Console):
2430         * page/DOMWindow.cpp:
2431         (WebCore::DOMWindow::pageConsole):
2432         (WebCore):
2433         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
2434         (WebCore::DOMWindow::printErrorMessage):
2435         * page/DOMWindow.h:
2436         (WebCore):
2437         (DOMWindow):
2438         * page/Page.cpp:
2439         (WebCore::Page::Page):
2440         * page/Page.h:
2441         (WebCore):
2442         (WebCore::Page::console):
2443         (Page):
2444         * page/PageConsole.cpp: Added.
2445         (WebCore::PageConsole::PageConsole):
2446         (WebCore):
2447         (WebCore::PageConsole::~PageConsole):
2448         (WebCore::PageConsole::printSourceURLAndLine):
2449         (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
2450         (WebCore::PageConsole::addMessage):
2451         (WebCore::PageConsole::mute):
2452         (WebCore::PageConsole::unmute):
2453         (WebCore::PageConsole::shouldPrintExceptions):
2454         (WebCore::PageConsole::setShouldPrintExceptions):
2455         * page/PageConsole.h: Copied from Source/WebCore/page/Console.h.
2456         (WebCore):
2457         (PageConsole):
2458         (WebCore::PageConsole::create):
2459         (WebCore::PageConsole::page):
2460         * xml/XSLStyleSheetLibxslt.cpp:
2461         (WebCore::XSLStyleSheet::parseString):
2462         * xml/XSLTProcessorLibxslt.cpp:
2463         (WebCore::XSLTProcessor::parseErrorFunc):
2464         (WebCore::docLoaderFunc):
2465
2466 2013-03-19  Ilya Tikhonovsky  <loislo@chromium.org>
2467
2468         Web Inspector: move OverviewGrid and OverviewWindow into separate file.
2469         https://bugs.webkit.org/show_bug.cgi?id=112693
2470
2471         Reviewed by Yury Semikhatsky.
2472
2473         It is the third patch for the meta bug "Web Inspector: meta bug: extract OverviewGrid from TimelineOverviewPane"
2474         It just moves the OverviewGrid and the related classes into its own file.
2475
2476         * WebCore.gypi:
2477         * WebCore.vcproj/WebCore.vcproj:
2478         * WebCore.vcxproj/WebCore.vcxproj:
2479         * WebCore.vcxproj/WebCore.vcxproj.filters:
2480         * inspector/compile-front-end.py:
2481         * inspector/front-end/OverviewGrid.js: Added.
2482         (WebInspector.OverviewGrid):
2483         (WebInspector.OverviewGrid.prototype.itemsGraphsElement):
2484         (WebInspector.OverviewGrid.prototype.insertBeforeItemsGraphsElement):
2485         (WebInspector.OverviewGrid.prototype.clientWidth):
2486         (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
2487         (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
2488         (WebInspector.OverviewGrid.prototype.updateDividers):
2489         (WebInspector.OverviewGrid.prototype.addEventDividers):
2490         (WebInspector.OverviewGrid.prototype.removeEventDividers):
2491         (WebInspector.OverviewGrid.prototype.setWindowPosition):
2492         (WebInspector.OverviewGrid.prototype.reset):
2493         (WebInspector.OverviewGrid.prototype.windowLeft):
2494         (WebInspector.OverviewGrid.prototype.windowRight):
2495         (WebInspector.OverviewGrid.prototype.setWindow):
2496         (WebInspector.OverviewGrid.prototype.addEventListener):
2497         (WebInspector.OverviewGrid.Window):
2498         (WebInspector.OverviewGrid.Window.prototype.reset):
2499         (WebInspector.OverviewGrid.Window.prototype._leftResizeElementDragging):
2500         (WebInspector.OverviewGrid.Window.prototype._rightResizeElementDragging):
2501         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
2502         (WebInspector.OverviewGrid.Window.prototype._windowSelectorDragging):
2503         (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
2504         (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
2505         (WebInspector.OverviewGrid.Window.prototype._windowDragging):
2506         (WebInspector.OverviewGrid.Window.prototype._endWindowDragging):
2507         (WebInspector.OverviewGrid.Window.prototype._moveWindow):
2508         (WebInspector.OverviewGrid.Window.prototype._resizeWindowLeft):
2509         (WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
2510         (WebInspector.OverviewGrid.Window.prototype._resizeWindowMaximum):
2511         (WebInspector.OverviewGrid.Window.prototype._setWindow):
2512         (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
2513         (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
2514         (WebInspector.OverviewGrid.Window.prototype._zoom):
2515         (WebInspector.OverviewGrid.WindowSelector):
2516         (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
2517         (WebInspector.OverviewGrid.WindowSelector.prototype._close):
2518         (WebInspector.OverviewGrid.WindowSelector.prototype._updatePosition):
2519         * inspector/front-end/TimelineOverviewPane.js:
2520         * inspector/front-end/WebKit.qrc:
2521         * inspector/front-end/inspector.html:
2522
2523 2013-03-19  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2524
2525         [Qt] Monospace font does not render in proper sizes
2526         https://bugs.webkit.org/show_bug.cgi?id=93263
2527
2528         Reviewed by Jocelyn Turcotte.
2529
2530         Do not force fonts to use integer metrics. This was necessary when the fast font path
2531         only worked in integer but is now hindering accurate metrics. This is also required to
2532         make kerning in the fast-path look acceptable
2533
2534         Only enabled for Qt 5.1+ to avoid changing all the baselines for 5.0.
2535
2536         * platform/graphics/qt/FontPlatformDataQt.cpp:
2537         (WebCore::FontPlatformData::FontPlatformData):
2538
2539 2013-03-19  John J. Barton  <johnjbarton@chromium.org>
2540
2541         Web Inspector: Add iframe option to inspectedWindow.eval() extension API
2542         https://bugs.webkit.org/show_bug.cgi?id=106811
2543
2544         Reviewed by Vsevolod Vlasov.
2545
2546         Add a new case to the options processing in inspectedWindow.eval(), look
2547         for option.frameURL <string> and/or option.scriptExecutionContext: <string>, find the
2548         matching JS context in the runtimeModel, and call evaluate() in that
2549         context; or error if the context is not found. 
2550
2551         Test: http/tests/inspector/extensions-iframe-eval.html
2552
2553         * inspector/front-end/ExtensionServer.js:
2554         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2555         (WebInspector.ExtensionServer.prototype.):
2556         (WebInspector.ExtensionServer.prototype.evaluate):
2557         * inspector/front-end/ResourceTreeModel.js:
2558         (WebInspector.ResourceTreeModel.prototype.frames):
2559            Added read access to _frames
2560        * inspector/front-end/RuntimeModel.js:
2561         (WebInspector.RuntimeModel.prototype.contextListByFrame):
2562            Added access to a frame's contextList, removed contextByFrameAndSecurityOrigin()
2563         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
2564            Added access to frame's mainWorldContext, rather than implicit first context.
2565            Now we can go from ResourceTreeModel -> frame -> contextList then either
2566            mainWorldContext() or contextBySecurityOrigin() to access contexts.
2567
2568         * inspector/front-end/ExtensionServer.js:
2569         (WebInspector.ExtensionServer.prototype.):
2570         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2571         (WebInspector.ExtensionServer.prototype.evaluate):
2572         * inspector/front-end/ResourceTreeModel.js:
2573         * inspector/front-end/RuntimeModel.js:
2574         (WebInspector.RuntimeModel.prototype.contextListByFrame):
2575         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
2576
2577         * inspector/front-end/ExtensionServer.js:
2578         (WebInspector.ExtensionServer.prototype._onReload):
2579         (WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
2580         (WebInspector.ExtensionServer.prototype.):
2581         (WebInspector.ExtensionServer.prototype.evaluate):
2582         * inspector/front-end/ResourceTreeModel.js:
2583         (WebInspector.ResourceTreeModel.prototype.frames):
2584         * inspector/front-end/RuntimeModel.js:
2585         (WebInspector.RuntimeModel.prototype.contextListByFrame):
2586         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
2587
2588         * inspector/front-end/ExtensionServer.js:
2589         (WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
2590         (WebInspector.ExtensionServer.prototype.):
2591         (WebInspector.ExtensionServer.prototype.evaluate):
2592         * inspector/front-end/ResourceTreeModel.js:
2593         (WebInspector.ResourceTreeModel.prototype.frames):
2594         * inspector/front-end/RuntimeModel.js:
2595         (WebInspector.RuntimeModel.prototype.contextListByFrame):
2596         (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
2597
2598 2013-03-19  Ilya Tikhonovsky  <loislo@chromium.org>
2599
2600         Web Inspector: rename TimelineOverviewWindow to OverviewGrid.Window and fix names for constants.
2601         https://bugs.webkit.org/show_bug.cgi?id=112685
2602
2603         Reviewed by Yury Semikhatsky.
2604
2605         It is the second patch which extracts OverviewGrid from TimelineOverviewPane.
2606         It renames internal components of OverviewGrid.
2607         WebInspector.TimelineOverviewWindow -> WebInspector.OverviewGrid.Window
2608         WebInspector.TimelineOverviewWindow.WindowSelector -> WebInspector.OverviewGrid.WindowSelector
2609
2610         and moves constants from WebInspector.TimelineOverviewWindow namespace to WebInspector.OverviewGrid namespace
2611
2612         * inspector/front-end/TimelineOverviewPane.js:
2613         (WebInspector.TimelineOverviewPane):
2614         (WebInspector.OverviewGrid):
2615         (WebInspector.OverviewGrid.Window):
2616         (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
2617         (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
2618         (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
2619         (WebInspector.OverviewGrid.Window.prototype._windowDragging):
2620         (WebInspector.OverviewGrid.Window.prototype._moveWindow):
2621         (WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
2622         (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
2623         (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
2624         (WebInspector.OverviewGrid.Window.prototype._zoom):
2625         (WebInspector.OverviewGrid.WindowSelector):
2626         (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
2627
2628 2013-03-19  Ilya Tikhonovsky  <loislo@chromium.org>
2629
2630         Web Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPane into a new class OverviewGrid.
2631         https://bugs.webkit.org/show_bug.cgi?id=112584
2632
2633         Reviewed by Pavel Feldman.
2634
2635         It is the first path in the set.
2636         The end goal is to extract OverviewGrid with window selectors
2637         into a separate class in separate file and reuse it in CPU FlameChart.
2638
2639         * inspector/front-end/TimelineOverviewPane.js:
2640         (WebInspector.TimelineOverviewPane):
2641         (WebInspector.OverviewGrid):
2642         (WebInspector.OverviewGrid.prototype.get grid):
2643         (WebInspector.OverviewGrid.prototype.get clientWidth):
2644         (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
2645         (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
2646         (WebInspector.OverviewGrid.prototype.updateDividers):
2647         (WebInspector.OverviewGrid.prototype.addEventDividers):
2648         (WebInspector.OverviewGrid.prototype.removeEventDividers):
2649         (WebInspector.OverviewGrid.prototype.setWindowPosition):
2650         (WebInspector.OverviewGrid.prototype.reset):
2651         (WebInspector.OverviewGrid.prototype.get windowLeft):
2652         (WebInspector.OverviewGrid.prototype.get windowRight):
2653         (WebInspector.OverviewGrid.prototype.setWindow):
2654         (WebInspector.OverviewGrid.prototype.addEventListener):
2655         (WebInspector.TimelineOverviewPane.prototype.setMode):
2656         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
2657         (WebInspector.TimelineOverviewPane.prototype._update):
2658         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
2659         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
2660         (WebInspector.TimelineOverviewPane.prototype._reset):
2661         (WebInspector.TimelineOverviewPane.prototype.windowLeft):
2662         (WebInspector.TimelineOverviewPane.prototype.windowRight):
2663         (WebInspector.TimelineOverviewPane.prototype._updateWindow):
2664
2665 2013-03-19  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2666
2667         Web Inspector: Add Inspector.targetCrashed event to Inspector protocol.
2668         https://bugs.webkit.org/show_bug.cgi?id=112669
2669
2670         Added Inspector.targetCrashed event and handled it on the front end.
2671         Showing a modal dialog similar to the one displayed when the remote
2672         debugging target is disconnected.
2673
2674         Reviewed by Pavel Feldman.
2675
2676         * English.lproj/localizedStrings.js:
2677         * inspector/Inspector.json:
2678         * inspector/front-end/HelpScreen.js:
2679         (WebInspector.HelpScreenUntilReload):
2680         (WebInspector.HelpScreenUntilReload.prototype.willHide):
2681         * inspector/front-end/inspector.js:
2682         (WebInspector.targetCrashed):
2683
2684 2013-03-19  Mario Sanchez Prada  <mario.prada@samsung.com>
2685
2686         [GTK] Wrong guard USE(GLX) in RedirectedXCompositeWindow
2687         https://bugs.webkit.org/show_bug.cgi?id=112600
2688
2689         Reviewed by Martin Robinson.
2690
2691         Replace USE(GLX) condition with USE(OPENGL) && PLATFORM(X11).
2692
2693         * platform/gtk/RedirectedXCompositeWindow.cpp: Updated guard.
2694         * platform/gtk/RedirectedXCompositeWindow.h: Ditto.
2695
2696 2013-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
2697
2698         [CSSRegions] Crash reflowing content in variable width regions
2699         https://bugs.webkit.org/show_bug.cgi?id=112515
2700
2701         Reviewed by David Hyatt.
2702
2703         When removing floats during relayout of a line in a paginated context,
2704         we have to make sure that the floats collection actually has elements before
2705         accessing the last float from the collection.
2706         This situation arises when a block had floats in a previous layout and after
2707         they were removed, m_floatingObjects is not destroyed, only emptied.
2708
2709         Test: fast/regions/crash-reflow-inline-content-in-variable-width-regions.html
2710
2711         * rendering/RenderBlock.cpp:
2712         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2713         * rendering/RenderBlockLineLayout.cpp:
2714         (WebCore::RenderBlock::layoutRunsAndFloats):
2715         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2716
2717 2013-03-18  Vsevolod Vlasov  <vsevik@chromium.org>
2718
2719         Web Inspector: Debugger scripts should visually differ from network/filesystem files in workspace.
2720         https://bugs.webkit.org/show_bug.cgi?id=112552
2721
2722         Reviewed by Pavel Feldman.
2723
2724         Extracted ContentProviderBasedProjectDelegate from SimpleProjectDelegate.
2725         Implemented DebuggerProjectDelegate for DefaultScriptMapping.
2726         Debugger scripts are now added to workspace with a name starting with [VM] and ending with scriptId.
2727         Added yellow background to debugger scripts editor.
2728
2729         * WebCore.gypi:
2730         * WebCore.vcproj/WebCore.vcproj:
2731         * inspector/compile-front-end.py:
2732         * inspector/front-end/ContentProviderBasedProjectDelegate.js: Added.
2733         * inspector/front-end/DefaultScriptMapping.js:
2734         (WebInspector.DefaultScriptMapping):
2735         (WebInspector.DefaultScriptMapping.prototype.addScript):
2736         (WebInspector.DefaultScriptMapping.prototype._debuggerReset):
2737         (WebInspector.DebuggerProjectDelegate):
2738         (WebInspector.DebuggerProjectDelegate.prototype.id):
2739         (WebInspector.DebuggerProjectDelegate.prototype.type):
2740         (WebInspector.DebuggerProjectDelegate.prototype.displayName):
2741         (WebInspector.DebuggerProjectDelegate.prototype.addScript):
2742         * inspector/front-end/JavaScriptSourceFrame.js:
2743         (WebInspector.JavaScriptSourceFrame):
2744         * inspector/front-end/ParsedURL.js:
2745         (WebInspector.ParsedURL.splitURL):
2746         * inspector/front-end/SimpleWorkspaceProvider.js:
2747         (WebInspector.SimpleProjectDelegate):
2748         (WebInspector.SimpleProjectDelegate.prototype.addFile):
2749         (WebInspector.SimpleProjectDelegate.prototype._ensureUniquePath):
2750         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2751         * inspector/front-end/WebKit.qrc:
2752         * inspector/front-end/Workspace.js:
2753         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
2754         * inspector/front-end/inspector.html:
2755         * inspector/front-end/javaScriptSourceFrame.css: Added.
2756         (.source-frame-debugger-script):
2757
2758 2013-03-19  Andrey Lushnikov  <lushnikov@chromium.org>
2759
2760         Web Inspector: [CodeMirror] add smart braces functionality
2761         https://bugs.webkit.org/show_bug.cgi?id=112138
2762
2763         Reviewed by Vsevolod Vlasov.
2764
2765         No new tests.
2766
2767         Add closebrackets add-on to codemirror which implements smart braces
2768         functionality and guard this setting with the "Text Editor smart
2769         braces" experiment.
2770
2771         * WebCore.gypi:
2772         * WebCore.vcproj/WebCore.vcproj:
2773         * WebCore.vcxproj/WebCore.vcxproj:
2774         * WebCore.vcxproj/WebCore.vcxproj.filters:
2775         * inspector/front-end/CodeMirrorTextEditor.js:
2776         * inspector/front-end/WebKit.qrc:
2777         * inspector/front-end/cm/closebrackets.js: Added.
2778         (.):
2779
2780 2013-03-19  Andrey Lushnikov  <lushnikov@chromium.org>
2781
2782         Web Inspector: Avoid forcing text editor resize
2783         https://bugs.webkit.org/show_bug.cgi?id=112581
2784
2785         Reviewed by Vsevolod Vlasov.
2786
2787         No new tests.
2788
2789         Avoid unnecessary text editor resizing by removing line decoration
2790         via removeDecoration method instead of DOM remove operation.
2791
2792         * inspector/front-end/SourceFrame.js:
2793         (WebInspector.SourceFrame.prototype.clearMessages):
2794         (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
2795
2796 2013-03-19  Andrey Lushnikov  <lushnikov@chromium.org>
2797
2798         Web Inspector: [CodeMirror] fix cursor movements
2799         https://bugs.webkit.org/show_bug.cgi?id=112555
2800
2801         Reviewed by Vsevolod Vlasov.
2802
2803         No new tests.
2804
2805         - Update CodeMirror to ToT to include its improved cursor movement
2806         - Add a small keymap to force cursor stop on both line endings and line
2807         starts.
2808
2809         * inspector/front-end/CodeMirrorTextEditor.js:
2810         (WebInspector.CodeMirrorTextEditor):
2811         (WebInspector.CodeMirrorTextEditor.FixWordMovement):
2812         (WebInspector.CodeMirrorTextEditor.FixWordMovement.moveRight):
2813         * inspector/front-end/cm/codemirror.css:
2814         (.CodeMirror div.CodeMirror-cursor):
2815         (.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor):
2816         (.CodeMirror):
2817         * inspector/front-end/cm/codemirror.js:
2818         (window.CodeMirror):
2819         (window.CodeMirror.):
2820
2821 2013-03-19  Adam Barth  <abarth@webkit.org>
2822
2823         [chromium] Regression(143825): select elements don't open when there is a marquee on the page
2824         https://bugs.webkit.org/show_bug.cgi?id=111278
2825
2826         Unreviewed.
2827
2828         This patch is a rollout of http://trac.webkit.org/changeset/143825. The
2829         original patch caused a regression in the Chromium port.
2830
2831         * rendering/RenderLayer.cpp:
2832         (WebCore::RenderLayer::scrollTo):
2833
2834 2013-03-19  Alexander Pavlov  <apavlov@chromium.org>
2835
2836         Web Inspector: [Styles] Matching @host rule children are not displayed
2837         https://bugs.webkit.org/show_bug.cgi?id=112664
2838
2839         Reviewed by Vsevolod Vlasov.
2840
2841         Process host rules' contents akin to media rules' when handling the CSS model and source data.
2842
2843         Test: platform/chromium/inspector/styles/host-rules.html
2844
2845         * inspector/InspectorStyleSheet.cpp:
2846         (flattenSourceData):
2847         (WebCore::asCSSRuleList):
2848
2849 2013-03-18  Alexander Pavlov  <apavlov@chromium.org>
2850
2851         Web Inspector: [Styles] The "inherit" property value should be suggested for all properties
2852         https://bugs.webkit.org/show_bug.cgi?id=112662
2853
2854         Reviewed by Vsevolod Vlasov.
2855
2856         * inspector/front-end/CSSMetadata.js:
2857         (WebInspector.CSSMetadata.keywordsForProperty):
2858
2859 2013-03-18  David Kilzer  <ddkilzer@apple.com>
2860
2861         BUILD FIX (r146088): ResourceRequest::cfURLRequest() is defined twice on iOS
2862         <http://webkit.org/b/112387>
2863
2864         * platform/network/mac/ResourceRequestMac.mm:
2865         (WebCore::ResourceRequest::cfURLRequest): Move method into
2866         !USE(CFNETWORK) section since it's also defined in
2867         cf/ResourceRequestCFNet.cpp on iOS.
2868
2869 2013-03-18  Alpha Lam  <hclam@chromium.org>
2870
2871         [chromium] More tracing in deferred image decoding
2872         https://bugs.webkit.org/show_bug.cgi?id=112648
2873
2874         Reviewed by James Robinson.
2875
2876         Adding more trace events for a couple things in deferred image decoding path:
2877         - Time span for each lock pixels of SkPixelRef.
2878         - Time spent on decoding, scaling and pruning. Also the stack trace for these events.
2879         - Memory usage and number of cached entries.
2880         - Number of decode & scale operations done per image.
2881
2882         No test as this just add tracing information and no behavior change.
2883
2884         * platform/graphics/chromium/ImageDecodingStore.cpp:
2885         (WebCore::ImageDecodingStore::prune):
2886         (WebCore::ImageDecodingStore::insertCacheInternal):
2887         (WebCore::ImageDecodingStore::removeFromCacheInternal):
2888         * platform/graphics/chromium/ImageFrameGenerator.cpp:
2889         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
2890         (WebCore::ImageFrameGenerator::decodeAndScale):
2891         (WebCore::ImageFrameGenerator::tryToScale):
2892         (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
2893         (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
2894         (WebCore::ImageFrameGenerator::decode):
2895         * platform/graphics/chromium/ImageFrameGenerator.h:
2896         (ImageFrameGenerator):
2897         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
2898         (WebCore::LazyDecodingPixelRef::onLockPixels):
2899         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
2900         (WebCore::LazyDecodingPixelRef::PrepareToDecode):
2901
2902 2013-03-18  Kentaro Hara  <haraken@chromium.org>
2903
2904         Unreviewed. Rebaselined run-bindings-tests after r146161.
2905
2906         * bindings/scripts/test/JS/JSTestObj.cpp:
2907         (WebCore::setJSTestObjEnumAttr):
2908         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
2909         * bindings/scripts/test/V8/V8TestObj.cpp:
2910         (WebCore::ConfigureV8TestObjTemplate):
2911
2912 2013-03-18  Robert Flack  <flackr@chromium.org>
2913
2914         [chromium] Small pixel differences in scroll bars after r145844
2915         https://bugs.webkit.org/show_bug.cgi?id=112384
2916
2917         Reviewed by Kenneth Russell.
2918
2919         Tests: fast/forms/basic-textareas-quirks.html
2920                fast/forms/basic-textareas.html
2921                fast/overflow/overflow-x-y.html
2922                fast/parser/open-comment-in-textarea.html
2923                fast/replaced/width100percent-textarea.html
2924
2925         * platform/chromium/ScrollbarThemeChromium.cpp:
2926         (WebCore::ScrollbarThemeChromium::trackRect):
2927
2928 2013-03-18  Brent Fulgham  <bfulgham@webkit.org>
2929
2930         [WinCairo] Unreviewed build correction.
2931
2932         The "ImageDecoder.h" file was improperly tagged as a source file to
2933         build, causing a build failure on initial build attempts. Subsequent
2934         or incremental builds would work.
2935
2936         * WebCore.vcxproj/WebCore.vcxproj: Exclude CG-specific font files.
2937         Switch 'ImageDecoder.h' to proper source file type.
2938         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2939
2940 2013-03-18  James Robinson  <jamesr@chromium.org>
2941
2942         [chromium] Remove unused type WebTransformationMatrix
2943         https://bugs.webkit.org/show_bug.cgi?id=112634
2944
2945         Reviewed by Adam Barth.
2946
2947         * WebCore.gypi:
2948         * platform/chromium/support/WebTransformationMatrix.cpp: Removed.
2949
2950 2013-03-18  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2951
2952         Add IDL 'enum' support to CodeGeneratorJS.pm
2953         https://bugs.webkit.org/show_bug.cgi?id=112475
2954
2955         Reviewed by Kentaro Hara.
2956
2957         This adds support for enumerations in JS, adding validation checking
2958         to setters.
2959         It also does validation checking to methods, and a new method
2960         methodWithEnumArg in TestObj.idl
2961
2962         Test: bindings/scripts/test/TestObj.idl
2963
2964         * bindings/scripts/CodeGeneratorJS.pm:
2965         (GenerateImplementation):
2966         (GenerateParametersCheck):
2967         (NativeToJSValue):
2968         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2969         (WebDOMTestObj::methodWithEnumArg):
2970         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2971         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2972         (webkit_dom_test_obj_method_with_enum_arg):
2973         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2974         * bindings/scripts/test/JS/JSTestObj.cpp:
2975         (WebCore):
2976         (WebCore::jsTestObjEnumAttr):
2977         (WebCore::setJSTestObjEnumAttr):
2978         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
2979         * bindings/scripts/test/JS/JSTestObj.h:
2980         (WebCore):
2981         * bindings/scripts/test/ObjC/DOMTestObj.h:
2982         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2983         (-[DOMTestObj methodWithEnumArg:]):
2984         * bindings/scripts/test/TestObj.idl:
2985         * bindings/scripts/test/V8/V8TestObj.cpp:
2986         (WebCore::TestObjV8Internal::methodWithEnumArgMethod):
2987         (TestObjV8Internal):
2988         (WebCore::TestObjV8Internal::methodWithEnumArgMethodCallback):
2989         (WebCore::ConfigureV8TestObjTemplate):
2990
2991 2013-03-18  Sam Weinig  <sam@webkit.org>
2992
2993         Need a bundle SPI to generate a snapshot of a specific DOM node (like [DOMNode renderedImage])
2994         <rdar://problem/13148631>
2995         https://bugs.webkit.org/show_bug.cgi?id=110034
2996
2997         Reviewed by Tim Horton.
2998
2999         * WebCore.exp.in:
3000         Add some necessary exports.
3001
3002 2013-03-18  Brent Fulgham  <bfulgham@webkit.org>
3003
3004         [WinCairo] Build WebCore under VS2010
3005         https://bugs.webkit.org/show_bug.cgi?id=112637
3006
3007         Reviewed by Tim Horton.
3008
3009         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Extend project
3010         with WinCairo-specific build targets.
3011         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props: Added.
3012         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props: Added.
3013         * WebCore.vcxproj/WebCore.vcxproj: Update to build WinCairo version
3014         of code.
3015         * WebCore.vcxproj/WebCoreCURL.props: Added.
3016         * WebCore.vcxproj/WebCoreCairo.props: Added.
3017         * WebCore.vcxproj/WebCoreDebugWinCairo.props: Added.
3018         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
3019         * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props: Added.
3020         * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props: Added.
3021         * WebCore.vcxproj/WebCoreGeneratedWinCairo.make: Added.
3022         * WebCore.vcxproj/WebCoreGeneratedWinCairoCommon.props: Added.
3023         * WebCore.vcxproj/WebCoreReleaseWinCairo.props: Added.
3024         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
3025         * WebCorePrefix.h: Update header to not include Apple-specific
3026         headers during WinCairo build.
3027
3028 2013-03-18  Joshua Bell <jsbell@chromium.org>
3029
3030         IDB Cursor continue moves one item at a time
3031         https://bugs.webkit.org/show_bug.cgi?id=109972
3032
3033         Reviewed by Tony Chang.
3034
3035         IndexedDB: Use seek on the underlying levelDB iterator to implement the continue operation
3036         on a cursor, instead of advancing one item at a time. On a simple test in Chrome - open a
3037         key cursor on an index w/ 100 items, then do continue(50), rinse and repeat - this cuts the
3038         time 50% (850c/s to 1700c/s). (Original patch c/o Pankaj Kakkar <pankaj@google.com>)
3039
3040         Covered by existing storage/indexeddb cursor tests; just a performance optimization.
3041
3042         * Modules/indexeddb/IDBBackingStore.cpp:
3043         (WebCore::IDBBackingStore::Cursor::continueFunction): Special case first iteration w/ key
3044         to use leveldb seek (forward cursors only, since reverse seek isn't exposed).
3045         (WebCore::ObjectStoreKeyCursorImpl::encodeKey): Helper for encoding key to seek to.
3046         (WebCore::ObjectStoreCursorImpl::encodeKey): Ditto.
3047         (WebCore::IndexKeyCursorImpl::encodeKey): Ditto.
3048         (WebCore::IndexCursorImpl::encodeKey): Ditto.
3049         (WebCore::objectStoreCursorOptions): Store IDs for encodeKey() to use.
3050         (WebCore::indexCursorOptions): Ditto.
3051         * Modules/indexeddb/IDBBackingStore.h:
3052         (CursorOptions): Storage for IDs.
3053         (Cursor): Add encodeKey() to interface.
3054
3055 2013-03-18  Alexey Proskuryakov  <ap@apple.com>
3056
3057         MessagePortChannel::EventData should not be exposed
3058         https://bugs.webkit.org/show_bug.cgi?id=112635
3059
3060         Reviewed by Geoff Garen.
3061
3062         MessagePortChannel::EventData is an implementation detail that's only needed to
3063         store events in MessageQueue. Other existing code already gets away without it,
3064         just passing message and ports separately.
3065
3066         * dom/MessagePort.cpp:
3067         (WebCore::MessagePort::postMessage):
3068         (WebCore::MessagePort::dispatchMessages):
3069         * dom/MessagePortChannel.cpp:
3070         * dom/MessagePortChannel.h:
3071         * dom/default/PlatformMessagePortChannel.cpp:
3072         (WebCore::PlatformMessagePortChannel::EventData::create):
3073         (WebCore::PlatformMessagePortChannel::EventData::EventData):
3074         (WebCore::MessagePortChannel::postMessageToRemote):
3075         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
3076         * dom/default/PlatformMessagePortChannel.h:
3077         (WebCore::PlatformMessagePortChannel::EventData::message):
3078         (WebCore::PlatformMessagePortChannel::EventData::channels):
3079         (PlatformMessagePortChannel):
3080         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
3081         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
3082         * dom/default/chromium/PlatformMessagePortChannelChromium.cpp:
3083         (WebCore::MessagePortChannel::postMessageToRemote):
3084         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
3085         (WebCore::PlatformMessagePortChannel::postMessageToRemote):
3086         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
3087         * dom/default/chromium/PlatformMessagePortChannelChromium.h:
3088
3089 2013-03-18  Tom Sepez  <tsepez@chromium.org>
3090
3091         [v8] Suppress binding integrity check of HTMLContentElement.
3092         https://bugs.webkit.org/show_bug.cgi?id=112613
3093
3094         Reviewed by Adam Barth.
3095
3096         Patch is correct so long as fast/dom/shadow/content-element-user-agent-shadow.html
3097         continues to pass.
3098
3099         * html/shadow/HTMLContentElement.idl:
3100
3101 2013-03-18  Dominic Mazzoni  <dmazzoni@google.com>
3102
3103         Support Windows HTMLSelectElement keystrokes on Chromium win
3104         https://bugs.webkit.org/show_bug.cgi?id=112460
3105
3106         Reviewed by Kent Tamura.
3107
3108         Compile in the windows-specific variant of
3109         HTMLSelectElement::platformHandleKeydownEvent
3110         on Chromium win, in addition to PLATFORM(WIN).
3111
3112         * WebCore.gypi:
3113             Add html/HTMLSelectElementWin.cpp.
3114         * html/HTMLSelectElement.cpp:
3115             Don't compile generic platformHandleKeydownEvent on
3116             Chromium win.
3117         * html/HTMLSelectElementWin.cpp:
3118             Only compile platformHandleKeydownEvent on Windows.
3119             Fix compile error in assertion.
3120         (WebCore):
3121
3122 2013-03-18  Mike West  <mkwst@chromium.org>
3123
3124         CSP 1.1: Schemeless source expressions match HTTPS resources on HTTP sites.
3125         https://bugs.webkit.org/show_bug.cgi?id=112573
3126
3127         Reviewed by Adam Barth.
3128
3129         Currently, the directive 'script-src example.com' would match only
3130         scripts served from 'http://example.com' when served on an HTTP site,
3131         and only scripts served from 'https://example.com' when served on an
3132         HTTPS site. This patch changes the matching behavior for ports that
3133         have enabled CSP_NEXT in order to encourage use of HTTPS resources by
3134         allow schemeless source expressions to match HTTPS origins when on
3135         HTTP sites.
3136
3137         Thread: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0013.html
3138         Spec change: https://dvcs.w3.org/hg/content-security-policy/rev/a7dc8820946e
3139
3140         Test: http/tests/security/contentSecurityPolicy/source-list-parsing-10.html
3141
3142         * page/ContentSecurityPolicy.cpp:
3143         (WebCore::CSPSource::CSPSource):
3144             Pass the current policy into CSPSource so that we can check the
3145             protected resource's scheme inside schemeMatches, rather than
3146             overwriting the source expression's scheme before creating the
3147             CSPSource.
3148         (WebCore::CSPSource::schemeMatches):
3149             If CSP_NEXT is enabled, ensure that HTTPS resources match the
3150             HTTP scheme when loaded on HTTP pages with schemaless source
3151             expressions.
3152         (WebCore::CSPSource::portMatches):
3153             Check the port against the URL's scheme: if m_scheme isn't
3154             empty, this will match it. If m_scheme is empty, we can't
3155             do a strict match against it, nor can we do a strict match
3156             against the protected resource's port. Checking the URL's
3157             port against the default port for its scheme solves this
3158             problem elegantly.
3159         (WebCore::CSPSourceList::parse):
3160         (WebCore::CSPSourceList::addSourceSelf):
3161             Pass in the policy when creating a CSPSource object.
3162
3163 2013-03-15  Jer Noble  <jer.noble@apple.com>
3164
3165         Text track cues do not update sizes when entering or exiting full screen.
3166         https://bugs.webkit.org/show_bug.cgi?id=112472
3167
3168         Reviewed by Eric Carlson.
3169
3170         The style properties of the TextCueBoxes were not being updated after the size of the video bounds changed.
3171         Because getDisplayTree() will not do it when the cue itself has not changed, explicitly call videoSizeDidChange()
3172         from updateSizes().
3173
3174         * html/shadow/MediaControlElements.cpp:
3175         (WebCore::MediaControlTextTrackContainerElement::updateSizes): call videoSizeDidChange() on every active cue.
3176         * html/track/TextTrackCue.h:
3177         (WebCore::TextTrackCue::hasDisplayTree): returns whether or not the cue has created a display tree without side effects.
3178         (WebCore::TextTrackCue::videoSizeDidChange): Overridable empty method.
3179         * html/track/TextTrackCueGeneric.cpp:
3180         (WebCore::TextTrackCueGeneric::videoSizeDidChange): Update the CSS height attribute of the cue box using the new video size.
3181         * html/track/TextTrackCueGeneric.h:
3182
3183 2013-03-18  Mike West  <mkwst@chromium.org>
3184
3185         CSP 1.1: Add 'effective-directive' to violation reports.
3186         https://bugs.webkit.org/show_bug.cgi?id=112568
3187
3188         Reviewed by Adam Barth.
3189
3190         https://dvcs.w3.org/hg/content-security-policy/rev/bc2bb0e5072a
3191         introduced an 'effective-directive' field on CSP violation reports,
3192         which allows developers to distinguish between resource types when
3193         'default-src' is the violated directive.
3194
3195         This patch implements the new field behind the CSP_NEXT flag.
3196
3197         Test: http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive.html
3198
3199         * page/ContentSecurityPolicy.cpp:
3200         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
3201         (WebCore::CSPDirectiveList::reportViolation):
3202             These methods now accept an additional parameter to pipe the
3203             effective directive from the initial callsite down into
3204             ContentSecurityPolicy::reportViolation.
3205         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
3206         (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
3207         (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
3208         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
3209         (WebCore::CSPDirectiveList::allowScriptFromSource):
3210         (WebCore::CSPDirectiveList::allowObjectFromSource):
3211         (WebCore::CSPDirectiveList::allowChildFrameFromSource):
3212         (WebCore::CSPDirectiveList::allowImageFromSource):
3213         (WebCore::CSPDirectiveList::allowStyleFromSource):
3214         (WebCore::CSPDirectiveList::allowFontFromSource):
3215         (WebCore::CSPDirectiveList::allowMediaFromSource):
3216         (WebCore::CSPDirectiveList::allowConnectToSource):
3217         (WebCore::CSPDirectiveList::allowFormAction):
3218             These methods now pass the effective directive name down
3219             into checkSourceAndReportViolation or reportViolation.
3220         (WebCore::ContentSecurityPolicy::reportViolation):
3221         * page/ContentSecurityPolicy.h:
3222             This method now accepts a new parameter that carries
3223             the effective directive name. If CSP_NEXT is enabled,
3224             the field is added to the violation report before it's
3225             sent out into the world.
3226
3227 2013-03-18  W. James MacLean  <wjmaclean@chromium.org>
3228
3229         [chromium] Remove NCCH code that relies on boundsContainsPageScale().
3230         https://bugs.webkit.org/show_bug.cgi?id=112465
3231
3232         Reviewed by James Robinson.
3233
3234         The boundsContainsPageScale() API is going away, remove code that
3235         depends on it. Uses existing tests as no behaviour change.
3236
3237         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3238         (WebCore::GraphicsLayerChromium::setAppliesPageScale):
3239         (WebCore::GraphicsLayerChromium::appliesPageScale):
3240
3241 2013-03-18  Alec Flett  <alecflett@chromium.org>
3242
3243         IndexedDB: Protect against key prefix overflows
3244         https://bugs.webkit.org/show_bug.cgi?id=111138
3245
3246         Reviewed by Tony Chang.
3247
3248         This reworks the boundary checking for all databaseId,
3249         objectStoreId, and indexId, including negative and
3250         zero-based ids. All entrypoints into IDBLevelDBCoding
3251         are protected with explicit checks and all internal
3252         uses of KeyPrefix are protected with ASSERTs in the
3253         various constructors.
3254
3255         Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
3256
3257         * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
3258         * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
3259
3260 2013-03-18  Roger Fong  <roger_fong@apple.com>
3261
3262         AppleWin VS2010 Debug configuration build fix.
3263
3264         * WebCore.vcxproj/WebCore.vcxproj:
3265
3266 2013-03-18  Alexey Proskuryakov  <ap@apple.com>
3267
3268         https://bugs.webkit.org/show_bug.cgi?id=112627
3269         MessagePort::disentangle() takes an ExceptionCode argument without any need
3270
3271         Reviewed by Geoffrey Garen.
3272
3273         MessagePort::disentangle() is called in two places. One has ASSERT_NO_EXCEPTION,
3274         and another fails to check the exception, but clearly cannot get one.
3275
3276         This function is also not exposed to bindings.
3277
3278         * dom/MessagePort.cpp:
3279         (WebCore::MessagePort::disentangle):
3280         (WebCore::MessagePort::disentanglePorts):
3281         * dom/MessagePort.h:
3282         * workers/SharedWorker.cpp:
3283         (WebCore::SharedWorker::create):
3284         Also removed some unhelpful comments.
3285
3286 2013-03-18  Xianzhu Wang  <wangxianzhu@chromium.org>
3287
3288         Variant of non-primary fell-back SVGFont causes crash.
3289         https://bugs.webkit.org/show_bug.cgi?id=112367
3290
3291         Reviewed by Stephen Chenney.
3292
3293         Don't go to PlatformFontData path for SimpleFontData::createScaledFontData()
3294         for SVG fonts.
3295
3296         Test: svg/css/font-face-variant-crash.html
3297
3298         * platform/graphics/SimpleFontData.cpp:
3299         (WebCore::SimpleFontData::~SimpleFontData):
3300         (WebCore::SimpleFontData::createScaledFontData): Don't go to PlatformFontData path for SVG fonts.
3301         (WebCore):
3302         * platform/graphics/SimpleFontData.h:
3303         (SimpleFontData): Added createScaledFontData and renamed the original createScaledFontData to platformCreateScaledFontData.
3304                           BTW, Removed unreferenced commonInit.
3305         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
3306         (WebCore::SimpleFontData::platformCreateScaledFontData): Renamed from createScaledFontData.
3307         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3308         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3309         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3310         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3311         * platform/graphics/mac/SimpleFontDataMac.mm:
3312         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3313         * platform/graphics/qt/SimpleFontDataQt.cpp:
3314         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3315         * platform/graphics/skia/SimpleFontDataSkia.cpp:
3316         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3317         * platform/graphics/win/SimpleFontDataWin.cpp:
3318         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3319         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
3320         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3321         * platform/graphics/wx/SimpleFontDataWx.cpp:
3322         (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
3323
3324 2013-03-18  Victor Carbune  <vcarbune@chromium.org>
3325
3326         Determine text direction for rendering a TextTrackCue
3327         https://bugs.webkit.org/show_bug.cgi?id=79749
3328
3329         Reviewed by Levi Weintraub.
3330
3331         The rendering rules for WebVTT cues are slightly different
3332         depending on the directionality determined from the characters
3333         of the cue text. This patch implements the preliminary step
3334         to be able to take directionality into account.
3335
3336         It iterates through the cue characters and setting the CSS
3337         directionality to the one of the first strong directional character.
3338
3339         Test: media/track/track-cue-rendering-rtl.html
3340
3341         * html/track/TextTrackCue.cpp:
3342         (WebCore::TextTrackCueBox::applyCSSProperties): Applies the determined
3343         direction.
3344         (WebCore::TextTrackCue::TextTrackCue): Sets the default value for the
3345         display direction.
3346         (WebCore::isCueParagraphSeparator): Tests for explicit unicode characters
3347         that are paragraph separators.
3348         (WebCore):
3349         (WebCore::TextTrackCue::determineTextDirection): Determined the direction
3350         by the first strong directional character found.
3351         (WebCore::TextTrackCue::calculateDisplayParameters): Updated.
3352         (WebCore::TextTrackCue::getCSSWritingDirection): Return the determined CSS
3353         writing direction.
3354         * html/track/TextTrackCue.h:
3355         (TextTrackCue):
3356
3357 2013-03-18  Hans Wennborg  <hans@chromium.org>
3358
3359         Fix GridTrackSize::operator==
3360         https://bugs.webkit.org/show_bug.cgi?id=112501
3361
3362         Reviewed by Eric Seidel.
3363
3364         There was a missing "other." in the function.
3365
3366         This was found by experimenting with a potential new Clang warning.
3367
3368         Test: fast/css-grid-layout/grid-dynamic-updates-relayout.html
3369
3370         * rendering/style/GridTrackSize.h:
3371         (WebCore::GridTrackSize::operator==):
3372
3373 2013-03-18  Alec Flett  <alecflett@chromium.org>
3374
3375         Inspector: [Chromium] http/tests/inspector/indexeddb/database-data.html ASSERT on Win7 following r133855
3376         https://bugs.webkit.org/show_bug.cgi?id=101618
3377
3378         Deactivate transactions created by the inspector, before
3379         they are reactivated by IndexedDB. This puts transactions
3380         in an identical state as when they are created by scripts.
3381
3382         Reviewed by Vsevolod Vlasov.
3383
3384         Test: http/tests/inspector/indexeddb/database-data.html
3385
3386         * inspector/InspectorIndexedDBAgent.cpp: Make transactions inactive upon leaving the inspector code.
3387
3388 2013-03-15  Jeffrey Pfau  <jpfau@apple.com>
3389
3390         Allow blocking of application cache in third-party contexts
3391         https://bugs.webkit.org/show_bug.cgi?id=112288
3392
3393         Reviewed by Adam Barth.
3394
3395         Return early if we can't access the application cache due to security
3396         restrictions.
3397
3398         Tests: http/tests/security/cross-origin-appcache-allowed.html
3399                http/tests/security/cross-origin-appcache.html
3400                http/tests/security/same-origin-appcache-blocked.html
3401
3402         * loader/appcache/ApplicationCacheGroup.cpp:
3403         (WebCore::ApplicationCacheGroup::selectCache):
3404         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
3405         * page/SecurityOrigin.h:
3406         (WebCore::SecurityOrigin::canAccessApplicationCache):
3407
3408 2013-03-18  Vsevolod Vlasov  <vsevik@chromium.org>
3409
3410         Web Inspector: Script should know nothing about disabled source mappings.
3411         https://bugs.webkit.org/show_bug.cgi?id=112580
3412
3413         Reviewed by Pavel Feldman.
3414
3415         ResourceScriptMapping handles diverged uiSourceCodes internally now.
3416
3417         Tested in inspector/debugger/live-edit-breakpoints.html already.
3418
3419         * inspector/front-end/ResourceScriptMapping.js:
3420         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
3421         (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
3422         (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
3423         * inspector/front-end/Script.js:
3424         (WebInspector.Script.prototype.rawLocationToUILocation):
3425
3426 2013-03-18  Alexey Proskuryakov  <ap@apple.com>
3427
3428         Update MessagePort terminology to match HTML5
3429         https://bugs.webkit.org/show_bug.cgi?id=112611
3430
3431         Reviewed by Anders Carlsson.
3432
3433         Transferable objects are "neutered" when transfered. Cloning is a different operation.
3434
3435         * dom/MessagePort.cpp:
3436         (WebCore::MessagePort::disentanglePorts):
3437         * dom/MessagePort.h:
3438         (WebCore::MessagePort::isEntangled):
3439         (WebCore::MessagePort::isNeutered):
3440
3441 2013-03-18  Roger Fong  <roger_fong@apple.com>
3442
3443         AppleWin VS2010 build fix.
3444
3445         * WebCore.vcxproj/WebCore.vcxproj:
3446         * WebCore.vcxproj/WebCore.vcxproj.filters:
3447
3448 2013-03-18  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
3449
3450         [css3-text] Add rendering support for -webkit-text-underline-position
3451         https://bugs.webkit.org/show_bug.cgi?id=102795
3452
3453         Reviewed by Levi Weintraub.
3454
3455         This patch implements rendering support for values [ auto | alphabetic | under ]
3456         of CSS3 property text-underline-position. We don't fully match the specification
3457         as we don't support [ left | right ] and this is left for another implementation
3458         as the rendering will need to be added.
3459
3460         Tests: fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-all.html
3461                fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic.html
3462                fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto.html
3463                fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-out-of-flow.html
3464                fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under.html
3465
3466         * rendering/InlineFlowBox.cpp:
3467         (WebCore::InlineFlowBox::computeMaxLogicalTop): Added method to compute maximal logical top among all chidren of
3468         this InlineTextBox.
3469         * rendering/InlineFlowBox.h:
3470         (InlineFlowBox):
3471         * rendering/InlineTextBox.cpp:
3472         (WebCore::computeUnderlineOffset): Added method to compute offset for text-underline-position property.
3473         (WebCore::InlineTextBox::paintDecoration): Paint decoration at position calculated using computeUnderlineOffset().
3474         * rendering/RootInlineBox.cpp:
3475         (WebCore::RootInlineBox::RootInlineBox):
3476         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Call method to compute maximal logical top among all
3477         children of this RootInlineBox.
3478         * rendering/RootInlineBox.h:
3479         (RootInlineBox):
3480         (WebCore::RootInlineBox::maxLogicalTop): Added getter for m_maxLogicalTop class member.
3481         * rendering/style/RenderStyle.h: Added the usual getter / setter / initial methods for text-underline-position
3482         property
3483
3484 2013-03-18  Christian Biesinger  <cbiesinger@chromium.org>
3485
3486         Convert old flexbox uses in html.css to new flexbox (non-<select>)
3487         https://bugs.webkit.org/show_bug.cgi?id=110837
3488
3489         Reviewed by Ojan Vafai.
3490
3491         No new tests (No change in behaviour)
3492
3493         * css/html.css:
3494         (input::-webkit-clear-button):
3495         Missed this one in the original patch.
3496
3497 2013-03-18  Wei James  <james.wei@intel.com>
3498
3499         AudioBasicProcessorNode need to check for deferred updating of output channels
3500         https://bugs.webkit.org/show_bug.cgi?id=112544
3501
3502         There can in rare cases be a slight delay before the output
3503         bus is updated to the new number of channels because of tryLocks() in the
3504         context's updating system but the processor already updated to the new
3505         number of channels, so need to check the channel number before processing.
3506
3507         Reviewed by Chris Rogers.
3508
3509         * Modules/webaudio/AudioBasicProcessorNode.cpp:
3510         (WebCore::AudioBasicProcessorNode::process):
3511         * Modules/webaudio/WaveShaperProcessor.cpp:
3512         (WebCore::WaveShaperProcessor::process):
3513         * platform/audio/AudioDSPKernelProcessor.cpp:
3514         (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
3515         * platform/audio/AudioDSPKernelProcessor.h:
3516         (WebCore::AudioDSPKernelProcessor::numberOfChannels):
3517         (AudioDSPKernelProcessor):
3518         * platform/audio/AudioProcessor.h:
3519         (WebCore::AudioProcessor::AudioProcessor):
3520         (AudioProcessor):
3521
3522 2013-03-18  Julien Chaffraix  <jchaffraix@webkit.org>
3523
3524         [CSS Grid Layout] Fix StyleGridData::operator==
3525         https://bugs.webkit.org/show_bug.cgi?id=112574
3526
3527         Reviewed by Ojan Vafai.
3528
3529         Test: fast/css-grid-layout/grid-auto-flow-update.html
3530
3531         * rendering/style/StyleGridData.h:
3532         (WebCore::StyleGridData::operator==):
3533         Fixed a bad comparison that would make us ignore grid-auto-flow changes.
3534
3535 2013-03-18  Rafael Weinstein  <rafaelw@chromium.org>
3536
3537         [HTMLTemplateElement] parseError check in processTemplateEndTag should use hasTagName, not hasLocalName
3538         https://bugs.webkit.org/show_bug.cgi?id=112591
3539
3540         Reviewed by Adam Barth.
3541
3542         No tests needed, change is unobservable.
3543
3544         * html/parser/HTMLTreeBuilder.cpp:
3545         (WebCore::HTMLTreeBuilder::processTemplateEndTag):
3546
3547 2013-03-18  Brady Eidson  <beidson@apple.com>
3548
3549         NetworkProcess should send vm_copied, mmap'ed memory to WebProcesses when a 
3550         resource is already in the disk cache.
3551         <rdar://problem/13414153> and https://bugs.webkit.org/show_bug.cgi?id=112387
3552
3553         Reviewed by Geoff Garen.
3554
3555         No new tests (No change in behavior).
3556
3557         * WebCore.exp.in:
3558
3559         Add a CFURLRequestRef accessor even in the mac NSURL-based loader:
3560         * platform/network/cf/ResourceRequest.h:
3561         * platform/network/mac/ResourceRequestMac.mm:
3562         (WebCore::ResourceRequest::cfURLRequest):
3563
3564 2013-03-18  Dean Jackson  <dino@apple.com>
3565
3566         Only add wordspacing when kerning to actual word ends
3567         https://bugs.webkit.org/show_bug.cgi?id=112507
3568         <rdar://problem/12945869>
3569
3570         Reviewed by Enrica Casucci.
3571
3572         When measuring text, we currently include any word spacing in
3573         the result (it's removed later). When kerning is active, we
3574         were adding the word spacing to every wordMeasurement instance
3575         whether or not it is a separate word. For example, a nested
3576         <span> element would get a wordMeasurement, even though it
3577         should not always get word spacing.
3578
3579         Test: fast/text/word-space-with-kerning-3.html
3580
3581         * rendering/RenderBlockLineLayout.cpp:
3582         (WebCore::setLogicalWidthForTextRun): Test if the current character
3583         referenced by the wordMeasurement is a space character, and add word
3584         spacing only then.
3585
3586 2013-03-18  Tony Chang  <tony@chromium.org>
3587
3588         [chromium] Default background color of listboxes should be white
3589         https://bugs.webkit.org/show_bug.cgi?id=112480
3590
3591         Reviewed by Ojan Vafai.
3592
3593         I think it was an accident that list boxes got the grey background color as a
3594         side effect of trying to get the button styling. In the default GTK+ theme on
3595         Ubuntu, list boxes get a white background. Win and OS X also use white as the
3596         default color.
3597
3598         No new tests, covered by existing pixel tests.
3599
3600         * css/themeChromiumLinux.css:
3601         Narrow the CSS rule that overrides the background color specified in html.css.
3602         We only want to use the button color when a select is using button styling.
3603
3604 2013-03-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3605
3606         Unreviewed, rolling out r146079.
3607         http://trac.webkit.org/changeset/146079
3608         https://bugs.webkit.org/show_bug.cgi?id=112594
3609
3610         many timeline tests failed. (Requested by loislo on #webkit).
3611
3612         * inspector/front-end/TimelineOverviewPane.js:
3613         (WebInspector.TimelineOverviewPane):
3614         (WebInspector.TimelineOverviewPane.prototype.setMode):
3615         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
3616         (WebInspector.TimelineOverviewPane.prototype._update):
3617         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
3618         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
3619         (WebInspector.TimelineOverviewPane.prototype._reset):
3620         (WebInspector.TimelineOverviewPane.prototype.windowLeft):
3621         (WebInspector.TimelineOverviewPane.prototype.windowRight):
3622         (WebInspector.TimelineOverviewPane.prototype._updateWindow):
3623
3624 2013-03-18  Peter Beverloo  <peter@chromium.org>
3625
3626         [Chromium] The <select> element on Android should also switch to new-flexbox
3627         https://bugs.webkit.org/show_bug.cgi?id=112559
3628
3629         Reviewed by Ojan Vafai.
3630
3631         Following r145959, also update themeChromiumAndroid.css to use the new
3632         flexible box CSS properties. Covered by existing tests.
3633
3634         * css/themeChromiumAndroid.css:
3635         (select[size][multiple]):
3636
3637 2013-03-18  Renata Hodovan  <reni@webkit.org>
3638
3639         Assertion faulire in SVGAnimatedPath.
3640         https://bugs.webkit.org/show_bug.cgi?id=106428
3641
3642         Reviewed by Allan Sandfeld Jensen.
3643
3644         The asserts are too restricted. The size must be greater or equal to 1.
3645
3646         Test: svg/animations/animated-path-via-use-debug-crash.svg
3647
3648         * svg/SVGAnimatedPath.cpp:
3649         (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
3650         (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
3651
3652 2013-03-18  Simon Fraser  <simon.fraser@apple.com>
3653
3654         [Mac] Some tests intermittently asserts in SharedBuffer::releasePurgeableBuffer()
3655         https://bugs.webkit.org/show_bug.cgi?id=105986
3656
3657         Reviewed by Brady Eidson.
3658         
3659         A ResourceBuffer's SharedBuffer can be vended out to other clients,
3660         for example Images, so there's no guarantee that when the
3661         ResourceBuffer only has one ref its SharedBuffer will also have just one.
3662         When this assumption was broken, SharedBuffer::releasePurgeableBuffer()
3663         would assert.
3664         
3665         Ideally SharedBuffer would be entirely encapsulated by ResourceBuffer to
3666         avoid this problem, but ResourceBuffer can't be used by code in platform/.
3667         
3668         Fix by having ResourceBuffer::createPurgeableBuffer() refuse to make
3669         a purgeable buffer if the sharedBuffer has more than one ref.
3670
3671         Tested by existing tests.
3672
3673         * loader/ResourceBuffer.cpp:
3674         (WebCore::ResourceBuffer::createPurgeableBuffer):
3675
3676 2013-03-18  Ilya Tikhonovsky  <loislo@chromium.org>
3677
3678         Web Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPane into a new class OverviewGrid.
3679         https://bugs.webkit.org/show_bug.cgi?id=112584
3680
3681         Reviewed by Pavel Feldman.
3682
3683         It is the first path in the set.
3684         The end goal is to extract OverviewGrid with window selectors
3685         into a separate class in separate file and reuse it in CPU FlameChart.
3686
3687         * inspector/front-end/TimelineOverviewPane.js:
3688         (WebInspector.TimelineOverviewPane):
3689         (WebInspector.OverviewGrid):
3690         (WebInspector.OverviewGrid.prototype.get grid):
3691         (WebInspector.OverviewGrid.prototype.get clientWidth):
3692         (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
3693         (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
3694         (WebInspector.OverviewGrid.prototype.updateDividers):
3695         (WebInspector.OverviewGrid.prototype.addEventDividers):
3696         (WebInspector.OverviewGrid.prototype.removeEventDividers):
3697         (WebInspector.OverviewGrid.prototype.setWindowPosition):
3698         (WebInspector.OverviewGrid.prototype.reset):
3699         (WebInspector.OverviewGrid.prototype.get windowLeft):
3700         (WebInspector.OverviewGrid.prototype.get windowRight):
3701         (WebInspector.OverviewGrid.prototype.setWindow):
3702         (WebInspector.OverviewGrid.prototype.addEventListener):
3703         (WebInspector.TimelineOverviewPane.prototype.setMode):
3704         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
3705         (WebInspector.TimelineOverviewPane.prototype._update):
3706         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
3707         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
3708         (WebInspector.TimelineOverviewPane.prototype._reset):
3709         (WebInspector.TimelineOverviewPane.prototype.windowLeft):
3710         (WebInspector.TimelineOverviewPane.prototype.windowRight):
3711         (WebInspector.TimelineOverviewPane.prototype._updateWindow):
3712
3713 2013-03-18  Adam Barth  <abarth@webkit.org>
3714
3715         [V8] Crash when accessing onclick attribute of document from XMLHttpRequest
3716         https://bugs.webkit.org/show_bug.cgi?id=112585
3717
3718         Reviewed by Eric Seidel.
3719
3720         This ASSERT was bogus. The frame can be 0 for frameless documents, like
3721         those created by XMLHttpRequest. When there is no frame, we act as if
3722         JavaScript was disabled, which it is.
3723
3724         Test: fast/events/xhr-onclick-crash.html
3725
3726         * bindings/v8/V8LazyEventListener.cpp:
3727         (WebCore::V8LazyEventListener::prepareListenerObject):
3728
3729 2013-03-18  Hans Muller  <hmuller@adobe.com>
3730
3731         [CSS Exclusions] Specifying polygonal -webkit-shape-inside value can crash browser (debug mode)
3732         https://bugs.webkit.org/show_bug.cgi?id=112157
3733
3734         Reviewed by David Hyatt.
3735
3736         Corrected the code which maps exclusion segments to pairs of InlineIterators. We now handle the
3737         cases where the end of the line occurs within an exclusion segment or when it occurs before
3738         the last exclusion segment has been reached. This can occur when a non-convex polygonal shape-inside
3739         breaks a line up into two segments, but the shape-inside element's content only fills (or partially
3740         fills) the first exclusion shape segment.
3741
3742         Tests: fast/exclusions/shape-inside/shape-inside-partial-fill-001.html
3743                fast/exclusions/shape-inside/shape-inside-partial-fill-002.html
3744
3745         * rendering/RenderBlockLineLayout.cpp:
3746         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3747
3748 2013-03-18  Emil A Eklund  <eae@chromium.org>
3749
3750         Change RenderTableCell to use pixelSnappedSize when painting
3751         https://bugs.webkit.org/show_bug.cgi?id=112562
3752
3753         Reviewed by Eric Seidel.
3754
3755         Change the paining code in RenderTableCell to use the pixel snapped size
3756         to ensure consistent rounding given that the location was rounded during
3757         layout.
3758
3759         It is currently constructing a paint rect by taking the rounded location
3760         and the precise size and then pixel snapping it. This causes the size to
3761         be rounded incorrectly. By instead using the pixel snapped size the
3762         rounding problem can be avoided.
3763
3764         Test: fast/sub-pixel/table-cell-background.html
3765
3766         * rendering/RenderTableCell.cpp:
3767         (WebCore::RenderTableCell::paintCollapsedBorders):
3768         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3769         (WebCore::RenderTableCell::paintBoxDecorations):
3770         (WebCore::RenderTableCell::paintMask):
3771
3772 2013-03-18  Tao Bai  <michaelbai@chromium.org>
3773
3774         Need to use const String in HTMLVideoElement::posterImageURL
3775         https://bugs.webkit.org/show_bug.cgi?id=112317
3776
3777         Reviewed by Andreas Kling.
3778
3779         No behavioral changes.
3780
3781         This is the followup of https://bugs.webkit.org/show_bug.cgi?id=110263
3782         Need to use String instead of const AtomicString& which means we will do an extra hash lookup
3783
3784         * html/HTMLVideoElement.cpp:
3785         (WebCore::HTMLVideoElement::posterImageURL): Change to use String for url
3786
3787 2013-03-18  Eugene Klyuchnikov  <eustas@chromium.org>
3788
3789         Web Inspector: [Settings] Register "?" shortcut.
3790         https://bugs.webkit.org/show_bug.cgi?id=112545
3791
3792         Reviewed by Vsevolod Vlasov.
3793
3794         F1 and "?" (show shortcuts page) are not mentioned on shortcuts page.
3795
3796         * English.lproj/localizedStrings.js: Added string.
3797         * inspector/front-end/inspector.js: Registered F1 / "?" shortcut.
3798
3799 2013-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
3800
3801         Add USE(PLATFORM_STRATEGIES) ifdefs to StorageNamespace.cpp
3802         https://bugs.webkit.org/show_bug.cgi?id=112004
3803
3804         Reviewed by Rob Buis.
3805
3806         Check if platform strategies is enabled before using it, falling
3807         back to StorageNamespaceImpl if it isn't.
3808
3809         * storage/StorageNamespace.cpp:
3810         (WebCore::StorageNamespace::localStorageNamespace):
3811         (WebCore::StorageNamespace::sessionStorageNamespace):
3812
3813 2013-03-18  Vsevolod Vlasov  <vsevik@chromium.org>
3814
3815         Web Inspector: TabbedEditorContainer does not restore last shown file on reload sometimes.
3816         https://bugs.webkit.org/show_bug.cgi?id=112561
3817
3818         Reviewed by Alexander Pavlov.
3819
3820         * inspector/front-end/TabbedEditorContainer.js:
3821         (WebInspector.TabbedEditorContainer.prototype.addUISourceCode):
3822
3823 2013-03-18  Arvid Nilsson  <anilsson@rim.com>
3824
3825         [BlackBerry] Detach overlays from page when compositor is detached
3826         https://bugs.webkit.org/show_bug.cgi?id=112424
3827
3828         Reviewed by Rob Buis.
3829
3830         PR 309160
3831
3832         Expose a method to retrieve a compositing thread layer's client.
3833
3834         No change in behavior, no new tests.
3835
3836         * platform/graphics/blackberry/LayerCompositingThread.h:
3837         (WebCore::LayerCompositingThread::client):
3838
3839 2013-03-18  Eugene Klyuchnikov  <eustas@chromium.org>
3840
3841         Web Inspector: [Resources] Local Storage: duplicate keys are processed inappropriately.
3842         https://bugs.webkit.org/show_bug.cgi?id=112402
3843
3844         Reviewed by Alexander Pavlov.
3845
3846         When user creates new items or renames existing one some existing item
3847         may be overriden. If value is changed, then frontend will receive
3848         notification and update record appropriately.
3849
3850         If item value hasn't been changed, then no notification comes.
3851         But UI still expect / rely on this notification.
3852
3853         With this patch the "no notification" scenario is fixed:
3854         duplicate items are removed.
3855
3856         Another scenario is when update notification comes when we started
3857         editing value (after entering / renaming key). In this case
3858         selected node should not be changed to leave user in editing mode.
3859
3860         * inspector/front-end/DOMStorageItemsView.js:
3861         Added workarounds for "no notification" and "useless notification".
3862
3863 2013-03-18  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3864
3865         Clean up RenderFrameSet::nodeAtPoint
3866         https://bugs.webkit.org/show_bug.cgi?id=112450
3867
3868         Reviewed by Eric Seidel.
3869
3870         Remove handling of resizing framesets from RenderFrameSet::nodeAtPoint.
3871         The code has been incorrect since a mistake in r18333 (December 2006),
3872         but has been dead code since r17770 (November 2006) where the then new
3873         EventHandler started taking care of routing events to resizing FrameSets.
3874
3875         Since this was the only special feature of RenderFrameSet::nodeAtPoint,
3876         the method has been removed.
3877
3878         * rendering/RenderFrameSet.cpp:
3879         * rendering/RenderFrameSet.h:
3880         (RenderFrameSet):
3881
3882 2013-03-18  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3883
3884         The 'formnovalidate' attribute doesn't work correctly on button elements with child elements
3885         https://bugs.webkit.org/show_bug.cgi?id=112541
3886
3887         Reviewed by Kent Tamura.
3888
3889         Fix a bug where formnovalidate attribute of <button> is not honored
3890         if the target of the click event is an element nested within the button.
3891
3892         Test: fast/forms/interactive-validation-formnovalidate-child.html
3893
3894         * html/HTMLFormElement.cpp:
3895         (WebCore::submitElementFromEvent): Looks for the nearest FormControlElement ancestor of the event target.
3896
3897 2013-03-18  Keishi Hattori  <keishi@webkit.org>
3898
3899         Add touch support to the calendar picker
3900         https://bugs.webkit.org/show_bug.cgi?id=112256
3901
3902         Reviewed by Kent Tamura.
3903
3904         This patch increases the hit target sizes for touch and adds touch event
3905         support to the scroll view, scroll bar and navigation button.
3906
3907         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-touch-operations.html
3908                platform/chromium/fast/forms/calendar-picker/month-picker-touch-operations.html
3909                platform/chromium/fast/forms/calendar-picker/week-picker-touch-operations.html
3910
3911         * Resources/pagepopups/calendarPicker.js:
3912         (hasInaccuratePointingDevice):
3913         (Animator): Super class for TransitionAnimator and FlingGestureAnimator.
3914         (Animator.prototype.start):
3915         (Animator.prototype.stop):
3916         (Animator.prototype.onAnimationFrame):
3917         (TransitionAnimator): Same as the old Animator. Transition from one value to another.
3918         (TransitionAnimator.prototype.setFrom):
3919         (TransitionAnimator.prototype.start):
3920         (TransitionAnimator.prototype.stop):
3921         (TransitionAnimator.prototype.setTo):
3922         (TransitionAnimator.prototype.onAnimationFrame):
3923         (FlingGestureAnimator):Animates the fling scroll. 
3924         (FlingGestureAnimator.prototype._valueAtTime): Returns the value at the given time.
3925         (FlingGestureAnimator.prototype._velocityAtTime): Returns the value change velocity at the given time.
3926         (FlingGestureAnimator.prototype._timeAtVelocity): Returns the time when the value is changing at the given velocity.
3927         (FlingGestureAnimator.prototype.start):
3928         (FlingGestureAnimator.prototype.onAnimationFrame):
3929         (ScrollView): Added support for touch gesture scrolling.
3930         (ScrollView.prototype.onTouchStart):
3931         (ScrollView.prototype.onWindowTouchMove):
3932         (ScrollView.prototype.onWindowTouchEnd):
3933         (ScrollView.prototype.onFlingGestureAnimatorStep):
3934         (ScrollView.prototype.scrollTo):
3935         (ScrubbyScrollBar): Added support for touch.
3936         (ScrubbyScrollBar.prototype.onTouchStart):
3937         (ScrubbyScrollBar.prototype.onWindowTouchMove):
3938         (ScrubbyScrollBar.prototype.onWindowTouchEnd):
3939         (ScrubbyScrollBar.prototype._setThumbPositionFromEventPosition): Accept MouseEvent or Touch.
3940         (ScrubbyScrollBar.prototype.onMouseDown):
3941         (ScrubbyScrollBar.prototype.onWindowMouseMove):
3942         (ScrubbyScrollBar.prototype.onWindowMouseUp):
3943         (YearListCell):
3944         (YearListView):
3945         (YearListView.prototype.onTouchStart):
3946         (YearListView.prototype._animateRow):
3947         (CalendarNavigationButton): Add touch support for long press.
3948         (CalendarNavigationButton.prototype.onTouchStart):
3949         (CalendarNavigationButton.prototype.onWindowTouchEnd):
3950         (CalendarNavigationButton.prototype.onMouseDown):
3951         (CalendarNavigationButton.prototype.onWindowMouseUp):
3952         (CalendarTableView): Disable touch gesture scrolling in the calendar table.
3953
3954 2013-03-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3955
3956         [EFL] Cancel mark on search field is not displayed
3957         https://bugs.webkit.org/show_bug.cgi?id=94880
3958
3959         Reviewed by Kenneth Rohde Christiansen.
3960
3961         adjustSearchFieldCancelButtonStyle() doesn't set style width and height for search cancel button.
3962         So, the button isn't showing up in search input field. Besides the button size should be scaled based
3963         on the font size as chromium, qt, and blackberry ports.
3964
3965         Tests: fast/forms/search-cancel-button-style-sharing.html
3966                fast/forms/search-rtl.html
3967
3968         * platform/efl/RenderThemeEfl.cpp:
3969         (WebCore):
3970         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
3971
3972 2013-03-15  Yury Semikhatsky  <yurys@chromium.org>
3973
3974         Web Inspector: Native Memory Timeline affects the performace even if was switched off.
3975         https://bugs.webkit.org/show_bug.cgi?id=112428
3976
3977         Reviewed by Pavel Feldman.
3978
3979         Whether to include DOM counters and native memory statistics is now
3980         configured using Timeline.start parameters instead of sending separate
3981         commands Timeline.setIncludeDomCounters and Timeline.setIncludeNativeMemoryStatistics.
3982
3983         * inspector/Inspector.json:
3984         * inspector/InspectorTimelineAgent.cpp:
3985         (WebCore::InspectorTimelineAgent::restore):
3986         (WebCore::InspectorTimelineAgent::start):
3987         * inspector/InspectorTimelineAgent.h:
3988         (InspectorTimelineAgent):
3989         * inspector/front-end/DOMCountersGraph.js:
3990         (WebInspector.DOMCountersGraph):
3991         * inspector/front-end/NativeMemoryGraph.js:
3992         (WebInspector.NativeMemoryGraph):
3993         * inspector/front-end/TimelineManager.js:
3994         (WebInspector.TimelineManager.prototype.start):
3995         * inspector/front-end/TimelineModel.js:
3996         (WebInspector.TimelineModel.prototype.startRecord):
3997         * inspector/front-end/TimelinePanel.js:
3998         (WebInspector.TimelinePanel.prototype.get _toggleTimelineButtonClicked):
3999
4000 2013-03-18  Yury Semikhatsky  <yurys@chromium.org>
4001
4002         Web Inspector: Exception in timeline DOMCounters
4003         https://bugs.webkit.org/show_bug.cgi?id=112427
4004
4005         Reviewed by Pavel Feldman.
4006
4007         Do not update marker on DOM counters graph if the graphs haven't been
4008         drawn yet.
4009
4010         * inspector/front-end/MemoryStatistics.js:
4011         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
4012
4013 2013-03-18  Li Yin  <li.yin@intel.com>
4014
4015         Mediastream.ended should return true when all tracks were removed.
4016         https://bugs.webkit.org/show_bug.cgi?id=112528
4017
4018         Reviewed by Kentaro Hara.
4019
4020         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStream-ended
4021         When all tracks have been removed, it should return true as well as all the tracks
4022         were ended.
4023
4024         Test: fast/mediastream/MediaStream-add-remove-tracks.html
4025
4026         * Modules/mediastream/MediaStream.cpp:
4027         (WebCore::MediaStream::removeTrack):
4028
4029 2013-02-22  Andrey Kosyakov  <caseq@chromium.org>
4030
4031         Web Inspector: make number of stack frames to capture in Timeline a setting
4032         https://bugs.webkit.org/show_bug.cgi?id=110619
4033
4034         Reviewed by Pavel Feldman.
4035
4036         - factor out creation of input type="text" control for better reuse;
4037         - add timelineLimitStackFramesFlag & timelineStackFramesToCapture settings;
4038
4039         * English.lproj/localizedStrings.js: add "Frames to capture" and "Limit number of captured JS stack frames"
4040         * inspector/front-end/Settings.js: add 2 settings;
4041         (WebInspector.Settings):
4042         * inspector/front-end/SettingsScreen.js: UI for the setting;
4043         (WebInspector.GenericSettingsTab):
4044         (WebInspector.GenericSettingsTab.prototype.get _createCSSAutoReloadControls.validateReloadTimeout):
4045         * inspector/front-end/TimelineModel.js: pass the setting value to back-end.
4046
4047 2013-03-18  Sheriff Bot  <webkit.review.bot@gmail.com>
4048
4049         Unreviewed, rolling out r146035.
4050         http://trac.webkit.org/changeset/146035
4051         https://bugs.webkit.org/show_bug.cgi?id=112540
4052
4053         fails to build on Windows: singned/unsigned mismatch at ln. 53
4054         of html\HTMLSelectElementWin.cpp (Requested by antonm on
4055         #webkit).
4056
4057         * WebCore.gypi:
4058         * html/HTMLSelectElement.cpp:
4059         (WebCore):
4060         * html/HTMLSelectElementWin.cpp:
4061
4062 2013-03-18  Kentaro Hara  <haraken@chromium.org>
4063
4064         Unreviewed, rolling out r146033.
4065         http://trac.webkit.org/changeset/146033
4066         https://bugs.webkit.org/show_bug.cgi?id=112521
4067
4068         web audio tests are broken
4069