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