b5df029fe9a0048bb27f8ec3aac903e6b1b0c53f
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-01-17  Huang Dongsung  <luxtella@company100.net>
2
3         [TexMap] Match initializing members in GraphicsLayerTransform to initializing members in GraphicsLayer.
4         https://bugs.webkit.org/show_bug.cgi?id=107090
5
6         Reviewed by Noam Rosenthal.
7
8         GraphicsLayer initializes m_anchorPoint to FloatPoint3D(0.5, 0.5, 0) and
9         m_preserves3D to false, while GraphicsLayerTransform initializes m_anchorPoint
10         to FloatPoint3D(0, 0, 0) and m_flattening (= !m_preserves3D) to false. It is a
11         potential bug. This patch corrects initialization of GraphicsLayerTransform.
12
13         Covered by existing compositing pixel tests.
14
15         * platform/graphics/GraphicsLayerTransform.cpp:
16         (WebCore::GraphicsLayerTransform::GraphicsLayerTransform):
17
18 2013-01-17  Filip Pizlo  <fpizlo@apple.com>
19
20         ScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack to pop
21         https://bugs.webkit.org/show_bug.cgi?id=107186
22
23         Reviewed by Geoffrey Garen.
24
25         No new tests, because I'm not sure how to test this. I can repro it on a gnarly web site,
26         but I don't know how to create a reduced case that triggers it.
27
28         * bindings/js/ScriptDebugServer.cpp:
29         (WebCore::ScriptDebugServer::didExecuteProgram):
30
31 2013-01-17  Michael Pruett  <michael@68k.org>
32
33         [GTK] IndexedDB: Add LevelDB headers to include path if IndexedDB is enabled
34         https://bugs.webkit.org/show_bug.cgi?id=107181
35
36         Reviewed by Martin Robinson.
37
38         No new tests as this is just a build change.
39
40         * GNUmakefile.am:
41
42 2013-01-17  Eric Seidel  <eric@webkit.org>
43
44         The threaded html parser hangs when parsing empty documents (and about:blank)
45         https://bugs.webkit.org/show_bug.cgi?id=107160
46
47         Reviewed by Tony Gentilcore.
48
49         This is covered by many existing tests including the html5lib suite.
50
51         * html/parser/HTMLDocumentParser.cpp:
52         (WebCore::HTMLDocumentParser::finish):
53
54 2013-01-17  Alexis Hetu  <sugoi@chromium.org>
55
56         imageSmoothingEnabled frequent, unpredictable crashes
57         https://bugs.webkit.org/show_bug.cgi?id=107161
58
59         Reviewed by Stephen White.
60
61         Added a NULL pointer check to fix a crash.
62
63         Test: fast/canvas/canvas-imageSmoothingEnabled-zero-size.html
64
65         * html/canvas/CanvasRenderingContext2D.cpp:
66         (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
67
68 2013-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
69
70         Unreviewed, rolling out r140049.
71         http://trac.webkit.org/changeset/140049
72         https://bugs.webkit.org/show_bug.cgi?id=107187
73
74         Breaks lots of stuff (Requested by schenney on #webkit).
75
76         * svg/SVGViewSpec.cpp:
77         (WebCore::SVGViewSpec::setPreserveAspectRatioString):
78         (WebCore):
79         (WebCore::SVGViewSpec::viewTarget):
80         (WebCore::SVGViewSpec::transform):
81         (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
82         (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
83         (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
84         * svg/SVGViewSpec.h:
85         (SVGViewSpec):
86         (WebCore::SVGViewSpec::viewBoxAnimated):
87         (WebCore::SVGViewSpec::preserveAspectRatioAnimated):
88         * svg/SVGViewSpec.idl:
89
90 2013-01-17  Eric Seidel  <eric@webkit.org>
91
92         Threaded parser hangs when encountering an unmatched </script> tag
93         https://bugs.webkit.org/show_bug.cgi?id=107170
94
95         Reviewed by Adam Barth.
96
97         The bug was that the BackgroundHTMLParser naively yields to the
98         main thread every time it encounters a </script>
99         (as we may have to run script on the main thread).  However, not every
100         </script> results in script execution, so the main thread needs to know
101         how to tell the BackgroundHTMLParser to continue in cases where no
102         script execution is needed.
103
104         This whole infrastructure will be replaced when we let the BackgroundHTMLParser
105         continue speculatively tokenizing after yielding.
106
107         * html/parser/BackgroundHTMLParser.cpp:
108         (WebCore::TokenDelivery::TokenDelivery):
109         (TokenDelivery):
110         (WebCore::TokenDelivery::execute):
111         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
112         * html/parser/HTMLDocumentParser.cpp:
113         (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
114         * html/parser/HTMLDocumentParser.h:
115         (HTMLDocumentParser):
116
117 2013-01-17  Eric Seidel  <eric@webkit.org>
118
119         Stop the background parser when canceling parsing to avoid crashing on many layout tests
120         https://bugs.webkit.org/show_bug.cgi?id=107159
121
122         Reviewed by Adam Barth.
123
124         Covered by many existing tests.
125
126         * html/parser/HTMLDocumentParser.cpp:
127         (WebCore::HTMLDocumentParser::stopParsing):
128
129 2013-01-17  Stephen Chenney  <schenney@chromium.org>
130
131         SVGViewSpec fails when corresponding element has been removed
132         https://bugs.webkit.org/show_bug.cgi?id=106957
133
134         Reviewed by Dirk Schulze.
135
136         When JS holds an SVGViewSpec object while deleting the object that
137         defines the spec (an SVGSVGElement, or one of a few others) the
138         pointer to the target is cleared in the SVGViewSpec but the methods
139         that serve JS queries do not check and try to access the now null
140         target. This atch fixes the prooblem, throwing JS exceptions where
141         possible and returning null where necessary.
142
143         Test: svg/dom/SVGViewSpec-invalid-ref-crash.html
144
145         * svg/SVGViewSpec.cpp:
146         (WebCore):
147         (WebCore::SVGViewSpec::viewTarget): Check for null target and throw an exception.
148         (WebCore::SVGViewSpec::transform): Check for null target and return
149         null. It is not possible to throw an exception here because it leads
150         to an invalid cast in the code generated from IDLs.
151         (WebCore::SVGViewSpec::viewBoxAnimated): Check for null target and throw an exception.
152         (WebCore::SVGViewSpec::preserveAspectRatioAnimated): Check for null target and throw an exception.
153         (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): ASSERT non-null target
154         (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): ASSERT non-null target
155         (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): ASSERT non-null target
156         * svg/SVGViewSpec.h:
157         (SVGViewSpec): Add Exception arguments to getter methods.
158         * svg/SVGViewSpec.idl: Mark attributes as throwing exceptions.
159
160 2013-01-17  Alec Flett  <alecflett@chromium.org>
161
162         IndexedDB: Remove unnecessary call to IDBDatabaseBackendInterface::metadata()
163         https://bugs.webkit.org/show_bug.cgi?id=107142
164
165         Reviewed by Kentaro Hara.
166
167         This call isn't necessary, and probably slipped through an earlier review
168         because of the mention of 'm_metadata'.
169
170         No new tests, as this code has no side effects and all tests sill pass.
171
172         * Modules/indexeddb/IDBIndex.cpp:
173         (WebCore::IDBIndex::count):
174
175 2013-01-17  Ojan Vafai  <ojan@chromium.org>
176
177         Table layout does not need to explicitly call computePreferredLogicalWidths
178         https://bugs.webkit.org/show_bug.cgi?id=106931
179
180         Reviewed by Julien Chaffraix.
181
182         Code shouldn't need to explicitly call computePreferredLogicalWidths.
183         It should only get called as a by-product of calling minPreferredLogicalWidth
184         or maxPreferredLogicalWidth.
185
186         Instead, make it clear that the calling code is just trying to clear
187         preferred width dirty bits.
188
189         * rendering/AutoTableLayout.cpp:
190         (WebCore::AutoTableLayout::recalcColumn):
191         The computePreferredLogicalWidths call on the table cell is redundant
192         with the minPreferredLogicalWidth call on the next line.
193
194         * rendering/FixedTableLayout.cpp:
195         (WebCore::FixedTableLayout::calcWidthArray):
196         We only need to clear the dirty bit here. Table cells don't use
197         their preferred widths in fixed table layout calculations.
198
199         * rendering/RenderTableCell.h:
200         * rendering/RenderTableCol.cpp:
201         (WebCore::RenderTableCol::clearPreferredLogicalWidthsDirtyBits):
202         * rendering/RenderTableCol.h:
203
204 2013-01-17  Julien Chaffraix  <jchaffraix@webkit.org>
205
206         [CSS Grid Layout] Updating -webkit-grid-rows or -webkit-grid-columns doesn't work as expected
207         https://bugs.webkit.org/show_bug.cgi?id=107062
208
209         Reviewed by Tony Chang.
210
211         Tests: fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
212                fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
213
214         This change makes -webkit-grid-rows and -webkit-grid-columns dynamic change properly
215         relayout their children, thus making them work!
216
217         * rendering/RenderGrid.cpp:
218         (WebCore::RenderGrid::layoutGridItems):
219         Fixed the logic to force a grid item relayout if the grid area size changes. This is the
220         safest approach as margins or paddings can also be a percent of the grid area's size.
221
222         * rendering/style/RenderStyle.cpp:
223         (WebCore::RenderStyle::diff):
224         Fixed a dumb mistake.
225
226 2013-01-17  Timothy Hatcher  <timothy@apple.com>
227
228         Make logging console messages to STDOUT work in WebKit2 via a new setting.
229
230         https://bugs.webkit.org/show_bug.cgi?id=107157
231
232         Reviewed by Joseph Pecoraro.
233
234         * page/Console.cpp:
235         (WebCore::Console::addMessage): Check logsPageMessagesToSystemConsoleEnabled(). 
236         (WebCore::internalAddMessage): Ditto. Refactored to return early and drop printExceptions argument.
237         (WebCore::Console::error): Removed call to shouldPrintExceptions().
238         (WebCore::Console::log): Ditto.
239         (WebCore::Console::warn): Ditto.
240         (WebCore::Console::dir): Ditto.
241         (WebCore::Console::dirxml): Ditto.
242         (WebCore::Console::clear): Ditto.
243         (WebCore::Console::trace): Ditto.
244         (WebCore::Console::assertCondition): Ditto.
245         * page/Settings.in: Added logsPageMessagesToSystemConsoleEnabled.
246
247 2013-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
248
249         Unreviewed, rolling out r140023.
250         http://trac.webkit.org/changeset/140023
251         https://bugs.webkit.org/show_bug.cgi?id=107176
252
253         Broke some tests (Requested by anttik on #webkit).
254
255         * page/FrameView.cpp:
256         (WebCore::FrameView::updateScrollCorner):
257         * rendering/RenderBlock.cpp:
258         (WebCore::RenderBlock::createReplacementRunIn):
259         (WebCore::RenderBlock::updateFirstLetterStyle):
260         (WebCore::RenderBlock::createFirstLetterRenderer):
261         (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
262         (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
263         (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
264         * rendering/RenderBlock.h:
265         (RenderBlock):
266         * rendering/RenderDeprecatedFlexibleBox.cpp:
267         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
268         * rendering/RenderDeprecatedFlexibleBox.h:
269         (RenderDeprecatedFlexibleBox):
270         * rendering/RenderDetailsMarker.cpp:
271         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
272         * rendering/RenderDetailsMarker.h:
273         (RenderDetailsMarker):
274         * rendering/RenderDialog.h:
275         (WebCore::RenderDialog::RenderDialog):
276         * rendering/RenderFieldset.cpp:
277         (WebCore::RenderFieldset::RenderFieldset):
278         * rendering/RenderFieldset.h:
279         (RenderFieldset):
280         * rendering/RenderFlexibleBox.cpp:
281         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
282         * rendering/RenderFlexibleBox.h:
283         (RenderFlexibleBox):
284         * rendering/RenderFlowThread.cpp:
285         (WebCore::RenderFlowThread::RenderFlowThread):
286         * rendering/RenderFlowThread.h:
287         * rendering/RenderFullScreen.cpp:
288         (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
289         (RenderFullScreen::RenderFullScreen):
290         (RenderFullScreen::wrapRenderer):
291         * rendering/RenderFullScreen.h:
292         (RenderFullScreen):
293         * rendering/RenderGrid.cpp:
294         (WebCore::RenderGrid::RenderGrid):
295         * rendering/RenderGrid.h:
296         (RenderGrid):
297         * rendering/RenderImage.cpp:
298         (WebCore::RenderImage::RenderImage):
299         * rendering/RenderImage.h:
300         (RenderImage):
301         * rendering/RenderInline.cpp:
302         (WebCore::RenderInline::RenderInline):
303         (WebCore::RenderInline::addChildIgnoringContinuation):
304         * rendering/RenderInline.h:
305         (RenderInline):
306         * rendering/RenderLayer.cpp:
307         (WebCore::RenderLayer::updateScrollCornerStyle):
308         (WebCore::RenderLayer::updateResizerStyle):
309         (WebCore::RenderLayer::createReflection):
310         * rendering/RenderListItem.cpp:
311         (WebCore::RenderListItem::RenderListItem):
312         (WebCore::RenderListItem::styleDidChange):
313         * rendering/RenderListItem.h:
314         (RenderListItem):
315         * rendering/RenderListMarker.cpp:
316         (WebCore::RenderListMarker::RenderListMarker):
317         * rendering/RenderListMarker.h:
318         (RenderListMarker):
319         * rendering/RenderMediaControlElements.cpp:
320         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
321         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
322         (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
323         * rendering/RenderMediaControlElements.h:
324         (RenderMediaVolumeSliderContainer):
325         (RenderMediaControlTimeDisplay):
326         (RenderTextTrackContainerElement):
327         * rendering/RenderMultiColumnBlock.cpp:
328         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
329         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
330         * rendering/RenderMultiColumnBlock.h:
331         (RenderMultiColumnBlock):
332         * rendering/RenderMultiColumnFlowThread.cpp:
333         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
334         * rendering/RenderMultiColumnFlowThread.h:
335         (RenderMultiColumnFlowThread):
336         * rendering/RenderMultiColumnSet.cpp:
337         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
338         * rendering/RenderMultiColumnSet.h:
339         (RenderMultiColumnSet):
340         * rendering/RenderNamedFlowThread.cpp:
341         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
342         * rendering/RenderNamedFlowThread.h:
343         (RenderNamedFlowThread):
344         * rendering/RenderObject.cpp:
345         (WebCore::RenderObject::RenderObject):
346         * rendering/RenderObject.h:
347         (WebCore::RenderObject::setIsAnonymous):
348         (RenderObject):
349         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
350         * rendering/RenderRegion.cpp:
351         (WebCore::RenderRegion::RenderRegion):
352         * rendering/RenderRegion.h:
353         (RenderRegion):
354         * rendering/RenderRegionSet.cpp:
355         (WebCore::RenderRegionSet::RenderRegionSet):
356         * rendering/RenderRegionSet.h:
357         (RenderRegionSet):
358         * rendering/RenderReplaced.cpp:
359         (WebCore::RenderReplaced::RenderReplaced):
360         * rendering/RenderReplaced.h:
361         (RenderReplaced):
362         * rendering/RenderReplica.cpp:
363         (WebCore::RenderReplica::RenderReplica):
364         * rendering/RenderReplica.h:
365         (RenderReplica):
366         * rendering/RenderRuby.cpp:
367         (WebCore::createAnonymousRubyInlineBlock):
368         (WebCore::RenderRubyAsInline::RenderRubyAsInline):
369         (WebCore):
370         (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
371         * rendering/RenderRuby.h:
372         (RenderRubyAsInline):
373         (RenderRubyAsBlock):
374         * rendering/RenderRubyBase.cpp:
375         (WebCore::RenderRubyBase::RenderRubyBase):
376         * rendering/RenderRubyBase.h:
377         (RenderRubyBase):
378         * rendering/RenderRubyRun.cpp:
379         (WebCore::RenderRubyRun::RenderRubyRun):
380         (WebCore::RenderRubyRun::createRubyBase):
381         (WebCore::RenderRubyRun::staticCreateRubyRun):
382         * rendering/RenderRubyRun.h:
383         (RenderRubyRun):
384         * rendering/RenderRubyText.cpp:
385         (WebCore::RenderRubyText::RenderRubyText):
386         * rendering/RenderRubyText.h:
387         (RenderRubyText):
388         * rendering/RenderScrollbar.cpp:
389         (WebCore::RenderScrollbar::updateScrollbarPart):
390         * rendering/RenderScrollbarPart.cpp:
391         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
392         * rendering/RenderScrollbarPart.h:
393         (RenderScrollbarPart):
394         * rendering/RenderSearchField.cpp:
395         (WebCore::RenderSearchField::RenderSearchField):
396         * rendering/RenderSearchField.h:
397         (RenderSearchField):
398         * rendering/RenderTable.cpp:
399         (WebCore::RenderTable::RenderTable):
400         (WebCore::RenderTable::createAnonymousWithParentRenderer):
401         * rendering/RenderTable.h:
402         (RenderTable):
403         * rendering/RenderTableCaption.cpp:
404         (WebCore::RenderTableCaption::RenderTableCaption):
405         * rendering/RenderTableCaption.h:
406         (RenderTableCaption):
407         * rendering/RenderTableCell.cpp:
408         (WebCore::RenderTableCell::RenderTableCell):
409         (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
410         * rendering/RenderTableCell.h:
411         (RenderTableCell):
412         * rendering/RenderTableCol.cpp:
413         (WebCore::RenderTableCol::RenderTableCol):
414         * rendering/RenderTableCol.h:
415         (RenderTableCol):
416         * rendering/RenderTableRow.cpp:
417         (WebCore::RenderTableRow::RenderTableRow):
418         (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
419         * rendering/RenderTableRow.h:
420         (RenderTableRow):
421         * rendering/RenderTableSection.cpp:
422         (WebCore::RenderTableSection::RenderTableSection):
423         (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
424         * rendering/RenderTableSection.h:
425         (RenderTableSection):
426         * rendering/RenderTextControl.cpp:
427         (WebCore::RenderTextControl::RenderTextControl):
428         * rendering/RenderTextControl.h:
429         (RenderTextControl):
430         * rendering/RenderTextControlMultiLine.cpp:
431         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
432         * rendering/RenderTextControlMultiLine.h:
433         (RenderTextControlMultiLine):
434         * rendering/RenderTextControlSingleLine.cpp:
435         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
436         * rendering/RenderTextControlSingleLine.h:
437         (RenderTextControlSingleLine):
438         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
439         * rendering/RenderTextTrackCue.cpp:
440         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
441         * rendering/RenderView.cpp:
442         (WebCore::RenderView::RenderView):
443         * rendering/RenderWidget.cpp:
444         (WebCore::RenderWidget::RenderWidget):
445         * rendering/RenderWidget.h:
446         (RenderWidget):
447         * rendering/mathml/RenderMathMLBlock.cpp:
448         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
449         (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
450         * rendering/mathml/RenderMathMLBlock.h:
451         (RenderMathMLBlock):
452         * rendering/mathml/RenderMathMLFenced.cpp:
453         (WebCore::RenderMathMLFenced::createMathMLOperator):
454         * rendering/mathml/RenderMathMLOperator.cpp:
455         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
456         (WebCore::RenderMathMLOperator::updateFromElement):
457         (WebCore::RenderMathMLOperator::createGlyph):
458         * rendering/mathml/RenderMathMLOperator.h:
459         (RenderMathMLOperator):
460         * rendering/mathml/RenderMathMLRow.cpp:
461         (WebCore::RenderMathMLRow::RenderMathMLRow):
462         (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
463         * rendering/mathml/RenderMathMLRow.h:
464         (RenderMathMLRow):
465         * rendering/style/ContentData.cpp:
466         (WebCore::ImageContentData::createRenderer):
467         * rendering/svg/RenderSVGBlock.cpp:
468         (WebCore::RenderSVGBlock::RenderSVGBlock):
469         * rendering/svg/RenderSVGInline.cpp:
470         (WebCore::RenderSVGInline::RenderSVGInline):
471         * rendering/svg/RenderSVGInline.h:
472         (RenderSVGInline):
473         * rendering/svg/RenderSVGTSpan.cpp:
474         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
475         * rendering/svg/RenderSVGTSpan.h:
476         (RenderSVGTSpan):
477         * rendering/svg/RenderSVGTextPath.cpp:
478         (WebCore::RenderSVGTextPath::RenderSVGTextPath):
479         * rendering/svg/RenderSVGTextPath.h:
480         (RenderSVGTextPath):
481
482 2013-01-17  Alexey Proskuryakov  <ap@apple.com>
483
484         Fix a logic error in AuthenticationChallengeMac
485         https://bugs.webkit.org/show_bug.cgi?id=107164
486
487         Reviewed by Brady Eidson.
488
489         No new tests, as this is not currently observable.
490
491         * platform/network/cf/AuthenticationCF.cpp:
492         (WebCore::createCF): Added a FIXME about making this more like Mac counterpart.
493
494         * platform/network/cf/AuthenticationChallenge.h:
495         (AuthenticationChallenge): Corrected an slightly misleading explanation.
496
497         * platform/network/mac/AuthenticationMac.mm:
498         (WebCore::AuthenticationChallenge::setAuthenticationClient): Don't create a dummy
499         m_nsChallenge object in place of a nil one.
500
501 2013-01-17  Tony Gentilcore  <tonyg@chromium.org>
502
503         Remove unused finishWasCalled() method
504         https://bugs.webkit.org/show_bug.cgi?id=107148
505
506         Reviewed by Eric Seidel.
507
508         Based on patch by Eric Seidel.
509
510         No new tests because no new functionality.
511
512         * dom/DocumentParser.h:
513         (DocumentParser):
514         * dom/RawDataDocumentParser.h:
515         (WebCore::RawDataDocumentParser::append):
516         * html/parser/HTMLDocumentParser.cpp:
517         * html/parser/HTMLDocumentParser.h:
518         (HTMLDocumentParser):
519         * html/parser/HTMLViewSourceParser.cpp:
520         * html/parser/HTMLViewSourceParser.h:
521         (HTMLViewSourceParser):
522         * xml/parser/NewXMLDocumentParser.cpp:
523         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
524         (WebCore::NewXMLDocumentParser::finish):
525         * xml/parser/NewXMLDocumentParser.h:
526         (NewXMLDocumentParser):
527         * xml/parser/XMLDocumentParser.cpp:
528         * xml/parser/XMLDocumentParser.h:
529         (XMLDocumentParser):
530
531 2013-01-17  Ojan Vafai  <ojan@chromium.org>
532
533         MathML padding overrides only need to be on RenderMathMLRoot
534         https://bugs.webkit.org/show_bug.cgi?id=107151
535
536         Reviewed by Tony Chang.
537
538         RenderMathMLRoot is the only class that uses these.
539         No need for them to be on the generic MathML superclass.
540
541         * rendering/mathml/RenderMathMLBlock.cpp:
542         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
543         * rendering/mathml/RenderMathMLBlock.h:
544         * rendering/mathml/RenderMathMLRoot.cpp:
545         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
546         (WebCore::RenderMathMLRoot::paddingTop):
547         (WebCore::RenderMathMLRoot::paddingBottom):
548         (WebCore::RenderMathMLRoot::paddingLeft):
549         (WebCore::RenderMathMLRoot::paddingRight):
550         (WebCore::RenderMathMLRoot::paddingBefore):
551         (WebCore::RenderMathMLRoot::paddingAfter):
552         (WebCore::RenderMathMLRoot::paddingStart):
553         (WebCore::RenderMathMLRoot::paddingEnd):
554         * rendering/mathml/RenderMathMLRoot.h:
555
556 2013-01-17  Poul Sysolyatin  <psytonx@gmail.com>
557
558         32-bit build for Qt5 on Mac OS fails.
559         https://bugs.webkit.org/show_bug.cgi?id=107094
560
561         We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
562         Fixed 32-bit build detection for support Qt5.
563
564         Reviewed by Benjamin Poulain.
565  
566         * Target.pri:
567
568 2013-01-17  Joshua Bell  <jsbell@chromium.org>
569
570         IndexedDB: Prevent crash dereferencing null if script context has stopped
571         https://bugs.webkit.org/show_bug.cgi?id=107146
572
573         Reviewed by Tony Chang.
574
575         We have crash reports from Chromium users (but no local repro) for a crash coming
576         from IDBRequest::dispatchEvent() that looks like it's calling toV8Context() after
577         the script execution context has stopped. The dispatch shouldn't be occurring
578         and we ASSERT as such, but something weird is going on during Worker tear down.
579         If this patch prevents the crash it would indicate that stop() is called before
580         dispatchEvent() which shouldn't be happening, and would let us continue chasing
581         the issue.
582
583         No new tests - this shouldn't be happening.
584
585         * Modules/indexeddb/IDBRequest.cpp:
586         (WebCore::IDBRequest::dispatchEvent):
587
588 2013-01-17  Robert Hogan  <robert@webkit.org>
589
590         Nested fixed position element not staying with parent
591         https://bugs.webkit.org/show_bug.cgi?id=65477
592
593         Reviewed by David Hyatt.
594
595         Tests: fast/inline/fixed-pos-moves-with-abspos-inline-parent.html
596                fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html
597                fast/inline/fixed-pos-moves-with-abspos-parent.html
598                fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html
599
600         * rendering/RenderBlock.cpp:
601         (WebCore::RenderBlock::simplifiedLayout):
602         If an absolute position element inside a relative positioned container moves, and the absolute element has a fixed position
603         child, neither the container nor the fixed element learn of the movement since posChildNeedsLayout() is only marked as far as the 
604         relative positioned container. So if our positioned objects list can contain fixed position elements perform the
605         checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list. 
606         (WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
607         For a fixed position element in the positioned objects list that has a static x or y position check for an absolute positioned ancestor
608         and if we find one, see if the static x or y position of the fixed pos element has changed. If it has, mark it for layout.
609         (WebCore):
610         (WebCore::RenderBlock::layoutPositionedObjects):
611         A fixed position element with an absolute position ancestor has no way of learning if the latter has changed position. So perform the
612         checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list. 
613         * rendering/RenderBlock.h:
614         (RenderBlock):
615         * rendering/RenderObject.cpp:
616         (WebCore::RenderObject::containingBlock): Use new helper function canContainFixedPositionObjects().
617         * rendering/RenderObject.h:
618         (WebCore::RenderObject::canContainFixedPositionObjects):
619         (RenderObject):
620
621 2013-01-17  Antti Koivisto  <antti@apple.com>
622
623         Make renderer constructors take Element where possible
624         https://bugs.webkit.org/show_bug.cgi?id=107138
625
626         Reviewed by David Hyatt.
627         
628         Tighter typing prevents bugs and enables optimizations.
629
630         The patch changes how anonymous rendererer are constructed. Previously Document* as the node parameter
631         indicated that the renderer was anonymous. This forced the code to operate on ContainerNodes (Document
632         is not an Element). Now anonymous renderers are constructed by passing null and the document is set by
633         separate setDocumentForAnonymous() call. The patch uses RenderFoo::createAnonymous() pattern consistently.
634
635         Most constructors are switched to take Element. RenderBlock still takes ContainerNode due to a few subclasses
636         (RenderView and RenderFlowThread) that pass in a Document.
637
638         * page/FrameView.cpp:
639         (WebCore::FrameView::updateScrollCorner):
640         * rendering/RenderBlock.cpp:
641         (WebCore::RenderBlock::createAnonymous):
642         (WebCore):
643         (WebCore::RenderBlock::createReplacementRunIn):
644         (WebCore::RenderBlock::updateFirstLetterStyle):
645         (WebCore::RenderBlock::createFirstLetterRenderer):
646         (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
647         (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
648         (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
649         * rendering/RenderBlock.h:
650         (RenderBlock):
651         * rendering/RenderDeprecatedFlexibleBox.cpp:
652         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
653         (WebCore::RenderDeprecatedFlexibleBox::createAnonymous):
654         (WebCore):
655         * rendering/RenderDeprecatedFlexibleBox.h:
656         (RenderDeprecatedFlexibleBox):
657         * rendering/RenderDetailsMarker.cpp:
658         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
659         * rendering/RenderDetailsMarker.h:
660         (RenderDetailsMarker):
661         * rendering/RenderDialog.h:
662         (WebCore::RenderDialog::RenderDialog):
663         * rendering/RenderFieldset.cpp:
664         (WebCore::RenderFieldset::RenderFieldset):
665         * rendering/RenderFieldset.h:
666         (RenderFieldset):
667         * rendering/RenderFlexibleBox.cpp:
668         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
669         * rendering/RenderFlexibleBox.h:
670         (RenderFlexibleBox):
671         * rendering/RenderFlowThread.cpp:
672         (WebCore):
673         (WebCore::RenderFlowThread::RenderFlowThread):
674         * rendering/RenderFlowThread.h:
675         * rendering/RenderFullScreen.cpp:
676         (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
677         (RenderFullScreen::RenderFullScreen):
678         (RenderFullScreen::createAnonymous):
679         (RenderFullScreen::wrapRenderer):
680         * rendering/RenderFullScreen.h:
681         (RenderFullScreen):
682         * rendering/RenderGrid.cpp:
683         (WebCore::RenderGrid::RenderGrid):
684         * rendering/RenderGrid.h:
685         (RenderGrid):
686         * rendering/RenderImage.cpp:
687         (WebCore::RenderImage::RenderImage):
688         (WebCore::RenderImage::createAnonymous):
689         (WebCore):
690         * rendering/RenderImage.h:
691         (RenderImage):
692         * rendering/RenderInline.cpp:
693         (WebCore::RenderInline::RenderInline):
694         (WebCore::RenderInline::createAnonymous):
695         (WebCore):
696         (WebCore::RenderInline::addChildIgnoringContinuation):
697         * rendering/RenderInline.h:
698         (RenderInline):
699         (WebCore::RenderInline::node):
700         
701             Add version with covariant Element return type.
702
703         * rendering/RenderLayer.cpp:
704         (WebCore::RenderLayer::updateScrollCornerStyle):
705         (WebCore::RenderLayer::updateResizerStyle):
706         (WebCore::RenderLayer::createReflection):
707         * rendering/RenderListItem.cpp:
708         (WebCore::RenderListItem::RenderListItem):
709         (WebCore::RenderListItem::styleDidChange):
710         * rendering/RenderListItem.h:
711         (RenderListItem):
712         * rendering/RenderListMarker.cpp:
713         (WebCore::RenderListMarker::RenderListMarker):
714         (WebCore::RenderListMarker::createAnonymous):
715         (WebCore):
716         * rendering/RenderListMarker.h:
717         (RenderListMarker):
718         * rendering/RenderMediaControlElements.cpp:
719         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
720         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
721         (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
722         * rendering/RenderMediaControlElements.h:
723         (RenderMediaVolumeSliderContainer):
724         (RenderMediaControlTimeDisplay):
725         (RenderTextTrackContainerElement):
726         * rendering/RenderMultiColumnBlock.cpp:
727         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
728         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
729         * rendering/RenderMultiColumnBlock.h:
730         (RenderMultiColumnBlock):
731         * rendering/RenderMultiColumnFlowThread.cpp:
732         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
733         * rendering/RenderMultiColumnFlowThread.h:
734         (RenderMultiColumnFlowThread):
735         * rendering/RenderMultiColumnSet.cpp:
736         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
737         (WebCore::RenderMultiColumnSet::createAnonymous):
738         (WebCore):
739         * rendering/RenderMultiColumnSet.h:
740         (RenderMultiColumnSet):
741         * rendering/RenderNamedFlowThread.cpp:
742         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
743         * rendering/RenderNamedFlowThread.h:
744         (RenderNamedFlowThread):
745         * rendering/RenderObject.cpp:
746         (WebCore::RenderObject::RenderObject):
747         * rendering/RenderObject.h:
748         
749              Passed in null node indicates that the renderer is anonymous. Remove now unnecessary setIsAnonymous() function.
750
751         (WebCore::RenderObject::isAnonymous):
752         (WebCore::RenderObject::setDocumentForAnonymous):
753         (RenderObject):
754         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
755         * rendering/RenderRegion.cpp:
756         (WebCore::RenderRegion::RenderRegion):
757         * rendering/RenderRegion.h:
758         (RenderRegion):
759         * rendering/RenderRegionSet.cpp:
760         (WebCore::RenderRegionSet::RenderRegionSet):
761         * rendering/RenderRegionSet.h:
762         (RenderRegionSet):
763         * rendering/RenderReplaced.cpp:
764         (WebCore::RenderReplaced::RenderReplaced):
765         * rendering/RenderReplaced.h:
766         (RenderReplaced):
767         * rendering/RenderReplica.cpp:
768         (WebCore::RenderReplica::RenderReplica):
769         (WebCore::RenderReplica::createAnonymous):
770         (WebCore):
771         * rendering/RenderReplica.h:
772         (RenderReplica):
773         * rendering/RenderRuby.cpp:
774         (WebCore::createAnonymousRubyInlineBlock):
775         (WebCore::RenderRubyAsInline::RenderRubyAsInline):
776         (WebCore):
777         (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
778         * rendering/RenderRuby.h:
779         (RenderRubyAsInline):
780         (RenderRubyAsBlock):
781         * rendering/RenderRubyBase.cpp:
782         (WebCore::RenderRubyBase::RenderRubyBase):
783         (WebCore::RenderRubyBase::createAnonymous):
784         (WebCore):
785         * rendering/RenderRubyBase.h:
786         (RenderRubyBase):
787         * rendering/RenderRubyRun.cpp:
788         (WebCore::RenderRubyRun::RenderRubyRun):
789         (WebCore::RenderRubyRun::createRubyBase):
790         (WebCore::RenderRubyRun::staticCreateRubyRun):
791         * rendering/RenderRubyRun.h:
792         (RenderRubyRun):
793         * rendering/RenderRubyText.cpp:
794         (WebCore::RenderRubyText::RenderRubyText):
795         * rendering/RenderRubyText.h:
796         (RenderRubyText):
797         * rendering/RenderScrollbar.cpp:
798         (WebCore::RenderScrollbar::updateScrollbarPart):
799         * rendering/RenderScrollbarPart.cpp:
800         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
801         (WebCore::RenderScrollbarPart::createAnonymous):
802         (WebCore):
803         * rendering/RenderScrollbarPart.h:
804         (RenderScrollbarPart):
805         * rendering/RenderSearchField.cpp:
806         (WebCore::RenderSearchField::RenderSearchField):
807         * rendering/RenderSearchField.h:
808         (RenderSearchField):
809         * rendering/RenderTable.cpp:
810         (WebCore::RenderTable::RenderTable):
811         (WebCore::RenderTable::createAnonymousWithParentRenderer):
812         * rendering/RenderTable.h:
813         (RenderTable):
814         * rendering/RenderTableCaption.cpp:
815         (WebCore::RenderTableCaption::RenderTableCaption):
816         * rendering/RenderTableCaption.h:
817         (RenderTableCaption):
818         * rendering/RenderTableCell.cpp:
819         (WebCore::RenderTableCell::RenderTableCell):
820         (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
821         * rendering/RenderTableCell.h:
822         (RenderTableCell):
823         * rendering/RenderTableCol.cpp:
824         (WebCore::RenderTableCol::RenderTableCol):
825         * rendering/RenderTableCol.h:
826         (RenderTableCol):
827         * rendering/RenderTableRow.cpp:
828         (WebCore::RenderTableRow::RenderTableRow):
829         (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
830         * rendering/RenderTableRow.h:
831         (RenderTableRow):
832         * rendering/RenderTableSection.cpp:
833         (WebCore::RenderTableSection::RenderTableSection):
834         (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
835         * rendering/RenderTableSection.h:
836         (RenderTableSection):
837         * rendering/RenderTextControl.cpp:
838         (WebCore::RenderTextControl::RenderTextControl):
839         * rendering/RenderTextControl.h:
840         (RenderTextControl):
841         * rendering/RenderTextControlMultiLine.cpp:
842         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
843         * rendering/RenderTextControlMultiLine.h:
844         (RenderTextControlMultiLine):
845         * rendering/RenderTextControlSingleLine.cpp:
846         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
847         * rendering/RenderTextControlSingleLine.h:
848         (RenderTextControlSingleLine):
849         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
850         * rendering/RenderTextTrackCue.cpp:
851         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
852         * rendering/RenderView.cpp:
853         (WebCore::RenderView::RenderView):
854         * rendering/RenderWidget.cpp:
855         (WebCore::RenderWidget::RenderWidget):
856         * rendering/RenderWidget.h:
857         (RenderWidget):
858         * rendering/mathml/RenderMathMLBlock.cpp:
859         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
860         (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
861         * rendering/mathml/RenderMathMLBlock.h:
862         (RenderMathMLBlock):
863         * rendering/mathml/RenderMathMLFenced.cpp:
864         (WebCore::RenderMathMLFenced::createMathMLOperator):
865         * rendering/mathml/RenderMathMLOperator.cpp:
866         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
867         (WebCore::RenderMathMLOperator::updateFromElement):
868         (WebCore::RenderMathMLOperator::createGlyph):
869         * rendering/mathml/RenderMathMLOperator.h:
870         (RenderMathMLOperator):
871         * rendering/mathml/RenderMathMLRow.cpp:
872         (WebCore::RenderMathMLRow::RenderMathMLRow):
873         (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
874         * rendering/mathml/RenderMathMLRow.h:
875         (RenderMathMLRow):
876         * rendering/style/ContentData.cpp:
877         (WebCore::ImageContentData::createRenderer):
878         * rendering/svg/RenderSVGBlock.cpp:
879         (WebCore::RenderSVGBlock::RenderSVGBlock):
880         * rendering/svg/RenderSVGInline.cpp:
881         (WebCore::RenderSVGInline::RenderSVGInline):
882         * rendering/svg/RenderSVGInline.h:
883         (RenderSVGInline):
884         * rendering/svg/RenderSVGTSpan.cpp:
885         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
886         * rendering/svg/RenderSVGTSpan.h:
887         (RenderSVGTSpan):
888         * rendering/svg/RenderSVGTextPath.cpp:
889         (WebCore::RenderSVGTextPath::RenderSVGTextPath):
890         * rendering/svg/RenderSVGTextPath.h:
891         (RenderSVGTextPath):
892
893 2013-01-17  Leo Yang  <leoyang@rim.com>
894
895         [BlackBerry] Update Authentication Type and Scheme implementation
896         https://bugs.webkit.org/show_bug.cgi?id=107045
897         PR #281292
898
899         Reviewed by Yong Li.
900
901         Reviewed internally by Joe Mason. A typo is also fixed by Joe Mason.
902
903         The BlackBerry platform layer has defined both authentication type and authentication scheme.
904         This patch is adapting the porting layer to the platform layer change.
905
906         No functionalities changed no new tests.
907
908         * platform/network/blackberry/NetworkJob.cpp:
909         (WebCore::NetworkJob::notifyAuthReceived):
910         * platform/network/blackberry/NetworkJob.h:
911         (NetworkJob):
912         * platform/network/blackberry/NetworkManager.cpp:
913         (WebCore::NetworkManager::startJob):
914
915 2013-01-17  Martin Robinson  <mrobinson@igalia.com>
916
917         [GTK] Build with LevelDB when IndexedDB is enabled
918         https://bugs.webkit.org/show_bug.cgi?id=103220
919
920         Reviewed by Gustavo Noronha Silva.
921
922         No new tests. This is just a build change. IndexedDatabase support
923         is already covered by the suite of storage layout tests.
924
925         * GNUmakefile.am: Add the leveldb convenience library.
926         * GNUmakefile.list.am: Add the list of sources.
927
928 2013-01-17  Tony Gentilcore  <tonyg@chromium.org>
929
930         Wire BackgroundHTMLParser to HTMLDocumentParser
931         https://bugs.webkit.org/show_bug.cgi?id=107140
932
933         Reviewed by Adam Barth.
934
935         With this patch, we now pass the majority of html5lib and fast/parser tests with threaded HTML parsing enabled.
936
937         No new tests because covered by existing fast/parser tests.
938
939         * html/parser/BackgroundHTMLParser.cpp:
940         (WebCore::TokenDelivery::execute):
941         * html/parser/HTMLDocumentParser.cpp:
942         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
943         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
944         (WebCore::HTMLDocumentParser::processingData):
945         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
946         (WebCore::HTMLDocumentParser::canTakeNextToken):
947         (WebCore::HTMLDocumentParser::feedTokens):
948         (WebCore::HTMLDocumentParser::pumpTokenizer):
949         (WebCore):
950         (WebCore::HTMLDocumentParser::startBackgroundParser):
951         (WebCore::HTMLDocumentParser::stopBackgroundParser):
952         (WebCore::HTMLDocumentParser::append):
953         (WebCore::HTMLDocumentParser::end):
954         (WebCore::HTMLDocumentParser::finish):
955         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
956         * html/parser/HTMLDocumentParser.h:
957         (WebCore):
958         (HTMLDocumentParser):
959         (WebCore::HTMLDocumentParser::hasPreloadScanner):
960         (WebCore::HTMLDocumentParser::shouldUseThreading):
961
962 2013-01-17  Tommy Widenflycht  <tommyw@google.com>
963
964         MediaStream API: Move all ExtraDataContainers into anonymous namespaces
965         https://bugs.webkit.org/show_bug.cgi?id=107128
966
967         Reviewed by Kentaro Hara.
968
969         Tests not needed.
970
971         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
972         * platform/chromium/support/WebMediaStreamSource.cpp:
973         * platform/chromium/support/WebRTCSessionDescriptionRequest.cpp:
974         * platform/chromium/support/WebRTCVoidRequest.cpp:
975
976 2013-01-17  Yury Semikhatsky  <yurys@chromium.org>
977
978         Web Inspector: InstrumentingAgents should be registered in InspectorInstrumentation only when there is a front-end
979         https://bugs.webkit.org/show_bug.cgi?id=107127
980
981         Reviewed by Vsevolod Vlasov.
982
983         InspectorInstrumentation::registerInstrumentingAgents is called when front-end
984         is connected to corresponding InspectorController. When the front-end disconnects
985         InspectorInstrumentation::unregisterInstrumentingAgents is called.
986
987         * inspector/InspectorController.cpp:
988         (WebCore::InspectorController::InspectorController):
989         (WebCore::InspectorController::inspectedPageDestroyed):
990         (WebCore::InspectorController::connectFrontend):
991         (WebCore::InspectorController::disconnectFrontend):
992
993 2013-01-17  Andrei Bucur  <abucur@adobe.com>
994
995         [CSS Regions] Content flows incorrectly in autoheight regions with min/max-height set
996         https://bugs.webkit.org/show_bug.cgi?id=102099
997
998         Reviewed by David Hyatt.
999
1000         The current layout algorithm for auto-height regions is gives wrong results when the max-height property is set on them. The reason is we
1001         consider the max-height restriction too late in the layout, when applying a forced break. This is what happens when content is laid out
1002         in an auto-height region.
1003         1. The content flows without a limit until a forced break appears. If there's no forced break in the content, one is forced anyway at the end
1004         of the layout.
1005         2. The region where the forced break is placed is not always the one where content is laid out because of max-height restrictions.
1006         3. All the regions with max-height are iterated and their height accumulated until the break offset is reached and the region at that point is ended.
1007         This gives wrong results because the forced break position in the content was computed assuming there's only one region where the content is laid out.
1008         The regions with max-height could have generated unforced breaks at their height and the forced break actually should have a different position.
1009
1010         This patch changes the algorithm in this way:
1011         1. From the flow thread perspective all the regions start with a height: max-height for auto-height regions (or LayoutSize.max()/2 if not defined)
1012         or the fixed height value when specified.
1013         2. When the content is laid out, if there's no forced break, the height of the content is correctly estimated because the layout sees unforced breaks
1014         at the max-height values.
1015         3. If a forced break appears, the affected region can be obtained only by looking at the break offset in the region chain. If the region has auto-height,
1016         its height is updated by the forced break.
1017         4. At the end of the layout, there's the additional task to clear the height of all the regions that didn't receive content. This can be done optimally
1018         without adding a new iteration through the regions by attaching to the RegionOverset computation loop.
1019
1020         Tests:  fast/regions/autoheight-maxheight-mixed-break.html
1021                 fast/regions/autoheight-maxheight-simple-break.html
1022                 fast/regions/autoheight-maxheight-simple-nobreak.html
1023                 fast/regions/autoheight-minmaxheight-mixed-break-hbt.html
1024                 fast/regions/autoheight-minmaxheight-mixed-break-vlr.html
1025                 fast/regions/autoheight-minmaxheight-mixed-break-vrl.html
1026                 fast/regions/autoheight-minmaxheight-mixed-break.html
1027                 fast/regions/autoheight-minmaxheight-simple-break.html
1028                 fast/regions/autoheight-minmaxheight-simple-nobreak.html
1029
1030         * rendering/RenderFlowThread.cpp:
1031         (WebCore::RenderFlowThread::layout):
1032         (WebCore::RenderFlowThread::computeLogicalHeight):
1033         (WebCore::RenderFlowThread::regionAtBlockOffset):
1034         (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
1035         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1036         (WebCore::RenderFlowThread::computeOverflowStateForRegions): Attach to the loop in this function to clear the overrideLogicalHeight on empty regions.
1037         (WebCore):
1038         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): Add an ASSERT that a region always has overrideLogicalHeight or a fixed height.
1039         (WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight): A new function that updates the region chain height to use the max-height value
1040         for auto-height regions.
1041         (WebCore::RenderFlowThread::addForcedRegionBreak):
1042         * rendering/RenderFlowThread.h:
1043         * rendering/RenderRegion.cpp:
1044         (WebCore::RenderRegion::pageLogicalHeight): the decorations size is incorrectly considered in the page height.
1045         (WebCore):
1046         (WebCore::RenderRegion::maxPageLogicalHeight): new function that returns the max page size for a region. It shouldn't be called too often
1047         or the returned value can be cached
1048         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent): the decorations size is incorrectly considered in the logical height of
1049         the flow thread content.
1050         * rendering/RenderRegion.h:
1051         (RenderRegion):
1052
1053
1054 2013-01-17  Vsevolod Vlasov  <vsevik@chromium.org>
1055
1056         Web Inspector: Open resource dialog has poor performance.
1057         https://bugs.webkit.org/show_bug.cgi?id=107122
1058
1059         Reviewed by Pavel Feldman.
1060
1061         Open resource dialog does not make linear number of relayouts on highlight anymore.
1062         Replaced localeCompare with string compare since it is significantly faster.
1063
1064         * inspector/front-end/FilteredItemSelectionDialog.js:
1065         (WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
1066         (WebInspector.OpenResourceDialog.compareFunction):
1067         (WebInspector.OpenResourceDialog):
1068
1069 2013-01-17  Alexis Menard  <alexis@webkit.org>
1070
1071         Add ontransitionend attribute on HTML elements.
1072         https://bugs.webkit.org/show_bug.cgi?id=107134
1073
1074         Reviewed by Simon Fraser.
1075
1076         Add ontransitionend attribute on HTML elements to match the prefixed
1077         attribute onwebkittransitionend. As it uses the same plumbing as a
1078         regular event listener, it behaves the same which means that if
1079         ontransitionend only is defined then only the code attached to this
1080         attribute will be called, if only onwebkittransitionend is defined then
1081         only the code attached to this attribute will be called and finally if
1082         both attributes are defined then only the code attached to the
1083         unprefixed attribute will be called.
1084
1085         Tests: transitions/transition-end-event-unprefixed-03.html
1086                transitions/transition-end-event-unprefixed-04.html
1087
1088         * html/HTMLAttributeNames.in:
1089         * html/HTMLElement.cpp:
1090         (WebCore::HTMLElement::parseAttribute):
1091         * page/DOMWindow.h:
1092         (DOMWindow):
1093         * page/DOMWindow.idl: only define the property if the unprefixing is
1094         turn on.
1095
1096 2013-01-17  Andrei Bucur  <abucur@adobe.com>
1097
1098         Widows and orphans test4 fails if isolated
1099         https://bugs.webkit.org/show_bug.cgi?id=106006
1100
1101         Reviewed by Dean Jackson.
1102
1103         To determine if the orphans condition is not respected, every time a fragmentation break is encountered adjustLinePositionForPagination() is called for the current line.
1104         If the index on the line in the block is smaller than the number of orphans specified in the style object, the block is shifted in the next fragmentainer. The index of
1105         the line is obtained by calling RenderBlock::lineCount. However, this only works in a full layout when lineCount() will coincidentally return the index of the line.
1106         In subsequent layouts, during the determineStartPosition() phase, lineCount() returns all the lines in the block so the orphans condition is never triggered.
1107         The patch modifies the lineCount() function to have two optional parameters. The first parameter is the line where lineCount should stop counting lines. The second
1108         is an output boolean parameter indicating if the line was found or not. This change makes the lineCount() more flexible and allows retreiving the index of a
1109         specific line (e.g. the index of the current line inside adjustLinePositionForPagination()).
1110
1111         Tests: fast/multicol/orphans-relayout.html
1112
1113         * rendering/RenderBlock.cpp:
1114         (WebCore::RenderBlock::lineCount): See the detailed description.
1115         (WebCore::RenderBlock::adjustLinePositionForPagination): Make use of the modified lineCount() function.
1116         * rendering/RenderBlock.h:
1117         (RenderBlock):
1118
1119 2013-01-17  Martin Robinson  <mrobinson@igalia.com>
1120
1121         REGRESSION (r137487): Crashes in editing/execCommand/indent-paragraphs.html on GTK, EFL
1122         https://bugs.webkit.org/show_bug.cgi?id=105042
1123
1124         Reviewed by Gustavo Noronha Silva.
1125
1126         Explicitly handle the situation where the creation of a SoupURI fails. This
1127         can happen if the URI is invalid. In that case the constructor returns null.
1128
1129         No new tests. This patch unskips a failing test.
1130
1131         * platform/network/soup/ResourceHandleSoup.cpp:
1132         (WebCore::createSoupRequestAndMessageForHandle): Handle a null Soup URI.
1133
1134 2013-01-17  Nate Chapin  <japhet@chromium.org>
1135
1136         Enable reuse of cached main resources
1137         https://bugs.webkit.org/show_bug.cgi?id=105667
1138
1139         Reviewed by Antti Koivisto.
1140
1141         Test: http/tests/cache/cached-main-resource.html
1142
1143         * WebCore.exp.in:
1144         * dom/Document.cpp:
1145         (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
1146         * dom/Document.h:
1147         (Document):
1148         * loader/FrameLoader.cpp:
1149         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
1150             MainResourceLoader will take care of it.
1151         * loader/MainResourceLoader.cpp:
1152         (WebCore::MainResourceLoader::MainResourceLoader):
1153         (WebCore::MainResourceLoader::receivedError):
1154         (WebCore::MainResourceLoader::willSendRequest):
1155         (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
1156         (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
1157         (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
1158             ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
1159         (WebCore::MainResourceLoader::identifier):
1160         * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
1161             to better describe when it is used.
1162         * loader/cache/CachedRawResource.cpp:
1163         (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
1164         (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
1165         (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
1166         * loader/cache/CachedRawResource.h:
1167         (CachedRawResource):
1168         (RedirectPair):
1169         (WebCore::CachedRawResource::RedirectPair::RedirectPair):
1170         * loader/cache/CachedResource.cpp:
1171         (WebCore::CachedResource::addClientToSet):: Don't return cached data for a main resource synchronously
1172         * loader/cache/CachedResource.h:
1173         (WebCore::CachedResource::canReuse):
1174         (CachedResource):
1175         * loader/cache/CachedResourceLoader.cpp:
1176         (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
1177         * testing/Internals.cpp:
1178         (WebCore::Internals::isLoadingFromMemoryCache):
1179         (WebCore):
1180         * testing/Internals.h:
1181         (Internals):
1182         * testing/Internals.idl:
1183
1184 2013-01-17  Eugene Klyuchnikov  <eustas@chromium.org>
1185
1186         Web Inspector: [Network] Remove boilerplate CSS selectors.
1187         https://bugs.webkit.org/show_bug.cgi?id=107121
1188
1189         Reviewed by Vsevolod Vlasov.
1190
1191         There are rules that are used for filtration and styling
1192         whose selectors should be autogenerated.
1193
1194         * inspector/front-end/NetworkPanel.js:
1195         (WebInspector.NetworkPanel.prototype._injectStyles):
1196         * inspector/front-end/networkLogView.css:
1197
1198 2013-01-17  Tim Horton  <timothy_horton@apple.com>
1199
1200         Fix the Mac build sans ENABLE(CSS_FILTERS)
1201
1202         Reviewed by Darin Adler.
1203
1204         Move an export from a USE(ACCELERATED_COMPOSITING) block to a ENABLE(CSS_FILTERS)
1205         block, to match the code that backs it.
1206
1207         * WebCore.exp.in:
1208
1209 2013-01-17  Shinya Kawanaka  <shinyak@chromium.org>
1210
1211         [Mac] svg/custom/text-use-click-crash.xhtml added by r139029 hits assertion in enclosingTextFormControl
1212         https://bugs.webkit.org/show_bug.cgi?id=106361
1213
1214         Reviewed by Darin Adler.
1215
1216         When ASSERT hit in enclosingTextFormControl(Position), position.anchorNode() was /use/shadow-root/text,
1217         and position.anchorType() was PositionIsBeforeAnchor. In this case, position.containerNode() should be
1218         ShadowRoot if SHADOW_DOM flag is enabled. However, SHADOW_DOM flag is not enabled in mac port,
1219         position.containerNode() returns 0. This hits ASSERT.
1220
1221         We have two options to solve this problem. (1) is to allow Position to have ShadowRoot as a container node,
1222         but this will affect a lot of code. (2) is to loosen ASSERT condition.
1223
1224         I've chosen (2) option in this patch.
1225
1226         Test: svg/custom/text-use-click-crash.xhtml should cover this.
1227
1228         * html/HTMLTextFormControlElement.cpp:
1229         (WebCore::enclosingTextFormControl):
1230
1231 2013-01-17  Eugene Klyuchnikov  <eustas@chromium.org>
1232
1233         Web Inspector: Profiler: split "getProfile" to "getCPUProfile" and "loadHeapSnapshot"
1234         https://bugs.webkit.org/show_bug.cgi?id=104545
1235
1236         Reviewed by Yury Semikhatsky.
1237
1238         This change will allow stronger typing of profiler output.
1239
1240         * inspector/Inspector.json:
1241         Split "getProfile" to "getCPUProfile" and "getHeapSnapshot".
1242         * inspector/InspectorProfilerAgent.cpp: Ditto.
1243         * inspector/InspectorProfilerAgent.h: Ditto.
1244         * inspector/front-end/CPUProfileView.js: Adopd changes.
1245         * inspector/front-end/HeapSnapshotView.js: Ditto.
1246
1247 2013-01-17  Eugene Klyuchnikov  <eustas@chromium.org>
1248
1249         Web Inspector: [Network] Memory leaks when user walks between requests.
1250         https://bugs.webkit.org/show_bug.cgi?id=107114
1251
1252         Reviewed by Vsevolod Vlasov.
1253
1254         Unregister event listeners when view is detached.
1255
1256         * inspector/front-end/RequestCookiesView.js: Fixed memory leak.
1257         * inspector/front-end/RequestHeadersView.js: Ditto.
1258         * inspector/front-end/RequestTimingView.js: Ditto.
1259
1260 2013-01-17  Eugene Klyuchnikov  <eustas@chromium.org>
1261
1262         Web Inspector: [Timeline] REGRESSION: Sidebar shrinks when user switches to memory statistics mode.
1263         https://bugs.webkit.org/show_bug.cgi?id=105857
1264
1265         Reviewed by Pavel Feldman.
1266
1267         Fix: do not apply constraints to sidebar width while view is offscreen;
1268         constraint check will be applied when view goes visible.
1269
1270         * inspector/front-end/SidebarView.js:
1271         (WebInspector.SidebarView.prototype.applyConstraints): Check if view is
1272         offscreen.
1273
1274 2013-01-17  Alexander Pavlov  <apavlov@chromium.org>
1275
1276         Web Inspector: [Spectrum] Color picker in CSS editor does not update textual color value
1277         https://bugs.webkit.org/show_bug.cgi?id=107110
1278
1279         Reviewed by Vsevolod Vlasov.
1280
1281         The Spectrum picker was never told to update the textual color upon user-initiated color changes.
1282
1283         * inspector/front-end/StylesSidebarPane.js:
1284         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1285
1286 2013-01-17  Jae Hyun Park  <jae.park@company100.net>
1287
1288         Remove unnecessary public method TiledBackingStore::supportsAlpha()
1289         https://bugs.webkit.org/show_bug.cgi?id=107067
1290
1291         Reviewed by Kentaro Hara.
1292
1293         This patch removes unnecessary public method TiledBackingStore::supportsAlpha()
1294         because supportsAlpha() is never called from other classes.
1295
1296         No new tests, no change in behavior.
1297
1298         * platform/graphics/TiledBackingStore.cpp:
1299         (WebCore::TiledBackingStore::setSupportsAlpha):
1300         * platform/graphics/TiledBackingStore.h:
1301         (TiledBackingStore):
1302
1303 2013-01-17  Peter Rybin  <peter.rybin@gmail.com>
1304
1305         [V8] Remove a --es5_readonly flag from V8 initialization and address duplicated code
1306         https://bugs.webkit.org/show_bug.cgi?id=106790
1307
1308         Reviewed by Kentaro Hara.
1309
1310         Couple of statements are moved to a newly created method. Old V8 flag setter is removed
1311         according to FIXME and per V8 change http://code.google.com/p/v8/source/detail?r=12415
1312
1313         * bindings/v8/V8Initializer.cpp:
1314         (WebCore::initializeV8Common): newly created method
1315         (WebCore):
1316         (WebCore::V8Initializer::initializeMainThreadIfNeeded):
1317         (WebCore::V8Initializer::initializeWorker):
1318
1319 2013-01-17  John Bauman  <jbauman@chromium.org>
1320
1321         Fix texImage2D from a WebGL canvas.
1322         https://bugs.webkit.org/show_bug.cgi?id=106941
1323
1324         Reviewed by Kenneth Russell.
1325
1326         Clear the copied image whenever the canvas is modified, even if using
1327         accelerated compositing.
1328
1329         Test: fast/canvas/webgl/tex-image-webgl.html
1330
1331         * html/canvas/WebGLRenderingContext.cpp:
1332         (WebCore):
1333         (WebCore::WebGLRenderingContext::markContextChanged):
1334
1335 2013-01-17  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1336
1337         [AC] Memory leak in GLXConfigSelector::createConfig()
1338         https://bugs.webkit.org/show_bug.cgi?id=106657
1339
1340         Reviewed by Laszlo Gombos.
1341
1342         Free the memory returned by glXGetVisualFromFBConfig() using
1343         XFree to avoid a memory leak.
1344
1345         No new tests. No change in behavior.
1346
1347         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
1348         (WebCore::GLXConfigSelector::createConfig):
1349
1350 2013-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1351
1352         Unreviewed, rolling out r139929.
1353         http://trac.webkit.org/changeset/139929
1354         https://bugs.webkit.org/show_bug.cgi?id=107141
1355
1356         Speculative fix didn't work (Requested by jsbell on #webkit).
1357
1358         * Modules/indexeddb/IDBObjectStore.cpp:
1359         (WebCore::IDBObjectStore::createIndex):
1360
1361 2013-01-16  Alexey Proskuryakov  <ap@apple.com>
1362
1363         Don't use NSApplication run loop in NetworkProcess
1364         https://bugs.webkit.org/show_bug.cgi?id=107061
1365
1366         Reviewed by Anders Carlsson.
1367
1368         Added a way to tell RunLoop whether it should use NSApplication run loop
1369         (defaulting to not using it, as this should be an exception for child processes).
1370
1371         * WebCore.exp.in:
1372         * platform/RunLoop.cpp:
1373         (WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop):
1374         * platform/RunLoop.h:
1375         * platform/mac/RunLoopMac.mm:
1376         (WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop):
1377         (WebCore::RunLoop::run):
1378         (WebCore::RunLoop::stop):
1379
1380 2013-01-17  Andrey Lushnikov  <lushnikov@chromium.org>
1381
1382         Web Inspector: fix DefaultTextEditor's broken backspace
1383         https://bugs.webkit.org/show_bug.cgi?id=107130
1384
1385         Reviewed by Pavel Feldman.
1386
1387         Remove css "position: relative;" style from "webkit-line-content" class, which
1388         somehow brakes editing experience. Remove "height: 100%" from text-editor-overlay-highlight
1389         class and cast necessary height via inserting "&nbsp;" into overlay span elements.
1390
1391         No new tests: no change in behaviour.
1392
1393         * inspector/front-end/DefaultTextEditor.js:
1394         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
1395         * inspector/front-end/textEditor.css:
1396         (.text-editor-overlay-highlight):
1397
1398 2013-01-16  Vsevolod Vlasov  <vsevik@chromium.org>
1399
1400         Web Inspector: Introduce FileSystemWorkspaceProvider to allow showing files from file system in workspace.
1401         https://bugs.webkit.org/show_bug.cgi?id=107021
1402
1403         Reviewed by Pavel Feldman.
1404
1405         Added FileSystemWorkspaceProvider that populates workspace with files
1406         loaded from file systems registered in FileSystemMapping and listens
1407         for FileSystemAdded / FileSystemRemoved events to update workspace.
1408
1409         * WebCore.gypi:
1410         * WebCore.vcproj/WebCore.vcproj:
1411         * inspector/compile-front-end.py:
1412         * inspector/front-end/FileMapping.js:
1413         (WebInspector.FileMapping.prototype.urlForURI):
1414         (WebInspector.FileMapping.MappingEntry.prototype.urlForURI):
1415         * inspector/front-end/FileSystemMapping.js:
1416         (WebInspector.FileSystemMapping.prototype.uriForPath):
1417         (WebInspector.FileSystemMapping.prototype.addEventListener):
1418         (WebInspector.FileSystemMapping.prototype.removeEventListener):
1419         (WebInspector.FileSystemMappingImpl):
1420         (get WebInspector.FileSystemMappingImpl.prototype.uriForPath):
1421         * inspector/front-end/FileSystemWorkspaceProvider.js: Added.
1422         * inspector/front-end/IsolatedFileSystemModel.js:
1423         (WebInspector.IsolatedFileSystemModel):
1424         (WebInspector.IsolatedFileSystemModel.prototype._innerAddFileSystem):
1425         * inspector/front-end/WebKit.qrc:
1426         * inspector/front-end/Workspace.js:
1427         * inspector/front-end/externs.js:
1428         * inspector/front-end/inspector.html:
1429         * inspector/front-end/inspector.js:
1430         * inspector/front-end/navigatorView.css:
1431         (.navigator-other-tree-item .icon):
1432
1433 2013-01-17  Andrey Adaikin  <aandrey@chromium.org>
1434
1435         Web Inspector: add createOption method to WebInspector.StatusBarComboBox
1436         https://bugs.webkit.org/show_bug.cgi?id=107102
1437
1438         Reviewed by Vsevolod Vlasov.
1439
1440         * inspector/front-end/CPUProfileView.js:
1441         * inspector/front-end/ConsoleView.js:
1442         (WebInspector.ConsoleView.prototype._addFrame):
1443         (WebInspector.ConsoleView.prototype._appendContextOption):
1444         * inspector/front-end/StatusBarButton.js:
1445         (WebInspector.StatusBarButton.prototype.set state):
1446         (WebInspector.StatusBarButton.prototype.set visible):
1447         (WebInspector.StatusBarComboBox.prototype.createOption):
1448
1449 2013-01-16  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1450
1451         [EFL][GTK] checkSpellingOfString treats the multiple words as spelled correctly
1452         https://bugs.webkit.org/show_bug.cgi?id=106662
1453
1454         Reviewed by Antonio Gomes.
1455
1456         No new tests, covered by spelling-backspace-between-lines.html.
1457
1458         TextCheckerEnchant::checkSpellingOfString() method, treats the multiple words
1459         as spelled correctly if one of them is ok. For example, string such as
1460         "OK zz OK" is spelled correctly!
1461
1462         The method at the beginning assumes that the given string is spelled correctly,
1463         then it iterates over the words to find out the misspelled location and length
1464         in the whole string. In checkSpellingOfWord, if the word is ok, we mark
1465         it as spelled correctly and we do return to check the next words. In the fact,
1466         the location and length of the previously misspelled words are overwritten.
1467
1468         * platform/text/enchant/TextCheckerEnchant.cpp:
1469         (WebCore::TextCheckerEnchant::checkSpellingOfWord):
1470         Update of the word's misspeling location and length was moved out the loop.
1471
1472         (WebCore::TextCheckerEnchant::checkSpellingOfString):
1473         Stop checking the next words If the current word is misspelled, to do not overwrite
1474         its misspelled location and length.
1475
1476 2013-01-17  Chris Fleizach  <cfleizach@apple.com>
1477
1478         WebSpeech: implement voices list
1479         https://bugs.webkit.org/show_bug.cgi?id=107014
1480
1481         Reviewed by Adam Barth.
1482
1483         Add in the Mac side code to return a list of voices. 
1484         Adds a layout test, which is skipped for now, until the feature is enabled.
1485
1486         Test: platform/mac/fast/speechsynthesis/speech-synthesis-voices.html
1487
1488         * Modules/speech/SpeechSynthesis.cpp:
1489         (WebCore::SpeechSynthesis::SpeechSynthesis):
1490         * Modules/speech/SpeechSynthesis.h:
1491         (SpeechSynthesis):
1492         * Modules/speech/mac/SpeechSynthesisMac.mm:
1493         (WebCore::SpeechSynthesis::initializeVoiceList):
1494
1495 2013-01-16  Rik Cabanier  <cabanier@adobe.com>
1496
1497         Update GraphicsContext to support winding rule in clip operator for Core Graphics
1498         https://bugs.webkit.org/show_bug.cgi?id=106871
1499
1500         Reviewed by Dirk Schulze.
1501
1502         Changed the interface to GraphicsContext so it's possible to pass the winding
1503         rule to canvasClip() and clip().
1504
1505         No new tests, no change in functionality.
1506
1507         * WebCore.exp.in: Change signature of canvasClip function.
1508         * platform/graphics/GraphicsContext.h: Change canvasClip and clip signature with default winding rule.
1509         * platform/graphics/cairo/GraphicsContextCairo.cpp: Update interface with new signature so it still compiles.
1510         (WebCore::GraphicsContext::clip):
1511         (WebCore::GraphicsContext::canvasClip):
1512         * platform/graphics/cg/GraphicsContextCG.cpp: Update interface with new signature and implement winding rules.
1513         (WebCore::GraphicsContext::clip):
1514         (WebCore::GraphicsContext::canvasClip):
1515         * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Update interface with new signature so it still compiles.
1516         (WebCore::GraphicsContext::clip):
1517         (WebCore::GraphicsContext::canvasClip):
1518         * platform/graphics/qt/GraphicsContextQt.cpp: Update interface with new signature so it still compiles.
1519         (WebCore::GraphicsContext::clip):
1520         (WebCore::GraphicsContext::canvasClip):
1521         * platform/graphics/skia/GraphicsContextSkia.cpp: Update interface with new signature so it still compiles.
1522         (WebCore::GraphicsContext::clip):
1523         (WebCore::GraphicsContext::canvasClip):
1524         * platform/graphics/wince/GraphicsContextWinCE.cpp: Update interface with new signature so it still compiles.
1525         (WebCore::GraphicsContext::clip):
1526         (WebCore::GraphicsContext::canvasClip):
1527         * platform/graphics/wx/GraphicsContextWx.cpp: Update interface with new signature so it still compiles.
1528         (WebCore::GraphicsContext::clip):
1529         (WebCore::GraphicsContext::canvasClip):
1530
1531 2013-01-16  Hajime Morrita  <morrita@google.com>
1532
1533         NoEventDispatchAssertion in ContainerNode::removeChildren is too strict
1534         https://bugs.webkit.org/show_bug.cgi?id=106985
1535
1536         Reviewed by Ryosuke Niwa.
1537
1538         This change narrowed the lifetime of NoEventDispatchAssertion in removeChildren().
1539         It is as safe as other mutation method even after this change: childrenChanged() and
1540         ChildNodeRemovalNotifier are used outside the assertion scope.
1541
1542         Test: svg/custom/use-mutation-crash.xhtml
1543
1544         * dom/ContainerNode.cpp:
1545         (WebCore::ContainerNode::removeChildren):
1546
1547 2013-01-16  Shinya Kawanaka  <shinyak@chromium.org>
1548
1549         [Refactoring] HTMLTextFormControlElement should use shadowHost instead of shadowAncestorNode
1550         https://bugs.webkit.org/show_bug.cgi?id=106533
1551
1552         Reviewed by Kent Tamura.
1553
1554         Since Node::shadowAncestorNode() is deprecated, we would like to use Node::shadowHost().
1555
1556         No new tests, simple refactoring.
1557
1558         * html/HTMLTextFormControlElement.cpp:
1559         (WebCore::HTMLTextFormControlElement::setSelectionRange): Here, startPosition and endPosition is in ShadowDOM,
1560         converting shadowAncestorNode to shadowHost is safe.
1561         (WebCore::enclosingTextFormControl): Actually ASSERT in this method is wrong since shadowAncestorNode() does not
1562         return NULL. This should be shadowHost().
1563
1564 2013-01-16  Tony Gentilcore  <tonyg@chromium.org>
1565
1566         Disable an ASSERT for the threaded parser
1567         https://bugs.webkit.org/show_bug.cgi?id=107087
1568
1569         Reviewed by Adam Barth.
1570
1571         Since tokenizing happens on the background thread, when the tree builder runs there isn't a valid tokenizer for which to check the state.
1572         The background parser has minimal code to update its tokenizer's state properly.
1573
1574         No new tests because covered by existing fast/parser tests.
1575
1576         * html/parser/HTMLParserOptions.cpp:
1577         (WebCore::HTMLParserOptions::HTMLParserOptions):
1578         * html/parser/HTMLParserOptions.h:
1579         (HTMLParserOptions):
1580         * html/parser/HTMLTreeBuilder.cpp:
1581         (WebCore::HTMLTreeBuilder::processEndTag):
1582
1583 2013-01-16  MORITA Hajime  <morrita@google.com>
1584
1585         Attr.ownerDocument should change if its parent's owner did
1586         https://bugs.webkit.org/show_bug.cgi?id=97644
1587
1588         Reviewed by Darin Adler.
1589
1590         moveTreeToNewScope() didn't traverse its Attr instances. But it should.
1591
1592         Test: fast/dom/Attr/parent-adopt-node.html
1593
1594         * dom/ElementAttributeData.cpp:
1595         (WebCore::ElementAttributeData::getExistingAttrs):
1596         (WebCore):
1597         * dom/ElementAttributeData.h:
1598         (ElementAttributeData):
1599         * dom/TreeScopeAdopter.cpp:
1600         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1601
1602 2013-01-16  Adam Barth  <abarth@webkit.org>
1603
1604         Address tonyg's feedback on BackgroundHTMLParser
1605         https://bugs.webkit.org/show_bug.cgi?id=107086
1606
1607         Reviewed by Tony Gentilcore.
1608
1609         As requested in https://bugs.webkit.org/show_bug.cgi?id=107083#c5
1610
1611         * html/parser/BackgroundHTMLParser.cpp:
1612         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1613         (TokenDelivery):
1614         (WebCore::TokenDelivery::TokenDelivery):
1615         (WebCore::TokenDelivery::execute):
1616
1617 2013-01-16  Tony Gentilcore  <tonyg@chromium.org>
1618
1619         Introduce a method to build the tree from a CompactHTMLToken
1620         https://bugs.webkit.org/show_bug.cgi?id=107082
1621
1622         Reviewed by Adam Barth.
1623
1624         No new tests because covered by existing fast/parser tests.
1625
1626         * html/parser/HTMLDocumentParser.cpp:
1627         (WebCore):
1628         (WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
1629         * html/parser/HTMLDocumentParser.h:
1630         * html/parser/HTMLToken.h:
1631         (AtomicHTMLToken):
1632         (WebCore::AtomicHTMLToken::create):
1633         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1634         * xml/parser/MarkupTokenBase.h:
1635         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
1636         (AtomicMarkupTokenBase):
1637
1638 2013-01-16  Roger Fong  <roger_fong@apple.com>
1639
1640         Unreviewed build fix following r139918.
1641         Add speech synthesis to include path and WebCore vcproj file.
1642
1643         * WebCore.vcproj/WebCore.vcproj:
1644         * WebCore.vcproj/WebCoreCommon.vsprops:
1645
1646 2013-01-16  Chris Rogers  <crogers@google.com>
1647
1648         Switch AudioDestinationChromium over to new createAudioDevice() method
1649         https://bugs.webkit.org/show_bug.cgi?id=106816
1650
1651         Reviewed by James Robinson.
1652
1653         * platform/audio/chromium/AudioDestinationChromium.cpp:
1654         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1655
1656 2013-01-16  Adam Barth  <abarth@webkit.org>
1657
1658         Introduce BackgroundHTMLParser for parsing HTML on a background thread
1659         https://bugs.webkit.org/show_bug.cgi?id=107083
1660
1661         Reviewed by Eric Seidel.
1662
1663         This patch contains a basic version of an HTML parser that runs on a
1664         background thread. The parser passes the majority of the tests in
1665         fast/parser and a large number of the subtests in html5lib.
1666
1667         Notably absent from this early version of the parser is speculation
1668         (which will eventually replace preload scanning) and atomization (which
1669         we suspect will be important for performance). Our plan is to introduce
1670         those elements in subsequent patches.
1671
1672         * CMakeLists.txt:
1673         * GNUmakefile.list.am:
1674         * Target.pri:
1675         * WebCore.gypi:
1676         * WebCore.vcproj/WebCore.vcproj:
1677         * WebCore.xcodeproj/project.pbxproj:
1678         * html/parser/BackgroundHTMLParser.cpp: Added.
1679         (WebCore):
1680         (WebCore::checkThatTokensAreSafeToSendToAnotherThread):
1681         (WebCore::parserMap):
1682         (WebCore::ParserMap::backgroundParsers):
1683         (WebCore::ParserMap::mainThreadParsers):
1684         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1685         (WebCore::BackgroundHTMLParser::append):
1686         (WebCore::BackgroundHTMLParser::continueParsing):
1687         (WebCore::BackgroundHTMLParser::finish):
1688         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1689         (TokenDelivery):
1690         (WebCore::TokenDelivery::execute):
1691         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1692         (WebCore::BackgroundHTMLParser::createPartial):
1693         (WebCore::BackgroundHTMLParser::stopPartial):
1694         (WebCore::BackgroundHTMLParser::appendPartial):
1695         (WebCore::BackgroundHTMLParser::continuePartial):
1696         (WebCore::BackgroundHTMLParser::finishPartial):
1697         * html/parser/BackgroundHTMLParser.h: Added.
1698         (WebCore):
1699         (BackgroundHTMLParser):
1700         (WebCore::BackgroundHTMLParser::create):
1701         (ParserMap):
1702         (WebCore::ParserMap::identifierForParser):
1703         * html/parser/HTMLDocumentParser.cpp:
1704         (WebCore):
1705         (WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
1706         * html/parser/HTMLDocumentParser.h:
1707         (WebCore):
1708         (HTMLDocumentParser):
1709
1710 2013-01-16  Donghyun Kim  <dhkim715@hotmail.com>
1711
1712         [soup] Fix build warning in ResourceHandleSoup.cpp
1713         https://bugs.webkit.org/show_bug.cgi?id=107063
1714
1715         Reviewed by Martin Robinson.
1716
1717         The restartedCallback has unused parameter 'message', 
1718         remove the parameter name to fix 'unused parameter' build warning.
1719
1720         * platform/network/soup/ResourceHandleSoup.cpp:
1721         (WebCore::restartedCallback):
1722
1723 2013-01-16  Tony Gentilcore  <tonyg@chromium.org>
1724
1725         Introduce a CompactHTMLToken for the threaded HTML parser
1726         https://bugs.webkit.org/show_bug.cgi?id=107069
1727
1728         Reviewed by Adam Barth.
1729
1730         This class is used for transporting tokens from the parser thread to the main thread where they are fed to the tree builder.
1731
1732         No new tests because covered by existing fast/parser tests.
1733
1734         * CMakeLists.txt:
1735         * GNUmakefile.list.am:
1736         * Target.pri:
1737         * WebCore.gypi:
1738         * WebCore.vcproj/WebCore.vcproj:
1739         * WebCore.xcodeproj/project.pbxproj:
1740         * html/parser/CompactHTMLToken.cpp: Added.
1741         (WebCore):
1742         (WebCore::CompactHTMLToken::CompactHTMLToken):
1743         (WebCore::isStringSafeToSendToAnotherThread):
1744         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
1745         * html/parser/CompactHTMLToken.h: Added.
1746         (WebCore):
1747         (CompactAttribute):
1748         (WebCore::CompactAttribute::CompactAttribute):
1749         (WebCore::CompactAttribute::name):
1750         (WebCore::CompactAttribute::value):
1751         (CompactHTMLToken):
1752         (WebCore::CompactHTMLToken::type):
1753         (WebCore::CompactHTMLToken::data):
1754         (WebCore::CompactHTMLToken::selfClosing):
1755         (WebCore::CompactHTMLToken::attributes):
1756         (WebCore::CompactHTMLToken::publicIdentifier):
1757         (WebCore::CompactHTMLToken::systemIdentifier):
1758         * xml/parser/MarkupTokenBase.h:
1759         (WebCore::MarkupTokenBase::data):
1760         (MarkupTokenBase):
1761
1762 2013-01-16  Adam Barth  <abarth@webkit.org>
1763
1764         Introduce HTMLParserThread to be able to parse on a background thread
1765         https://bugs.webkit.org/show_bug.cgi?id=107071
1766
1767         Reviewed by Tony Gentilcore.
1768
1769         This patch introduces a simple thread class that we can use to parse
1770         HTML. This patch is unlikely to be the final design because we'll
1771         likely want to use libdispatch or some other platform-specific thread
1772         pool. However, this implementation is enough to let us work on the
1773         parser-specific aspects of this feature.
1774
1775         * CMakeLists.txt:
1776         * GNUmakefile.list.am:
1777         * Target.pri:
1778         * WebCore.gypi:
1779         * WebCore.vcproj/WebCore.vcproj:
1780         * WebCore.xcodeproj/project.pbxproj:
1781         * html/parser/HTMLParserThread.cpp: Added.
1782         (WebCore):
1783         (WebCore::HTMLParserThread::HTMLParserThread):
1784         (WebCore::HTMLParserThread::~HTMLParserThread):
1785         (WebCore::HTMLParserThread::start):
1786         (WebCore::HTMLParserThread::stop):
1787         (WebCore::HTMLParserThread::shared):
1788         (WebCore::HTMLParserThread::postTask):
1789         (WebCore::HTMLParserThread::threadStart):
1790         (WebCore::HTMLParserThread::runLoop):
1791         * html/parser/HTMLParserThread.h: Added.
1792         (WebCore):
1793         (HTMLParserThread):
1794         (WebCore::HTMLParserThread::create):
1795         (WebCore::HTMLParserThread::threadId):
1796
1797 2013-01-16  MORITA Hajime  <morrita@google.com>
1798
1799         WebCore::ScriptRunner::timerFired() is reported to crash.
1800         https://bugs.webkit.org/show_bug.cgi?id=92211
1801
1802         Reviewed by Darin Adler.
1803
1804         This is a speculative fix to address some crash reports.
1805         Here is my rough guess.
1806
1807         The crash report says there is a PendingScript instance whose m_element is null.
1808         - It happens only if the instance is created through the default constructor,
1809         - that could happen if m_pendingAsyncScripts doesn't contains matched PendingScript in ScriptRunner::notifyScriptReady(),
1810         - that could happen when notifyScriptReady() is called more than once.
1811         - It turns out that the call site, ScriptElement::notifyFinished(), could be called multiple times since
1812           it doesn't remove itself from the CachedResource, which is done separately in ScriptElement::execute().
1813         - So if notifyFinished() is called before execute(), it could happen
1814
1815         This change added a guard to prevent notifyFinished() from being invoked multiple times.
1816         We should watch if these crash reports disappear.
1817
1818         No new tests. I couldn't create any repro for this.
1819
1820         * dom/ScriptElement.cpp:
1821         (WebCore::ScriptElement::notifyFinished):
1822
1823 2013-01-16  Pablo Flouret  <pablof@motorola.com>
1824
1825         Fix mac build system warnings introduced by r139866
1826         https://bugs.webkit.org/show_bug.cgi?id=107056
1827
1828         Reviewed by Benjamin Poulain.
1829
1830         warning: no rule to process file '$(PROJECT_DIR)/css/CSSSupportsRule.h' of type sourcecode.c.h for architecture x86_64
1831         warning: no rule to process file '$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSCSSSupportsRule.h' of type sourcecode.c.h for architecture x86_64
1832
1833         {JS,}CSSSupportsRule.h somehow ended up marked as sources in the XCode
1834         project. 
1835
1836         No new tests. Build warning fix.
1837
1838         * WebCore.xcodeproj/project.pbxproj:
1839
1840 2013-01-16  Elliott Sprehn  <esprehn@chromium.org>
1841
1842         Merge RenderObjectChildList::appendChildNode and insertChildNode
1843         https://bugs.webkit.org/show_bug.cgi?id=106392
1844
1845         Reviewed by Eric Seidel.
1846
1847         insertChildNode and appendChildNode are nearly identical methods and
1848         we can combine them into insertChildNode and handle cases where the
1849         renderer to insert before is null as if it was an append.
1850
1851         No new tests, just refactoring.
1852
1853         * rendering/RenderObjectChildList.cpp:
1854         (WebCore::RenderObjectChildList::insertChildNode):
1855         * rendering/RenderObjectChildList.h:
1856         (RenderObjectChildList):
1857         (WebCore::RenderObjectChildList::appendChildNode):
1858             Now inline and delegates to insertChildNode.
1859
1860 2013-01-16  Elliott Sprehn  <esprehn@chromium.org>
1861
1862         Cursor stops blinking after clicking on scrollbar
1863         https://bugs.webkit.org/show_bug.cgi?id=106470
1864
1865         Reviewed by Ojan Vafai.
1866
1867         Restore the caret blinking when doing a mouseup on a
1868         scrollbar so scrolling a textarea doesn't cause the
1869         caret to freeze.
1870
1871         No new tests, there doesn't seem to be any way to test
1872         cursor blinking.
1873
1874         * page/EventHandler.cpp:
1875         (WebCore::EventHandler::handleMouseReleaseEvent):
1876         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1877
1878 2013-01-16  Adam Barth  <abarth@webkit.org>
1879
1880         Teach HTMLParserOptions about Settings::threadedHTMLParser
1881         https://bugs.webkit.org/show_bug.cgi?id=107068
1882
1883         Reviewed by Tony Gentilcore.
1884
1885         We use this option to enable the threaded HTML parser at runtime.
1886
1887         * html/parser/HTMLParserOptions.cpp:
1888         (WebCore::HTMLParserOptions::HTMLParserOptions):
1889         * html/parser/HTMLParserOptions.h:
1890         (HTMLParserOptions):
1891
1892 2013-01-16  Brady Eidson  <beidson@apple.com>
1893
1894         Synchronous XMLHTTPRequests need to go to the NetworkProcess.
1895         <rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826
1896
1897         Reviewed by Sam Weinig and Alexey Proskuryakov.
1898
1899         No new tests (No changes to any config that is currently tested)
1900
1901         * loader/FrameLoader.cpp:
1902         (WebCore::FrameLoader::loadResourceSynchronously): Consult the LoaderStrategy when strategies are
1903           being used.
1904
1905         * loader/LoaderStrategy.cpp:
1906         (WebCore::LoaderStrategy::loadResourceSynchronously): Defaults to using ResourceHandle directly.
1907         * loader/LoaderStrategy.h:
1908
1909         Break out the StoredCredentials enum to a new header:
1910         * platform/network/ResourceHandle.h:
1911         * platform/network/ResourceHandleTypes.h:
1912         * GNUmakefile.list.am:
1913         * Target.pri:
1914         * WebCore.exp.in:
1915         * WebCore.vcproj/WebCore.vcproj:
1916         * WebCore.xcodeproj/project.pbxproj:
1917
1918 2013-01-16  Robert Iannucci  <iannucci@chromium.org>
1919
1920         Explicitly set msvs_cygwin_shell to true for bison rule
1921         https://bugs.webkit.org/show_bug.cgi?id=107058
1922
1923         Reviewed by Tony Chang.
1924
1925         Currently, msvs_cygwin_shell is set to 1 by default. This patch
1926         explicitly sets it on the actions which will break if msvs_cygwin_shell
1927         were set to 0. This is in preparation for changing the default value of
1928         msvs_cygwin_shell, which in turn is in preparation of the removal of
1929         cygwin as a buld-system requirement.
1930
1931         Since this change will have no semantic effect, no new tests are
1932         required.
1933
1934         A previous instance of this bug is here:
1935         https://bugs.webkit.org/show_bug.cgi?id=106706
1936
1937         * WebCore.gyp/WebCore.gyp:
1938
1939 2013-01-16  Benjamin Poulain  <bpoulain@apple.com>
1940
1941         Fix the warning for the exported Objective-C binding of DOMCSSSupportsRule
1942
1943         Rubber-stamped by Simon Fraser.
1944
1945         * WebCore.exp.in: r139866 exported the Objective-C class DOMCSSSupportsRule
1946         without #ifdefing the symbol between its feature flag.
1947
1948 2013-01-16  Victor Carbune  <vcarbune@chromium.org>
1949
1950         Cues not rendered when they should be
1951         https://bugs.webkit.org/show_bug.cgi?id=106943
1952
1953         Reviewed by Eric Carlson.
1954
1955         Forced rendering update, even if the active set of cues didn't change.
1956
1957         Test: media/track/track-cue-rendering-mode-changed.html
1958
1959         * html/HTMLMediaElement.cpp:
1960         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): If exiting early,
1961         update the cues rendered by the text track container.
1962         (WebCore::HTMLMediaElement::textTrackModeChanged): Trigger update of the
1963         re-checking the active cues and render the ones not yet on screen.
1964
1965 2013-01-16  Benjamin Poulain  <bpoulain@apple.com>
1966
1967         Force a rebuild of RenderObject
1968
1969         Unreviewed. One bot is using old object file. Change RenderObject.cpp to force it
1970         to build the file again.
1971
1972         * rendering/RenderObject.cpp:
1973         (WebCore::addLayers):
1974         (WebCore::RenderObject::findNextLayer):
1975
1976 2013-01-16  Joshua Bell  <jsbell@chromium.org>
1977
1978         IndexedDB: Possible null ScriptExecutionContext passed to callbacks during frame destruction
1979         https://bugs.webkit.org/show_bug.cgi?id=107050
1980
1981         Reviewed by Tony Chang.
1982
1983         Temporary code to defend against null contexts. Will either refute a hypothesis, or we'll
1984         need to make a more systemic fix elsewhere. Either way it will be removed in a few days.
1985         We're unable to repro, but watching crash reports from users. One possible source is
1986         that during page tear-down WorkerScriptController::controllerForContext() returns null
1987         (there's a comment about that case) leading to a null context.
1988
1989         No new tests - this shouldn't be happening.
1990
1991         * Modules/indexeddb/IDBObjectStore.cpp:
1992         (WebCore::IDBObjectStore::createIndex):
1993
1994 2013-01-16  Kenneth Russell  <kbr@google.com>
1995
1996         Simplify validation and data copying in WebGLBuffer
1997         https://bugs.webkit.org/show_bug.cgi?id=106975
1998
1999         Reviewed by Dean Jackson.
2000
2001         Re-landing after testing locally; was not able to reproduce the
2002         crash seen once with the earlier patch.
2003
2004         No new tests; covered by existing tests. Ran WebGL layout tests and conformance tests.
2005
2006         * html/canvas/WebGLBuffer.cpp:
2007         (WebCore::WebGLBuffer::associateBufferDataImpl):
2008             Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
2009         (WebCore::WebGLBuffer::associateBufferData):
2010             Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
2011         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
2012             Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
2013         (WebCore::WebGLBuffer::associateBufferSubData):
2014             Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
2015         * html/canvas/WebGLBuffer.h:
2016         (WebGLBuffer):
2017             Change signatures of associateBufferDataImpl and associateBufferSubDataImpl.
2018
2019 2013-01-16  Timothy Hatcher  <timothy@apple.com>
2020
2021         Fix a crash when printing console messages to STDOUT.
2022
2023         https://bugs.webkit.org/show_bug.cgi?id=107039
2024
2025         Reviewed by Joseph Pecoraro.
2026
2027         * page/Console.cpp:
2028         (WebCore::internalAddMessage): Don't release the RefPtr early. Also log the line number
2029         and convert non-string arguments to strings when printing them.
2030
2031 2013-01-16  Kenneth Russell  <kbr@google.com>
2032
2033         Unreviewed, rolling out r139914.
2034         http://trac.webkit.org/changeset/139914
2035         https://bugs.webkit.org/show_bug.cgi?id=106975
2036
2037         Caused crashes in compositing/visibility/visibility-simple-
2038         webgl-layer.html
2039
2040         * html/canvas/WebGLBuffer.cpp:
2041         (WebCore::WebGLBuffer::associateBufferDataImpl):
2042         (WebCore::WebGLBuffer::associateBufferData):
2043         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
2044         (WebCore::WebGLBuffer::associateBufferSubData):
2045         * html/canvas/WebGLBuffer.h:
2046         (WebGLBuffer):
2047
2048 2013-01-16  Alexis Menard  <alexis@webkit.org>
2049
2050         Monitor usage of unprefixed and prefixed DOM events for CSS Transitions.
2051         https://bugs.webkit.org/show_bug.cgi?id=107004
2052
2053         Reviewed by Adam Barth.
2054
2055         Monitor the usage of transitionEnd events as well as
2056         webkitTransitionEnd events so we can know in the future how much the
2057         prefixed version is used to remove it becomes irrelevant.
2058
2059         No new tests : no behavior changes, we're just adding monitoring.
2060
2061         * dom/EventTarget.cpp:
2062         (WebCore):
2063         (WebCore::EventTarget::fireEventListeners):
2064         * page/FeatureObserver.h:
2065
2066 2013-01-16  Antti Koivisto  <antti@apple.com>
2067
2068         Tighten RenderLayerModelObject subclass constructors to operate on ContainerNodes.
2069         https://bugs.webkit.org/show_bug.cgi?id=107041
2070
2071         Reviewed by Simon Fraser.
2072
2073         In rendering code only Nodes that are not ContainerNodes are used by RenderText. Tighter typing is better in general. 
2074         It also enables better code generation (especially with Document* moving from Node to ContainerNode).
2075
2076         This patch tightens constuctors for better static type checking. It also overrides node() with a covariant ContainerNode* return type
2077         version in RenderLayerModelObject. RenderObject::createObject() is tightened to take Element*.
2078         
2079         This patch does not change Node* usage in non-construction code (expect for the node() override).
2080         
2081         With some further work it should be possible to tighten most of the rendering tree to operate on Elements for even less branchiness.
2082
2083         * dom/Document.cpp:
2084         (WebCore::Document::attach):
2085         * html/shadow/SliderThumbElement.cpp:
2086         (WebCore::RenderSliderThumb::RenderSliderThumb):
2087         (WebCore::RenderSliderContainer::RenderSliderContainer):
2088         * html/shadow/SliderThumbElement.h:
2089         * rendering/RenderBlock.cpp:
2090         (WebCore::RenderBlock::RenderBlock):
2091         * rendering/RenderBlock.h:
2092         * rendering/RenderBox.cpp:
2093         (WebCore::RenderBox::RenderBox):
2094         * rendering/RenderBox.h:
2095         * rendering/RenderBoxModelObject.cpp:
2096         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
2097         * rendering/RenderBoxModelObject.h:
2098         * rendering/RenderButton.cpp:
2099         (WebCore::RenderButton::RenderButton):
2100         * rendering/RenderButton.h:
2101         * rendering/RenderDeprecatedFlexibleBox.cpp:
2102         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
2103         * rendering/RenderDeprecatedFlexibleBox.h:
2104         * rendering/RenderDetailsMarker.cpp:
2105         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
2106         * rendering/RenderDetailsMarker.h:
2107         * rendering/RenderDialog.h:
2108         (WebCore::RenderDialog::RenderDialog):
2109         * rendering/RenderFieldset.cpp:
2110         (WebCore::RenderFieldset::RenderFieldset):
2111         * rendering/RenderFieldset.h:
2112         * rendering/RenderFlexibleBox.cpp:
2113         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
2114         * rendering/RenderFlexibleBox.h:
2115         * rendering/RenderFlowThread.cpp:
2116         (WebCore::RenderFlowThread::RenderFlowThread):
2117         * rendering/RenderFlowThread.h:
2118         * rendering/RenderFullScreen.cpp:
2119         (RenderFullScreen::RenderFullScreen):
2120         * rendering/RenderFullScreen.h:
2121         * rendering/RenderGrid.cpp:
2122         (WebCore::RenderGrid::RenderGrid):
2123         * rendering/RenderGrid.h:
2124         * rendering/RenderImage.cpp:
2125         (WebCore::RenderImage::RenderImage):
2126         * rendering/RenderImage.h:
2127         * rendering/RenderInline.cpp:
2128         (WebCore::RenderInline::RenderInline):
2129         * rendering/RenderInline.h:
2130         * rendering/RenderLayerModelObject.cpp:
2131         (WebCore::RenderLayerModelObject::RenderLayerModelObject):
2132         * rendering/RenderLayerModelObject.h:
2133         (WebCore::RenderLayerModelObject::node):
2134         * rendering/RenderListItem.cpp:
2135         (WebCore::RenderListItem::RenderListItem):
2136         * rendering/RenderListItem.h:
2137         * rendering/RenderMediaControlElements.cpp:
2138         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
2139         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
2140         (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
2141         * rendering/RenderMediaControlElements.h:
2142         * rendering/RenderMultiColumnBlock.cpp:
2143         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2144         * rendering/RenderMultiColumnBlock.h:
2145         * rendering/RenderMultiColumnFlowThread.cpp:
2146         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2147         * rendering/RenderMultiColumnFlowThread.h:
2148         * rendering/RenderMultiColumnSet.cpp:
2149         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2150         * rendering/RenderMultiColumnSet.h:
2151         (RenderMultiColumnSet):
2152         * rendering/RenderNamedFlowThread.cpp:
2153         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2154         * rendering/RenderNamedFlowThread.h:
2155         (RenderNamedFlowThread):
2156         * rendering/RenderObject.cpp:
2157         (WebCore::RenderObject::createObject):
2158         * rendering/RenderObject.h:
2159         (RenderObject):
2160         * rendering/RenderRegion.cpp:
2161         (WebCore::RenderRegion::RenderRegion):
2162         * rendering/RenderRegion.h:
2163         (RenderRegion):
2164         * rendering/RenderRegionSet.cpp:
2165         (WebCore::RenderRegionSet::RenderRegionSet):
2166         * rendering/RenderRegionSet.h:
2167         (RenderRegionSet):
2168         * rendering/RenderReplaced.cpp:
2169         (WebCore::RenderReplaced::RenderReplaced):
2170         * rendering/RenderReplaced.h:
2171         (RenderReplaced):
2172         * rendering/RenderReplica.cpp:
2173         (WebCore::RenderReplica::RenderReplica):
2174         (WebCore::RenderReplica::~RenderReplica):
2175         * rendering/RenderReplica.h:
2176         * rendering/RenderRuby.cpp:
2177         (WebCore::RenderRubyAsInline::RenderRubyAsInline):
2178         (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
2179         * rendering/RenderRuby.h:
2180         * rendering/RenderRubyBase.cpp:
2181         (WebCore::RenderRubyBase::RenderRubyBase):
2182         * rendering/RenderRubyBase.h:
2183         * rendering/RenderRubyRun.cpp:
2184         (WebCore::RenderRubyRun::RenderRubyRun):
2185         * rendering/RenderRubyRun.h:
2186         (RenderRubyRun):
2187         * rendering/RenderRubyText.cpp:
2188         (WebCore::RenderRubyText::RenderRubyText):
2189         * rendering/RenderRubyText.h:
2190         (RenderRubyText):
2191         * rendering/RenderScrollbarPart.cpp:
2192         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
2193         * rendering/RenderScrollbarPart.h:
2194         (RenderScrollbarPart):
2195         * rendering/RenderSearchField.cpp:
2196         (WebCore::RenderSearchField::RenderSearchField):
2197         * rendering/RenderSearchField.h:
2198         (RenderSearchField):
2199         * rendering/RenderTable.cpp:
2200         (WebCore::RenderTable::RenderTable):
2201         * rendering/RenderTable.h:
2202         (RenderTable):
2203         * rendering/RenderTableCaption.cpp:
2204         (WebCore::RenderTableCaption::RenderTableCaption):
2205         * rendering/RenderTableCaption.h:
2206         (RenderTableCaption):
2207         * rendering/RenderTableCell.cpp:
2208         (WebCore::RenderTableCell::RenderTableCell):
2209         * rendering/RenderTableCell.h:
2210         (RenderTableCell):
2211         * rendering/RenderTableCol.cpp:
2212         (WebCore::RenderTableCol::RenderTableCol):
2213         * rendering/RenderTableCol.h:
2214         (RenderTableCol):
2215         * rendering/RenderTableRow.cpp:
2216         (WebCore::RenderTableRow::RenderTableRow):
2217         * rendering/RenderTableRow.h:
2218         (RenderTableRow):
2219         * rendering/RenderTableSection.cpp:
2220         (WebCore::RenderTableSection::RenderTableSection):
2221         * rendering/RenderTableSection.h:
2222         (RenderTableSection):
2223         * rendering/RenderTextControl.cpp:
2224         (WebCore::RenderTextControl::RenderTextControl):
2225         * rendering/RenderTextControl.h:
2226         * rendering/RenderTextControlMultiLine.cpp:
2227         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
2228         * rendering/RenderTextControlMultiLine.h:
2229         (RenderTextControlMultiLine):
2230         * rendering/RenderTextControlSingleLine.cpp:
2231         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2232         * rendering/RenderTextControlSingleLine.h:
2233         (RenderTextControlSingleLine):
2234         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
2235         * rendering/RenderTextTrackCue.cpp:
2236         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
2237         * rendering/RenderView.cpp:
2238         (WebCore::RenderView::RenderView):
2239         * rendering/RenderView.h:
2240         * rendering/RenderWidget.cpp:
2241         (WebCore::RenderWidget::RenderWidget):
2242         * rendering/RenderWidget.h:
2243         * rendering/mathml/RenderMathMLBlock.cpp:
2244         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
2245         * rendering/mathml/RenderMathMLBlock.h:
2246         (WebCore::RenderMathMLTable::RenderMathMLTable):
2247         * rendering/mathml/RenderMathMLOperator.cpp:
2248         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
2249         * rendering/mathml/RenderMathMLOperator.h:
2250         * rendering/mathml/RenderMathMLRow.cpp:
2251         (WebCore::RenderMathMLRow::RenderMathMLRow):
2252         * rendering/mathml/RenderMathMLRow.h:
2253         (RenderMathMLRow):
2254         (WebCore::RenderSVGInline::RenderSVGInline):
2255         * rendering/svg/RenderSVGInline.h:
2256         * rendering/svg/RenderSVGTSpan.cpp:
2257         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
2258         * rendering/svg/RenderSVGTSpan.h:
2259         * rendering/svg/RenderSVGTextPath.cpp:
2260         (WebCore::RenderSVGTextPath::RenderSVGTextPath):
2261         * rendering/svg/RenderSVGTextPath.h:
2262
2263 2013-01-16  Chris Fleizach  <cfleizach@apple.com>
2264
2265         Stub out WebSpeech synthesis
2266         https://bugs.webkit.org/show_bug.cgi?id=106847
2267
2268         Reviewed by Adam Barth.
2269
2270         This adds in the necessary IDLs and stubs out the code for the WebSpeech
2271         synthesis specification.
2272         It does not turn on the feature in any platform, but it can be enabled
2273         and built for Mac.
2274
2275         The feature flag is SPEECH_SYNTHESIS.
2276
2277         * Configurations/FeatureDefines.xcconfig:
2278         * DerivedSources.make:
2279         * Modules/speech/DOMWindowSpeechSynthesis.cpp: Added.
2280         (WebCore::DOMWindowSpeechSynthesis::DOMWindowSpeechSynthesis):
2281         (WebCore::DOMWindowSpeechSynthesis::~DOMWindowSpeechSynthesis):
2282         (WebCore::DOMWindowSpeechSynthesis::from):
2283         (WebCore::DOMWindowSpeechSynthesis::speechSynthesis):
2284         * Modules/speech/DOMWindowSpeechSynthesis.h: Added.
2285         * Modules/speech/DOMWindowSpeechSynthesis.idl: Added.
2286         * Modules/speech/SpeechSynthesis.cpp: Added.
2287         (WebCore::SpeechSynthesis::create):
2288         (WebCore::SpeechSynthesis::SpeechSynthesis):
2289         * Modules/speech/SpeechSynthesis.h: Added.
2290         (SpeechSynthesis):
2291         (WebCore::SpeechSynthesis::getVoices):
2292         * Modules/speech/SpeechSynthesis.idl: Added.
2293         * Modules/speech/SpeechSynthesisEvent.cpp: Added.
2294         (WebCore::SpeechSynthesisEvent::create):
2295         (WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
2296         * Modules/speech/SpeechSynthesisEvent.h: Added.
2297         (SpeechSynthesisEvent):
2298         (WebCore::SpeechSynthesisEvent::charIndex):
2299         (WebCore::SpeechSynthesisEvent::elapsedTime):
2300         (WebCore::SpeechSynthesisEvent::name):
2301         * Modules/speech/SpeechSynthesisEvent.idl: Added.
2302         * Modules/speech/SpeechSynthesisUtterance.cpp: Added.
2303         (WebCore::SpeechSynthesisUtterance::create):
2304         (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
2305         (WebCore::SpeechSynthesisUtterance::scriptExecutionContext):
2306         (WebCore::SpeechSynthesisUtterance::interfaceName):
2307         * Modules/speech/SpeechSynthesisUtterance.h: Added.
2308         (SpeechSynthesisUtterance):
2309         (WebCore::SpeechSynthesisUtterance::text):
2310         (WebCore::SpeechSynthesisUtterance::setText):
2311         (WebCore::SpeechSynthesisUtterance::lang):
2312         (WebCore::SpeechSynthesisUtterance::setLang):
2313         (WebCore::SpeechSynthesisUtterance::voiceURI):
2314         (WebCore::SpeechSynthesisUtterance::setVoiceURI):
2315         (WebCore::SpeechSynthesisUtterance::volume):
2316         (WebCore::SpeechSynthesisUtterance::setVolume):
2317         (WebCore::SpeechSynthesisUtterance::rate):
2318         (WebCore::SpeechSynthesisUtterance::setRate):
2319         (WebCore::SpeechSynthesisUtterance::pitch):
2320         (WebCore::SpeechSynthesisUtterance::setPitch):
2321         * Modules/speech/SpeechSynthesisUtterance.idl: Added.
2322         * Modules/speech/SpeechSynthesisVoice.cpp: Added.
2323         (WebCore::SpeechSynthesisVoice::create):
2324         (WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
2325         * Modules/speech/SpeechSynthesisVoice.h: Added.
2326         (SpeechSynthesisVoice):
2327         (WebCore::SpeechSynthesisVoice::voiceURI):
2328         (WebCore::SpeechSynthesisVoice::name):
2329         (WebCore::SpeechSynthesisVoice::lang):
2330         (WebCore::SpeechSynthesisVoice::localService):
2331         (WebCore::SpeechSynthesisVoice::isDefault):
2332         * Modules/speech/SpeechSynthesisVoice.idl: Added.
2333         * Modules/speech/mac: Added.
2334         * Modules/speech/mac/SpeechSynthesisMac.mm: Added.
2335         (WebCore::SpeechSynthesis::pending):
2336         (WebCore::SpeechSynthesis::speaking):
2337         (WebCore::SpeechSynthesis::paused):
2338         (WebCore::SpeechSynthesis::speak):
2339         (WebCore::SpeechSynthesis::cancel):
2340         (WebCore::SpeechSynthesis::pause):
2341         (WebCore::SpeechSynthesis::resume):
2342         * WebCore.xcodeproj/project.pbxproj:
2343         * dom/EventNames.h:
2344         * dom/EventNames.in:
2345         * dom/EventTargetFactory.in:
2346
2347 2013-01-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2348
2349         Unreviewed, rolling out r139853.
2350         http://trac.webkit.org/changeset/139853
2351         https://bugs.webkit.org/show_bug.cgi?id=107049
2352
2353         Broke the ChromeOS ppapi_unittests (Requested by leviw on
2354         #webkit).
2355
2356         * inspector/Inspector.json:
2357         * inspector/InspectorInstrumentation.cpp:
2358         (WebCore):
2359         * inspector/InspectorInstrumentation.h:
2360         (InspectorInstrumentation):
2361         * inspector/InspectorPageAgent.cpp:
2362         * inspector/InspectorPageAgent.h:
2363         * inspector/front-end/ResourceTreeModel.js:
2364         (WebInspector.PageDispatcher.prototype.frameDetached):
2365         * loader/NavigationScheduler.cpp:
2366         (WebCore::NavigationScheduler::clear):
2367         (WebCore::NavigationScheduler::timerFired):
2368         (WebCore::NavigationScheduler::startTimer):
2369         (WebCore::NavigationScheduler::cancel):
2370         * loader/ProgressTracker.cpp:
2371         (WebCore::ProgressTracker::progressStarted):
2372         (WebCore::ProgressTracker::finalProgressComplete):
2373
2374 2013-01-16  Kenneth Russell  <kbr@google.com>
2375
2376         Simplify validation and data copying in WebGLBuffer
2377         https://bugs.webkit.org/show_bug.cgi?id=106975
2378
2379         Reviewed by Dean Jackson.
2380
2381         No new tests; covered by existing tests. Ran WebGL layout tests and conformance tests.
2382
2383         * html/canvas/WebGLBuffer.cpp:
2384         (WebCore::WebGLBuffer::associateBufferDataImpl):
2385             Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
2386         (WebCore::WebGLBuffer::associateBufferData):
2387             Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
2388         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
2389             Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
2390         (WebCore::WebGLBuffer::associateBufferSubData):
2391             Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
2392         * html/canvas/WebGLBuffer.h:
2393         (WebGLBuffer):
2394             Change signatures of associateBufferDataImpl and associateBufferSubDataImpl.
2395
2396 2013-01-16  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2397
2398         inconsistency in drawImage with target rect negative dimensions.
2399         https://bugs.webkit.org/show_bug.cgi?id=100026
2400
2401         Reviewed by Dean Jackson.
2402
2403         Remove -1, -1 special case in drawImage and drawImageBuffer. Replace
2404         all -1 -1 arguments calls to with the correct rectangle dimensions.
2405
2406         Remove FloatRect(0, 0, -1, -1) default argument for srcRect, and
2407         instead, add new overloaded functions to create a FloatRect from image
2408         size.
2409
2410         Replace -1 -1 arguments calls in FEComposite::platformApplySoftware
2411         with correct rectangle dimensions.
2412
2413         Replace ImageGStreamer rect method (which may return -1 -1 rectangle)
2414         with cropRect method, and make caller check for rectangle emptiness.
2415
2416         * fast/canvas/drawImage-with-negative-source-destination-expected.txt:
2417         * fast/canvas/drawImage-with-negative-source-destination.js:
2418
2419         * platform/graphics/GraphicsContext.cpp:
2420         (WebCore::GraphicsContext::drawImage):
2421         (WebCore):
2422         (WebCore::GraphicsContext::drawImageBuffer):
2423         * platform/graphics/GraphicsContext.h:
2424         (GraphicsContext):
2425         * platform/graphics/filters/FEComposite.cpp:
2426         (WebCore::FEComposite::platformApplySoftware):
2427         * platform/graphics/gstreamer/ImageGStreamer.h:
2428         (WebCore::ImageGStreamer::rect):
2429
2430 2013-01-16  Simon Fraser  <simon.fraser@apple.com>
2431
2432         Allow PaintInfo to carry all PaintBehavior flags
2433         https://bugs.webkit.org/show_bug.cgi?id=106980
2434
2435         Reviewed by Sam Weinig.
2436         
2437         PaintInfo has a single boolean for forceBlackText, but I'll be adding additional
2438         paint behaviors that I'd like to access from PaintInfo, so it makes sense for
2439         PaintInfo to just include the set of PaintBehavior flags.
2440         
2441         Also add default values in the constructor arguments for rarely used parameters.
2442
2443         No behavior change, no tests.
2444
2445         * rendering/EllipsisBox.cpp:
2446         (WebCore::EllipsisBox::paint): Use the forceBlackText() function.
2447         * rendering/InlineTextBox.cpp:
2448         (WebCore::InlineTextBox::paint): Call forceBlackText().
2449         * rendering/PaintInfo.h:
2450         (WebCore::PaintInfo::PaintInfo): Pass PaintBehavior rather than a forceBlackText boolean.
2451         (WebCore::PaintInfo::forceBlackText): Return true if the behavior flags contain PaintBehaviorForceBlackText.
2452         * rendering/RenderBoxModelObject.cpp:
2453         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass PaintBehaviorForceBlackText instead of 'true'
2454         when painting for background-clip: text.
2455         * rendering/RenderLayer.cpp:
2456         (WebCore::RenderLayer::paintLayerContents): Pass PaintBehaviorNormal where we used to pass 'false',
2457         and omit default 0 parameters.
2458         * rendering/svg/SVGRenderingContext.cpp:
2459         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer): PaintBehaviorNormal and remove default params.
2460
2461 2013-01-16  Tim Horton  <timothy_horton@apple.com>
2462
2463         Add a missing #if to fix the Mac build sans ENABLE_CSS_FILTERS.
2464
2465         Rubber-stamped by Simon Fraser.
2466
2467         * platform/graphics/ca/GraphicsLayerCA.cpp:
2468         (WebCore::GraphicsLayerCA::cloneLayer):
2469
2470 2013-01-16  Kentaro Hara  <haraken@chromium.org>
2471
2472         [V8] Make a creationContext parameter of toV8() mandatory
2473         https://bugs.webkit.org/show_bug.cgi?id=107020
2474
2475         Reviewed by Adam Barth.
2476
2477         Currently a creationContext parameter of toV8() is optional:
2478
2479           Handle<Value> toV8(..., Handle<Object> creationContext = Handle<Object>(), ...) {
2480             ...;
2481           }
2482
2483         On the other hand, looking at the implementation of
2484         V8WrapperInstantiationScope:
2485
2486             explicit V8WrapperInstantiationScope(v8::Handle<v8::Object> creationContext)
2487                 : m_didEnterContext(false)
2488                 , m_context(v8::Context::GetCurrent())
2489             {
2490                 if (creationContext.IsEmpty()) // We do nothing for this case!
2491                     return;
2492                 v8::Handle<v8::Context> contextForWrapper = creationContext->CreationContext();
2493                 if (contextForWrapper == m_context)
2494                     return;
2495                 m_context = v8::Local<v8::Context>::New(contextForWrapper);
2496                 m_didEnterContext = true;
2497                 m_context->Enter();
2498             }
2499
2500         we're assuming that a creationContext parameter is passed
2501         to toV8() when a creationContext exists. In other words,
2502         if we forget to pass a creationContext parameter, we will
2503         end up with creating an object on the current context, which
2504         is wrong. To avoid the mistake, we should make the
2505         creationContext parameter mandatory. When we really do not
2506         have a creationContext, we can pass Handle<Object>() explicitly.
2507
2508         No tests. No change in behavior.
2509
2510         * bindings/scripts/CodeGeneratorV8.pm:
2511         (GenerateHeader):
2512         * bindings/scripts/test/V8/V8Float64Array.h:
2513         (WebCore::toV8):
2514         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2515         (WebCore::toV8):
2516         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2517         (WebCore::toV8):
2518         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2519         (WebCore::toV8):
2520         * bindings/scripts/test/V8/V8TestEventTarget.h:
2521         (WebCore::toV8):
2522         * bindings/scripts/test/V8/V8TestException.h:
2523         (WebCore::toV8):
2524         * bindings/scripts/test/V8/V8TestInterface.h:
2525         (WebCore::toV8):
2526         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2527         (WebCore::toV8):
2528         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2529         (WebCore::toV8):
2530         * bindings/scripts/test/V8/V8TestNode.h:
2531         (WebCore::toV8):
2532         * bindings/scripts/test/V8/V8TestObj.h:
2533         (WebCore::toV8):
2534         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2535         (WebCore::toV8):
2536         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2537         (WebCore::toV8):
2538         * bindings/v8/IDBBindingUtilities.cpp:
2539         (WebCore::injectIDBKeyIntoScriptValue):
2540         (WebCore::idbKeyToScriptValue):
2541         * bindings/v8/ScriptController.cpp:
2542         (WebCore::createScriptObject):
2543         (WebCore::ScriptController::createScriptObjectForPluginElement):
2544         * bindings/v8/ScriptDebugServer.cpp:
2545         (WebCore::ScriptDebugServer::currentCallFrame):
2546         * bindings/v8/ScriptObject.cpp:
2547         (WebCore::ScriptGlobalObject::set):
2548         * bindings/v8/V8AbstractEventListener.cpp:
2549         (WebCore::V8AbstractEventListener::handleEvent):
2550         (WebCore::V8AbstractEventListener::getReceiverObject):
2551         * bindings/v8/V8DOMWindowShell.cpp:
2552         (WebCore::V8DOMWindowShell::updateDocumentProperty):
2553         * bindings/v8/V8LazyEventListener.cpp:
2554         (WebCore::toObjectWrapper):
2555         * bindings/v8/V8MutationCallback.cpp:
2556         (WebCore::V8MutationCallback::handleEvent):
2557         * bindings/v8/V8NodeFilterCondition.cpp:
2558         (WebCore::V8NodeFilterCondition::acceptNode):
2559         * bindings/v8/V8WorkerContextEventListener.cpp:
2560         (WebCore::V8WorkerContextEventListener::handleEvent):
2561         (WebCore::V8WorkerContextEventListener::getReceiverObject):
2562         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2563         (WebCore::V8SQLStatementErrorCallback::handleEvent):
2564         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2565         (WebCore::InjectedScriptHost::nodeAsScriptValue):
2566         * css/MediaQueryListListener.cpp:
2567         (WebCore::MediaQueryListListener::queryChanged):
2568         * testing/v8/WebCoreTestSupport.cpp:
2569         (WebCoreTestSupport::injectInternalsObject):
2570
2571 2013-01-15  Jer Noble  <jer.noble@apple.com>
2572
2573         Add a Setting to disable QTKit media engine.
2574         https://bugs.webkit.org/show_bug.cgi?id=106972
2575
2576         Reviewed by Eric Carlson.
2577
2578         Allow the MediaPlayerPrivateQTKit engine to be disabled by adding a
2579         runtime setting to Settings. Make the setting 'live' by requerying the
2580         installed media engines when the setting changes.
2581
2582         * WebCore.exp.in: Add new symbols to export list.
2583         * page/Settings.cpp: Add new gQTKitEnabled global.
2584         (WebCore::Settings::setAVFoundationEnabled): Requery media engines.
2585         (WebCore::Settings::setQTKitEnabled): Ditto. Setter for global setting variable.
2586         * page/Settings.h:
2587         (WebCore::Settings::isQTKitEnabled): Getter for same.
2588         * platform/graphics/MediaPlayer.cpp:
2589         (WebCore::installedMediaEngines): Check isQTKitEnabled() before adding
2590             MediaPlayerPrivateQTKit engine.
2591         * html/HTMLMediaElement.cpp:
2592         (WebCore::HTMLMediaElement::requeryMediaEngines): Pass through to MediaPlayer.
2593         * html/HTMLMediaElement.h:
2594         * platform/graphics/MediaPlayer.cpp:
2595         (WebCore::installedMediaEngines): Take an optional requery options parameter.
2596         (WebCore::MediaPlayer::requeryMediaEngines): Pass through to installedMediaEngines().
2597         * platform/graphics/MediaPlayer.h:
2598
2599 2013-01-16  Christophe Dumez  <christophe.dumez@intel.com>
2600
2601         [gstreamer] Some media tests occasionally crash with gstreamer 1.0 backend
2602         https://bugs.webkit.org/show_bug.cgi?id=106551
2603
2604         Reviewed by Philippe Normand.
2605
2606         ImageGStreamerCairo was passing mapped memory to
2607         cairo_image_surface_create_for_data() and then unmapping it straight
2608         away even though the cairo_surface_t is still used. The cairo
2609         documentation states:
2610         "The output buffer must be kept around until the cairo_surface_t is
2611         destroyed or cairo_surface_finish() is called on the surface."
2612
2613         This patch keeps the GstBuffer memory mapped until the ImageGStreamer
2614         is destroyed so that the internal cairo_surface_t stays valid while
2615         avoiding copying the image data.
2616
2617         No new tests, already covered by existing tests.
2618
2619         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2620         (WTF::adoptGRef):
2621         (WTF):
2622         (WTF::GstBuffer):
2623         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2624         (WTF): Add support for using GRefPtr with GstBuffer.
2625         * platform/graphics/gstreamer/ImageGStreamer.h:
2626         (ImageGStreamer):
2627         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
2628         (ImageGStreamer::ImageGStreamer):
2629         (ImageGStreamer::~ImageGStreamer):
2630
2631 2013-01-16  Mike Reed  <reed@google.com>
2632
2633         Use SkMatrix::I() when we need to pass identity, rather than constructing a new matrix.
2634         https://bugs.webkit.org/show_bug.cgi?id=107016
2635
2636         Reviewed by James Robinson.
2637
2638         No new tests. existing tests exercise this code.
2639
2640         The default constructor is being deprecated, so this change is also part of that effort,
2641         though it is a perf-improvement regardless, since we avoid making a new (temp) matrix.
2642
2643         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2644         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2645
2646 2013-01-16  Ojan Vafai  <ojan@chromium.org>
2647
2648         RenderListMarker::computePreferredLogicalWidth should not be public
2649         https://bugs.webkit.org/show_bug.cgi?id=106956
2650
2651         Reviewed by Tony Chang.
2652
2653         RenderListItem was calling computePreferredLogicalWidths for the side
2654         effects of updating the marker content and margins. Instead, call
2655         updateMarginsAndContent directly.
2656
2657         * rendering/RenderListItem.cpp:
2658         (WebCore::RenderListItem::updateMarkerLocation):
2659         * rendering/RenderListMarker.cpp:
2660         (WebCore::RenderListMarker::layout):
2661         The isImage() codepath never calls computePreferredLogicalWidths, so we need to make
2662         sure the content and margins are updated.
2663
2664         (WebCore::RenderListMarker::updateContent):
2665         (WebCore::RenderListMarker::computePreferredLogicalWidths):
2666         (WebCore::RenderListMarker::updateMarginsAndContent):
2667         * rendering/RenderListMarker.h:
2668
2669 2013-01-16  Claudio Saavedra  <csaavedra@igalia.com>
2670
2671         [GTK] Safeguard against possible NULL-dereference
2672         https://bugs.webkit.org/show_bug.cgi?id=104931
2673
2674         Reviewed by Martin Robinson.
2675
2676         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2677         (webkitAccessibleGetIndexInParent): Move the NULL-safeguard to a
2678         place where it actually makes sense.
2679
2680 2013-01-16  Avi Drissman  <avi@google.com>
2681
2682         West-panning cursor does not match resize cursor, unlike all other directions
2683         https://bugs.webkit.org/show_bug.cgi?id=89405
2684
2685         Reviewed by Alexey Proskuryakov.
2686
2687         Existing manual tests.
2688
2689         * platform/mac/CursorMac.mm:
2690         (WebCore::Cursor::ensurePlatformCursor):
2691
2692 2013-01-16  Andrey Adaikin  <aandrey@chromium.org>
2693
2694         Web Inspector: array grouping does not work for float number keys
2695         https://bugs.webkit.org/show_bug.cgi?id=106998
2696
2697         Reviewed by Pavel Feldman.
2698
2699         Now we do the array index check according to the ECMAScript 5, section 15.4:
2700         "A property name P (in the form of a String value) is an array index if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32-1."
2701
2702         * inspector/front-end/ObjectPropertiesSection.js:
2703         (.buildObjectFragment):
2704
2705 2013-01-16  Sergey Ryazanov  <serya@chromium.org>
2706
2707         Web Inspector: Show formatted content of JSON request
2708         https://bugs.webkit.org/show_bug.cgi?id=106900
2709
2710         Reviewed by Vsevolod Vlasov.
2711
2712         "Request payload" section showed raw content for POST requests.
2713         This change show it in structured format if it's JSON parsable.
2714         Raw format is also available.
2715
2716         * inspector/front-end/RequestHeadersView.js:
2717         (WebInspector.RequestHeadersView.prototype._refreshQueryString):
2718         (WebInspector.RequestHeadersView.prototype._refreshFormData):
2719         (WebInspector.RequestHeadersView.prototype.toggleViewSource):
2720         (WebInspector.RequestHeadersView.prototype._refreshParams):
2721
2722 2013-01-16  Vsevolod Vlasov  <vsevik@chromium.org>
2723
2724         Web Inspector: UISourceCode scriptFile / styleFile should be reset on navigation (debugger or css model reset).
2725         https://bugs.webkit.org/show_bug.cgi?id=107008
2726
2727         Reviewed by Pavel Feldman.
2728
2729         ScriptFiles and styleFiles are now reset and disposed on UISourceCodes on corresponding models reset.
2730         StyleSourceMapping now tries to setup mapping for newly added resource as well as for uiSourceCodes previously.
2731
2732         * inspector/front-end/CSSStyleModel.js:
2733         (WebInspector.CSSStyleModel):
2734         (WebInspector.CSSStyleModel.prototype._mainFrameCreatedOrNavigated):
2735         * inspector/front-end/ResourceScriptMapping.js:
2736         (WebInspector.ResourceScriptMapping):
2737         (WebInspector.ResourceScriptMapping.prototype._unbindUISourceCodeFromScripts):
2738         (WebInspector.ResourceScriptMapping.prototype._initialize):
2739         (WebInspector.ResourceScriptMapping.prototype._debuggerReset):
2740         (WebInspector.ResourceScriptFile.prototype.dispose):
2741         * inspector/front-end/ResourceTreeModel.js:
2742         (WebInspector.ResourceTreeModel.prototype._addFrame):
2743         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
2744         * inspector/front-end/ScriptSnippetModel.js:
2745         (WebInspector.ScriptSnippetModel):
2746         (WebInspector.ScriptSnippetModel.prototype._debuggerReset):
2747         * inspector/front-end/StylesSourceMapping.js:
2748         (WebInspector.StylesSourceMapping):
2749         (WebInspector.StylesSourceMapping.prototype._resourceAdded):
2750         (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):
2751         (WebInspector.StylesSourceMapping.prototype._bindUISourceCode):
2752         (WebInspector.StylesSourceMapping.prototype._projectWillReset):
2753         (WebInspector.StylesSourceMapping.prototype._initialize):
2754         (WebInspector.StylesSourceMapping.prototype._mainFrameCreatedOrNavigated):
2755         (WebInspector.StyleFile.prototype.dispose):
2756
2757 2013-01-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2758
2759         [GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
2760         https://bugs.webkit.org/show_bug.cgi?id=105552
2761
2762         Reverting 139877. It made a couple of API tests fail.
2763
2764         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2765         * platform/graphics/gstreamer/GStreamerVersioning.h:
2766         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2767         (StreamingClient):
2768         (_WebKitWebSrcPrivate):
2769         (webKitWebSrcFinalize):
2770         (webKitWebSrcStop):
2771         (StreamingClient::didReceiveData):
2772         * platform/network/ResourceHandleClient.h:
2773         (ResourceHandleClient):
2774         * platform/network/ResourceHandleInternal.h:
2775         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2776         (ResourceHandleInternal):
2777         * platform/network/soup/ResourceHandleSoup.cpp:
2778         (WebCore::cleanupSoupRequestOperation):
2779         (WebCore::nextMultipartResponsePartCallback):
2780         (WebCore::sendRequestCallback):
2781         (WebCore::readCallback):
2782
2783 2013-01-16  Andrey Kosyakov  <caseq@chromium.org>
2784
2785         Web Inspector: cookies with empty value are parsed incorrectly
2786         https://bugs.webkit.org/show_bug.cgi?id=107012
2787
2788         Reviewed by Pavel Feldman.
2789
2790         Require cookie value to be a string, not a non-empty string, before
2791         employing legacy compatibility hack of treating bare token as value
2792         for the cookie with an empty name.
2793
2794         * inspector/front-end/CookieParser.js:
2795         (WebInspector.CookieParser.prototype._addCookie):
2796
2797 2013-01-16  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2798
2799         Unreviewed EFL build fix after r139877.
2800
2801         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2802         (getGstBufferDataPointer): Add const modifier to webkitGstMapInfoQuarkString.
2803
2804 2013-01-16  Andrey Kosyakov  <caseq@chromium.org>
2805
2806         Web Inspector: [Extensions API] remove inspectedWindow.onReset event
2807         https://bugs.webkit.org/show_bug.cgi?id=107009
2808
2809         Reviewed by Vsevolod Vlasov.
2810
2811         * inspector/front-end/ExtensionAPI.js:
2812         (defineCommonExtensionSymbols):
2813         (injectedExtensionAPI.InspectorExtensionAPI):
2814         * inspector/front-end/ExtensionServer.js:
2815         (WebInspector.ExtensionServer.prototype.initExtensions):
2816
2817 2013-01-16  Andrey Lushnikov  <lushnikov@chromium.org>
2818
2819         Web Inspector: fix text-editor-highlight-regexp test
2820         https://bugs.webkit.org/show_bug.cgi?id=107006
2821
2822         Reviewed by Vsevolod Vlasov.
2823
2824         Use 'height: 100%' instead of pixel values on highlight spans to bring in some platform independency in test expectations.
2825
2826         No new tests: no changes in behaviour.
2827
2828         * inspector/front-end/DefaultTextEditor.js:
2829         (WebInspector.TextEditorMainPanel.prototype._measureRegex):
2830         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
2831         * inspector/front-end/textEditor.css:
2832         (.text-editor-overlay-highlight):
2833         (.webkit-line-content):
2834
2835 2013-01-16  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2836
2837         [Qt] Use the shared HistoryItem serialization for QWebHistory
2838         https://bugs.webkit.org/show_bug.cgi?id=106671
2839
2840         Reviewed by Allan Sandfeld Jensen.
2841
2842         This allows a few things missing from the previous serialization code
2843         to function while using commonly maintained code:
2844         - The itemSequenceNumber and documentSequenceNumber that were needed
2845           to properly restore same-document navigations
2846         - The form data
2847         - The navigation hierarchy mapping the frame tree
2848
2849         * history/HistoryItem.h:
2850         (HistoryItem):
2851         * history/qt/HistoryItemQt.cpp:
2852         (QDataStreamCoder):
2853         (WebCore):
2854         (WebCore::QDataStreamCoder::QDataStreamCoder):
2855         (WebCore::QDataStreamCoder::encodeBytes):
2856         (WebCore::QDataStreamCoder::encodeBool):
2857         (WebCore::QDataStreamCoder::encodeUInt32):
2858         (WebCore::QDataStreamCoder::encodeUInt64):
2859         (WebCore::QDataStreamCoder::encodeInt32):
2860         (WebCore::QDataStreamCoder::encodeInt64):
2861         (WebCore::QDataStreamCoder::encodeFloat):
2862         (WebCore::QDataStreamCoder::encodeDouble):
2863         (WebCore::QDataStreamCoder::encodeString):
2864         (WebCore::QDataStreamCoder::decodeBytes):
2865         (WebCore::QDataStreamCoder::decodeBool):
2866         (WebCore::QDataStreamCoder::decodeUInt32):
2867         (WebCore::QDataStreamCoder::decodeUInt64):
2868         (WebCore::QDataStreamCoder::decodeInt32):
2869         (WebCore::QDataStreamCoder::decodeInt64):
2870         (WebCore::QDataStreamCoder::decodeFloat):
2871         (WebCore::QDataStreamCoder::decodeDouble):
2872         (WebCore::QDataStreamCoder::decodeString):
2873         (WebCore::HistoryItem::restoreState):
2874         (WebCore::WebCore::HistoryItem::saveState):
2875
2876 2013-01-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2877
2878         [GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
2879         https://bugs.webkit.org/show_bug.cgi?id=105552
2880
2881         Reviewed by Philippe Normand.
2882
2883         Makes it possible for the GStreamer media backend to provide the buffer to which
2884         the Soup networking backend will use to download data to. This makes copying
2885         memory unnecessary when ResourceHandle hands data over to the media player's
2886         StreamingClient. Thanks to Dan Winship for help designing the interface.
2887
2888         No behaviour change, covered by existing tests.
2889
2890         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2891         (getGstBufferSize): Abstract obtaining the size of the buffer, so the code
2892         is cleaner while still working for both GST 0.10 and 1.0.
2893         (setGstBufferSize): Ditto, but for setting the size.
2894         (getGstBufferDataPointer): Ditto, but for grabbing the data pointer.
2895         (mapGstBuffer): Convenience method to take care of mapping the buffer so that
2896         we can provide the data pointer to ResourceHandle.
2897         (unmapGstBuffer): Convenience method which takes care of unmapping the buffer
2898         and properly freeing the GstMapInfo.
2899         * platform/graphics/gstreamer/GStreamerVersioning.h:
2900         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2901         (StreamingClient): New methods.
2902         (_WebKitWebSrcPrivate): We now store the GstBuffer we provided the data pointer from
2903         so we can later unmap it and push it to the pipeline.
2904         (webKitWebSrcDispose): Deal with the GstBuffer in case it exists when the source is
2905         destroyed.
2906         (webKitWebSrcStop): Also clear the GstBuffer in this case.
2907         (StreamingClient::didReceiveData): Handle the hand-over of the buffer.
2908         (StreamingClient::getBuffer): Provide ResourceHandle with a new GstBuffer's data pointer.
2909         * platform/network/ResourceHandleClient.h:
2910         (ResourceHandleClient):
2911         (WebCore::ResourceHandleClient::ResourceHandleClient): Constructor to initialize the buffer
2912         member variable to 0.
2913         (WebCore::ResourceHandleClient::~ResourceHandleClient): Destructor to free the buffer if it
2914         has been allocated.
2915         (WebCore::ResourceHandleClient::getBuffer): Default implementation which returns a
2916         newly allocated char pointer.
2917         * platform/network/ResourceHandleInternal.h:
2918         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2919         (ResourceHandleInternal): Store actual buffer size, which is no longer a constant.
2920         * platform/network/soup/ResourceHandleSoup.cpp:
2921         (WebCore::cleanupSoupRequestOperation): Clear the buffer pointer, the life-cycle of the
2922         buffer is handled by the ResourceHandleClient.
2923         (WebCore::nextMultipartResponsePartCallback): Get a new buffer from the client before reading.
2924         (WebCore::sendRequestCallback): Ditto.
2925         (WebCore::readCallback): Ditto.
2926
2927 2013-01-16  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2928
2929         [Qt] Crash in WebCore::CachedFrame::destroy
2930         https://bugs.webkit.org/show_bug.cgi?id=104525
2931
2932         Reviewed by Adam Barth.
2933
2934         Add an assert to increase the chances of catching this crash
2935         early on in the future.
2936
2937         * dom/Document.cpp:
2938         (WebCore::Document::takeDOMWindowFrom):
2939
2940 2013-01-16  Andrey Lushnikov  <lushnikov@chromium.org>
2941
2942         Web Inspector: fix –°losure warnings in devTools front-end
2943         https://bugs.webkit.org/show_bug.cgi?id=106993
2944
2945         Reviewed by Vsevolod Vlasov.
2946
2947         Add missing annotations and rename Element.remove() method to avoid collision with HTMLSelectElement.remove() method.
2948
2949         No new tests: no change in behaviour.
2950
2951         * inspector/front-end/DOMAgent.js:
2952         (WebInspector.DOMNode.prototype.hasChildNodes):
2953         (WebInspector.DOMNode.prototype.getChildNodes):
2954         * inspector/front-end/DOMExtension.js:
2955         (Element.prototype.removeSelf):
2956         (removeSubsequentNodes):
2957         * inspector/front-end/DefaultTextEditor.js:
2958         * inspector/front-end/SettingsScreen.js:
2959         (WebInspector.OverridesSettingsTab):
2960         * inspector/front-end/SourceTokenizer.js:
2961         (WebInspector.SourceTokenizer):
2962
2963 2013-01-16  Andrey Lushnikov  <lushnikov@chromium.org>
2964
2965         Web Inspector: fix backward compatibility issues with Element.remove() method
2966         https://bugs.webkit.org/show_bug.cgi?id=106996
2967
2968         Reviewed by Vsevolod Vlasov.
2969
2970         Add javascript implementations for CharacterData.prototype.remove and DocumentType.prototype.remove.
2971
2972         No new tests: no change in behaviour.
2973
2974         * inspector/front-end/DOMExtension.js:
2975
2976 2013-01-16  Zeno Albisser  <zeno@webkit.org>
2977
2978         GraphicsSurfaceGLX is leaking an XWindow
2979         https://bugs.webkit.org/show_bug.cgi?id=107002
2980
2981         The XWindow created as a backing surface for
2982         the GraphicsSurfaceGLX needs to be destroyed
2983         together with the GraphicsSurface.
2984
2985         Reviewed by Noam Rosenthal.
2986
2987         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
2988         (WebCore::GraphicsSurfacePrivate::clear):
2989
2990 2013-01-16  Pablo Flouret  <pablof@motorola.com>
2991
2992         Implement CSSSupportsRule
2993         https://bugs.webkit.org/show_bug.cgi?id=104822
2994
2995         Reviewed by Allan Sandfeld Jensen.
2996
2997         http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface
2998
2999         Right now, @supports is not implemented as a proper CSSRule. Apart from
3000         the CSSOM implications it gives wrong results when, for instance, an
3001         @supports rule is nested inside a @media rule.
3002
3003         Test: css3/supports-cssom.html
3004
3005         * CMakeLists.txt:
3006         * DerivedSources.cpp:
3007         * DerivedSources.make:
3008         * DerivedSources.pri:
3009         * GNUmakefile.list.am:
3010         * Target.pri:
3011         * WebCore.exp.in:
3012         * WebCore.gypi:
3013         * WebCore.vcproj/WebCore.vcproj:
3014         * WebCore.xcodeproj/project.pbxproj:
3015             Add CSSSupportsRule.* and associated files.
3016
3017         * bindings/js/JSCSSRuleCustom.cpp:
3018         (WebCore::toJS):
3019         * bindings/objc/DOMCSS.mm:
3020         (kitClass):
3021         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3022         (WebCore::wrap):
3023             Create the correct wrappers for the rule.
3024
3025         * css/CSSGrammar.y.in:
3026         * css/CSSParser.cpp:
3027         (WebCore::CSSParser::createSupportsRule):
3028         (WebCore::CSSParser::markSupportsRuleHeaderStart):
3029         (WebCore::CSSParser::markSupportsRuleHeaderEnd):
3030         * css/CSSParser.h:
3031             Create the supports rule when parsing and add it where it corresponds,
3032             instead of directly adding the child rules to the stylesheet.
3033
3034         * css/CSSPropertySourceData.h:
3035         * css/CSSRule.h:
3036         * css/CSSRule.idl:
3037             Add SUPPORTS_RULE type to enums.
3038
3039         * css/CSSSupportsRule.cpp: Added.
3040         (WebCore::CSSSupportsRule::CSSSupportsRule):
3041         (WebCore::CSSSupportsRule::~CSSSupportsRule):
3042         (WebCore::CSSSupportsRule::cssText):
3043         (WebCore::CSSSupportsRule::conditionText):
3044         * css/CSSSupportsRule.h: Added.
3045         (WebCore::CSSSupportsRule::create):
3046         * css/CSSSupportsRule.idl: Added.
3047             DOM interface.
3048
3049         * css/RuleSet.cpp:
3050         (WebCore::RuleSet::addChildRules):
3051             Add rules included in the @supports rule.
3052
3053         * css/StyleResolver.cpp:
3054         (WebCore::collectCSSOMWrappers):
3055             Collect CSSSupportsRule wrappers.
3056
3057         * css/StyleRule.cpp:
3058         (WebCore::StyleRuleBase::reportMemoryUsage):
3059         (WebCore::StyleRuleBase::destroy):
3060         (WebCore::StyleRuleBase::copy):
3061         (WebCore::StyleRuleBase::createCSSOMWrapper):
3062         (WebCore::StyleRuleSupports::StyleRuleSupports):
3063         * css/StyleRule.h:
3064         (StyleRuleBase):
3065         (WebCore::StyleRuleBase::isSupportsRule):
3066         (StyleRuleSupports):
3067         (WebCore::StyleRuleSupports::create):
3068         (WebCore::StyleRuleSupports::conditionText):
3069         (WebCore::StyleRuleSupports::conditionIsSupported):
3070         (WebCore::StyleRuleSupports::copy):
3071         (WebCore::toStyleRuleSupports):
3072             New subclass of StyleRuleBlock: StyleRuleSupports.
3073
3074         * css/StyleSheetContents.cpp:
3075         (WebCore::childRulesHaveFailedOrCanceledSubresources):
3076         * inspector/InspectorStyleSheet.cpp:
3077         (flattenSourceData):
3078         (WebCore::asCSSRuleList):
3079             Handle @supports rules where needed.
3080
3081 2013-01-16  Kent Tamura  <tkent@chromium.org>
3082
3083         INPUT_MULTIPLE_FIELDS_UI: Unable to edit a time field with step=86400, and confusing appearance
3084         https://bugs.webkit.org/show_bug.cgi?id=106983
3085
3086         Reviewed by Kentaro Hara.
3087
3088         For example, we show a read-only hour field and a read-only minutes
3089         field for <input type=time min="17:00" step=86400> because the step
3090         value is 24 hours and the hour field can be only 17. However, we need to
3091         provide a way to clear the value of the time field in such case. We
3092         shouldn't make the hour field read-only if no other fields are editable.
3093
3094         - We don't make hour fields read-only for input[type=time].
3095
3096         - We make hour fields read-only for input[type=datetime-local] only if
3097           year, month, or day field is editable. e.g.
3098           <input type=datetime-local min=2013-01-16T17:00 step=86400>:
3099             The hour field is read-only, and year/month/day fields are editable.
3100           <input type=datetime-local min=2013-01-16T17:00 max=2013-01-16T18:00 step=86400>:
3101             The hour field is editable, and year/month/day fields are read-only.
3102
3103         Test: fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html
3104
3105         * html/shadow/DateTimeEditElement.cpp:
3106         (DateTimeEditBuilder): Declare new functions.
3107         (WebCore::DateTimeEditBuilder::getRangeOfDayOfMonthField):
3108         Added a function by extracting some code from visitField.
3109         (WebCore::DateTimeEditBuilder::visitField):
3110         (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldReadOnly):
3111         Added a function by extracting some code from visitField.
3112         (WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
3113         If the type is "time", we don't make hour fields read-only.
3114         Otherwise, we don't make hour fields read-only if year/month/day fields
3115         are read-only. Note that we don't need to check read-only status of year
3116         and month fields explicitly here because a day field can be read-only
3117         only if the year field and the month field are read-only.
3118
3119 2013-01-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3120
3121         [TexMap] Composited CSS shaders crash when using non-GL TextureMapper
3122         https://bugs.webkit.org/show_bug.cgi?id=106796
3123
3124         Reviewed by Noam Rosenthal.
3125
3126         Fail gracefully when FilterEffectRenderer fails to build the filter effects.
3127
3128         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
3129         (WebCore::BitmapTextureImageBuffer::applyFilters):
3130
3131 2013-01-15  Vsevolod Vlasov  <vsevik@chromium.org>
3132
3133         Web Inspector: Store project UISourceCodes in a map with uri as a key for faster lookup.
3134         https://bugs.webkit.org/show_bug.cgi?id=106911
3135
3136         Reviewed by Pavel Feldman.
3137
3138         * inspector/front-end/Workspace.js:
3139         (WebInspector.Project):
3140         (WebInspector.Project.prototype._fileAdded):
3141         (WebInspector.Project.prototype._fileRemoved):
3142         (WebInspector.Project.prototype._reset):
3143         (WebInspector.Project.prototype.uiSourceCodeForOriginURL):
3144         (WebInspector.Project.prototype.uiSourceCodeForURI):
3145         (WebInspector.Project.prototype.uiSourceCodes):
3146
3147 2013-01-15  Vsevolod Vlasov  <vsevik@chromium.org>
3148
3149         Web Inspector: Introduce file mapping allowing to map network loaded scripts and stylesheets to file system files.
3150         https://bugs.webkit.org/show_bug.cgi?id=106795
3151
3152         Reviewed by Pavel Feldman.
3153
3154         Introduced file mapping for inspector.
3155         FileMapping is essentially an array of MappingEntries where each MappingEntry is a pair of urlPrefix and pathPrefix.
3156         When scripts and stylesheets are mapped to uiSourceCodes FileMapping methods are used to establish
3157         prefix based matching with file system uiSourceCodes if possible.
3158
3159         Test: inspector/file-mapping.html
3160
3161         * WebCore.gypi:
3162         * WebCore.vcproj/WebCore.vcproj:
3163         * inspector/compile-front-end.py:
3164         * inspector/front-end/CompilerScriptMapping.js:
3165         (WebInspector.CompilerScriptMapping):
3166         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
3167         (WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
3168         (WebInspector.CompilerScriptMapping.prototype.get addScript.get this):
3169         (WebInspector.CompilerScriptMapping.prototype.get addScript):
3170         (WebInspector.CompilerScriptMapping.prototype._bindUISourceCode):
3171         (WebInspector.CompilerScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
3172         * inspector/front-end/FileMapping.js: Added.
3173         (WebInspector.FileMapping):
3174         (WebInspector.FileMapping.prototype.hasMappingForURL):
3175         (WebInspector.FileMapping.prototype.uriForURL):
3176         (WebInspector.FileMapping.prototype.urlForURI):
3177         (WebInspector.FileMapping.prototype.setMappings):
3178         (WebInspector.FileMapping.prototype.mappings):
3179         (WebInspector.FileMapping.prototype._deserialize):
3180         (WebInspector.FileMapping.prototype._serialize):
3181         (WebInspector.FileMapping.MappingEntry):
3182         (WebInspector.FileMapping.MappingEntry.deserialize):
3183         (WebInspector.FileMapping.MappingEntry.prototype.matchesURL):
3184         (WebInspector.FileMapping.MappingEntry.prototype.matchesURI):
3185         (WebInspector.FileMapping.MappingEntry.prototype.uriForURL):
3186         (WebInspector.FileMapping.MappingEntry.prototype.urlForURI):
3187         (WebInspector.FileMapping.MappingEntry.prototype.serialize):
3188         * inspector/front-end/NetworkUISourceCodeProvider.js:
3189         (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
3190         * inspector/front-end/ResourceScriptMapping.js:
3191         (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
3192         (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
3193         * inspector/front-end/ResourceUtils.js:
3194         (WebInspector.displayNameForURL):
3195         * inspector/front-end/SASSSourceMapping.js:
3196         (WebInspector.SASSSourceMapping):
3197         (WebInspector.SASSSourceMapping.prototype._reloadCSS):
3198         (_addURLMapping):
3199         (rawLocationToUILocation):
3200         (_reset):
3201         (WebInspector.SASSSourceMapping.MappingEntry):
3202         * inspector/front-end/StylesSourceMapping.js:
3203         (WebInspector.StylesSourceMapping):
3204         (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
3205         (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):
3206         (WebInspector.StylesSourceMapping.prototype._projectWillReset):
3207         (WebInspector.StyleContentBinding.prototype.):
3208         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
3209         * inspector/front-end/WebKit.qrc:
3210         * inspector/front-end/Workspace.js:
3211         * inspector/front-end/inspector.html:
3212         * inspector/front-end/inspector.js:
3213
3214 2013-01-15  Vsevolod Vlasov  <vsevik@chromium.org>
3215
3216         Web Inspector: Introduce UISourceCode.originURL().
3217         https://bugs.webkit.org/show_bug.cgi?id=106909
3218
3219         Reviewed by Pavel Feldman.
3220
3221         Introduced originURL on UISourceCode showing where UISourceCode in workspace was loaded from.
3222         This is neeeded to distinguish it from network request url used by mappings.
3223
3224         * inspector/front-end/AdvancedSearchController.js:
3225         (WebInspector.FileBasedSearchResultsPane.prototype._createAnchor):
3226         (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
3227         * inspector/front-end/BreakpointsSidebarPane.js:
3228         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
3229         * inspector/front-end/CallStackSidebarPane.js:
3230         (WebInspector.CallStackSidebarPane.Placard.prototype._update):
3231         * inspector/front-end/ExtensionServer.js:
3232         (WebInspector.ExtensionServer.prototype._handleOpenURL):
3233         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
3234         (WebInspector.ExtensionServer.prototype._onSetResourceContent):
3235         * inspector/front-end/JavaScriptSourceFrame.js:
3236         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
3237         * inspector/front-end/Linkifier.js:
3238         (WebInspector.Linkifier.prototype._updateAnchor):
3239         (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
3240         * inspector/front-end/NavigatorView.js:
3241         (WebInspector.NavigatorSourceTreeElement):
3242         * inspector/front-end/SASSSourceMapping.js:
3243         (uiLocationToRawLocation):
3244         * inspector/front-end/ScriptsPanel.js:
3245         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
3246         (WebInspector.ScriptsPanel.prototype._showSourceLine):
3247         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
3248         * inspector/front-end/ScriptsSearchScope.js:
3249         (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
3250         (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes.comparator):
3251         * inspector/front-end/SimpleWorkspaceProvider.js:
3252         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
3253         * inspector/front-end/StyleSheetOutlineDialog.js:
3254         (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
3255         * inspector/front-end/StylesSourceMapping.js:
3256         (WebInspector.StylesSourceMapping.prototype.uiLocationToRawLocation):
3257         * inspector/front-end/TabbedEditorContainer.js:
3258         (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
3259         * inspector/front-end/UISourceCode.js:
3260         (WebInspector.UISourceCode):
3261         (WebInspector.UISourceCode.prototype.originURL):
3262         (WebInspector.UISourceCode.prototype.urlChanged):
3263         (WebInspector.UISourceCode.prototype.contentURL):
3264         (WebInspector.Revision.prototype.contentURL):
3265         * inspector/front-end/Workspace.js:
3266         (WebInspector.FileDescriptor):
3267         (WebInspector.Project.prototype._fileAdded):
3268         (WebInspector.Project.prototype.uiSourceCodeForOriginURL):
3269         (WebInspector.Workspace.prototype.uiSourceCodeForOriginURL):
3270
3271 2013-01-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3272
3273         [EFL] Move 'DefaultTheme' folder to WebCore/platform/efl
3274         https://bugs.webkit.org/show_bug.cgi?id=106969
3275
3276         Reviewed by Benjamin Poulain.
3277
3278         DefaultTheme is used by both EFL WK1 and WK2 ports. So, WebCore/platform/efl is appropriate place for it.
3279
3280         * platform/efl/DefaultTheme/CMakeLists.txt: Renamed from Source/WebKit/efl/DefaultTheme/CMakeLists.txt.
3281         * platform/efl/DefaultTheme/default.edc: Renamed from Source/WebKit/efl/DefaultTheme/default.edc.
3282         * platform/efl/DefaultTheme/widget/button/button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/button.edc.
3283         * platform/efl/DefaultTheme/widget/button/img_button_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_focus.png.
3284         * platform/efl/DefaultTheme/widget/button/img_button_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_hover.png.
3285         * platform/efl/DefaultTheme/widget/button/img_button_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_normal.png.
3286         * platform/efl/DefaultTheme/widget/button/img_button_press.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/button/img_button_press.png.
3287         * platform/efl/DefaultTheme/widget/check/check.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/check.edc.
3288         * platform/efl/DefaultTheme/widget/check/img_check_bg_disabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_bg_disabled.png.
3289         * platform/efl/DefaultTheme/widget/check/img_check_bg_enabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_bg_enabled.png.
3290         * platform/efl/DefaultTheme/widget/check/img_check_off.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_off.png.
3291         * platform/efl/DefaultTheme/widget/check/img_check_off_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_off_focus.png.
3292         * platform/efl/DefaultTheme/widget/check/img_check_off_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_off_hover.png.
3293         * platform/efl/DefaultTheme/widget/check/img_check_on.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_on.png.
3294         * platform/efl/DefaultTheme/widget/check/img_check_on_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_on_focus.png.
3295         * platform/efl/DefaultTheme/widget/check/img_check_on_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/check/img_check_on_hover.png.
3296         * platform/efl/DefaultTheme/widget/combo/combo.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo.edc.
3297         * platform/efl/DefaultTheme/widget/combo/combo_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_focus.png.
3298         * platform/efl/DefaultTheme/widget/combo/combo_focus_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_focus_button.png.
3299         * platform/efl/DefaultTheme/widget/combo/combo_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_hover.png.
3300         * platform/efl/DefaultTheme/widget/combo/combo_hover_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_hover_button.png.
3301         * platform/efl/DefaultTheme/widget/combo/combo_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_normal.png.
3302         * platform/efl/DefaultTheme/widget/combo/combo_normal_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_normal_button.png.
3303         * platform/efl/DefaultTheme/widget/combo/combo_press.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_press.png.
3304         * platform/efl/DefaultTheme/widget/combo/combo_press_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/combo_press_button.png.
3305         * platform/efl/DefaultTheme/widget/combo/icon.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/combo/icon.png.
3306         * platform/efl/DefaultTheme/widget/entry/entry.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/entry.edc.
3307         * platform/efl/DefaultTheme/widget/entry/img_focused.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/img_focused.png.
3308         * platform/efl/DefaultTheme/widget/entry/img_hovered.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/img_hovered.png.
3309         * platform/efl/DefaultTheme/widget/entry/img_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/entry/img_normal.png.
3310         * platform/efl/DefaultTheme/widget/file/file.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file.edc.
3311         * platform/efl/DefaultTheme/widget/file/file_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_focus.png.
3312         * platform/efl/DefaultTheme/widget/file/file_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_hover.png.
3313         * platform/efl/DefaultTheme/widget/file/file_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_normal.png.
3314         * platform/efl/DefaultTheme/widget/file/file_press.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/file/file_press.png.
3315         * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/enterfullscreenbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/enterfullscreenbutton.png.
3316         * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/exitfullscreenbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/exitfullscreenbutton.png.
3317         * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc.
3318         * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc.
3319         * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mutebutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/mutebutton/mutebutton.png.
3320         * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/unmutebutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/mutebutton/unmutebutton.png.
3321         * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/pausebutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/playpausebutton/pausebutton.png.
3322         * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playbutton.png.
3323         * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc.
3324         * platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc.
3325         * platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackwardbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackwardbutton.png.
3326         * platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc.
3327         * platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforwardbutton.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforwardbutton.png.
3328         * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png.
3329         * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png.
3330         * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc.
3331         * platform/efl/DefaultTheme/widget/progressbar/bt_base.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/progressbar/bt_base.png.
3332         * platform/efl/DefaultTheme/widget/progressbar/progressbar.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/progressbar/progressbar.edc.
3333         * platform/efl/DefaultTheme/widget/progressbar/shelf_inset.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/progressbar/shelf_inset.png.
3334         * platform/efl/DefaultTheme/widget/radio/img_radio_bg_disabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_bg_disabled.png.
3335         * platform/efl/DefaultTheme/widget/radio/img_radio_bg_enabled.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_bg_enabled.png.
3336         * platform/efl/DefaultTheme/widget/radio/img_radio_off.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_off.png.
3337         * platform/efl/DefaultTheme/widget/radio/img_radio_off_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_off_focus.png.
3338         * platform/efl/DefaultTheme/widget/radio/img_radio_off_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_off_hover.png.
3339         * platform/efl/DefaultTheme/widget/radio/img_radio_on.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_on.png.
3340         * platform/efl/DefaultTheme/widget/radio/img_radio_on_focus.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_on_focus.png.
3341         * platform/efl/DefaultTheme/widget/radio/img_radio_on_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/img_radio_on_hover.png.
3342         * platform/efl/DefaultTheme/widget/radio/radio.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/radio/radio.edc.
3343         * platform/efl/DefaultTheme/widget/scrollbar/scrollbar.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar.edc.
3344         * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_h.png.
3345         * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_h.png.
3346         * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_v.png.
3347         * platform/efl/DefaultTheme/widget/scrollbar/scrollbar_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/scrollbar/scrollbar_v.png.
3348         * platform/efl/DefaultTheme/widget/search/cancel/cancel_normal_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/cancel/cancel_normal_button.png.
3349         * platform/efl/DefaultTheme/widget/search/cancel/cancel_normal_button2.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/cancel/cancel_normal_button2.png.
3350         * platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/cancel/search_cancel.edc.
3351         * platform/efl/DefaultTheme/widget/search/decoration/decoration_normal_button.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/decoration/decoration_normal_button.png.
3352         * platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/decoration/search_decoration.edc.
3353         * platform/efl/DefaultTheme/widget/search/field/field_focused.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/field_focused.png.
3354         * platform/efl/DefaultTheme/widget/search/field/field_hovered.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/field_hovered.png.
3355         * platform/efl/DefaultTheme/widget/search/field/field_normal.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/field_normal.png.
3356         * platform/efl/DefaultTheme/widget/search/field/search_field.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/search/field/search_field.edc.
3357         * platform/efl/DefaultTheme/widget/slider/slider.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc.
3358         * platform/efl/DefaultTheme/widget/slider/slider_fill_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_fill_h.png.
3359         * platform/efl/DefaultTheme/widget/slider/slider_fill_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_fill_v.png.
3360         * platform/efl/DefaultTheme/widget/slider/slider_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_h.png.
3361         * platform/efl/DefaultTheme/widget/slider/slider_thumb_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png.
3362         * platform/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png.
3363         * platform/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png.
3364         * platform/efl/DefaultTheme/widget/slider/slider_thumb_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png.
3365         * platform/efl/DefaultTheme/widget/slider/slider_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_v.png.
3366         * platform/efl/DefaultTheme/widget/spinner/sp_bg.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_bg.png.
3367         * platform/efl/DefaultTheme/widget/spinner/sp_down_default.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_down_default.png.
3368         * platform/efl/DefaultTheme/widget/spinner/sp_down_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_down_hover.png.
3369         * platform/efl/DefaultTheme/widget/spinner/sp_down_pressed.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_down_pressed.png.
3370         * platform/efl/DefaultTheme/widget/spinner/sp_up_default.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_up_default.png.
3371         * platform/efl/DefaultTheme/widget/spinner/sp_up_hover.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_up_hover.png.
3372         * platform/efl/DefaultTheme/widget/spinner/sp_up_pressed.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/sp_up_pressed.png.
3373         * platform/efl/DefaultTheme/widget/spinner/spinner.edc: Renamed from Source/WebKit/efl/DefaultTheme/widget/spinner/spinner.edc.
3374
3375 2013-01-16  Kentaro Hara  <haraken@chromium.org>
3376
3377         [V8] Make an Isolate parameter mandatory in SerializedScriptValue::deserialize()
3378         https://bugs.webkit.org/show_bug.cgi?id=106916
3379
3380         Reviewed by Adam Barth.
3381
3382         This is one of steps to remove optional Isolate parameters.
3383
3384         No tests. No change in behavior.
3385
3386         * bindings/v8/SerializedScriptValue.cpp:
3387         (WebCore::SerializedScriptValue::deserialize):
3388         (WebCore):
3389         (WebCore::SerializedScriptValue::deserializeForInspector):
3390         * bindings/v8/SerializedScriptValue.h:
3391         (SerializedScriptValue):
3392         * bindings/v8/custom/V8HistoryCustom.cpp:
3393         (WebCore::V8History::stateAccessorGetter):
3394         * bindings/v8/custom/V8MessageEventCustom.cpp:
3395         (WebCore::V8MessageEvent::dataAccessorGetter):
3396         * bindings/v8/custom/V8PopStateEventCustom.cpp:
3397         (WebCore::V8PopStateEvent::stateAccessorGetter):
3398
3399 2013-01-16  Ken Kania  <kkania@chromium.org>
3400
3401         [Inspector] Add events for tracking page loads and scheduled navigations.
3402         https://bugs.webkit.org/show_bug.cgi?id=104168
3403
3404         Reviewed by Pavel Feldman.
3405
3406         These events are needed for clients who need to be aware of when a page is
3407         navigating or about to navigate. Some clients may wish to prevent interaction
3408         with the page during this time. Two of the new events track loading start and
3409         stop, as measured by the ProgressTracker. The other two events track when a
3410         page has a new scheduled navigation and when it no longer has a scheduled
3411         navigation. These latter two events won't allow the client to determine if
3412         a load is going to happen in all circumstances, but is sufficient for many cases.
3413
3414         Tests: inspector-protocol/page/frameScheduledNavigation.html
3415                inspector-protocol/page/frameStartedLoading.html
3416
3417         * inspector/Inspector.json:
3418         * inspector/InspectorInstrumentation.cpp:
3419         (WebCore):
3420         (WebCore::InspectorInstrumentation::frameStartedLoadingImpl):
3421         (WebCore::InspectorInstrumentation::frameStoppedLoadingImpl):
3422         (WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
3423         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigationImpl):
3424         * inspector/InspectorInstrumentation.h:
3425         (InspectorInstrumentation):
3426         (WebCore::InspectorInstrumentation::frameStartedLoading):
3427         (WebCore):
3428         (WebCore::InspectorInstrumentation::frameStoppedLoading):
3429         (WebCore::InspectorInstrumentation::frameScheduledNavigation):
3430         (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
3431         * inspector/InspectorPageAgent.cpp:
3432         (WebCore::InspectorPageAgent::frameStartedLoading):
3433         (WebCore):
3434         (WebCore::InspectorPageAgent::frameStoppedLoading):
3435         (WebCore::InspectorPageAgent::frameScheduledNavigation):
3436         (WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
3437         * inspector/InspectorPageAgent.h:
3438         * inspector/front-end/ResourceTreeModel.js:
3439         (WebInspector.PageDispatcher.prototype.frameDetached):
3440         (WebInspector.PageDispatcher.prototype.frameStartedLoading):
3441         (WebInspector.PageDispatcher.prototype.frameStoppedLoading):
3442         (WebInspector.PageDispatcher.prototype.frameScheduledNavigation):
3443         (WebInspector.PageDispatcher.prototype.frameClearedScheduledNavigation):
3444         * loader/NavigationScheduler.cpp:
3445         (WebCore::NavigationScheduler::clear):
3446         (WebCore::NavigationScheduler::timerFired):
3447         (WebCore::NavigationScheduler::startTimer):
3448         (WebCore::NavigationScheduler::cancel):
3449         * loader/ProgressTracker.cpp:
3450         (WebCore::ProgressTracker::progressStarted):
3451         (WebCore::ProgressTracker::finalProgressComplete):
3452
3453 2013-01-16  Tommy Widenflycht  <tommyw@google.com>
3454
3455         MediaStream API: Update MediaStreamTrack::readyState to match specification
3456         https://bugs.webkit.org/show_bug.cgi?id=106781
3457
3458         Reviewed by Kentaro Hara.
3459
3460         MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
3461
3462         Existing tests expanded to cover patch.
3463
3464         * Modules/mediastream/MediaStream.cpp:
3465         (WebCore::processTrack):
3466         * Modules/mediastream/MediaStreamTrack.cpp:
3467         (WebCore::MediaStreamTrack::readyState):
3468         (WebCore::MediaStreamTrack::ended):
3469         (WebCore):
3470         * Modules/mediastream/MediaStreamTrack.h:
3471         (MediaStreamTrack):
3472         * Modules/mediastream/MediaStreamTrack.idl:
3473
3474 2013-01-16  Andrey Adaikin  <aandrey@chromium.org>
3475
3476         Web Inspector: array grouping does not work for big and negative number keys
3477         https://bugs.webkit.org/show_bug.cgi?id=106891
3478
3479         Reviewed by Pavel Feldman.
3480
3481         Fixing array grouping for arrays that contain big or negative number representations as object keys.
3482
3483         * inspector/front-end/ObjectPropertiesSection.js:
3484         (.buildObjectFragment):
3485
3486 2013-01-16  Andrey Lushnikov  <lushnikov@chromium.org>
3487
3488         Web Inspector: highlight regexp API for DefaultTextEditor
3489         https://bugs.webkit.org/show_bug.cgi?id=106801
3490
3491         Reviewed by Pavel Feldman.
3492
3493         Add highlightRegexp and removeRegexpHighlight methods to DefaultTextEditor that highlight
3494         all occurrences of given regexp in text with given css class.
3495         Highlight is done via spans positioned absolutely over the regexp occurences in text.
3496
3497         Test: inspector/editor/text-editor-highlight-regexp.html
3498
3499         * inspector/front-end/DefaultTextEditor.js:
3500         (WebInspector.DefaultTextEditor.prototype.highlightRegex):
3501         (WebInspector.DefaultTextEditor.prototype.removeRegexHighlight):
3502         (WebInspector.TextEditorMainPanel):
3503         (WebInspector.TextEditorMainPanel.prototype.highlightRegex):
3504         (WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
3505         (WebInspector.TextEditorMainPanel.prototype._repaintVisibleChunks):
3506         (WebInspector.TextEditorMainPanel.prototype._findRegexOccurrences):
3507         (WebInspector.TextEditorMainPanel.prototype._measureRegex):
3508         (WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
3509         (WebInspector.TextEditorMainPanel.prototype._paintLine):
3510         * inspector/front-end/TextEditor.js:
3511         (WebInspector.TextEditor.prototype.highlightRegex):
3512         (WebInspector.TextEditor.prototype.removeRegexHighlight):
3513         * inspector/front-end/textEditor.css:
3514         (.text-editor-overlay-highlight):
3515         (.debug-fadeout):
3516
3517 2013-01-16  Ryosuke Niwa  <rniwa@webkit.org>
3518
3519         Get rid of Node::createRareData
3520         https://bugs.webkit.org/show_bug.cgi?id=106981
3521
3522         Reviewed by Benjamin Poulain.
3523
3524         Deleted Node::createRareData. Node::ensureRareData() instantiates NodeRareData
3525         or ElementRareData according to the node type. Also encapsulate new by create
3526         functions in NodeRareData and ElementRareData.
3527
3528         * dom/Element.cpp:
3529         (WebCore):
3530         * dom/Element.h:
3531         (Element):
3532         * dom/ElementRareData.h:
3533         (WebCore::ElementRareData::create):
3534         (ElementRareData):
3535         (WebCore::ElementRareData::ElementRareData):
3536         * dom/Node.cpp:
3537         (WebCore::Node::ensureRareData):
3538         (WebCore):
3539         * dom/Node.h:
3540         (WebCore::NodeRareDataBase::NodeRareDataBase):
3541         * dom/NodeRareData.h:
3542         (NodeRareData):
3543         (WebCore::NodeRareData::create):
3544         (WebCore::NodeRareData::NodeRareData):
3545
3546 2013-01-15  Ryosuke Niwa  <rniwa@webkit.org>
3547
3548         GTK+ and Qt build fix after r139833.
3549         Explicitly cast NodeRareDataBase to NodeRareData before deleting it.
3550
3551         * dom/Node.cpp:
3552         (WebCore::Node::clearRareData):
3553
3554 2013-01-15  Qiankun Miao  <qiankun.miao@intel.com>
3555
3556         Remove extra space in CustomFilterRenderer.h
3557         https://bugs.webkit.org/show_bug.cgi?id=105783
3558
3559         Reviewed by Dean Jackson.
3560
3561         * platform/graphics/filters/CustomFilterRenderer.h:
3562         (CustomFilterRenderer):
3563
3564 2013-01-15  Tab Atkins  <tabatkins@google.com>
3565
3566         Update CSS3 gradient support to the latest spec version and unprefix.
3567         https://bugs.webkit.org/show_bug.cgi?id=67166
3568
3569         Reviewed by Dean Jackson.
3570
3571         Tests: fast/gradients/unprefixed-color-stop-units.html
3572                fast/gradients/unprefixed-color-stops.html
3573                fast/gradients/unprefixed-generated-gradients.html
3574                fast/gradients/unprefixed-gradient-parsing.html
3575                fast/gradients/unprefixed-linear-angle-gradients.html
3576                fast/gradients/unprefixed-linear-right-angle-gradients.html
3577                fast/gradients/unprefixed-list-item-gradient.html
3578                fast/gradients/unprefixed-radial-gradients.html
3579                fast/gradients/unprefixed-radial-gradients2.html
3580                fast/gradients/unprefixed-radial-gradients3.html
3581                fast/gradients/unprefixed-repeating-end-fill.html
3582                fast/gradients/unprefixed-repeating-linear-gradient.html
3583                fast/gradients/unprefixed-repeating-radial-gradients.html
3584                fast/gradients/unprefixed-zero-range-repeating-gradient-hang.html
3585
3586         * css/CSSGradientValue.cpp:
3587         (WebCore::CSSGradientValue::computeEndPoint): Rename parameters to make more sense.
3588         (WebCore::CSSLinearGradientValue::customCssText):
3589         (WebCore::CSSLinearGradientValue::createGradient):
3590         (WebCore::CSSRadialGradientValue::customCssText):
3591         (WebCore::CSSRadialGradientValue::createGradient):
3592         * css/CSSGradientValue.h:
3593         (CSSGradientValue):
3594         (CSSRadialGradientValue):
3595         * css/CSSParser.cpp:
3596         (WebCore::CSSParser::parseLinearGradient):
3597         (WebCore::CSSParser::parseRadialGradient):
3598         (WebCore::CSSParser::isGeneratedImageValue):
3599         (WebCore::CSSParser::parseGeneratedImage):
3600         * css/CSSParser.h:
3601
3602 2013-01-15  Ryosuke Niwa  <rniwa@webkit.org>
3603
3604         NodeRareData doesn't need to have a vtable pointer
3605         https://bugs.webkit.org/show_bug.cgi?id=106965
3606
3607         Reviewed by Benjamin Poulain.
3608
3609         Made the destructor and reportMemoryUsage of NodeRareDataBase and NodeRareData
3610         respectively and their subclasses non-virtual.
3611
3612         * dom/ElementRareData.cpp:
3613         (SameSizeAsElementRareData): Added.
3614         (WebCore): Added a compile assertion for the size of ElementRareData.
3615         * dom/ElementRareData.h:
3616         (ElementRareData):
3617         * dom/Node.cpp:
3618         (WebCore::Node::clearRareData): Explicitely delete NodeRareData or ElementRareData.
3619         (WebCore::Node::reportMemoryUsage): Explicitely add NodeRareData or ElementRareData.
3620         * dom/Node.h:
3621         (NodeRareDataBase): Deleted the virtual destructor.
3622         * dom/NodeRareData.cpp:
3623         (SameSizeAsNodeRareData): Removed one pointer.
3624         * dom/NodeRareData.h:
3625         (NodeRareData): Removed the virtual destructor.
3626         (NodeRareData::reportMemoryUsage): Made non-virtual.
3627
3628 2013-01-15  Ian Vollick  <vollick@chromium.org>
3629
3630         [chromium] Create GraphicsLayerChromiums using a factory
3631         https://bugs.webkit.org/show_bug.cgi?id=103635
3632
3633         Reviewed by James Robinson.
3634
3635         Refactor graphics layer creation for chromium to go through a factory.
3636
3637         No new tests, no change in functionality.
3638
3639         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3640         (WebCore::GraphicsLayer::create):
3641
3642 2013-01-15  Charles Wei  <charles.wei@torchmobile.com.cn>
3643
3644         [BlackBerry]  LayerRenderingResults doesn't need to maintain the hole punch rect
3645         https://bugs.webkit.org/show_bug.cgi?id=106896
3646
3647         Reviewed by George Staikos.
3648         Internally reviewed by Arvid Nilsson and John Griggs.
3649
3650         No new tests,clean up code which is not used anymore.
3651
3652         * platform/graphics/blackberry/LayerRenderer.cpp:
3653         (WebCore::LayerRenderer::drawHolePunchRect):
3654         * platform/graphics/blackberry/LayerRenderer.h:
3655         (LayerRenderingResults):
3656
3657 2013-01-15  Charles Wei  <charles.wei@torchmobile.com.cn>
3658
3659         Fullscreen element should not share styles with it's siblings.
3660         https://bugs.webkit.org/show_bug.cgi?id=106888
3661
3662         Reviewed by George Staikos.
3663
3664         Test: fullscreen/full-screen-no-style-sharing.html
3665
3666         * css/StyleResolver.cpp:
3667         (WebCore::StyleResolver::canShareStyleWithElement):
3668
3669 2013-01-15  Tim Horton  <timothy_horton@apple.com>
3670
3671         Clamp TileCache visibleRect to WKView's visibleRect
3672         https://bugs.webkit.org/show_bug.cgi?id=106601
3673         <rdar://problem/12843164>
3674
3675         Reviewed by Simon Fraser.
3676
3677         * platform/graphics/TiledBacking.h:
3678         (TiledBacking): Add setExposedRect and setClipsToExposedRect.
3679         * platform/graphics/ca/mac/TileCache.h:
3680         (TileCache): Add setExposedRect, setClipsToExposedRect, and storage for their respective values.
3681         * platform/graphics/ca/mac/TileCache.mm:
3682         (WebCore::TileCache::TileCache): Initialize m_clipsToExposedRect to false.
3683         (WebCore::TileCache::setExposedRect): Update exposedRect and revalidate tiles.
3684         (WebCore::TileCache::setClipsToExposedRect): Update clipsToExposedRect and revalidate tiles;
3685         if we're going from unclipped to clipped, we already have tiles, so we can skip tile revalidation.
3686         (WebCore::TileCache::computeTileCoverageRect): Intersect exisiting visible rect with
3687         exposed rect to get the visible rect we actually care about.
3688         (WebCore::TileCache::revalidateTiles): Ditto.
3689         * rendering/RenderLayerCompositor.cpp:
3690         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer): Don't create an overhang layer if the frame isn't scrollable.
3691         (WebCore::RenderLayerCompositor::requiresContentShadowLayer): Don't create a shadow layer if the frame isn't scrollable.
3692
3693 2013-01-15  Roger Fong  <roger_fong@apple.com>
3694
3695         Get rid of a straggling dependency on SafariThemeConstants in RenderThemeWin.
3696
3697         Rubberstamped by Timothy Horton.
3698
3699         * rendering/RenderThemeWin.cpp:
3700         (WebCore::RenderThemeWin::supportsClosedCaptioning):
3701         * rendering/RenderThemeWin.h:
3702
3703 2013-01-15  Hayato Ito  <hayato@chromium.org>
3704
3705         Group all request parameters which are used to match CSS Rules into a parameter object.
3706         https://bugs.webkit.org/show_bug.cgi?id=106879
3707
3708         Reviewed by Dimitri Glazkov.
3709
3710         Introduces a MatchRequest which groups all request parameters to match CSS rules.
3711
3712         Factoring, no change in behavior.
3713
3714         * css/StyleResolver.cpp:
3715         (WebCore::StyleResolver::collectMatchingRules):
3716         (WebCore::StyleResolver::collectMatchingRulesForRegion):
3717         (WebCore::StyleResolver::matchScopedAuthorRules):
3718         (WebCore::StyleResolver::matchHostRules):
3719         (WebCore::StyleResolver::matchAuthorRules):
3720         (WebCore::StyleResolver::matchUserRules):
3721         (WebCore::StyleResolver::matchUARules):
3722         (WebCore::StyleResolver::collectMatchingRulesForList):
3723         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
3724         * css/StyleResolver.h:
3725         (WebCore::StyleResolver::MatchRequest::MatchRequest):
3726         (MatchRequest):
3727         (StyleResolver):
3728
3729 2013-01-15  Simon Fraser  <simon.fraser@apple.com>
3730
3731         Add the ability for a RenderLayerBacking to have a layer that renders backgrounds.
3732         https://bugs.webkit.org/show_bug.cgi?id=106961
3733
3734         Reviewed by Dean Jackson.
3735
3736         In some cases we need a compositing layer to render its background into
3737         a separate GraphicsLayer (e.g. for background-attachment: fixed in some scenarios).
3738         
3739         To support this, have RenderLayer optionally create a GraphicsLayer for the background.
3740         Currently nothing causes background layers to get created.
3741         
3742         Having a background layer requires that we add an additional containment layer
3743         which encloses the background, primary and foreground layers, since the 
3744         background layer has to be composited behind the primary content. This containment
3745         layer gets any transform, including page scale on the RenderView's layer.
3746         
3747         No new tests; there's no way to create a background layer yet. This was tested during
3748         development by forcing a background layer.
3749
3750         * rendering/RenderLayerBacking.cpp:
3751         (WebCore::RenderLayerBacking::updateDebugIndicators): Show borders on both new layers
3752         and repaint counters on the background layer.
3753         (WebCore::RenderLayerBacking::destroyGraphicsLayers): Clear the two new layers.
3754         (WebCore::RenderLayerBacking::updateTransform): If we have a containment layer, it
3755         takes the transform (and clear the transform on the primary layer).
3756         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Make the background
3757         layer if we need one (currently never).
3758         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Position and size
3759         the containment layer if we have one. If we do, then the m_graphicsLayer will
3760         be at 0,0 in that containment layer. The background layer is also sized similarly
3761         to the foreground layer.
3762         (WebCore::RenderLayerBacking::updateInternalHierarchy): Adapt to the new hierarchy
3763         with containment and background layers if we have them.
3764         (WebCore::RenderLayerBacking::updateBackgroundLayer): Here's where we create the background
3765         and containment layers.
3766         (WebCore::RenderLayerBacking::childForSuperlayers): If we have a containment layer, that's
3767         what gets attached to our parent.
3768         (WebCore::RenderLayerBacking::getCurrentTransform): The containment layer gets the transform
3769         if we have one, so check that here.
3770         (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
3771         (WebCore::RenderLayerBacking::reportMemoryUsage):
3772         * rendering/RenderLayerBacking.h:
3773         (RenderLayerBacking):
3774         * rendering/RenderLayerCompositor.cpp:
3775         (WebCore::RenderLayerCompositor::deviceOrPageScaleFactorChanged): We need to start notifying
3776         about page/device scale on the containment layer if there is one (since it takes page scale), so
3777         use childForSuperlayers() rather than just getting the primary layer.
3778
3779 2013-01-15  Pan Deng  <pan.deng@intel.com>
3780
3781         Remove Key3 and Challenge Response fields from Websocket implementation and Web Inspector.
3782         https://bugs.webkit.org/show_bug.cgi?id=105738.
3783
3784         Reviewed by Kent Tamura.
3785
3786         Key3 and Challenge Response fields were obsoleted in IETF websocket spec, this patch removes related
3787         code in Websocket and Web Inspector
3788
3789         No new tests as no new functionality added.
3790
3791         * Modules/websockets/WebSocketHandshakeRequest.cpp: remove Key3 related code
3792         * Modules/websockets/WebSocketHandshakeRequest.h: 
3793         (WebSocketHandshakeRequest):
3794         * Modules/websockets/WebSocketHandshakeResponse.cpp: remove Challenge response related code
3795         * Modules/websockets/WebSocketHandshakeResponse.h: 
3796         (WebSocketHandshakeResponse):
3797         * inspector/Inspector.json: remove Key3 and Challenge response fields definition
3798         * inspector/InspectorResourceAgent.cpp: remove Key3 and Challenge response field from inspector agent
3799         (WebCore):
3800         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
3801         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
3802         * inspector/front-end/NetworkManager.js: 
3803         (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest): 
3804         (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived): 
3805         * inspector/front-end/RequestHeadersView.js: remove Key3 and Challenge response item from front-end.
3806         (WebInspector.RequestHeadersView.prototype._refreshRequestHeaders):
3807         (WebInspector.RequestHeadersView.prototype._refreshResponseHeaders):
3808         (WebInspector.RequestHeadersView.prototype._refreshHeaders):
3809
3810 2013-01-15  Antti Koivisto  <antti@apple.com>
3811
3812         ASSERT(!m_queue.killed() && m_threadID) hit in StorageThread::scheduleTask on low memory warning
3813         https://bugs.webkit.org/show_bug.cgi?id=106960
3814
3815         Reviewed by Mark Rowe.
3816
3817         We were scheduling a memory clearing task to terminated StorageThreads.
3818         
3819         Remove thread from the active thread list when terminate is scheduled. Add when thread is started.
3820
3821         * storage/StorageThread.cpp:
3822         (WebCore::activeStorageThreads):
3823         (WebCore::StorageThread::StorageThread):
3824         (WebCore::StorageThread::~StorageThread):
3825         (WebCore::StorageThread::start):
3826         (WebCore::StorageThread::terminate):
3827         (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
3828
3829 2013-01-15  Luke Macpherson   <macpherson@chromium.org>
3830
3831         Don't do indiscriminate cast & call in StylePropertySet::PropertyReference::cssName() on release builds.
3832         https://bugs.webkit.org/show_bug.cgi?id=106867
3833
3834         Reviewed by Darin Adler.
3835
3836         Check CSSValue::isVariableValue() before casting to CSSVariableValue.
3837
3838         Covered by existing variables tests.
3839
3840         * css/StylePropertySet.cpp:
3841         (WebCore::StylePropertySet::PropertyReference::cssName):
3842
3843 2013-01-15  Emil A Eklund  <eae@chromium.org>
3844
3845         [Sub pixel layout] RTL cells with padding wraps
3846         https://bugs.webkit.org/show_bug.cgi?id=106843
3847
3848         Reviewed by Levi Weintraub.
3849         
3850         At certain zoom levels table cells with padding wraps for rtl
3851         content.
3852
3853         Test: fast/sub-pixel/table-rtl-padding.html
3854
3855         * rendering/RenderTable.h: Override paddingStart/End to return
3856         integer values for padding as we do elsewhere in the table code.
3857
3858 2013-01-15  Dominic Mazzoni  <dmazzoni@google.com>
3859
3860         Use-after-free in AXObjectCache::notificationPostTimerFired
3861         https://bugs.webkit.org/show_bug.cgi?id=106106
3862
3863         Reviewed by Ryosuke Niwa.
3864
3865         Fixes a crash that occurs when a Node is adopted by another document,
3866         in particular one that isn't part of the page, and then deleted,
3867         which wasn't triggering the code that removed the Node from
3868         AXObjectCache. Now, a Node is removed from the AXObjectCache whenever
3869         its Document changes.
3870
3871         Test: accessibility/crash-adopt-node-from-new-document.html
3872
3873         * dom/Node.cpp:
3874         (WebCore::Node::didMoveToNewDocument):
3875
3876 2013-01-15  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3877
3878         Add Canvas blend modes to Cairo
3879         https://bugs.webkit.org/show_bug.cgi?id=105074
3880
3881         Reviewed by Martin Robinson.
3882
3883         Blend mode implementation for cairo. If BlendMode is normal, use
3884         CompositeOperator; otherwise, consider CompositeOperator is
3885         source-over.
3886
3887         Add toCairoOperator(BlendMode) to translate BlendMode to matching
3888         cairo_operator_t. 
3889
3890         * platform/graphics/cairo/BitmapImageCairo.cpp:
3891         (WebCore::BitmapImage::draw):
3892         * platform/graphics/cairo/CairoUtilities.cpp:
3893         (WebCore::toCairoOperator):
3894         * platform/graphics/cairo/CairoUtilities.h:
3895         (WebCore):
3896         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3897         (WebCore::GraphicsContext::setPlatformCompositeOperation):
3898
3899 2013-01-15  Dima Gorbik  <dgorbik@apple.com>
3900         Implement matching by the voice attribute for WebVTT ::cue pseudo element
3901         https://bugs.webkit.org/show_bug.cgi?id=106762
3902
3903         Reviewed by Eric Carlson.
3904
3905         Implemented matching cue WebVTT elements by a voice attribute by adding a WebVTT specific voice attribute.
3906         For DOM trees title attribute is used instead as this is required by specs.
3907
3908         * html/track/TextTrackCue.cpp:
3909         (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): set a title argument instead of a voice attribute for the DOM tree.
3910         * html/track/TextTrackCue.h:
3911         (WebCore::TextTrackCue::voiceAttributeName):
3912         * html/track/WebVTTParser.cpp:
3913         (WebCore::WebVTTParser::constructTreeFromToken):
3914
3915 2013-01-15  Simon Fraser  <simon.fraser@apple.com>
3916
3917         Some ScrollingCo√∂rdinator-related cleanup in RenderLayerBacking
3918         https://bugs.webkit.org/show_bug.cgi?id=106950
3919
3920         Reviewed by Beth Dakin.
3921         
3922         Wrap up code that gets the ScrollingCoordinator into a utility function.
3923         Pull code out of updateGraphicsLayerGeometry() that registers layers with
3924         the ScrollingCoordinator, for cleanliness.
3925
3926         * rendering/RenderLayerBacking.cpp:
3927         (WebCore::scrollingCoordinatorFromLayer):
3928         (WebCore::RenderLayerBacking::adjustTileCacheCoverage):
3929         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3930         (WebCore::RenderLayerBacking::registerScrollingLayers):
3931         (WebCore::RenderLayerBacking::attachToScrollingCoordinatorWithParent):
3932         (WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
3933         * rendering/RenderLayerBacking.h:
3934         (RenderLayerBacking):
3935
3936 2013-01-15  Beth Dakin  <bdakin@apple.com>
3937
3938         https://bugs.webkit.org/show_bug.cgi?id=106940
3939         Suspend CSS animations for background tabs
3940
3941         Reviewed by Simon Fraser.
3942
3943         * page/Page.cpp:
3944         (WebCore::Page::setVisibilityState):
3945
3946 2013-01-15  Levi Weintraub  <leviw@chromium.org>
3947
3948         Unreviewed, rolling out r139790.
3949         http://trac.webkit.org/changeset/139790
3950         https://bugs.webkit.org/show_bug.cgi?id=106948
3951
3952         The patch is failing its own test.
3953
3954         * dom/ContainerNode.cpp:
3955         (WebCore::ContainerNode::parserInsertBefore):
3956         (WebCore::ContainerNode::parserRemoveChild):
3957         (WebCore::ContainerNode::parserAppendChild):
3958         * html/parser/HTMLScriptRunner.cpp:
3959         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
3960         (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
3961         (WebCore::HTMLScriptRunner::execute):
3962         (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
3963         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
3964         (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
3965         (WebCore::HTMLScriptRunner::runScript):
3966
3967 2013-01-15  Emil A Eklund  <eae@chromium.org>
3968
3969         REGRESSION (r121599): incorrect border scaling when zoomed
3970         https://bugs.webkit.org/show_bug.cgi?id=106944
3971
3972         Reviewed by Levi Weintraub.
3973         
3974         Fix bug in ApplyPropertyComputeLength::applyValue where zooming
3975         of non-pixel values was incorrect.
3976
3977         Test: fast/sub-pixel/zoomed-em-border.html
3978
3979         * css/StyleBuilder.cpp:
3980         (WebCore::ApplyPropertyComputeLength::applyValue):
3981
3982 2013-01-15  Simon Fraser  <simon.fraser@apple.com>
3983
3984         Rename RenderLayerBacking's m_containmentLayer to m_childContainmentLayer to better describe its purpose
3985         https://bugs.webkit.org/show_bug.cgi?id=106947
3986
3987         Reviewed by Dean Jackson.
3988         
3989         Simple rename of m_containmentLayer to m_childContainmentLayer. I'll
3990         be adding another "container" layer for background layers shortly,
3991         and wanted to improve clarity.
3992
3993         * rendering/RenderLayerBacking.cpp:
3994         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3995         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
3996         (WebCore::RenderLayerBacking::updateInternalHierarchy):
3997         (WebCore::RenderLayerBacking::updateClippingLayers):
3998         (WebCore::RenderLayerBacking::parentForSublayers):
3999         (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
4000         (WebCore::RenderLayerBacking::reportMemoryUsage):
4001         * rendering/RenderLayerBacking.h:
4002         (WebCore::RenderLayerBacking::hasClippingLayer):
4003 &n