Fix Qt build.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-15  Darin Adler  <darin@apple.com>
2
3         Fix Qt build.
4
5         * css/CSSSelector.cpp:
6         (WebCore::populatePseudoTypeByNameMap): Removed stray line that was breaking
7         the build for any platform with !ENABLE(VIDEO_TRACK).
8
9 2013-09-15  Andreas Kling  <akling@apple.com>
10
11         Restore two-pass mechanism for FrameView::updateEmbeddedObjects().
12         <https://webkit.org/b/121380>
13
14         Reviewed by Darin Adler.
15
16         Restore the code to make a second pass over the embedded objects needing
17         an update in case more objects were added to the set during the first pass.
18
19 2013-09-15  Frédéric Wang  <fred.wang@free.fr>
20
21         Implement the mmultiscripts tag
22         https://bugs.webkit.org/show_bug.cgi?id=99618
23
24         Reviewed by Chris Fleizach.
25
26         Tests: mathml/invalid-scripts-crash.html
27                mathml/presentation/multiscripts-equivalence.html
28                mathml/presentation/multiscripts-noscripts.html
29                mathml/presentation/multiscripts-positions.html
30                mathml/presentation/scripts-base-alignment.html
31                mathml/presentation/scripts-horizontal-alignment.html
32                mathml/presentation/scripts-vertical-alignment.html
33                mathml/scripts-addChild.html
34                mathml/scripts-removeChild.html
35
36         This relies on the existing msub/msup/msubsup code to implement the mmultiscripts tag. This also improves dynamic addition/removal of children for these MathML elements and adds a specific style for invalid children, so that they render like an merror tag. Finally, this fixes a bad memory access in the Accessibility render object of msubsup.
37
38         * CMakeLists.txt:
39         * GNUmakefile.list.am:
40         * Target.pri:
41         * WebCore.vcxproj/WebCore.vcxproj:
42         * WebCore.vcxproj/WebCore.vcxproj.filters:
43         * WebCore.xcodeproj/project.pbxproj:
44         * accessibility/AccessibilityRenderObject.cpp:
45         (WebCore::AccessibilityRenderObject::isMathSubscriptSuperscript):
46         (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
47         * css/mathml.css:
48         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot):
49         (mover > :last-child, munderover > :last-child):
50         (msub > * + *, msup > * + *, msubsup > * + *, mmultiscripts > * + *, munder > * + *, mover > * + *, munderover > * + *):
51         (merror, msub > * + * + *, msup > * + * + *, msubsup > * + * + * + *, msub > mprescripts, msup > mprescripts, msubsup > mprescripts, msub > none, msup > none, msubsup > none, mmultiscripts > mprescripts ~ mprescripts, mmultiscripts > mprescripts ~ mprescripts ~ *):
52         * mathml/MathMLInlineContainerElement.cpp:
53         (WebCore::MathMLInlineContainerElement::createRenderer):
54         * mathml/mathtags.in:
55         * rendering/mathml/RenderMathMLBlock.h:
56         (WebCore::RenderMathMLBlock::isRenderMathMLScripts):
57         (WebCore::RenderMathMLBlock::isRenderMathMLScriptsWrapper):
58         * rendering/mathml/RenderMathMLScripts.cpp: Added.
59         (WebCore::isMPrescripts):
60         (WebCore::RenderMathMLScripts::RenderMathMLScripts):
61         (WebCore::RenderMathMLScripts::base):
62         (WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
63         (WebCore::RenderMathMLScripts::fixAnonymousStyles):
64         (WebCore::RenderMathMLScripts::addChildInternal):
65         (WebCore::RenderMathMLScripts::removeChildInternal):
66         (WebCore::RenderMathMLScripts::addChild):
67         (WebCore::RenderMathMLScripts::removeChild):
68         (WebCore::RenderMathMLScripts::styleDidChange):
69         (WebCore::RenderMathMLScripts::unembellishedOperator):
70         (WebCore::RenderMathMLScripts::layout):
71         (WebCore::RenderMathMLScripts::firstLineBoxBaseline):
72         (WebCore::RenderMathMLScriptsWrapper::createAnonymousWrapper):
73         (WebCore::RenderMathMLScriptsWrapper::addChildInternal):
74         (WebCore::RenderMathMLScriptsWrapper::addChild):
75         (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
76         (WebCore::RenderMathMLScriptsWrapper::removeChild):
77         * rendering/mathml/RenderMathMLScripts.h: Added.
78         (WebCore::RenderMathMLScriptsWrapper::RenderMathMLScriptsWrapper):
79         (WebCore::RenderMathMLScriptsWrapper::renderName):
80         (WebCore::RenderMathMLScriptsWrapper::isRenderMathMLScriptsWrapper):
81         (WebCore::toRenderMathMLScriptsWrapper):
82         (WebCore::RenderMathMLScripts::isRenderMathMLScripts):
83         (WebCore::RenderMathMLScripts::renderName):
84         (WebCore::toRenderMathMLScripts):
85         * rendering/mathml/RenderMathMLSubSup.cpp: Removed.
86         * rendering/mathml/RenderMathMLSubSup.h: Removed.
87
88 2013-09-15  Andreas Kling  <akling@apple.com>
89
90         Get rid of ref-counting on RenderWidget.
91         <https://webkit.org/b/121357>
92
93         Reviewed by Darin Adler.
94
95         Instead of RenderView tracking RenderWidgets, have FrameView track Widgets
96         that are currently in the render tree.
97
98         To protect ourselves during NPAPI tomfoolery, we now let RenderWidget hand
99         out weak pointers through a createWeakPtr() method so call sites can monitor
100         the renderer for deletion without having to take shared ownership.
101
102         This works out quite nicely since instead of keeping a limping object alive
103         for a little longer just so we can call methods on it (to accomplish nothing),
104         we're forced to check right away if it's gone, and take immediate action.
105
106         De-virtualized RenderObject::destroy() since it's no longer needed for
107         RenderWidget to defer destruction.
108
109         * page/FrameView.cpp:
110         (WebCore::FrameView::layout):
111         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
112
113             Call updateWidgetPositions() on FrameView instead of RenderView.
114
115         (WebCore::FrameView::updateEmbeddedObject):
116
117             Turn null checking of embedded object's element backpointer into an
118             assertion. This will eventually go away completely once that renderer
119             can return a HTMLFrameOwnerElement&.
120
121             Use WeakPtr to check for renderer destruction following the call out
122             to updateWidget().
123
124         (WebCore::FrameView::updateEmbeddedObjects):
125
126             Slap a WidgetHierarchyUpdatesSuspensionScope guard on this function
127             to defer Widget updates until all the updateEmbeddedObject calls are
128             done. This avoids RenderWidget::setWidget() having to handle 'this'
129             disappearing from underneath.
130
131             Also use a ListHashSet with a null sentinel to avoid looping forever.
132
133         (WebCore::FrameView::performPostLayoutTasks):
134
135             Only call updateEmbeddedObjects() once since that function no longer
136             operates in chunks.
137
138         (WebCore::FrameView::notifyWidgetsInAllFrames):
139
140             Call notifyWidgets() on FrameView instead of RenderView.
141
142         (WebCore::FrameView::didAddWidgetToRenderTree):
143         (WebCore::FrameView::willRemoveWidgetFromRenderTree):
144
145             Added. These are called by RenderWidget when a Widget is being
146             added or removed from a RenderWidget.
147
148         (WebCore::collectWidgets):
149
150             Helper to collect raw Widget pointers into a Vector and ref them.
151
152         (WebCore::FrameView::updateWidgetPositions):
153
154             Moved here from RenderView. This function holds a ref on all the
155             attached Widgets and calls RenderWidget::updateWidgetPosition() on
156             their corresponding renderers.
157
158         (WebCore::FrameView::notifyWidgets):
159
160             Moved here from RenderView. Holds a ref on all the widgets while
161             calling Widget::notifyWidget() on each one.
162
163         * rendering/RenderLayer.cpp:
164         (WebCore::RenderLayer::scrollTo):
165
166             Call updateWidgetPositions() on FrameView instead of RenderView.
167
168         * rendering/RenderObject.h:
169
170             De-virtualized destroy().
171
172         * rendering/RenderView.cpp:
173         * rendering/RenderView.h:
174
175             Moved a bunch of things to FrameView. Made protected section private
176             since nothing inherits from RenderView.
177
178         * rendering/RenderWidget.h:
179         (WebCore::RenderWidget::createWeakPtr):
180
181             Added a WeakPtr factory for clients that want to monitor this object
182             for destruction.
183             
184         * rendering/RenderWidget.cpp:
185         (WebCore::RenderWidget::RenderWidget):
186         (WebCore::RenderWidget::willBeDestroyed):
187         (WebCore::RenderWidget::~RenderWidget):
188
189             Removed ref counting.
190             Removed registration with RenderView in ctor/willBeDestroyed.
191
192         (WebCore::RenderWidget::setWidgetGeometry):
193
194             Monitor the RenderWidget itself through a WeakPtr and check on it
195             after each step that we're still alive. In that case just bail out.
196
197         (WebCore::RenderWidget::setWidget):
198
199             Register the incoming/outgoing Widget with the FrameView.
200             Use a WeakPtr to check on 'this' after updateWidgetGeometry().
201
202         (WebCore::RenderWidget::updateWidgetPosition):
203
204             Use a WeakPtr to check on 'this' after updateWidgetGeometry().
205
206         * GNUmakefile.list.am:
207         * rendering/RenderWidgetProtector.h:
208
209             Removed.
210
211
212 2013-09-14  Sam Weinig  <sam@webkit.org>
213
214         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 5)
215         https://bugs.webkit.org/show_bug.cgi?id=121375
216
217         Reviewed by Andreas Kling.
218
219         * dom/make_names.pl:
220         Add support for a top level 'constructorTakesDocumentReference' property to
221         force using a Document reference for the whole factory.
222
223         * html/HTMLTagNames.in:
224         Replace per-tag 'constructorTakesDocumentReference' with a top level declaration
225         now that all of the HTML tag names are supported.
226
227         Converts the following to take a Document reference:
228             - HTMLContentElement
229             - HTMLElement
230             - HTMLFrameElementBase
231             - HTMLFrameOwnerElement
232             - HTMLPlugInElement
233             - HTMLPlugInImageElement
234             - HTMLUnknownElement
235             - InsertionPoint
236             - StyledElement
237             - TextTrackCueBox
238             - TextTrackCueGenericBoxElement
239
240 2013-09-14  Eric Carlson  <eric.carlson@apple.com>
241
242         MediaStream API: Update RTCDataChannel
243         https://bugs.webkit.org/show_bug.cgi?id=121102
244
245         Reviewed by Sam Weinig.
246
247         Based on https://chromium.googlesource.com/chromium/blink/+/c6975c41956acded7cf0363012d7d6b69d0c6d96,
248         and https://chromium.googlesource.com/chromium/blink/+/214dab0bd6385f573c918ba5ce58a5aa206ce186.
249
250         No new tests, existing tests updated.
251
252         * Modules/mediastream/RTCDataChannel.cpp:
253         (WebCore::RTCDataChannel::create): Take an options Dictionary.
254         (WebCore::RTCDataChannel::didChangeReadyState): String -> AtomicString. Early return if the
255             state hasn't changed.
256         (WebCore::RTCDataChannel::binaryType): String -> AtomicString.
257         (WebCore::RTCDataChannel::setBinaryType): String -> AtomicString.
258         * Modules/mediastream/RTCDataChannel.h:
259         * Modules/mediastream/RTCDataChannel.idl:
260
261         * Modules/mediastream/RTCPeerConnection.cpp:
262         (WebCore::RTCPeerConnection::createDataChannel): Take an options struct.
263         * platform/mediastream/RTCDataChannelHandler.h:
264
265         * platform/mediastream/RTCPeerConnectionHandler.h:
266         (WebCore::RTCDataChannelInit::RTCDataChannelInit): Take an options struct.
267
268 2013-09-14  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
269
270         MediaStream API: Update RTCDataChannel to match the specification
271         https://bugs.webkit.org/show_bug.cgi?id=120889
272
273         Reviewed by Eric Carlson
274
275         Merged from https://chromium.googlesource.com/chromium/blink/+/c3862b0a83e20fc8b1f770c7e4a886a7cceb80d2
276         by Tommy Widenflycht.
277
278         According to WebRTC specification, RTCDataChannel must have the following new attributes:
279         boolean ordered
280         unsigned short maxRetransmitTime
281         unsigned short maxRetransmits
282         DOMString protocol
283         boolean negotiated
284         unsigned short id
285
286         and the following one was deprecated:
287         boolean reliable
288
289         Test updates will be landed with https://webkit.org/b/121102.
290
291         * Modules/mediastream/RTCDataChannel.cpp:
292         (WebCore::RTCDataChannel::ordered):
293         (WebCore::RTCDataChannel::maxRetransmitTime):
294         (WebCore::RTCDataChannel::maxRetransmits):
295         (WebCore::RTCDataChannel::protocol):
296         (WebCore::RTCDataChannel::negotiated):
297         (WebCore::RTCDataChannel::id):
298         * Modules/mediastream/RTCDataChannel.h:
299         * Modules/mediastream/RTCDataChannel.idl:
300         * platform/mediastream/RTCDataChannelHandler.h:
301
302 2013-09-14  Sam Weinig  <sam@webkit.org>
303
304         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 4)
305         https://bugs.webkit.org/show_bug.cgi?id=121372
306
307         Reviewed by Eric Carlson.
308
309         Converts the following to take a Document reference:
310             - HTMLFormControlElement
311             - HTMLFormControlElementWithState
312             - HTMLMapElement
313             - HTMLMarqueeElement
314             - HTMLMediaElement
315             - HTMLMenuElement
316             - HTMLMetaElement
317             - HTMLMeterElement
318             - HTMLOListElement
319             - HTMLObjectElement
320             - HTMLOptGroupElement
321             - HTMLOptionElement
322             - HTMLOutputElement
323             - HTMLParagraphElement
324             - HTMLParamElement
325             - HTMLProgressElement
326             - HTMLScriptElement
327             - HTMLSelectElement
328             - HTMLSourceElement
329             - HTMLSpanElement
330             - HTMLStyleElement
331             - HTMLSummaryElement
332             - HTMLTableCellElement
333             - HTMLTableElement
334             - HTMLTableRowElement
335             - HTMLTableSectionElement
336             - HTMLTemplateElement
337             - HTMLTextAreaElement
338             - HTMLTextFormControlElement
339             - HTMLTitleElement
340             - HTMLTrackElement
341             - HTMLUListElement
342             - InlineStyleSheetOwner
343             - LabelableElement
344             - All the MediaControl elements
345
346 2013-09-14  Joseph Pecoraro  <pecoraro@apple.com>
347
348         XMLViewer_js and XMLViewer_css should be minified
349         https://bugs.webkit.org/show_bug.cgi?id=121334
350
351         Reviewed by Timothy Hatcher.
352
353         * CMakeLists.txt:
354         * DerivedSources.make:
355         * DerivedSources.pri:
356         * GNUmakefile.am:
357         * xml/XMLViewer.css:
358         * xml/XMLViewer.js:
359
360 2013-09-14  Eric Carlson  <eric.carlson@apple.com>
361
362         [MediaStream] remove MediaStream.label
363         https://bugs.webkit.org/show_bug.cgi?id=121337
364
365         Reviewed by Sam Weinig.
366
367         No new tests or modified tests, this attribute was apparently never tested.
368
369         * Modules/mediastream/MediaStream.h:
370         * Modules/mediastream/MediaStream.idl:
371
372 2013-09-14  Sam Weinig  <sam@webkit.org>
373
374         [CTTE] Node subclasses should take a Document by reference in their constructor (Part 3)
375         https://bugs.webkit.org/show_bug.cgi?id=121368
376
377         Reviewed by Darin Adler.
378
379         Converts the following to take a Document reference:
380             - DeleteButton
381             - DetailsContentElement
382             - DetailsMarkerControl
383             - DetailsSummaryElement
384             - HTMLBDIElement
385             - HTMLBRElement
386             - HTMLBaseElement
387             - HTMLBaseFontElement
388             - HTMLButtonElement
389             - HTMLCanvasElement
390             - HTMLDListElement
391             - HTMLDataListElement
392             - HTMLDetailsElement
393             - HTMLDirectoryElement
394             - HTMLDivElement
395             - HTMLEmbedElement
396             - HTMLFieldSetElement
397             - HTMLFontElement
398             - HTMLFormElement
399             - HTMLFrameElement
400             - HTMLFrameSetElement
401             - HTMLHRElement
402             - HTMLHeadElement
403             - HTMLHeadingElement
404             - HTMLHtmlElement
405             - HTMLIFrameElement
406             - HTMLImageElement
407             - HTMLInputElement
408             - HTMLKeygenElement
409             - HTMLLIElement
410             - HTMLLabelElement
411             - HTMLLegendElement
412             - HTMLLinkElement
413             - HTMLModElement
414             - HTMLPreElement
415             - HTMLQuoteElement
416             - HTMLTableCaptionElement
417             - HTMLTableColElement
418             - ImageDocumentElement
419             - KeygenSelectElement
420             - SummaryContentElement
421             - UploadButtonElement
422
423
424 2013-09-14  Zan Dobersek  <zdobersek@igalia.com>
425
426         REGRESSION(r155228): Call to DragData::asFragment() nullifies PassRefPtr<Range> in documentFragmentFromDragData
427         https://bugs.webkit.org/show_bug.cgi?id=121359
428
429         Reviewed by Darin Adler.
430
431         * page/DragController.cpp:
432         (WebCore::documentFragmentFromDragData): Pass the naked pointer as the PassRefPtr<Range> argument to the DragData::asFragment()
433         call. The naked pointer will get wrapped and protected by a new PassRefPtr. Passing the original PassRefPtr will also create
434         a new PassRefPtr, but will leak the reference of the original one, leaving its pointer nullified.
435
436 2013-09-14  Zan Dobersek  <zdobersek@igalia.com>
437
438         Unreviewed GTK build fix after r155774.
439
440         * bindings/scripts/CodeGeneratorGObject.pm:
441         (SkipFunction): Temporarily skip generation of bindings for the Console::profile() and Console::profileEnd() methods
442         as they're not correctly generated for the moment.
443
444 2013-09-14  Darin Adler  <darin@apple.com>
445
446         Shrink the nameToPseudoTypeMap function
447         https://bugs.webkit.org/show_bug.cgi?id=121367
448
449         Reviewed by Andreas Kling.
450
451         * css/CSSSelector.cpp:
452         (WebCore::populatePseudoTypeByNameMap): Replaces the old nameToPseudoTypeMap
453         function. Use a table instead of lots of globals and unrolled code to set up
454         the map.
455         (WebCore::CSSSelector::parsePseudoType): Updated to use the code above, and
456         also use a different style that's tighter.
457
458 2013-09-14  Darin Adler  <darin@apple.com>
459
460         Shrink the listMarkerText function
461         https://bugs.webkit.org/show_bug.cgi?id=121364
462
463         Reviewed by Andreas Kling.
464
465         Changed code to use StringBuilder, which is a better fit for what we are
466         doing here. But mainly, inlining was out of hand, so hit that with the
467         NEVER_INLINE stick. Might be worth revisiting this to optimize further for
468         speed by making StringBuilder better at this.
469
470         * rendering/RenderListMarker.cpp:
471         (WebCore::toRoman): NEVER_INLINE and use StringBuilder.
472         (WebCore::toAlphabeticOrNumeric): Use StringBuilder.
473         (WebCore::toSymbolic): NEVER_INLINE and use StringBuilder.
474         (WebCore::toAlphabetic): Ditto.
475         (WebCore::toNumeric): Ditto.
476         (WebCore::toHebrewUnder1000): NEVER_INLINE.
477         (WebCore::toHebrew): NEVER_INLINE and use StringBuilder.
478         (WebCore::toArmenianUnder10000): NEVER_INLINE.
479         (WebCore::toArmenian): NEVER_INLINE and use StringBuilder.
480         (WebCore::toGeorgian): NEVER_INLINE and use StringBuilder.
481         (WebCore::toCJKIdeographic): NEVER_INLINE and use StringBuilder.
482         (WebCore::listMarkerText): Use StringBuilder.
483
484 2013-09-14  Sam Weinig  <sam@webkit.org>
485
486         [CTTE] Node subclasses should take a Document by reference in their 
487         constructor (HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLAudioElement)
488         https://bugs.webkit.org/show_bug.cgi?id=121365
489
490         Reviewed by Andreas Kling.
491
492         * editing/CreateLinkCommand.cpp:
493         (WebCore::CreateLinkCommand::doApply):
494         * editing/UnlinkCommand.cpp:
495         (WebCore::UnlinkCommand::doApply):
496         * html/HTMLAnchorElement.cpp:
497         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
498         (WebCore::HTMLAnchorElement::create):
499         * html/HTMLAnchorElement.h:
500         * html/HTMLAppletElement.cpp:
501         (WebCore::HTMLAppletElement::HTMLAppletElement):
502         (WebCore::HTMLAppletElement::create):
503         * html/HTMLAppletElement.h:
504         * html/HTMLAreaElement.cpp:
505         (WebCore::HTMLAreaElement::HTMLAreaElement):
506         (WebCore::HTMLAreaElement::create):
507         * html/HTMLAreaElement.h:
508         * html/HTMLAudioElement.cpp:
509         (WebCore::HTMLAudioElement::HTMLAudioElement):
510         (WebCore::HTMLAudioElement::create):
511         (WebCore::HTMLAudioElement::createForJSConstructor):
512         * html/HTMLAudioElement.h:
513         * html/HTMLTagNames.in:
514         * html/HTMLViewSourceDocument.cpp:
515         (WebCore::HTMLViewSourceDocument::addLink):
516         * page/DragController.cpp:
517         (WebCore::documentFragmentFromDragData):
518
519 2013-09-14  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
520
521         Get INPUT_SPEECH compiling for Nix, EFL and GTK
522         https://bugs.webkit.org/show_bug.cgi?id=121362
523
524         r154257 was not applied completely in HTMLInputElement.cpp and there was a wrong method signature
525         in TextControlInnerElements.
526         Also adding the files needed to build INPUT_SPEECH to each build system files.
527
528         Reviewed by Andreas Kling.
529
530         No new tests needed.
531
532         * CMakeLists.txt:
533         * GNUmakefile.list.am:
534         * html/HTMLInputElement.cpp:
535         (WebCore::HTMLInputElement::parseAttribute):
536         * html/shadow/TextControlInnerElements.h:
537
538 2013-09-14  Alberto Garcia  <berto@igalia.com>
539
540         Missing  allow-none introspection annotation for DomDocument.evaluate method
541         https://bugs.webkit.org/show_bug.cgi?id=118310
542
543         Reviewed by Martin Robinson.
544
545         Add (allow-none) introspection annotation to parameters that can
546         be NULL.
547
548         * bindings/scripts/CodeGeneratorGObject.pm:
549         (GenerateFunction):
550
551 2013-09-14  Sam Weinig  <sam@webkit.org>
552
553         [CTTE] Node subclasses should take a Document by reference in their constructor (HTMLBodyElement)
554         https://bugs.webkit.org/show_bug.cgi?id=121363
555
556         Reviewed by Andreas Kling.
557
558         * dom/make_names.pl:
559         (defaultTagPropertyHash):
560         (printConstructorInterior):
561         Add a new property, 'constructorTakesDocumentReference', to indicate that the class
562         has been converted to take a Document by reference. Once all classes are converted, this
563         will go away.
564
565         * html/HTMLTagNames.in:
566         Add the 'constructorTakesDocumentReference' property to the <body> tag as an initial
567         step.
568
569         * html/HTMLBodyElement.cpp:
570         (WebCore::HTMLBodyElement::HTMLBodyElement):
571         (WebCore::HTMLBodyElement::create):
572         * html/HTMLBodyElement.h:
573         Modify the constructor and create functions of HTMLBodyElement to take a Document reference.
574
575         * editing/markup.cpp:
576         (WebCore::createFragmentFromMarkup):
577         (WebCore::createFragmentForTransformToFragment):
578         * html/HTMLViewSourceDocument.cpp:
579         (WebCore::HTMLViewSourceDocument::createContainingTable):
580         Update callers of HTMLBodyElement::create() to pass a Document reference.
581
582 2013-09-14  Darin Adler  <darin@apple.com>
583
584         * rendering/RenderListMarker.cpp: Roll out accidentally-checked-in-code.
585
586 2013-09-14  Darin Adler  <darin@apple.com>
587
588         Add NeverDestroyed::get
589         https://bugs.webkit.org/show_bug.cgi?id=121358
590
591         Reviewed by Anders Carlsson.
592
593         * html/HTMLElement.cpp:
594         (WebCore::HTMLElement::parseAttribute): Use auto and the new get
595         function to make this code less repetitive.
596
597 2013-09-14  Sam Weinig  <sam@webkit.org>
598
599         There is no need for any custom bindings for Console
600         https://bugs.webkit.org/show_bug.cgi?id=121338
601
602         Reviewed by Timothy Hatcher.
603
604         * GNUmakefile.list.am:
605         * Target.pri:
606         * UseJSC.cmake:
607         * WebCore.vcxproj/WebCore.vcxproj:
608         * WebCore.vcxproj/WebCore.vcxproj.filters:
609         * WebCore.xcodeproj/project.pbxproj:
610         * bindings/js/JSBindingsAllInOne.cpp:
611         Remove JSConsoleCustom.cpp from project files.
612
613         * bindings/js/JSConsoleCustom.cpp:
614         Removed.
615
616         * page/Console.cpp:
617         (WebCore::Console::profile):
618         (WebCore::Console::profileEnd):
619         * page/Console.h:
620         Swap the order of the arguments to appease the bindings generator.
621
622         * page/Console.idl:
623         Add the [CallWith=ScriptState] attribute to pass the ExecState
624         and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
625         the right stringification.
626
627 2013-09-14  Anders Carlsson  <andersca@apple.com>
628
629         AnimationBase::m_animation is never null
630         https://bugs.webkit.org/show_bug.cgi?id=121360
631
632         Reviewed by Darin Adler.
633
634         Enforce this by using references instead of pointers.
635
636         * page/animation/AnimationBase.cpp:
637         * page/animation/AnimationBase.h:
638         * page/animation/CompositeAnimation.cpp:
639         * page/animation/ImplicitAnimation.cpp:
640         * page/animation/ImplicitAnimation.h:
641         * page/animation/KeyframeAnimation.cpp:
642         * page/animation/KeyframeAnimation.h:
643
644 2013-09-14  Darin Adler  <darin@apple.com>
645
646         Shrink the function that builds the event listener attribute name map
647         https://bugs.webkit.org/show_bug.cgi?id=121354
648
649         Reviewed by Andreas Kling.
650
651         * html/HTMLElement.cpp:
652         (WebCore::populateEventNameForAttributeLocalNameMap): Added. Uses a
653         table to populate the map.
654         (WebCore::eventNameForAttributeLocalNameMap): Added. Uses NeverDestroyed
655         to allocate a map, but does not initialize it.
656         (WebCore::HTMLElement::parseAttribute): Put code to use map in here.
657
658         * html/HTMLElement.h: Removed eventNameForAttributeName, no longer
659         a member function.
660
661 2013-09-14  Alberto Garcia  <berto@igalia.com>
662
663         [GTK] WebKitGTK+ is linking against libxslt in too many places
664         https://bugs.webkit.org/show_bug.cgi?id=121356
665
666         Reviewed by Martin Robinson.
667
668         Don't use LIBXSLT_CFLAGS when compiling libWebCorePlatform and
669         libWebCoreGtk, no source files use libxslt there.
670
671         * GNUmakefile.am:
672
673 2013-09-14  Joseph Pecoraro  <pecoraro@apple.com>
674
675         Web Inspector: InjectedScriptSource_js and InjectedScriptCanvasModuleSource_js should be minified
676         https://bugs.webkit.org/show_bug.cgi?id=121183
677
678         Reviewed by Timothy Hatcher.
679
680         * CMakeLists.txt:
681         * DerivedSources.make:
682         * DerivedSources.pri:
683         * GNUmakefile.am:
684         Minify files at build time before running xxd.pl.
685
686         * WebCore.xcodeproj/project.pbxproj:
687         * inspector/InjectedScriptCanvasModuleSource.js:
688         * inspector/InjectedScriptSource.js:
689         Strip trailing whitespace (touching the files so the derived sources are regenerated).
690
691         * inspector/InspectorOverlayPage.css: Added.
692         * inspector/InspectorOverlayPage.html:
693         * inspector/InspectorOverlayPage.js: Copied from Source/WebCore/inspector/InspectorOverlayPage.html.
694         Move JS and CSS to external files. They are inlined and minified at build time.
695
696         * inspector/Scripts/cssmin.py: Added.
697         * inspector/Scripts/jsmin.py: Added.
698         Copied from WebInspectorUI/Scripts.
699
700         * inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py: Added.
701         Add a script that can inline stylesheets and scripts. For minifying InspectorOverlayPage.html.
702
703 2013-09-14  Zan Dobersek  <zdobersek@igalia.com>
704
705         Unreviewed, fixing debug GTK builds after r155709.
706
707         * platform/gtk/PasteboardGtk.cpp:
708         (WebCore::Pasteboard::write): Assert that the PasteboardURL's URL is not empty.
709
710 2013-09-14  Andreas Kling  <akling@apple.com>
711
712         CTTE: RenderDetailsMarker is never anonymous.
713         <https://webkit.org/b/121355>
714
715         Reviewed by Darin Adler.
716
717         This renderer is never anonymous, and always has a corresponding DetailsMarkerControl.
718         Couldn't resist cleaning up the class a little bit, adding OVERRIDE and making
719         toRenderDetailsMarker() into a reference version.
720
721 2013-09-14  Andreas Kling  <akling@apple.com>
722
723         CTTE: RenderRubyAs{Block,Inline} are never anonymous.
724         <https://webkit.org/b/121353>
725
726         Reviewed by Darin Adler.
727
728         Replace element() with existingElement() and spam class with OVERRIDE.
729         Removed bogus removeLeftoverAnonymousBlock() override in RenderRubyAsInline
730         since it didn't override anything from a parent class.
731
732 2013-09-14  Andreas Kling  <akling@apple.com>
733
734         CTTE: RenderRubyText is never anonymous.
735         <https://webkit.org/b/121352>
736
737         Reviewed by Darin Adler.
738
739         Replace element() with existingElement() and spam class with OVERRIDE.
740
741 2013-09-14  Andreas Kling  <akling@apple.com>
742
743         CTTE: RenderSVGBlock renderers are never anonymous.
744         <https://webkit.org/b/121351>
745
746         Reviewed by Antti Koivisto.
747
748         RenderSVGBlock inherits from RenderBlockFlow, so needs separate treatment
749         from RenderSVGModelObject.
750
751         But like RSMO, these renderers are never anonymous, so add strongly typed
752         reference getters and do away with some magical type casts.
753
754 2013-09-14  Andreas Kling  <akling@apple.com>
755
756         CTTE: RenderSVGModelObject renderers are never anonymous.
757         <https://webkit.org/b/121350>
758
759         Reviewed by Darin Adler.
760
761         Flip the switch, turning RenderSVGModelObject::element() into a reference.
762
763 2013-09-13  Andreas Kling  <akling@apple.com>
764
765         CTTE: RenderSVGResourceClipper always has an SVGClipPathElement.
766         <https://webkit.org/b/121349>
767
768         Reviewed by Darin Adler.
769
770         This renderer is never anonymous. Tighten things up with a clipPathElement()
771         reference getter. Removed some unnecessary null checks and type casts.
772
773 2013-09-13  Andreas Kling  <akling@apple.com>
774
775         CTTE: RenderSVGResourceFilter always has an SVGFilterElement.
776         <https://webkit.org/b/121348>
777
778         Reviewed by Darin Adler.
779
780         This renderer is never anonymous. Tighten things up with a filterElement()
781         reference getter. Removed some unnecessary null checks and type casts.
782
783 2013-09-13  Darin Adler  <darin@apple.com>
784
785         Use a better name than m_invertibleCTM
786         https://bugs.webkit.org/show_bug.cgi?id=121341
787
788         Reviewed by Andreas Kling.
789
790         Rename isTransformInvertible to hasInvertibleTransform, and
791         m_invertibleCTM to m_hasInvertibleTransform.
792
793         * html/canvas/CanvasPathMethods.cpp:
794         (WebCore::CanvasPathMethods::moveTo):
795         (WebCore::CanvasPathMethods::lineTo):
796         (WebCore::CanvasPathMethods::quadraticCurveTo):
797         (WebCore::CanvasPathMethods::bezierCurveTo):
798         (WebCore::CanvasPathMethods::arcTo):
799         (WebCore::CanvasPathMethods::arc):
800         (WebCore::CanvasPathMethods::rect):
801         Updated for name change. Not really sure the name is good here,
802         because DOMPath doesn't have a transform at all; should switch
803         to a better name some day.
804
805         * html/canvas/CanvasPathMethods.h: Renamed, added a new constructor,
806         and made the virtual function private.
807
808         * html/canvas/CanvasRenderingContext2D.cpp:
809         (WebCore::CanvasRenderingContext2D::State::State):
810         (WebCore::CanvasRenderingContext2D::State::operator=):
811         (WebCore::CanvasRenderingContext2D::scale):
812         (WebCore::CanvasRenderingContext2D::rotate):
813         (WebCore::CanvasRenderingContext2D::translate):
814         (WebCore::CanvasRenderingContext2D::transform):
815         (WebCore::CanvasRenderingContext2D::setTransform):
816         (WebCore::CanvasRenderingContext2D::fill):
817         (WebCore::CanvasRenderingContext2D::stroke):
818         (WebCore::CanvasRenderingContext2D::clip):
819         (WebCore::CanvasRenderingContext2D::isPointInPath):
820         (WebCore::CanvasRenderingContext2D::isPointInStroke):
821         (WebCore::CanvasRenderingContext2D::clearRect):
822         (WebCore::CanvasRenderingContext2D::fillRect):
823         (WebCore::CanvasRenderingContext2D::strokeRect):
824         (WebCore::CanvasRenderingContext2D::drawImage):
825         (WebCore::CanvasRenderingContext2D::didDraw):
826         (WebCore::CanvasRenderingContext2D::drawTextInternal):
827         Updated for name change.
828
829         * html/canvas/CanvasRenderingContext2D.h: Updated for name change.
830         Also got rid of unneeded conditional around forward class declaration.
831
832         * html/canvas/DOMPath.h: Moved SVG-specific include into a
833         separate paragraph. Removed unneeded invocation  of WTF_MAKE_NONCOPYABLE,
834         which is already true since we inherit from RefCounted. Changed create
835         function argument to be a const*. Eliminated extra constructors that were
836         unneeded. Made the path-parsing create function SVG-only, rather than
837         compiling a useless empty one when compiling without SVG.
838
839 2013-09-13  Andreas Kling  <akling@apple.com>
840
841         CTTE: Tighter element types for RenderSVGResourceGradient and subclasses.
842         <https://webkit.org/b/121346>
843
844         Reviewed by Darin Adler
845
846         Codify the following:
847
848         - RenderSVGResourceGradient always has an SVGGradientElement.
849         - RenderSVGResourceLinearGradient always has an SVGLinearGradientElement.
850         - RenderSVGResourceRadialGradient always has an SVGRadialGradientElement.
851
852         None of these renderers are ever anonymous, so delete element() and provide
853         strongly typed reference getters instead.
854
855         Also made RenderSVGResourceGradient constructor protected since it should
856         never be instantiated directly.
857
858 2013-09-13  Andreas Kling  <akling@apple.com>
859
860         CTTE: RenderSVGResourceMarker always has an SVGMarkerElement.
861         <https://webkit.org/b/121345>
862
863         Reviewed by Brent Fulgham.
864
865         This renderer is never anonymous. Tighten things up with a maskElement()
866         reference getter. Removed some unnecessary type casts and assertions.
867
868 2013-09-13  Andreas Kling  <akling@apple.com>
869
870         CTTE: RenderSVGResourceMasker always has an SVGMaskElement.
871         <https://webkit.org/b/121344>
872
873         Reviewed by Brent Fulgham.
874
875         This renderer is never anonymous. Tighten things up with a maskElement()
876         reference getter. Removed some unnecessary null checks and assertions.
877
878 2013-09-13  Commit Queue  <commit-queue@webkit.org>
879
880         Unreviewed, rolling out r155738.
881         http://trac.webkit.org/changeset/155738
882         https://bugs.webkit.org/show_bug.cgi?id=121342
883
884         Broke many tests (Requested by ap on #webkit).
885
886         * GNUmakefile.list.am:
887         * Target.pri:
888         * UseJSC.cmake:
889         * WebCore.vcxproj/WebCore.vcxproj:
890         * WebCore.vcxproj/WebCore.vcxproj.filters:
891         * WebCore.xcodeproj/project.pbxproj:
892         * bindings/js/JSBindingsAllInOne.cpp:
893         * bindings/js/JSConsoleCustom.cpp: Added.
894         (WebCore::JSConsole::profile):
895         (WebCore::JSConsole::profileEnd):
896         * bindings/js/ScriptState.h:
897         * page/Console.cpp:
898         (WebCore::Console::profile):
899         (WebCore::Console::profileEnd):
900         * page/Console.h:
901         * page/Console.idl:
902
903 2013-09-12  Ryosuke Niwa  <rniwa@webkit.org>
904
905         CSSPropertyAnimation::ensurePropertyMap() is large
906         https://bugs.webkit.org/show_bug.cgi?id=121199
907
908         Reviewed by Darin Adler.
909
910         The bug was caused by repeated calls to Vector::append. Avoid it by storing pointers in a local array
911         and then adding them as we traverse them through to fill m_propertyToIdMap. Also reserve the full
912         initial capacity at once to avoid repeated calls to FastMalloc and FastFree.
913
914         * page/animation/CSSPropertyAnimation.cpp:
915         (WebCore::CSSPropertyAnimationWrapperMap::instance):
916         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty):
917         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex):
918         (WebCore::CSSPropertyAnimationWrapperMap::indexFromPropertyID):
919         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Renamed from ensurePropertyMap.
920         Also merged addShorthandProperties into it since they have to access local variables of the other.
921
922 2013-09-13  Ryuan Choi  <ryuan.choi@samsung.com>
923
924         Unreviewed build fix for EFL port.
925
926         * editing/efl/EditorEfl.cpp:
927         * platform/efl/PasteboardEfl.cpp:
928         (WebCore::Pasteboard::read):
929         (WebCore::Pasteboard::write):
930
931 2013-09-13  Sam Weinig  <sam@webkit.org>
932
933         Fix a few lingering ScriptStates.
934
935         Reviewed by Andy Estes.
936
937         * Modules/indexeddb/IDBCursor.cpp:
938         (WebCore::IDBCursor::update):
939         * Modules/indexeddb/IDBObjectStore.cpp:
940         (WebCore::IDBObjectStore::add):
941         (WebCore::IDBObjectStore::put):
942         * bindings/cpp/WebNativeNodeFilterCondition.cpp:
943         (WebNativeNodeFilterCondition::acceptNode):
944         * bindings/cpp/WebNativeNodeFilterCondition.h:
945         * dom/CustomElementConstructor.cpp:
946         (WebCore::CustomElementConstructor::create):
947         * dom/CustomElementConstructor.h:
948         * dom/CustomElementRegistry.cpp:
949         (WebCore::CustomElementRegistry::registerElement):
950         * dom/CustomElementRegistry.h:
951         * plugins/PluginView.cpp:
952         (WebCore::PluginView::performRequest):
953
954 2013-09-13  Darin Adler  <darin@apple.com>
955
956         Rename confusingly named "runtimeObject" functions
957         https://bugs.webkit.org/show_bug.cgi?id=121339
958
959         Also CTTE: HTMLElement.
960
961         Reviewed by Sam Weinig.
962
963         * bindings/js/JSHTMLAppletElementCustom.cpp:
964         (WebCore::JSHTMLAppletElement::putDelegate): Renamed.
965         (WebCore::JSHTMLAppletElement::getCallData): Renamed.
966         * bindings/js/JSHTMLEmbedElementCustom.cpp:
967         (WebCore::JSHTMLEmbedElement::putDelegate): Renamed.
968         (WebCore::JSHTMLEmbedElement::getCallData): Renamed.
969         * bindings/js/JSHTMLObjectElementCustom.cpp:
970         (WebCore::JSHTMLObjectElement::putDelegate): Renamed.
971         (WebCore::JSHTMLObjectElement::getCallData): Renamed.
972
973         * bindings/js/JSPluginElementFunctions.cpp:
974         (WebCore::isPluginElement): Changed to take HTMLElement&.
975         (WebCore::pluginInstance): Ditto.
976         (WebCore::pluginScriptObjectFromPluginViewBase): Updated for name and type change.
977         (WebCore::pluginScriptObject): Ditto.
978         (WebCore::pluginElementPropertyGetter): Ditto.
979         (WebCore::pluginElementCustomGetOwnPropertySlot): Ditto.
980         (WebCore::pluginElementCustomPut): Ditto.
981         (WebCore::pluginElementGetCallData): Ditto.
982
983         * bindings/js/JSPluginElementFunctions.h: Updated names and types.
984
985         * bindings/objc/WebScriptObject.mm:
986         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
987         Updated for type change.
988         * bridge/runtime_method.cpp:
989         (JSC::callRuntimeMethod): Ditto.
990
991 2013-09-13  Sam Weinig  <sam@webkit.org>
992
993         There is no need for any custom bindings for Console
994         https://bugs.webkit.org/show_bug.cgi?id=121338
995
996         Reviewed by Joseph Pecoraro.
997
998         * GNUmakefile.list.am:
999         * Target.pri:
1000         * UseJSC.cmake:
1001         * WebCore.vcxproj/WebCore.vcxproj:
1002         * WebCore.vcxproj/WebCore.vcxproj.filters:
1003         * WebCore.xcodeproj/project.pbxproj:
1004         * bindings/js/JSBindingsAllInOne.cpp:
1005         Remove JSConsoleCustom.cpp from project files.
1006
1007         * bindings/js/JSConsoleCustom.cpp:
1008         Removed.
1009
1010         * page/Console.cpp:
1011         (WebCore::Console::profile):
1012         (WebCore::Console::profileEnd):
1013         * page/Console.h:
1014         Swap the order of the arguments to appease the bindings generator.
1015
1016         * page/Console.idl:
1017         Add the [CallWith=ScriptState] attribute to pass the ExecState
1018         and [TreatNullAs=NullString, TreatUndefinedAs=NullString] to get
1019         the right stringification.
1020
1021 2013-09-13  Sam Weinig  <sam@webkit.org>
1022
1023         Part 2 of Replace ScriptState with JSC::ExecState
1024         https://bugs.webkit.org/show_bug.cgi?id=121336
1025
1026         * dom/Document.h:
1027         There is no WebCore::JSC namespace!
1028
1029 2013-09-13  Sam Weinig  <sam@webkit.org>
1030
1031         Replace ScriptState with JSC::ExecState
1032         https://bugs.webkit.org/show_bug.cgi?id=121336
1033
1034         Reviewed by Darin Adler.
1035
1036         * Modules/indexeddb/IDBCursor.h:
1037         * Modules/indexeddb/IDBObjectStore.h:
1038         * bindings/js/JSInjectedScriptHostCustom.cpp:
1039         * bindings/js/JSInjectedScriptManager.cpp:
1040         * bindings/js/JSNodeCustom.cpp:
1041         * bindings/js/JSNodeFilterCondition.h:
1042         * bindings/js/ScriptController.cpp:
1043         * bindings/js/ScriptDebugServer.cpp:
1044         * bindings/js/ScriptDebugServer.h:
1045         * bindings/js/ScriptEventListener.cpp:
1046         * bindings/js/ScriptEventListener.h:
1047         * bindings/js/ScriptFunctionCall.cpp:
1048         * bindings/js/ScriptFunctionCall.h:
1049         * bindings/js/ScriptObject.cpp:
1050         * bindings/js/ScriptObject.h:
1051         * bindings/js/ScriptProfiler.cpp:
1052         * bindings/js/ScriptProfiler.h:
1053         * bindings/js/ScriptState.cpp:
1054         * bindings/js/ScriptState.h:
1055         * bindings/js/ScriptValue.cpp:
1056         * bindings/js/ScriptValue.h:
1057         * bindings/js/SerializedScriptValue.cpp:
1058         * bindings/js/SerializedScriptValue.h:
1059         * dom/Document.cpp:
1060         * dom/Document.h:
1061         * dom/NodeFilter.cpp:
1062         * dom/NodeFilter.h:
1063         * dom/NodeFilterCondition.cpp:
1064         * dom/NodeFilterCondition.h:
1065         * dom/NodeIterator.cpp:
1066         * dom/NodeIterator.h:
1067         * dom/ScriptExecutionContext.cpp:
1068         * dom/ScriptExecutionContext.h:
1069         * dom/Traversal.cpp:
1070         * dom/Traversal.h:
1071         * dom/TreeWalker.cpp:
1072         * dom/TreeWalker.h:
1073         * inspector/ConsoleMessage.cpp:
1074         * inspector/ConsoleMessage.h:
1075         * inspector/InjectedScript.h:
1076         * inspector/InjectedScriptBase.cpp:
1077         * inspector/InjectedScriptBase.h:
1078         * inspector/InjectedScriptCanvasModule.cpp:
1079         * inspector/InjectedScriptCanvasModule.h:
1080         * inspector/InjectedScriptHost.cpp:
1081         * inspector/InjectedScriptHost.h:
1082         * inspector/InjectedScriptManager.cpp:
1083         * inspector/InjectedScriptManager.h:
1084         * inspector/InjectedScriptModule.cpp:
1085         * inspector/InjectedScriptModule.h:
1086         * inspector/InspectorAgent.cpp:
1087         * inspector/InspectorCanvasAgent.cpp:
1088         * inspector/InspectorCanvasAgent.h:
1089         * inspector/InspectorConsoleAgent.cpp:
1090         * inspector/InspectorConsoleAgent.h:
1091         * inspector/InspectorConsoleInstrumentation.h:
1092         * inspector/InspectorDOMAgent.cpp:
1093         * inspector/InspectorDebuggerAgent.cpp:
1094         * inspector/InspectorDebuggerAgent.h:
1095         * inspector/InspectorFrontendClientLocal.cpp:
1096         * inspector/InspectorFrontendHost.cpp:
1097         * inspector/InspectorIndexedDBAgent.cpp:
1098         * inspector/InspectorInstrumentation.cpp:
1099         * inspector/InspectorInstrumentation.h:
1100         * inspector/PageConsoleAgent.cpp:
1101         * inspector/PageDebuggerAgent.cpp:
1102         * inspector/PageRuntimeAgent.cpp:
1103         * inspector/PageRuntimeAgent.h:
1104         * inspector/ScriptArguments.cpp:
1105         * inspector/ScriptArguments.h:
1106         * inspector/ScriptDebugListener.h:
1107         * inspector/WorkerDebuggerAgent.cpp:
1108         * inspector/WorkerRuntimeAgent.cpp:
1109         * page/Console.cpp:
1110         * page/Console.h:
1111         * page/ContentSecurityPolicy.cpp:
1112         * page/ContentSecurityPolicy.h:
1113         * page/PageConsole.cpp:
1114         * page/PageConsole.h:
1115         * workers/WorkerGlobalScope.cpp:
1116         * workers/WorkerGlobalScope.h:
1117
1118 2013-09-13  Sam Weinig  <sam@webkit.org>
1119
1120         Chrome, DragController and FocusController should hold onto a Page&
1121         https://bugs.webkit.org/show_bug.cgi?id=121325
1122
1123         Reviewed by Anders Carlsson.
1124
1125         * editing/FrameSelection.cpp:
1126         * editing/FrameSelection.h:
1127         * page/Chrome.cpp:
1128         (WebCore::Chrome::Chrome):
1129         (WebCore::Chrome::scroll):
1130         (WebCore::Chrome::createWindow):
1131         (WebCore::canRunModalIfDuringPageDismissal):
1132         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
1133         (WebCore::Chrome::runJavaScriptAlert):
1134         (WebCore::Chrome::runJavaScriptConfirm):
1135         (WebCore::Chrome::runJavaScriptPrompt):
1136         (WebCore::Chrome::mouseDidMoveOverElement):
1137         (WebCore::Chrome::setToolTip):
1138         (WebCore::Chrome::windowScreenDidChange):
1139         * page/Chrome.h:
1140         * page/DragController.cpp:
1141         * page/DragController.h:
1142         * page/mac/DragControllerMac.mm:
1143         * page/FocusController.cpp:
1144         * page/FocusController.h:
1145         * page/Page.cpp:
1146         (WebCore::Page::Page):
1147         * page/PageGroupLoadDeferrer.cpp:
1148         * page/PageGroupLoadDeferrer.h:
1149         Take references where possible.
1150
1151 2013-09-13  Anders Carlsson  <andersca@apple.com>
1152
1153         Use nullptr instead of 0 in calls to HashMap::add
1154         https://bugs.webkit.org/show_bug.cgi?id=121322
1155
1156         Reviewed by Sam Weinig.
1157
1158         * bridge/IdentifierRep.cpp:
1159         (WebCore::IdentifierRep::get):
1160         * css/CSSFontFaceSource.cpp:
1161         (WebCore::CSSFontFaceSource::getFontData):
1162         * css/CSSFontSelector.cpp:
1163         (WebCore::CSSFontSelector::getFontFace):
1164         * css/CSSSegmentedFontFace.cpp:
1165         (WebCore::CSSSegmentedFontFace::getFontData):
1166         * css/CSSValuePool.cpp:
1167         (WebCore::CSSValuePool::createFontFamilyValue):
1168         (WebCore::CSSValuePool::createFontFaceValue):
1169         * dom/ChildListMutationScope.cpp:
1170         (WebCore::ChildListMutationAccumulator::getOrCreate):
1171         * dom/Document.cpp:
1172         (WebCore::Document::getCSSCanvasElement):
1173         * dom/NodeRareData.h:
1174         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
1175         (WebCore::NodeListsNodeData::addCacheWithName):
1176         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
1177         * loader/appcache/ApplicationCacheStorage.cpp:
1178         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
1179         * page/PageGroup.cpp:
1180         (WebCore::PageGroup::pageGroup):
1181         * page/animation/AnimationController.cpp:
1182         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
1183         * platform/mac/ScrollbarThemeMac.mm:
1184         (WebCore::ScrollbarThemeMac::registerScrollbar):
1185         * storage/StorageNamespaceImpl.cpp:
1186         (WebCore::StorageNamespaceImpl::localStorageNamespace):
1187
1188 2013-09-13  Sam Weinig  <sam@webkit.org>
1189
1190         ContextMenuController should hold onto a Page&
1191         https://bugs.webkit.org/show_bug.cgi?id=121320
1192
1193         Reviewed by Anders Carlsson.
1194
1195         * page/ContextMenuController.cpp:
1196         (WebCore::ContextMenuController::ContextMenuController):
1197         (WebCore::ContextMenuController::~ContextMenuController):
1198         (WebCore::ContextMenuController::showContextMenu):
1199         (WebCore::ContextMenuController::contextMenuItemSelected):
1200         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
1201         (WebCore::ContextMenuController::showContextMenuAt):
1202         * page/ContextMenuController.h:
1203         Store the Page and ContextMenuClient as references.
1204
1205         * page/Page.cpp:
1206         (WebCore::Page::Page):
1207         Pass the Page and ContextMenuClient as references and switch to using createOwned<>().
1208
1209 2013-09-13  Tim Horton  <timothy_horton@apple.com>
1210
1211         Apply OVERRIDE and FINAL to Image subclasses and clean them up
1212         https://bugs.webkit.org/show_bug.cgi?id=121086
1213
1214         Reviewed by Alexey Proskuryakov.
1215
1216         Everything other than the copious application of OVERRIDE and FINAL
1217         is explicitly called out below.
1218
1219         * WebCore.exp.in:
1220         Export the correct version of getCGImageRef for use by WebKit2.
1221
1222         * platform/graphics/BitmapImage.cpp:
1223         * platform/graphics/BitmapImage.h:
1224         Drive-by inline isBitmapImage.
1225         Move create(HBITMAP) to be near the other create() functions.
1226         Move all of the members private.
1227         Devirtualize frameCount().
1228         Move notSolidColor() near the other solid color functions.
1229
1230         * platform/graphics/CrossfadeGeneratedImage.cpp:
1231         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
1232         (WebCore::CrossfadeGeneratedImage::drawPattern):
1233         * platform/graphics/GeneratorGeneratedImage.cpp:
1234         (WebCore::GeneratorGeneratedImage::draw):
1235         (WebCore::GeneratorGeneratedImage::drawPattern):
1236         Use size() and setContainerSize() instead of directly accessing a
1237         superclass' (now private, previously protected) members.
1238
1239         * platform/graphics/CrossfadeGeneratedImage.h:
1240         * platform/graphics/GeneratedImage.h:
1241         Make m_size private, I don't think we do protected members.
1242         
1243         * platform/graphics/GeneratorGeneratedImage.h:
1244         Make all the members private.
1245
1246         * svg/graphics/SVGImage.h:
1247         * svg/graphics/SVGImageForContainer.h:
1248
1249 2013-09-13  Alexey Proskuryakov  <ap@apple.com>
1250
1251         [Mac] WebCore Web Inspector files are only copied as part of clean build
1252         https://bugs.webkit.org/show_bug.cgi?id=121316
1253
1254         Reviewed by Timothy Hatcher.
1255
1256         Removed insufficient dependencies to make the phase run unconditionally.
1257
1258         * WebCore.xcodeproj/project.pbxproj:
1259
1260 2013-09-13  Eric Carlson  <eric.carlson@apple.com>
1261
1262         CodeGeneratorJS doesn't generate header includes for sequence<type>
1263         https://bugs.webkit.org/show_bug.cgi?id=121314
1264
1265         Reviewed by Dean Jackson.
1266
1267         * bindings/scripts/CodeGeneratorJS.pm:
1268         (SkipIncludeHeader): Don't return false for sequence and array types.
1269         (AddIncludesForType): Do add includes for sequence and array types.
1270         (GenerateCallbackImplementation):
1271         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Regenerated
1272         * bindings/scripts/test/JS/JSTestTypedefs.h: Ditto.
1273         * bindings/scripts/test/TestTypedefs.idl: Add a method that takes a sequence<TestEventTarget>.
1274
1275 2013-09-13  Andreas Kling  <akling@apple.com>
1276
1277         CTTE: RenderSVGResourcePattern always has an SVGPatternElement.
1278         <https://webkit.org/b/121313>
1279
1280         Reviewed by Anders Carlsson.
1281
1282         This renderer is never anonymous. Tighten things up with a patternElement()
1283         reference getter. Removed some unnecessary null checks and assertions.
1284
1285 2013-09-13  Darin Adler  <darin@apple.com>
1286
1287         Remove layering-violating Pasteboard::plainText function (for all platforms now)
1288         https://bugs.webkit.org/show_bug.cgi?id=121312
1289
1290         Reviewed by Antti Koivisto.
1291
1292         * editing/Editor.cpp:
1293         (WebCore::Editor::pasteAsPlainTextWithPasteboard): Call readPlainTextFromPasteboard
1294         on all platforms, not just Mac and EFL. Also call canSmartReplaceWithPasteboard with
1295         a reference instead of a pointer.
1296         (WebCore::Editor::readPlainTextFromPasteboard): Added. This is a cross-platform
1297         version of what was previously a Mac-only function.
1298         (WebCore::Editor::plainTextFromPasteboard): Added. This is the simple non-Mac version
1299         of this function.
1300         (WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
1301         with a reference.
1302         (WebCore::Editor::canSmartReplaceWithPasteboard): Updated to take a reference.
1303
1304         * editing/Editor.h: Make readPlainTextFromPasteboard cross-platform instead of
1305         Mac-only. Also changed argument to canSmartReplaceWithPasteboard to be a reference.
1306         Also added private plainTextFromPasteboard function.
1307
1308         * editing/mac/EditorMac.mm:
1309         (WebCore::Editor::pasteWithPasteboard): Updated to call canSmartReplaceWithPasteboard
1310         with a reference.
1311         (WebCore::Editor::plainTextFromPasteboard): Added. Contains the Mac-specific parts
1312         of the readPlainTextFromPasteboard function.
1313
1314         * platform/Pasteboard.h: Fixed a conditional in the PasteboardPlainText struct to
1315         omit iOS. Removed the layering-voiolating plainText function.
1316
1317         * platform/blackberry/PasteboardBlackBerry.cpp:
1318         (WebCore::Pasteboard::read): Renamed from plainText and updated to new calling
1319         convention.
1320         * platform/gtk/PasteboardGtk.cpp:
1321         (WebCore::Pasteboard::read): Ditto.
1322         * platform/ios/PasteboardIOS.mm:
1323         (WebCore::Pasteboard::read): Ditto.
1324         * platform/nix/PasteboardNix.cpp:
1325         (WebCore::Pasteboard::read): Ditto.
1326         * platform/qt/PasteboardQt.cpp:
1327         (WebCore::Pasteboard::read): Ditto.
1328         * platform/win/PasteboardWin.cpp:
1329         (WebCore::Pasteboard::read): Ditto.
1330
1331 2013-09-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1332
1333         [GTK] Move to the new web inspector
1334         https://bugs.webkit.org/show_bug.cgi?id=120647
1335
1336         Reviewed by Carlos Garcia Campos.
1337
1338         No tests for the new inspector UI as of yet.
1339
1340         * GNUmakefile.am: no longer install the deprecated inspector UI files.
1341         * WebCore.exp.in: add SchemeRegistry symbol that is now used.
1342
1343 2013-09-13  Darin Adler  <darin@apple.com>
1344
1345         Try to fix Qt build.
1346
1347         * platform/qt/PasteboardQt.cpp:
1348         (WebCore::Pasteboard::write): Update variable name at one place I missed.
1349
1350 2013-09-13  Arvid Nilsson  <anilsson@rim.com>
1351
1352         [BlackBerry] Scrolling and zooming is slow when Flash plugin visible
1353         https://bugs.webkit.org/show_bug.cgi?id=120618
1354
1355         Reviewed by Anders Carlsson.
1356         Internally reviewed by Jacky Jiang.
1357
1358         JIRA 490823
1359         Compositing Flash plugin content triggered a workaround for a graphics
1360         driver quirk. The workaround was actually related to WebGL, not Flash,
1361         back when we used glCopyTexImage to implement WebGL double buffering
1362         (see PR 148933 and 150228 for more details of the old implementation).
1363
1364         Originally, both WebGL and plugin layers added themselves to the
1365         LayerRenderer::m_layersLockingTextureResources list. Now only plugin
1366         layers use this list.
1367         The glCopyTexImage code was removed long ago, and WebGL now uses the
1368         EGLImage-based double buffering approach implemented in
1369         EGLImageLayerWebKitThread and EGLImageLayerCompositingThreadClient.
1370
1371         Fixed by removing the now obsolete workaround, a call to "glFinish".
1372         This considerably improves the frame rate of zooming and scrolling when
1373         Flash content is visible.
1374
1375         Improvement in frame rate not appropriate to test using layout tests,
1376         could easily result in flaky test.
1377
1378         * platform/graphics/blackberry/LayerRenderer.cpp:
1379         (WebCore::LayerRenderer::compositeLayers):
1380
1381 2013-09-13  Zoltan Horvath  <zoltan@webkit.org>
1382
1383         Move LineLayoutState class to LineLayoutState.h
1384         https://bugs.webkit.org/show_bug.cgi?id=121263
1385
1386         Reviewed by Ryosuke Niwa.
1387
1388         I added bitfields, reordered the members and a functions too.
1389
1390         No new tests, no behavior change.
1391
1392         * rendering/LineLayoutState.h: Added.
1393         (WebCore::LineLayoutState::LineLayoutState):
1394         (WebCore::LineLayoutState::markForFullLayout):
1395         (WebCore::LineLayoutState::isFullLayout):
1396         (WebCore::LineLayoutState::usesRepaintBounds):
1397         (WebCore::LineLayoutState::setRepaintRange):
1398         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
1399         (WebCore::LineLayoutState::endLineMatched):
1400         (WebCore::LineLayoutState::setEndLineMatched):
1401         (WebCore::LineLayoutState::checkForFloatsFromLastLine):
1402         (WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
1403         (WebCore::LineLayoutState::lineInfo):
1404         (WebCore::LineLayoutState::endLineLogicalTop):
1405         (WebCore::LineLayoutState::setEndLineLogicalTop):
1406         (WebCore::LineLayoutState::endLine):
1407         (WebCore::LineLayoutState::setEndLine):
1408         (WebCore::LineLayoutState::lastFloat):
1409         (WebCore::LineLayoutState::setLastFloat):
1410         (WebCore::LineLayoutState::floats):
1411         (WebCore::LineLayoutState::floatIndex):
1412         (WebCore::LineLayoutState::setFloatIndex):
1413         (WebCore::LineLayoutState::adjustedLogicalLineTop):
1414         (WebCore::LineLayoutState::setAdjustedLogicalLineTop):
1415         (WebCore::LineLayoutState::flowThread):
1416         (WebCore::LineLayoutState::setFlowThread):
1417         * rendering/RenderBlockLineLayout.cpp: Remove LineLayoutState.
1418
1419 2013-09-13  Darin Adler  <darin@apple.com>
1420
1421         Remove layering-violating Pasteboard::writeURL (for all platforms now)
1422         https://bugs.webkit.org/show_bug.cgi?id=121306
1423
1424         Reviewed by Antti Koivisto.
1425
1426         * editing/Editor.cpp:
1427         (WebCore::Editor::copyURL): Move the contents of the writeURLToPasteboard function
1428         in here.
1429
1430         * editing/Editor.h: Removed Mac-specific writeURLToPasteboard, added private
1431         Mac-specific fillInUserVisibleForm function for the one Mac-specific part of writing URLs.
1432
1433         * editing/efl/EditorEfl.cpp: Deleted Editor::writeURLToPasteboard.
1434
1435         * editing/mac/EditorMac.mm: Deleted Editor::writeURLToPasteboard, moving the code
1436         into copyURL.
1437         (WebCore::Editor::fillInUserVisibleForm): Added.
1438
1439         * page/DragController.cpp:
1440         (WebCore::DragController::startDrag): Call copyURL instead of writeURL or
1441         writeURLToPasteboard.
1442
1443         * platform/Pasteboard.h: Fixed up the PasteboardURL struct so it's suitable for
1444         cross-platform use. Removed the writeURL function. Removed the Frame* argument from
1445         the Windows-specific writeURLToDataObject function.
1446
1447         * platform/blackberry/PasteboardBlackBerry.cpp:
1448         (WebCore::Pasteboard::write): Renamed/refactored from writeURL.
1449         * platform/gtk/PasteboardGtk.cpp:
1450         (WebCore::Pasteboard::write): Ditto.
1451         * platform/nix/PasteboardNix.cpp:
1452         (WebCore::Pasteboard::write): Ditto.
1453         * platform/qt/PasteboardQt.cpp:
1454         (WebCore::Pasteboard::write): Ditto.
1455         * platform/win/PasteboardWin.cpp:
1456         (WebCore::Pasteboard::writeURLToDataObject): Removed unused Frame* argument.
1457         (WebCore::Pasteboard::write): Renamed/refactored from writeURL.
1458
1459 2013-09-13  Chris Fleizach  <cfleizach@apple.com>
1460
1461         AX: AXPress does not work in SVG
1462         https://bugs.webkit.org/show_bug.cgi?id=121248
1463
1464         Reviewed by Mario Sanchez Prada.
1465
1466         Implement accessKeyAction() on SVGElements, which is what accessibility code
1467         uses in order to activate Elements.
1468
1469         Test: accessibility/svg-element-press.html
1470
1471         * svg/SVGElement.cpp:
1472         (WebCore::SVGElement::accessKeyAction):
1473         * svg/SVGElement.h:
1474
1475 2013-09-13  Andreas Kling  <akling@apple.com>
1476
1477         [CTTE] RenderSVGTransformableContainer is never anonymous.
1478         <https://webkit.org/b/121304>
1479
1480         Reviewed by Anders Carlsson.
1481
1482         This renderer is never anonymous. Tighten things up with a graphicsElement()
1483         reference getter.
1484
1485 2013-09-13  Andreas Kling  <akling@apple.com>
1486
1487         [CTTE] RenderSVGImage always has a SVGImageElement.
1488         <https://webkit.org/b/121301>
1489
1490         Reviewed by Anders Carlsson.
1491
1492         This renderer is never anonymous, and always has a corresponding SVGImageElement.
1493
1494 2013-09-13  Andreas Kling  <akling@apple.com>
1495
1496         [CTTE] Tighter element types for RenderSVGShape and subclasses.
1497         <https://webkit.org/b/121302>
1498
1499         Reviewed by Antti Koivisto.
1500
1501         Codify the following:
1502
1503         - RenderSVGPath always has an SVGGraphicsElement.
1504         - RenderSVGEllipse always has an SVGGraphicsElement.
1505         - RenderSVGRect always has an SVGRectElement.
1506         - RenderSVGShape always has an SVGGraphicsElement.
1507
1508         None of these renderers are ever anonymous, so delete element() and provide
1509         strongly typed reference getters instead.
1510
1511 2013-09-13  Andreas Kling  <akling@apple.com>
1512
1513         [CTTE] RenderSVGResourceFilterPrimitive always has an SVGFilterPrimitiveStandardAttributes.
1514         <https://webkit.org/b/121300>
1515
1516         Reviewed by Anders Carlsson.
1517
1518         This renderer is never anonymous, and always has a corresponding SVGFilterPrimitiveStandardAttributes element. 
1519
1520 2013-09-12  Darin Adler  <darin@apple.com>
1521
1522         Finish removing layer-violating code from Pasteboard (just for Mac during this first step)
1523         https://bugs.webkit.org/show_bug.cgi?id=121279
1524
1525         Reviewed by Anders Carlsson.
1526
1527         * editing/Editor.h: Added webContentFromPasteboard member function, private nested class
1528         WebContentReader, private createFragmentForImageResourceAndAddResource and
1529         createFragmentAndAddResources member functions.
1530
1531         * editing/mac/EditorMac.mm: Re-sorted includes and added some.
1532         (WebCore::Editor::pasteWithPasteboard): Call the new webContentFromPasteboard function.
1533         (WebCore::Editor::insertParagraphSeparatorInQuotedContent): Comment tweak.
1534         (WebCore::styleForSelectionStart): Removed an unneeded call to String::impl.
1535         (WebCore::Editor::readPlainTextFromPasteboard): Updated to use an isURL boolean instead
1536         of a separate string named "url".
1537         (WebCore::Editor::WebContentReader::readWebArchive): Added. Contains reworked code that
1538         was originally in Pasteboard::documentFragment.
1539         (WebCore::Editor::WebContentReader::readFilenames): Ditto.
1540         (WebCore::Editor::WebContentReader::readHTML): Ditto.
1541         (WebCore::Editor::WebContentReader::readRTFD): Ditto.
1542         (WebCore::Editor::WebContentReader::readRTF): Ditto.
1543         (WebCore::Editor::WebContentReader::readImage): Ditto.
1544         (WebCore::Editor::WebContentReader::readURL): Ditto.
1545         (WebCore::Editor::WebContentReader::readPlainText): Ditto.
1546         (WebCore::Editor::webContentFromPasteboard): Added. Uses WebContentReader to read the
1547         content from the pasteboard.
1548         (WebCore::Editor::createFragmentForImageResourceAndAddResource): Added. Helper used
1549         by code above.
1550         (WebCore::Editor::createFragmentAndAddResources): Ditto.
1551
1552         * platform/Pasteboard.h: Added new PasteboardWebContentReader abstract class so
1553         client can get the various types of pasteboard content and stop on the kind it
1554         can handle. Improved comments and formatting a bit. Removed documentFragment
1555         when compiling for PLATFORM(MAC).
1556
1557         * platform/mac/DragDataMac.mm:
1558         (WebCore::DragData::asFragment): Changed to use Editor::webContentFromPasteboard.
1559
1560         * platform/mac/PasteboardMac.mm:
1561         (WebCore::Pasteboard::read): Updated the plain text overload of this for changes
1562         to the struct that holds the result. Added a new web content overload of this,
1563         which retains the pasteboard-reading part of Pasteboard::documentFragment, but
1564         omits the document fragment construction part.
1565
1566 2013-09-13  Andreas Kling  <akling@apple.com>
1567
1568         [CTTE] RenderSVGText always has a SVGTextElement.
1569         <https://webkit.org/b/121299>
1570
1571         Reviewed by Antti Koivisto.
1572
1573         This renderer is never anonymous, and always has a corresponding <svg> element.
1574         Tighten this up and remove some pointless assertions.
1575
1576 2013-09-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1577
1578         Remove support for QXmlStream as the XML parser.
1579         https://bugs.webkit.org/show_bug.cgi?id=121229
1580
1581         Reviewed by Andreas Kling.
1582
1583         Remove the implementation and all the #ifdef related to it.
1584
1585         * Target.pri:
1586         * WebCore.pri:
1587         * dom/TransformSource.h:
1588         * xml/XMLErrors.h:
1589         * xml/XSLStyleSheet.h:
1590         * xml/XSLTProcessor.h:
1591         * xml/parser/XMLDocumentParser.cpp:
1592         (WebCore::XMLDocumentParser::enterText):
1593         (WebCore::toString):
1594         (WebCore::XMLDocumentParser::exitText):
1595         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
1596         * xml/parser/XMLDocumentParser.h:
1597         * xml/parser/XMLDocumentParserQt.cpp: Removed.
1598
1599 2013-09-13  Andreas Kling  <akling@apple.com>
1600
1601         [CTTE] RenderSVGViewportContainer always has a SVGSVGElement.
1602         <https://webkit.org/b/121297>
1603
1604         Reviewed by Antti Koivisto.
1605
1606         This renderer is never anonymous, and always has a corresponding <svg> element.
1607         Tighten this up and remove some pointless null checks and type checks.
1608
1609 2013-09-13  Andreas Kling  <akling@apple.com>
1610
1611         [CTTE] RenderSVGRoot always has a SVGSVGElement.
1612         <https://webkit.org/b/121293>
1613
1614         Reviewed by Antti Koivisto.
1615
1616         This renderer is never anonymous, and always has a corresponding <svg> element.
1617         Tighten this up and remove some pointless null checks and assertions.
1618
1619 2013-09-13  Andreas Kling  <akling@apple.com>
1620
1621         Remove support for anonymous deprecated flexboxes.
1622         <https://webkit.org/b/121288>
1623
1624         Reviewed by Antti Koivisto.
1625
1626         There are no remaining internal clients of RenderDeprecatedFlexibleBox,
1627         Nuke a FIXME from r143643 where the move to basing renderers on new flexbox started.
1628
1629         This was the only user of anonymous deprecated flexbox, so removed the ability to
1630         construct those.
1631
1632         Also removed some Chrome-related feature observation gunk from constructor.
1633
1634 2013-09-13  Andreas Kling  <akling@apple.com>
1635
1636         [CTTE] RenderMultiColumnBlock is never anonymous.
1637         <https://webkit.org/b/121292>
1638
1639         Reviewed by Antti Koivisto.
1640
1641         Hide element() and provide existingElement() instead, returning an Element&.
1642
1643 2013-09-13  Andreas Kling  <akling@apple.com>
1644
1645         [CTTE] RenderGrid is never anonymous.
1646         <https://webkit.org/b/121290>
1647
1648         Reviewed by Antti Koivisto.
1649
1650         Hide element() and provide existingElement() instead, returning an Element&.
1651
1652 2013-09-13  Andreas Kling  <akling@apple.com>
1653
1654         [CTTE] RenderTableCaption is never anonymous.
1655         <https://webkit.org/b/121289>
1656
1657         Reviewed by Antti Koivisto.
1658
1659         Hide element() and provide existingElement() instead, returning an Element&.
1660
1661 2013-09-13  Andreas Kling  <akling@apple.com>
1662
1663         [CTTE] RenderTableCol is never anonymous.
1664         <https://webkit.org/b/121286>
1665
1666         Reviewed by Antti Koivisto.
1667
1668         Hide element() and provide existingElement() instead, returning an Element&.
1669         Removed one bogus null check that was exposed.
1670
1671 2013-09-13  Andreas Kling  <akling@apple.com>
1672
1673         [CTTE] RenderListItem is never anonymous.
1674         <https://webkit.org/b/121285>
1675
1676         Reviewed by Antti Koivisto.
1677
1678         Hide element() and provide existingElement() instead, returning an Element&.
1679         Removed some bogus assertions that were exposed by this.
1680
1681 2013-09-13  Andreas Kling  <akling@apple.com>
1682
1683         [CTTE] Tighter element types for RenderSVGInline and subclasses.
1684         <https://webkit.org/b/121283>
1685
1686         Reviewed by Antti Koivisto.
1687
1688         Codify the following:
1689
1690         - RenderSVGInline always has an SVGGraphicsElement.
1691         - RenderSVGTextPath always has an SVGTextPathElement.
1692         - RenderSVGTSpan always has an SVGTextPositioningElement.
1693
1694         None of these renderers are ever anonymous, so delete element() and provide
1695         strongly typed reference getters instead.
1696
1697 2013-09-13  Andreas Kling  <akling@apple.com>
1698
1699         [CTTE] RenderFileUploadControl always has a HTMLInputElement.
1700         <https://webkit.org/b/121278>
1701
1702         Reviewed by Darin Adler.
1703
1704         RenderFileUploadControl is never anonymous and always has a corresponding HTMLInputElement.
1705
1706 2013-09-13  Andreas Kling  <akling@apple.com>
1707
1708         [CTTE] RenderFieldset always has a HTMLFieldSetElement.
1709         <https://webkit.org/b/121277>
1710
1711         Reviewed by Darin Adler.
1712
1713         RenderFieldset is never anonymous and always has a corresponding HTMLFieldSetElement.
1714
1715 2013-09-13  Andreas Kling  <akling@apple.com>
1716
1717         [CTTE] RenderButton always has a HTMLFormControlElement.
1718         <https://webkit.org/b/121281>
1719
1720         Reviewed by Antti Koivisto.
1721
1722         RenderButton is never anonymous and has either a <button> or an <input> element,
1723         and their nearest shared ancestor is HTMLFormControlElement.
1724
1725 2013-09-13  Darin Adler  <darin@apple.com>
1726
1727         Give actions in Range class NON_SHOUTING_NAMES
1728         https://bugs.webkit.org/show_bug.cgi?id=121280
1729
1730         Reviewed by Andreas Kling.
1731
1732         * dom/Range.cpp:
1733         (WebCore::Range::deleteContents):
1734         (WebCore::Range::processContents):
1735         (WebCore::Range::processContentsBetweenOffsets):
1736         (WebCore::Range::processNodes):
1737         (WebCore::Range::processAncestorsAndTheirSiblings):
1738         (WebCore::Range::extractContents):
1739         (WebCore::Range::cloneContents):
1740         * dom/Range.h:
1741         Just let do-webcore-rename do its thing.
1742         - DELETE_CONTENTS -> Delete
1743         - EXTRACT_CONTENTS -> Extract
1744         - CLONE_CONTENTS -> Clone
1745
1746 2013-09-12  Santosh Mahto  <santosh.ma@samsung.com>
1747
1748         [EFL]Background Style of element not visible because of  default theme style
1749         https://bugs.webkit.org/show_bug.cgi?id=117405
1750
1751         Reviewed by Gyuyoung Kim.
1752
1753         When select element is styled with css background property(color/image) the styling
1754         gets hidden by Combo box non transparent image. This patch handle the
1755         case and transparent images are used when select image is styled. So
1756         now background-color and background-image are visible across the Combo box
1757         
1758         The code is added to support css styling of other theme control,
1759         Basically an extra signal is emitted to edje which change the state 
1760         of edje object whenever the control is styled.
1761
1762         Covered by existing test case, updated the test expected image.
1763
1764         * platform/efl/DefaultTheme/CMakeLists.txt:
1765         * platform/efl/DefaultTheme/widget/combo/combo.edc:
1766         * platform/efl/DefaultTheme/widget/combo/combo_focus_button_transparent.png: Added.
1767         * platform/efl/DefaultTheme/widget/combo/combo_focus_transparent.png: Added.
1768         * platform/efl/DefaultTheme/widget/combo/combo_hover_button_transparent.png: Added.
1769         * platform/efl/DefaultTheme/widget/combo/combo_hover_transparent.png: Added.
1770         * platform/efl/DefaultTheme/widget/combo/combo_normal_button_transparent.png: Added.
1771         * platform/efl/DefaultTheme/widget/combo/combo_normal_transparent.png: Added.
1772         * platform/efl/DefaultTheme/widget/combo/combo_press_button_transparent.png: Added.
1773         * platform/efl/DefaultTheme/widget/combo/combo_press_transparent.png: Added.
1774         * platform/efl/RenderThemeEfl.cpp:
1775         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
1776         (WebCore::RenderThemeEfl::isControlStyled):
1777         (WebCore::RenderThemeEfl::paintThemePart):
1778         * platform/efl/RenderThemeEfl.h:
1779
1780 2013-09-12  Andreas Kling  <akling@apple.com>
1781
1782         [CTTE] RenderMenuList always has a HTMLSelectElement.
1783         <https://webkit.org/b/121276>
1784
1785         Reviewed by Anders Carlsson.
1786
1787         This renderer is never anonymous and always has a corresponding HTMLSelectElement.
1788         Deleted element() in favor of HTMLSelectElement& selectElement().
1789
1790 2013-09-12  Andreas Kling  <akling@apple.com>
1791
1792         [CTTE] Tighten RenderTextControl element typing.
1793         <https://webkit.org/b/121275>
1794
1795         Reviewed by Anders Carlsson.
1796
1797         Codify these invariants:
1798
1799         - RenderTextControl always has a HTMLTextFormControl.
1800         - RenderSearchField always has a HTMLInputElement.
1801         - RenderTextControlSingleLine always has a HTMLInputElement.
1802
1803         None of these renderers are ever anonymous. Deleted element() and added
1804         strongly typed reference getters instead.
1805
1806 2013-09-12  Andreas Kling  <akling@apple.com>
1807
1808         [CTTE] RenderListMarker is always anonymous and owned by RenderListItem.
1809         <https://webkit.org/b/121274>
1810
1811         Reviewed by Anders Carlsson.
1812
1813         Store a RenderListItem& instead of a pointer in RenderListMarker.
1814         Deleted the element() function since list markers are always anonymous.
1815
1816 2013-09-12  Andreas Kling  <akling@apple.com>
1817
1818         [CTTE] RenderListBox's element is always a HTMLSelectElement.
1819         <https://webkit.org/b/121273>
1820
1821         Reviewed by Anders Carlsson.
1822
1823         Hide element() on RenderListBox and make selectElement() return a reference
1824         since this renderer cannot be anonymous.
1825
1826 2013-09-12  Andreas Kling  <akling@apple.com>
1827
1828         [CTTE] RenderHTMLCanvas's element is always a HTMLCanvasElement.
1829         <https://webkit.org/b/121272>
1830
1831         Reviewed by Anders Carlsson.
1832
1833         Add RenderHTMLCanvas::canvasElement(), hiding element().
1834         This function also returns a reference since this renderer cannot be anonymous.
1835
1836 2013-09-12  Andreas Kling  <akling@apple.com>
1837
1838         [CTTE] RenderTextControlMultiLine's element is always a HTMLTextAreaElement.
1839         <https://webkit.org/b/121271>
1840
1841         Reviewed by Anders Carlsson.
1842
1843         Add RenderTextControlMultiLine::textAreaElement(), hiding element().
1844         This function also returns a reference since this renderer cannot be anonymous.
1845
1846 2013-09-12  Tim Horton  <timothy_horton@apple.com>
1847
1848         [mac] Cache rendered image in PDFDocumentImage
1849         https://bugs.webkit.org/show_bug.cgi?id=121207
1850
1851         Reviewed by Simon Fraser.
1852
1853         Tests: fast/images/pdf-as-image-too-big.html
1854
1855         * loader/cache/CachedImage.cpp:
1856         (WebCore::CachedImage::createImage):
1857         PDFDocumentImage takes a ImageObserver now so that it can report
1858         decoded data size changes to the memory cache.
1859
1860         * platform/graphics/Image.h:
1861         (WebCore::Image::isPDFDocumentImage): Added.
1862
1863         * platform/graphics/cg/PDFDocumentImage.cpp:
1864         (WebCore::PDFDocumentImage::PDFDocumentImage):
1865         PDFDocumentImage takes a ImageObserver now so that it can report
1866         decoded data size changes to the memory cache.
1867
1868         (WebCore::PDFDocumentImage::applyRotationForPainting):
1869         Fix up some comments, and use GraphicsContext instead of CG API.
1870
1871         (WebCore::PDFDocumentImage::cacheParametersMatch):
1872         Determine whether our cached image is still valid, given the new
1873         destination's size, CTM scale, and source rect.
1874
1875         (WebCore::transformContextForPainting): Added.
1876
1877         (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
1878         Cache a rendered bitmap of the PDF. Invalidate the cache if cacheParametersMatch
1879         decides that the parameters don't match, unless we're painting in low quality mode,
1880         in which case we'll scale the existing image (and then fully repaint when the
1881         high-quality repaint timer fires).
1882         Inform the memory cache of our new size.
1883
1884         (WebCore::PDFDocumentImage::draw):
1885         Update the cached image if needed.
1886         Paint the cached image into the context if it's available (which it might not be,
1887         if the image is way too big and the allocation fails). Otherwise, paint straight
1888         into the context as we previously did.
1889
1890         (WebCore::PDFDocumentImage::destroyDecodedData):
1891         Throw away the cached image if requested.
1892
1893         (WebCore::PDFDocumentImage::decodedSize):
1894         (WebCore::PDFDocumentImage::drawPDFPage):
1895         Drive-by use GraphicsContext instead of CG directly.
1896
1897         * platform/graphics/cg/PDFDocumentImage.h:
1898         (WebCore::PDFDocumentImage::create):
1899         Override isPDFDocumentImage().
1900         Add storage for the cached image buffer and various cache parameters.
1901
1902         * rendering/ImageQualityController.cpp:
1903         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1904         PDFDocumentImage is also interested in/capable of low-quality painting now.
1905
1906 2013-09-12  Tim Horton  <timothy_horton@apple.com>
1907
1908         Image doesn't always repaint at high quality in all tiles after a live resize
1909         https://bugs.webkit.org/show_bug.cgi?id=121244
1910
1911         Reviewed by Darin Adler.
1912
1913         Currently, ImageQualityController removes an image from its low-quality-images
1914         list from inside shouldPaintAtLowQuality, if this is the first paint outside
1915         of a live resize, but does not force the renderer to repaint in its entirety.
1916
1917         However, there's no guarantee we've invalidated the whole renderer, so this can
1918         leave some parts of the image painted in low-quality.
1919
1920         This just removes a short-circuit, instead using the ordinary high-quality-repaint
1921         timer to ensure that the entire renderer is repainted.
1922
1923         No new test; all attempts have failed, as this depends on tiled drawing
1924         and a live resize occurring.
1925
1926         * rendering/ImageQualityController.cpp:
1927         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1928
1929 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
1930
1931         [EFL] Speculative build fix after r155638.
1932
1933         * platform/efl/PasteboardEfl.cpp: Add include for PassRefPtr, which
1934         is no longer implicitly included.
1935
1936 2013-09-12  Simon Fraser  <simon.fraser@apple.com>
1937
1938         Avoid extra scrollbar-related layouts for overlay scrollbars
1939         https://bugs.webkit.org/show_bug.cgi?id=121267
1940
1941         Reviewed by Beth Dakin.
1942
1943         If ScrollView::updateScrollbars() detected that scrollbars were added
1944         and removed, it would call contentsResized(), which calls setNeedsLayout(),
1945         followed by visibleContentsResized() which would trigger layout. There is no
1946         point doing this with overlay scrollbars, so avoid it by having 
1947         setHas*Scrollbar() return true if the addition/removal of a scrollbar changed
1948         the available width.
1949         
1950         No tests: we can't test overlay scrollbars in tests.
1951
1952         * page/FrameView.cpp:
1953         (WebCore::FrameView::setContentsSize): Drive-by assertion that
1954         checks that the unsigned m_deferSetNeedsLayouts doesn't wrap when
1955         decremented.
1956         * platform/ScrollView.cpp:
1957         (WebCore::ScrollView::setHasHorizontalScrollbar): Return true if the addition/removal
1958         changed available space.
1959         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
1960         (WebCore::ScrollView::updateScrollbars): Only set sendContentResizedNotification
1961         if available space was changed by addition/removal of scrollbars.
1962         * platform/ScrollView.h:
1963
1964 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
1965
1966         [CSS Shapes] Rename shapeContainingBlockHeight to shapeContainingBlockLogicalHeight
1967         https://bugs.webkit.org/show_bug.cgi?id=121252
1968
1969         Reviewed by Oliver Hunt.
1970
1971         No new tests, no behavior change.
1972
1973         * rendering/RenderBlockLineLayout.cpp:
1974         (WebCore::pushShapeContentOverflowBelowTheContentBox):
1975         * rendering/shapes/ShapeInfo.h:
1976         (WebCore::ShapeInfo::shapeContainingBlockLogicalHeight):
1977
1978 2013-09-12  Samuel White  <samuel_white@apple.com>
1979
1980         <meter> element AXValue is listed as a writable value
1981         https://bugs.webkit.org/show_bug.cgi?id=117650
1982
1983         Reviewed by Chris Fleizach.
1984
1985         No new tests, updated existing accessibility/meter-element.html test
1986         to check writability. Changed meter element value to be unwritable.
1987
1988         * accessibility/AccessibilityRenderObject.cpp:
1989         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
1990
1991 2013-09-12  Renata Hodovan  <reni@webkit.org>
1992
1993         [Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange
1994         https://bugs.webkit.org/show_bug.cgi?id=121148
1995
1996         Reviewed by Kent Tamura.
1997
1998         Non-steppable input types must not rendered as slider even if its webkit-apperance style
1999         property is set to slider-vertical/horizontal.
2000
2001         Test: platform/qt/fast/forms/range/slider-crash-on-input.html
2002
2003         * platform/qt/RenderThemeQStyle.cpp:
2004         (WebCore::RenderThemeQStyle::paintSliderTrack):
2005
2006 2013-09-12  Ryosuke Niwa  <rniwa@webkit.org>
2007
2008         Qt and Windows build fix.
2009
2010         * page/animation/CSSPropertyAnimation.cpp:
2011
2012 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
2013
2014         Encapsulate globals in CSSPropertyAnimation.cpp
2015         https://bugs.webkit.org/show_bug.cgi?id=121205
2016
2017         Reviewed by Antti Koivisto.
2018
2019         Encapsulated the globals inside a newly added CSSPropertyAnimationWrapperMap. Also removed the circular
2020         dependency from ShorthandPropertyWrapper's constructor to CSSPropertyAnimationWrapperMap::instance().
2021         The circular dependency still exists in ensurePropertyMap but I'm going to remove it in the bug 121199.
2022
2023         * page/animation/CSSPropertyAnimation.cpp:
2024         (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Takes a Vector of longhand wrappers instead of
2025         calling wrapperForProperty in the middle of constructing the very table. This circular dependency is now
2026         encapsulated in CSSPropertyAnimationWrapperMap::ensurePropertyMap.
2027         (WebCore::CSSPropertyAnimationWrapperMap::instance): Added.
2028         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): Renamed from WebCore::wrapperForProperty.
2029         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex): Added.
2030         (WebCore::CSSPropertyAnimationWrapperMap::size): Added.
2031         (WebCore::CSSPropertyAnimationWrapperMap::addPropertyWrapper): Renamed from WebCore::addPropertyWrapper. Also
2032         cleaned up boolean logics to use early exits instead of nested ifs.
2033         (WebCore::CSSPropertyAnimationWrapperMap::addShorthandProperties): Renamed from WebCore::addShorthandProperties.
2034         (WebCore::CSSPropertyAnimationWrapperMap::ensurePropertyMap): Renamed from WebCore::ensurePropertyMap.
2035         Added an alias gPropertyWrappers for m_propertyWrappers; this aliasing will be removed in the bug 121199.
2036         (WebCore::CSSPropertyAnimation::blendProperties):
2037         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
2038         (WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
2039         (WebCore::CSSPropertyAnimation::propertiesEqual):
2040         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
2041         (WebCore::CSSPropertyAnimation::getNumProperties):
2042         * page/animation/CSSPropertyAnimation.h:
2043         * rendering/style/RenderStyle.h:
2044
2045 2013-09-12  Anders Carlsson  <andersca@apple.com>
2046
2047         SharedBuffer::createNSData should return a RetainPtr<NSData>
2048         https://bugs.webkit.org/show_bug.cgi?id=121237
2049
2050         Reviewed by Darin Adler.
2051
2052         This makes memory management cleared and fixes a leak in PDFDocumentImage::createPDFDocument.
2053         We use a RetainPtr subclass as a stopgap measure to prevent code that does [buffer->createNSData() autorelease]
2054         from compiling and crashing due to the NSData object being overreleased.
2055
2056         * loader/ResourceBuffer.h:
2057         * loader/mac/ResourceBuffer.mm:
2058         (WebCore::ResourceBuffer::createNSData):
2059         * platform/SharedBuffer.h:
2060         (WebCore::SharedBuffer::NSDataRetainPtr::NSDataRetainPtr):
2061         * platform/graphics/mac/PDFDocumentImageMac.mm:
2062         (WebCore::PDFDocumentImage::createPDFDocument):
2063         * platform/mac/HTMLConverter.mm:
2064         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
2065         (fileWrapperForURL):
2066         * platform/mac/PasteboardMac.mm:
2067         (WebCore::fileWrapper):
2068         (WebCore::Pasteboard::read):
2069         (WebCore::documentFragmentWithRTF):
2070         (WebCore::fragmentFromWebArchive):
2071         * platform/mac/PlatformPasteboardMac.mm:
2072         (WebCore::PlatformPasteboard::setBufferForType):
2073         * platform/mac/SharedBufferMac.mm:
2074         (WebCore::SharedBuffer::createNSData):
2075
2076 2013-09-12  Timothy Hatcher  <timothy@apple.com>
2077
2078         Remove more Timeline stuff we don't use
2079         https://bugs.webkit.org/show_bug.cgi?id=121246
2080
2081         Reviewed by Joseph Pecoraro.
2082
2083         * inspector/InspectorController.cpp:
2084         * inspector/InspectorController.h:
2085         * inspector/InspectorDOMDebuggerAgent.cpp:
2086         * inspector/InspectorDOMDebuggerAgent.h:
2087         * inspector/InspectorProfilerAgent.cpp:
2088         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2089         * inspector/InspectorProfilerAgent.h:
2090         * inspector/InspectorTimelineAgent.cpp:
2091         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2092         * inspector/InspectorTimelineAgent.h:
2093
2094 2013-09-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2095
2096         [EFL] Get rid of layering violations in PasteboardEfl.cpp
2097         https://bugs.webkit.org/show_bug.cgi?id=121241
2098
2099         Reviewed by Darin Adler.
2100
2101         Get rid of layering violations in PasteboardEfl.cpp. For now, just mimic
2102         the Mac port to avoid divergences and leave port-specific functions
2103         unimplemented as the EFL port does not support the pasteboard functionality
2104         yet.
2105
2106         No new tests, no behavior change.
2107
2108         * PlatformEfl.cmake:
2109         * editing/Editor.cpp:
2110         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
2111         (WebCore::Editor::cut):
2112         (WebCore::Editor::copy):
2113         (WebCore::Editor::copyURL):
2114         (WebCore::Editor::copyImage):
2115         * editing/Editor.h:
2116         * editing/efl/EditorEfl.cpp: Added.
2117         (WebCore::Editor::writeSelectionToPasteboard):
2118         (WebCore::Editor::writeURLToPasteboard):
2119         (WebCore::Editor::writeImageToPasteboard):
2120         (WebCore::Editor::readPlainTextFromPasteboard):
2121         (WebCore::Editor::pasteWithPasteboard):
2122         * page/DragController.cpp:
2123         (WebCore::DragController::startDrag):
2124         * platform/Pasteboard.h:
2125         * platform/efl/PasteboardEfl.cpp:
2126
2127 2013-09-12  Alberto Garcia  <berto@igalia.com>
2128
2129         [GTK] Unreviewed build fix after r155635.
2130
2131         Include DragData.h
2132
2133         * platform/gtk/PasteboardGtk.cpp:
2134
2135 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
2136
2137         [Windows] Build fix after r155635.
2138
2139         Rubber Stamped by Darin Adler.
2140
2141         * platform/Pasteboard.h: Add missing compile guards for Windows port.
2142
2143 2013-09-12  Darin Adler  <darin@apple.com>
2144
2145         Reorganize Pasteboard.h to make it easier to read, and express plan for future work
2146         https://bugs.webkit.org/show_bug.cgi?id=121234
2147
2148         Reviewed by Anders Carlsson.
2149
2150         * platform/Pasteboard.h: Move Mac/iOS-specific pasteboard names to the bottom of the
2151         file rather than putting them up with forward declarations before the class. Removed
2152         unneeded forward class declarations. Changed #if statements about migration to the
2153         more modern non-layering-violation API to list platforms not yet migrated, rather than
2154         listing platforms that have migrated (Mac). Move conditional code down below the
2155         uncondiditional code so it's easier to see what the class is doing. Move layering-
2156         violation code down to the bottom too, so it's easier to see the future class without
2157         having the design mistakes mixed in. Sort platform-specific sections in alphabetical
2158         order instead of random order. Did the destructor in a cleaner way so the #if is out
2159         of the way after the class rather than in the class. Removed WebSmartPastePboardType,
2160         WebURLPboardType, and WebURLsWithTitlesPboard declarations, since they are only used
2161         inside the PasteboardMac.mm source file.
2162
2163         * platform/ios/PasteboardIOS.mm: Aded a FIXME comment.
2164         * platform/mac/PasteboardMac.mm: Made the constants for pasteboard types be actual
2165         constants, rather than global variables.
2166
2167 2013-09-12  Tamas Czene  <tczene@inf.u-szeged.hu>
2168
2169         [curl] Use utf8 for headers in CurlDownload.
2170         https://bugs.webkit.org/show_bug.cgi?id=120413
2171
2172         Reviewed by Brent Fulgham.
2173
2174         * platform/network/curl/CurlDownload.cpp:
2175         (WebCore::CurlDownload::headerCallback):
2176
2177 2013-09-12  Peter Gal  <galpeter@inf.u-szeged.hu>
2178
2179         [curl] Improve multipart response handling
2180         https://bugs.webkit.org/show_bug.cgi?id=117735
2181
2182         Reviewed by Brent Fulgham.
2183
2184         The multipart/x-mixed-replace mime type in responses are ignored
2185         with the curl network backend. To handle such responses the
2186         MultipartHandle is introduced which will split the content using
2187         the boundary specified by the mime type.
2188
2189         There are already existing tests (http/tests/multipart).
2190
2191         * WebCore.vcxproj/WebCore.vcxproj:
2192         * WebCore.vcxproj/WebCore.vcxproj.filters:
2193         * platform/network/HTTPParsers.cpp:
2194         (WebCore::parseHTTPHeader):
2195         * platform/network/HTTPParsers.h:
2196         * platform/network/ResourceHandleInternal.h:
2197         * platform/network/curl/MultipartHandle.cpp: Added.
2198         (WebCore::MultipartHandle::extractBoundary):
2199         (WebCore::MultipartHandle::matchForBoundary):
2200         (WebCore::MultipartHandle::checkForBoundary):
2201         (WebCore::MultipartHandle::parseHeadersIfPossible):
2202         (WebCore::MultipartHandle::contentReceived):
2203         (WebCore::MultipartHandle::processContent):
2204         (WebCore::MultipartHandle::contentEnded):
2205         (WebCore::MultipartHandle::didReceiveData):
2206         (WebCore::MultipartHandle::didReceiveResponse):
2207         * platform/network/curl/MultipartHandle.h: Added.
2208         (WebCore::MultipartHandle::MultipartHandle):
2209         (WebCore::MultipartHandle::~MultipartHandle):
2210         * platform/network/curl/ResourceHandleManager.cpp:
2211         (WebCore::writeCallback):
2212         (WebCore::headerCallback):
2213         (WebCore::ResourceHandleManager::downloadTimerCallback):
2214
2215 2013-09-12  Andreas Kling  <akling@apple.com>
2216
2217         Remove RenderApplet.
2218         <https://webkit.org/b/121231>
2219
2220         Reviewed by Darin Adler.
2221
2222         Add a RenderEmbeddedObject::createForApplet(HTMLAppletElement&) and nuke
2223         the RenderApplet class from orbit.
2224
2225 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
2226
2227         [Windows] Build fix after r155621
2228
2229         Rubber-stamped by Anders Carlsson.
2230
2231         See also https://bugs.webkit.org/show_bug.cgi?id=121235 for
2232         why this was necessary.
2233
2234         * css/MediaQueryEvaluator.cpp: Work around VS compiler bug.
2235         * dom/make_names.pl: Ditto.
2236         * loader/archive/ArchiveFactory.cpp: Ditto.
2237         * rendering/svg/SVGPathData.cpp: Ditto.
2238
2239 2013-09-12  Anders Carlsson  <andersca@apple.com>
2240
2241         SharedBuffer::createCFData should return RetainPtr<CFDataRef>
2242         https://bugs.webkit.org/show_bug.cgi?id=121230
2243
2244         Reviewed by Darin Adler.
2245
2246         * loader/ResourceBuffer.cpp:
2247         (WebCore::ResourceBuffer::createCFData):
2248         * loader/ResourceBuffer.h:
2249         * loader/archive/cf/LegacyWebArchive.cpp:
2250         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2251         (WebCore::LegacyWebArchive::create):
2252         * platform/SharedBuffer.h:
2253         * platform/cf/SharedBufferCF.cpp:
2254         (WebCore::SharedBuffer::createCFData):
2255         * platform/graphics/cg/ImageSourceCG.cpp:
2256         (WebCore::ImageSource::setData):
2257         * platform/graphics/cg/PDFDocumentImage.cpp:
2258         (WebCore::PDFDocumentImage::createPDFDocument):
2259         * platform/graphics/mac/FontCustomPlatformData.cpp:
2260         (WebCore::createFontCustomPlatformData):
2261         * platform/mac/SharedBufferMac.mm:
2262         (WebCore::SharedBuffer::createCFData):
2263
2264 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
2265
2266         Move LineInfo class into LineInfo.h
2267         https://bugs.webkit.org/show_bug.cgi?id=121191
2268
2269         Reviewed by David Hyatt.
2270
2271         No new tests, no behavior change.
2272
2273         * GNUmakefile.list.am:
2274         * Target.pri:
2275         * WebCore.vcxproj/WebCore.vcxproj:
2276         * WebCore.xcodeproj/project.pbxproj:
2277         * rendering/LineInfo.h: Added.
2278         (WebCore::LineInfo::LineInfo):
2279         (WebCore::LineInfo::isFirstLine):
2280         (WebCore::LineInfo::isLastLine):
2281         (WebCore::LineInfo::isEmpty):
2282         (WebCore::LineInfo::previousLineBrokeCleanly):
2283         (WebCore::LineInfo::floatPaginationStrut):
2284         (WebCore::LineInfo::runsFromLeadingWhitespace):
2285         (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
2286         (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
2287         (WebCore::LineInfo::setFirstLine):
2288         (WebCore::LineInfo::setLastLine):
2289         (WebCore::LineInfo::setEmpty):
2290         (WebCore::LineInfo::setPreviousLineBrokeCleanly):
2291         (WebCore::LineInfo::setFloatPaginationStrut):
2292         * rendering/RenderBlockLineLayout.cpp:
2293
2294 2013-09-12  Bem Jones-Bey  <bjonesbe@adobe.com>
2295
2296         [CSS Shapes] Remove unnecessarily complex template from ShapeInfo classes
2297         https://bugs.webkit.org/show_bug.cgi?id=121213
2298
2299         Reviewed by Darin Adler.
2300
2301         These classes were trying to be way too clever, and as a result were
2302         hard to read and hard to debug. Replace the complex templated method
2303         calls with virtual methods to make these classes much easier to
2304         understand and maintain.
2305
2306         No new tests, no behavior change.
2307
2308         * rendering/shapes/ShapeInfo.cpp:
2309         (WebCore::::computedShape):
2310         (WebCore::::computeSegmentsForLine):
2311         * rendering/shapes/ShapeInfo.h:
2312         * rendering/shapes/ShapeInsideInfo.cpp:
2313         (WebCore::ShapeInsideInfo::getShapeValue):
2314         * rendering/shapes/ShapeInsideInfo.h:
2315         (WebCore::ShapeInsideInfo::computeSegmentsForLine):
2316         (WebCore::ShapeInsideInfo::ShapeInsideInfo):
2317         * rendering/shapes/ShapeOutsideInfo.cpp:
2318         (WebCore::ShapeOutsideInfo::computeSegmentsForLine):
2319         (WebCore::ShapeOutsideInfo::getShapeValue):
2320         * rendering/shapes/ShapeOutsideInfo.h:
2321         (WebCore::ShapeOutsideInfo::ShapeOutsideInfo):
2322
2323 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
2324
2325         [CSS Shapes] Turn shape's logicalwidth/height into a LayoutSize
2326         https://bugs.webkit.org/show_bug.cgi?id=121187
2327
2328         Reviewed by David Hyatt.
2329
2330         No new tests, no behavior change.
2331
2332         * rendering/shapes/ShapeInfo.cpp:
2333         (WebCore::::computedShape):
2334         * rendering/shapes/ShapeInfo.h:
2335         (WebCore::ShapeInfo::setShapeSize):
2336         (WebCore::ShapeInfo::shapeContainingBlockHeight):
2337
2338 2013-09-12  Darin Adler  <darin@apple.com>
2339
2340         Move layering-violating code from Pasteboard::plainText into Editor (Mac only at first)
2341         https://bugs.webkit.org/show_bug.cgi?id=121075
2342
2343         Reviewed by Anders Carlsson.
2344
2345         * editing/Editor.cpp:
2346         (WebCore::Editor::pasteAsPlainTextBypassingDHTML): Pass pasteboard as a reference.
2347         (WebCore::Editor::pasteAsPlainTextWithPasteboard): Use readPlainTextFromPasteboard
2348         for Mac. Also update to take a reference.
2349         (WebCore::Editor::paste): Pass pasteboard as a reference.
2350         (WebCore::Editor::pasteAsPlainText): Ditto.
2351         * editing/Editor.h: Ditto.
2352
2353         * editing/mac/EditorMac.mm:
2354         (WebCore::Editor::readSelectionFromPasteboard): Pass pasteboard as a reference.
2355         (WebCore::Editor::readPlainTextFromPasteboard): Added. The declaration of this
2356         was added (by mistake) in an earlier patch. This has code that used to be inside
2357         Pasteboard::plainText.
2358
2359         * platform/Pasteboard.h: Added PasteboardPlainText. Reorganized functions in the
2360         Pasteboard class and added some FIXMEs. Sorted platforms alphabetically and grouped
2361         functions together and data members separate from them.
2362
2363         * platform/mac/DragDataMac.mm:
2364         (WebCore::DragData::asPlainText): Updated to call readPlainTextFromPasteboard.
2365         (WebCore::DragData::asURL): Tweaked style of unused parameter.
2366
2367         * platform/mac/PasteboardMac.mm:
2368         (WebCore::Pasteboard::read): Renamed this from plainText, and refactored so that
2369         the data goes out in the PasteboardPlainText structure.
2370
2371 2013-09-12  Gurpreet Kaur  <k.gurpreet@samsung.com>
2372
2373         CSS Unit vw in border-width maps to 0px.
2374         https://bugs.webkit.org/show_bug.cgi?id=109229
2375
2376         Reviewed by Darin Adler.
2377
2378         Border and outline properties were not applied incase
2379         its values were given in vh/vw units.
2380
2381         Tests: fast/css/viewport-height-border.html
2382                fast/css/viewport-height-outline.html
2383                fast/css/viewport-width-border.html
2384                fast/css/viewport-width-outline.html
2385
2386         * css/CSSPrimitiveValue.cpp:
2387         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2388         Added case CSS_VH and CSS_VW. 
2389         * css/CSSPrimitiveValue.h:
2390         (WebCore::CSSPrimitiveValue::isViewportPercentageWidth):
2391         (WebCore::CSSPrimitiveValue::isViewportPercentageHeight):
2392         Added APIs to check the unit type(CSS_VW and CSS_VH). 
2393         * css/DeprecatedStyleBuilder.cpp:
2394         (WebCore::ApplyPropertyComputeLength::applyValue):
2395         Calculating the border values which has been specified
2396         in vh/vw units.The vh/vw units are calcultated as percent
2397         of viewport height and viewport width respectively.
2398
2399 2013-09-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2400
2401         [Coordinated Graphics] Fix the build on MacOS 10.9
2402         https://bugs.webkit.org/show_bug.cgi?id=121225
2403
2404         Reviewed by Darin Adler.
2405
2406         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
2407
2408 2013-09-12  Mark Lam  <mark.lam@apple.com>
2409
2410         Change debug hooks to pass sourceID and position info via the DebuggerCallFrame.
2411         https://bugs.webkit.org/show_bug.cgi?id=121214.
2412
2413         Reviewed by Geoffrey Garen.
2414
2415         No new tests.
2416
2417         Also changed the Inspector's JavaScriptCallFrame to get the sourceID and
2418         position info from its DebuggerCallFrame instead of caching those values.
2419
2420         * bindings/js/JavaScriptCallFrame.cpp:
2421         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2422         * bindings/js/JavaScriptCallFrame.h:
2423         (WebCore::JavaScriptCallFrame::create):
2424         (WebCore::JavaScriptCallFrame::invalidate):
2425         (WebCore::JavaScriptCallFrame::sourceID):
2426         (WebCore::JavaScriptCallFrame::position):
2427         (WebCore::JavaScriptCallFrame::line):
2428         (WebCore::JavaScriptCallFrame::column):
2429         (WebCore::JavaScriptCallFrame::update):
2430         * bindings/js/ScriptDebugServer.cpp:
2431         (WebCore::ScriptDebugServer::createCallFrame):
2432         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2433         (WebCore::ScriptDebugServer::callEvent):
2434         (WebCore::ScriptDebugServer::atStatement):
2435         (WebCore::ScriptDebugServer::returnEvent):
2436         (WebCore::ScriptDebugServer::exception):
2437         (WebCore::ScriptDebugServer::willExecuteProgram):
2438         (WebCore::ScriptDebugServer::didExecuteProgram):
2439         (WebCore::ScriptDebugServer::didReachBreakpoint):
2440         * bindings/js/ScriptDebugServer.h:
2441         * bindings/js/WorkerScriptDebugServer.cpp:
2442         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
2443         * bindings/js/WorkerScriptDebugServer.h:
2444
2445 2013-09-12  peavo@outlook.com  <peavo@outlook.com>
2446
2447         [WinCairo] Compile errors, missing include.
2448         https://bugs.webkit.org/show_bug.cgi?id=121222
2449
2450         Reviewed by Brent Fulgham.
2451
2452         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Include required header.
2453         * platform/win/DragImageCairoWin.cpp: Include required header.
2454
2455 2013-09-12  Vivek Galatage  <vivek.vg@samsung.com>
2456
2457         XMLSerializer.serializeToString() should throw exception for invalid node value.
2458         https://bugs.webkit.org/show_bug.cgi?id=121209
2459
2460         Reviewed by Darin Adler.
2461
2462         FF and Opera 12 (pre blink/webkit) throw exception in case the node value is invalid.
2463         Blink sends an empty string as the result of serializeToString operation with invalid node.
2464         We should match with other browsers for throwing it as an exception.
2465
2466         Blink review URL: https://chromiumcodereview.appspot.com/23532055/
2467
2468         Test: fast/dom/xmlserializer-serialize-to-string-exception.html
2469
2470         * xml/XMLSerializer.cpp:
2471         (WebCore::XMLSerializer::serializeToString):
2472
2473 2013-09-12  Zalan Bujtas  <zalan@apple.com>
2474
2475         Crash in ScrollingStateStickyNode::updateConstraints
2476         https://bugs.webkit.org/show_bug.cgi?id=119638
2477
2478         Reviewed by Simon Fraser.
2479
2480         Ensure when a scrolling state node is removed from the state tree,
2481         we remove both the current node and all its children from the
2482         associated m_stateNodeMap lookup table.
2483
2484         Test: fast/css/sticky/multiple-layers-sticky-crash.html
2485
2486         * page/scrolling/ScrollingStateNode.cpp:
2487         (WebCore::ScrollingStateNode::removeChild):
2488         (WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
2489         * page/scrolling/ScrollingStateNode.h:
2490
2491 2013-09-12  Zalan Bujtas  <zalan@apple.com>
2492
2493         REGRESSION (r132516): Javascript menu text incorrectly disappearing and reappearing
2494         https://bugs.webkit.org/show_bug.cgi?id=101047
2495
2496         Reviewed by Simon Fraser.
2497
2498         Compositing layers keep track of ancestors' clipping by constructing the RenderLayerBacking::m_ancestorClippingLayer.
2499         It helps setting up the proper clipping context for the corresponding graphics layer.
2500         When a RenderObject's clipping style changes, it needs to propagate this change not only
2501         to the associated RenderLayer, but also to the descendants', if applicable.
2502         Before r132516, it was mainly covered by initiating full style recalcs, which ensured that
2503         style recalc on the descendant rendering tree took care of creating/destroying
2504         RenderLayerBacking::m_ancestorClippingLayer at every compositing layer node. Without the full
2505         recalc, the clipping of the compositing render layers and the corresponding render subtrees can get out of sync.
2506         This patch updates the clipping context on the descendant subtree, when the clipping behaviour
2507         changes on a render node.
2508
2509         Tests: compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants.html
2510                compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2.html
2511
2512         * rendering/RenderLayer.cpp:
2513         (WebCore::RenderLayer::updateDescendantClippingContext):
2514         (WebCore::RenderLayer::styleChanged):
2515         * rendering/RenderLayer.h:
2516         * rendering/RenderLayerBacking.cpp:
2517         (WebCore::RenderLayerBacking::~RenderLayerBacking):
2518         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2519         (WebCore::RenderLayerBacking::updateAncestorClippingLayer):
2520         (WebCore::RenderLayerBacking::updateDescendantClippingLayer):
2521         * rendering/RenderLayerBacking.h:
2522
2523 2013-09-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2524
2525         Remove home-brewed nullptr
2526         https://bugs.webkit.org/show_bug.cgi?id=119624
2527
2528         Reviewed by Anders Carlsson.
2529
2530         The standard C++11 nullptr and std::nullptr_t type should be used now.
2531
2532         * bindings/js/JSDOMBinding.h:
2533
2534 2013-09-12  Samuel White  <samuel_white@apple.com>
2535
2536         <meter> element text value exposed as AXTitle; should be exposing AXValueDescription
2537         https://bugs.webkit.org/show_bug.cgi?id=117651
2538
2539         Reviewed by Mario Sanchez Prada.
2540
2541         No new tests, updated accessibility/meter-element to handle platform specific output.
2542
2543         * accessibility/AccessibilityObject.cpp:
2544         (WebCore::AccessibilityObject::isMeter):
2545         * accessibility/AccessibilityObject.h:
2546         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2547         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2548
2549 2013-09-12  Santosh Mahto  <santosh.ma@samsung.com>
2550
2551         class WeekInputType invokes wrong constructor
2552         https://bugs.webkit.org/show_bug.cgi?id=120768
2553
2554         Reviewed by Andreas Kling.
2555
2556         Correcting wrong constuctor invocation.
2557
2558         * html/WeekInputType.h:
2559         (WebCore::WeekInputType::WeekInputType):
2560
2561 2013-09-12  Samuel White  <samuel_white@apple.com>
2562
2563         AX: Self-referencing aria-labelledby only uses contents.
2564         https://bugs.webkit.org/show_bug.cgi?id=120814
2565
2566         Reviewed by Mario Sanchez Prada.
2567
2568         Implemented additional 'Text Alternative Computation' steps documented at:
2569         http://www.w3.org/WAI/PF/aria/complete#textalternativecomputation. This allows us to remove
2570         our raw text node iteration that was previously forcing us to do our computation incorrectly.
2571         Element content is now sourced using textUnderElement (step 2C of the computation).
2572
2573         Test: accessibility/self-referencing-aria-labelledby.html
2574
2575         * accessibility/AccessibilityNodeObject.cpp:
2576         (WebCore::accessibleNameForNode):
2577         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
2578
2579 2013-09-12  Commit Queue  <commit-queue@webkit.org>
2580
2581         Unreviewed, rolling out r155597.
2582         http://trac.webkit.org/changeset/155597
2583         https://bugs.webkit.org/show_bug.cgi?id=121220
2584
2585         broke windows build because there's no ews :( (Requested by
2586         thorton on #webkit).
2587
2588         * WebCore.exp.in:
2589         * platform/graphics/BitmapImage.cpp:
2590         (WebCore::BitmapImage::isBitmapImage):
2591         * platform/graphics/BitmapImage.h:
2592         (WebCore::BitmapImage::create):
2593         * platform/graphics/CrossfadeGeneratedImage.cpp:
2594         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
2595         (WebCore::CrossfadeGeneratedImage::drawPattern):
2596         * platform/graphics/CrossfadeGeneratedImage.h:
2597         (WebCore::CrossfadeGeneratedImage::setContainerSize):
2598         (WebCore::CrossfadeGeneratedImage::usesContainerSize):
2599         (WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
2600         (WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
2601         (WebCore::CrossfadeGeneratedImage::size):
2602         * platform/graphics/GeneratedImage.h:
2603         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
2604         (WebCore::GeneratedImage::setContainerSize):
2605         (WebCore::GeneratedImage::usesContainerSize):
2606         (WebCore::GeneratedImage::hasRelativeWidth):
2607         (WebCore::GeneratedImage::hasRelativeHeight):
2608         (WebCore::GeneratedImage::size):
2609         (WebCore::GeneratedImage::destroyDecodedData):
2610         (WebCore::GeneratedImage::decodedSize):
2611         * platform/graphics/GeneratorGeneratedImage.cpp:
2612         (WebCore::GeneratorGeneratedImage::draw):
2613         (WebCore::GeneratorGeneratedImage::drawPattern):
2614         * platform/graphics/GeneratorGeneratedImage.h:
2615         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
2616         * svg/graphics/SVGImage.h:
2617         (WebCore::SVGImage::isSVGImage):
2618         (WebCore::SVGImage::usesContainerSize):
2619         (WebCore::SVGImage::destroyDecodedData):
2620         (WebCore::SVGImage::decodedSize):
2621         * svg/graphics/SVGImageForContainer.h:
2622         (WebCore::SVGImageForContainer::destroyDecodedData):
2623         (WebCore::SVGImageForContainer::decodedSize):
2624
2625 2013-09-12  Andreas Kling  <akling@apple.com>
2626
2627         RenderWidget elements are always HTMLFrameOwnerElement subclasses.
2628         <https://webkit.org/b/121217>
2629
2630         Reviewed by Antti Koivisto.
2631
2632         Make RenderWidget constructor take HTMLFrameOwnerElement* and update subclasses
2633         with even tighter types where possible.
2634
2635         Also added RenderWidget::frameOwnerElement() and deleted element().
2636         Removed a handful of unnecessary type checks that were exposed by this.
2637
2638 2013-09-11  Tim Horton  <timothy_horton@apple.com>
2639
2640         Apply OVERRIDE and FINAL to Image subclasses and clean them up
2641         https://bugs.webkit.org/show_bug.cgi?id=121086
2642
2643         Reviewed by Alexey Proskuryakov.
2644
2645         Everything other than the copious application of OVERRIDE and FINAL
2646         is explicitly called out below.
2647
2648         * WebCore.exp.in:
2649         Export the correct version of getCGImageRef for use by WebKit2.
2650
2651         * platform/graphics/BitmapImage.cpp:
2652         * platform/graphics/BitmapImage.h:
2653         Drive-by inline isBitmapImage.
2654         Move create(HBITMAP) to be near the other create() functions.
2655         Move all of the members and quite a few functions from protected to private.
2656         Devirtualize frameCount().
2657         Move notSolidColor() near the other solid color functions.
2658
2659         * platform/graphics/CrossfadeGeneratedImage.cpp:
2660         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
2661         (WebCore::CrossfadeGeneratedImage::drawPattern):
2662         * platform/graphics/GeneratorGeneratedImage.cpp:
2663         (WebCore::GeneratorGeneratedImage::draw):
2664         (WebCore::GeneratorGeneratedImage::drawPattern):
2665         Use size() and setContainerSize() instead of directly accessing a
2666         superclass' (now private, previously protected) members.
2667
2668         * platform/graphics/CrossfadeGeneratedImage.h:
2669         * platform/graphics/GeneratedImage.h:
2670         Make m_size private, I don't think we do protected members.
2671         
2672         * platform/graphics/GeneratorGeneratedImage.h:
2673         Make all the members private.
2674
2675         * svg/graphics/SVGImage.h:
2676         * svg/graphics/SVGImageForContainer.h:
2677
2678 2013-09-11  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
2679
2680         Canvas fillText and measureText handle ideographic spaces differently
2681         https://bugs.webkit.org/show_bug.cgi?id=108881
2682
2683         Reviewed by Darin Adler.
2684
2685         According to spec for text preparation algorithm
2686         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#text-preparation-algorithm
2687         all the space characters mentioned in the spec
2688         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#space-character
2689         should be replaced by U+0020 space character.
2690         The canvas functions fillText and measureText should run the text preparation algorithm.
2691         This patch modifies the canvas functions drawTextInternal and measureText to conform to the above spec.
2692
2693         Tests: fast/canvas/canvas-measureText-ideographicSpace.html
2694
2695         * html/canvas/CanvasRenderingContext2D.cpp:
2696         (WebCore::shouldSpaceBeReplaced):
2697         (WebCore::replaceCharacterInString):
2698         (WebCore::CanvasRenderingContext2D::measureText):
2699         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2700
2701 2013-09-11  Andreas Kling  <akling@apple.com>
2702
2703         Fix Windows build.
2704
2705         * rendering/RenderingAllInOne.cpp:
2706
2707 2013-09-11  Andreas Kling  <akling@apple.com>
2708
2709         Merge RenderPart into RenderWidget.
2710         <https://webkit.org/b/121200>
2711
2712         Reviewed by Anders Carlsson.
2713
2714         Remove the RenderPart class and move its functionality into RenderWidget.
2715         It was acting as a pointless extra layer between RenderWidget and renderers
2716         for embedded objects, frames and iframes.
2717
2718 2013-09-11  Geoffrey Garen  <ggaren@apple.com>
2719
2720         Removed some unused functions from the debugger interface
2721         https://bugs.webkit.org/show_bug.cgi?id=121194
2722
2723         Reviewed by Joseph Pecoraro.
2724
2725         We plan to use the "evaluate" API and debugger activation property access for all the features we need.
2726
2727         * inspector/JavaScriptCallFrame.idl: These are the interfaces I removed.
2728
2729         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2730         * inspector/InjectedScript.cpp:
2731         * inspector/InjectedScript.h:
2732         * inspector/InjectedScriptSource.js:
2733         * inspector/Inspector.json:
2734         * inspector/InspectorDebuggerAgent.cpp:
2735         (WebCore::InspectorDebuggerAgent::setScriptSource):
2736         * inspector/InspectorDebuggerAgent.h:
2737         * inspector/JavaScriptCallFrame.idl:
2738         * inspector/front-end/RemoteObject.js:
2739         (WebInspector.RemoteObject.prototype.):
2740         (WebInspector.RemoteObject.prototype.setPropertyValue): These files are mechanical removals of code that used
2741         or implemented the interfaces I removed.
2742
2743 2013-09-11  Vivek Galatage  <vivek.vg@samsung.com>
2744
2745         DOMParser.parseFromString() should support creating HTML Document with mime-type text/html
2746         https://bugs.webkit.org/show_bug.cgi?id=120826
2747
2748         Reviewed by Darin Adler.
2749
2750         The specification http://domparsing.spec.whatwg.org/#the-domparser-interface for DOMParser.parseFromString()
2751         allows the document creation if the mimeType is one of the supported types:
2752         ["text/html", "text/xml", "application/xml", "application/xhtml+xml", "image/svg+xml"]
2753
2754         Also script elements get marked unexecutable and the contents of noscript get parsed as markup.
2755
2756         blink review URL: https://codereview.chromium.org/23903014/
2757
2758         Test: fast/dom/domparser-parsefromstring-mimetype-support.html
2759
2760         * xml/DOMParser.cpp:
2761         (WebCore::DOMParser::parseFromString):
2762
2763 2013-09-11  Hans Muller  <hmuller@adobe.com>
2764
2765         [CSS Shapes] Improve the performance of image valued shapes
2766         https://bugs.webkit.org/show_bug.cgi?id=120211
2767
2768         Reviewed by Alexandru Chiculita.
2769
2770         Replaced the implementation of RasterShapeIntervals with one based on the
2771         new ShapeInterval<int> class. This eliminates the dependency the Region class
2772         and delivers a 10X layout speedup for large image valued shapes.
2773
2774         This a just an implementation refactoring, no new tests were needed.
2775
2776         * rendering/shapes/RasterShape.cpp:
2777         (WebCore::RasterShapeIntervals::appendInterval): Renamed this method, it was called addInterval().
2778         (WebCore::shapeIntervalsContain):
2779         (WebCore::RasterShapeIntervals::contains):
2780         (WebCore::RasterShapeIntervals::getIntervalsInLine):
2781         (WebCore::compareX1):
2782         (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
2783         (WebCore::RasterShapeIntervals::getIncludedIntervals):
2784         (WebCore::RasterShapeIntervals::getExcludedIntervals):
2785         (WebCore::RasterShape::getExcludedIntervals):
2786         (WebCore::RasterShape::getIncludedIntervals):
2787         * rendering/shapes/RasterShape.h:
2788         (WebCore::RasterShapeIntervals::RasterShapeIntervals): The constructor now takes a size argument which is used to allocate IntShapeIntervals storage.
2789         (WebCore::RasterShapeIntervals::size):
2790         (WebCore::RasterShapeIntervals::bounds):
2791         (WebCore::RasterShapeIntervals::isEmpty):
2792         (WebCore::RasterShapeIntervals::getIntervals):
2793         * rendering/shapes/Shape.cpp:
2794         (WebCore::Shape::createShape): Use appendInterval() instead of addInterval() (see above) and the new RasterShapeIntervals constructor.
2795
2796 2013-09-11  Eric Carlson  <eric.carlson@apple.com>
2797
2798         [MediaStream API] Updating NavigatorUserMediaError to match the spec
2799         https://bugs.webkit.org/show_bug.cgi?id=120880
2800
2801         Reviewed by Darin Adler.
2802         
2803         Merge https://chromium.googlesource.com/chromium/blink/+/f07305e49ddebaa166f5dee514bcc881a8efd341
2804         by Tommy Widenflycht.
2805
2806         The Blink change did not have any test changes because they don't appear to have any tests 
2807         for NavigatorUserMediaError. I can't add tests now because the MediaStream feature isn't enabled 
2808         yet, so https://bugs.webkit.org/show_bug.cgi?id=121182 tracks adding tests.
2809
2810         * Modules/mediastream/NavigatorUserMediaError.h:
2811         (WebCore::NavigatorUserMediaError::create):
2812         (WebCore::NavigatorUserMediaError::name):
2813         (WebCore::NavigatorUserMediaError::message):
2814         (WebCore::NavigatorUserMediaError::constraintName):
2815         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
2816         * Modules/mediastream/NavigatorUserMediaError.idl:
2817         * Modules/mediastream/UserMediaRequest.cpp:
2818         (WebCore::UserMediaRequest::fail):
2819         (WebCore::UserMediaRequest::failConstraint):
2820         * Modules/mediastream/UserMediaRequest.h:
2821
2822 2013-09-11  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2823
2824         MediaStream API: Remove LocalMediaStream
2825         https://bugs.webkit.org/show_bug.cgi?id=120875
2826
2827         blink merge: https://chromium.googlesource.com/chromium/blink/+/81643ee3fe048a64fa8931132e1294fa2c8e821a
2828
2829         Reviewed by Eric Carlson.
2830
2831         Existing tests were updated.
2832
2833         * CMakeLists.txt:
2834         * DerivedSources.make:
2835         * GNUmakefile.list.am:
2836         * Modules/mediastream/LocalMediaStream.cpp: Removed.
2837         * Modules/mediastream/LocalMediaStream.h: Removed.
2838         * Modules/mediastream/LocalMediaStream.idl: Removed.
2839         * Modules/mediastream/MediaStream.cpp:
2840         (WebCore::MediaStream::stop):
2841         * Modules/mediastream/MediaStream.h:
2842         * Modules/mediastream/MediaStream.idl:
2843         * Modules/mediastream/NavigatorUserMediaSuccessCallback.h:
2844         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
2845         * Modules/mediastream/UserMediaRequest.cpp:
2846         (WebCore::UserMediaRequest::succeed):
2847         * Modules/mediastream/UserMediaRequest.h:
2848         * Modules/webaudio/AudioContext.cpp:
2849         (WebCore::AudioContext::createMediaStreamSource):
2850         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2851         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
2852         * WebCore.xcodeproj/project.pbxproj:
2853         * dom/EventTarget.h:
2854         * dom/EventTargetFactory.in:
2855         * platform/mediastream/MediaStreamDescriptor.h:
2856
2857 2013-09-11  Timothy Hatcher  <timothy@apple.com>
2858
2859         Remove PlatformInstrumentation since we don't show decode or resize in the new Web Inspector
2860         https://bugs.webkit.org/show_bug.cgi?id=121181
2861
2862         Reviewed by Joseph Pecoraro.
2863
2864         * CMakeLists.txt:
2865         * GNUmakefile.list.am:
2866         * Target.pri:
2867         * WebCore.order:
2868         * WebCore.vcxproj/WebCore.vcxproj:
2869         * WebCore.vcxproj/WebCore.vcxproj.filters:
2870         * WebCore.xcodeproj/project.pbxproj:
2871         * inspector/InspectorTimelineAgent.cpp:
2872         (WebCore::InspectorTimelineAgent::willPaint):
2873         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2874         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2875         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2876         (WebCore::InspectorTimelineAgent::clearRecordStack):
2877         * inspector/InspectorTimelineAgent.h:
2878         * platform/PlatformInstrumentation.cpp: Removed.
2879         * platform/PlatformInstrumentation.h: Removed.
2880         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2881         (WebCore::BMPImageDecoder::frameBufferAtIndex):
2882         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2883         (WebCore::GIFImageDecoder::frameBufferAtIndex):
2884         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2885         (WebCore::ICOImageDecoder::frameBufferAtIndex):
2886         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2887         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
2888         * platform/image-decoders/png/PNGImageDecoder.cpp:
2889         (WebCore::PNGImageDecoder::frameBufferAtIndex):
2890         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2891         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
2892
2893 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
2894
2895         [Windows] Avoid converting from IntSize->SIZE->IntSize.
2896         https://bugs.webkit.org/show_bug.cgi?id=121180
2897
2898         Reviewed by Anders Carlsson.
2899
2900         * platform/graphics/BitmapImage.h: Take const IntSize* as
2901         argument, rather than LPSIZE.
2902         * platform/graphics/Image.h: Ditto.
2903         (WebCore::Image::getHBITMAPOfSize):
2904         * platform/graphics/win/ImageCGWin.cpp:
2905         (WebCore::BitmapImage::getHBITMAPOfSize): Use passed-in
2906         IntSize, rather than converting from SIZE.
2907         * platform/graphics/win/ImageCairoWin.cpp:
2908         (WebCore::BitmapImage::getHBITMAPOfSize): Ditto.
2909
2910 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
2911
2912         Unreviewed debug build fix after r155567.
2913
2914         * rendering/LineWidth.cpp:
2915         (WebCore::LineWidth::LineWidth):
2916
2917 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
2918
2919         Move LineWidth out of RenderBlockLineLayout
2920         https://bugs.webkit.org/show_bug.cgi?id=121107
2921
2922         Reviewed by David Hyatt.
2923
2924         Move LineWidth class and related code into LineWidth.{h,cpp}.
2925
2926         No new tests, no behavior change.
2927
2928         * CMakeLists.txt:
2929         * GNUmakefile.list.am:
2930         * Target.pri:
2931         * WebCore.vcxproj/WebCore.vcxproj:
2932         * WebCore.xcodeproj/project.pbxproj:
2933         * rendering/LineWidth.cpp: Added.
2934         (WebCore::LineWidth::applyOverhang):
2935         (WebCore::LineWidth::fitBelowFloats):
2936         * rendering/LineWidth.h: Added.
2937         (WebCore::logicalHeightForLine):
2938         (WebCore::LineWidth::LineWidth):
2939         (WebCore::LineWidth::fitsOnLine):
2940         (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
2941         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
2942         (WebCore::LineWidth::currentWidth):
2943         (WebCore::LineWidth::uncommittedWidth):
2944         (WebCore::LineWidth::committedWidth):
2945         (WebCore::LineWidth::availableWidth):
2946         (WebCore::LineWidth::addUncommittedWidth):
2947         (WebCore::LineWidth::commit):
2948         (WebCore::LineWidth::setTrailingWhitespaceWidth):
2949         (WebCore::LineWidth::shouldIndentText):
2950         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2951         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
2952         (WebCore::LineWidth::updateAvailableWidth):
2953         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2954         * rendering/RenderBlockLineLayout.cpp:
2955
2956 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
2957
2958         HTMLEntityTable could use char to reduce binary size
2959         https://bugs.webkit.org/show_bug.cgi?id=121176
2960
2961         Reviewed by Anders Carlsson.
2962
2963         Use LChar instead.
2964
2965         * html/parser/HTMLEntityParser.cpp:
2966         (WebCore::HTMLEntityParser::consumeNamedEntity):
2967         * html/parser/HTMLEntityTable.h:
2968         (WebCore::HTMLEntityTableEntry::lastCharacter):
2969         * html/parser/create-html-entity-table:
2970
2971 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
2972
2973         [Windows] Revise GDI Create Functions to use GDIObject Smart Pointer.
2974         https://bugs.webkit.org/show_bug.cgi?id=121100
2975
2976         Reviewed by Anders Carlsson.
2977
2978         * platform/graphics/FontPlatformData.h: Use GDIObject instead of bare pointer.
2979         * platform/graphics/win/FontCacheWin.cpp:
2980         (WebCore::createGDIFont): No longer need to leak the pointer; use move semantic
2981         to pass ownership to FontPlatformData.
2982         (WebCore::FontCache::createFontPlatformData):
2983         * platform/graphics/win/FontCustomPlatformData.cpp:
2984         (WebCore::FontCustomPlatformData::fontPlatformData): Use move operation.
2985         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2986         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
2987         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2988         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2989         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2990         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2991         * platform/graphics/win/FontPlatformDataWin.cpp:
2992         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2993         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
2994         (WebCore::GlyphPage::fill): Use HWndDC smart pointer instead of bare HDC.
2995         * platform/graphics/win/SimpleFontDataWin.cpp:
2996         (WebCore::SimpleFontData::platformCreateScaledFontData): Use move operation.
2997         * platform/win/DragImageCGWin.cpp:
2998         (WebCore::allocImage): Change to use GDIObject.
2999         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
3000         (WebCore::createDragImageFromImage): Ditto.
3001         * platform/win/DragImageCairoWin.cpp:
3002         (WebCore::allocImage): Change to use GDIObject.
3003         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
3004         (WebCore::createDragImageFromImage): Ditto.
3005         * platform/win/DragImageWin.cpp:
3006         (WebCore::createDragImageForLink): Update for GDIObject.
3007         * platform/win/PopupMenuWin.cpp:
3008         (WebCore::PopupMenuWin::PopupMenuWin): Switch to GDIObject.
3009         (WebCore::PopupMenuWin::~PopupMenuWin): Remove uneeded deallocs.
3010         (WebCore::PopupMenuWin::paint): Update for GDIObject.
3011         * platform/win/PopupMenuWin.h: Use smart pointers instead of bare GDI objects.
3012
3013 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
3014
3015         Fix animations with !USE(ACCELERATED_COMPOSITING) after r147792.
3016         https://bugs.webkit.org/show_bug.cgi?id=121159
3017
3018         Reviewed by Simon Fraser.
3019
3020         CSSPropertyAnimation::blendProperties() is available always
3021         and needs to be called to make the animations work.
3022
3023         * page/animation/ImplicitAnimation.cpp:
3024         (WebCore::ImplicitAnimation::animate):
3025         * page/animation/KeyframeAnimation.cpp:
3026         (WebCore::KeyframeAnimation::animate):
3027
3028 2013-09-11  David Hyatt  <hyatt@apple.com>
3029
3030         Move all collapsing margin code out of RenderBlock and into RenderBlockFlow.
3031         https://bugs.webkit.org/show_bug.cgi?id=121049
3032
3033         Reviewed by Dean Jackson.
3034
3035         This patch begins the migration of the rare data struct of RenderBlock into
3036         RenderBlockFlow. During this process we will temporarily have rare data structs
3037         in both places, but ultimately all of the members are going to move down into
3038         RenderBlockFlow, and if any don't, they will get forced into a hash.
3039         
3040         For this patch, the margin information is being shifted out of RenderBlock and into
3041         RenderBlockFlow. Any functions that refer to MarginValues or to MarginInfo also got
3042         moved down into RenderBlockFlow. Most of block child layout is now in RenderBlockFlow
3043         after this patch.
3044         
3045         Note that in many cases the code didn't simply move. There is some type tightening
3046         that happened as well, i.e., places that look for RenderBlock can now look for
3047         RenderBlockFlow instead and let RenderBlock execute the base RenderBox functions.
3048
3049         * rendering/RenderBlock.cpp:
3050         (WebCore::RenderBlock::RenderBlock):
3051         (WebCore::RenderBlock::setPaginationStrut):
3052         (WebCore::RenderBlock::setPageLogicalOffset):
3053         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow):
3054         * rendering/RenderBlock.h:
3055         (WebCore::RenderBlock::setLineGridBox):
3056         (WebCore::RenderBlock::setShapeInsideInfo):
3057         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
3058         * rendering/RenderBlockFlow.cpp:
3059         (WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
3060         (WebCore::RenderBlockFlow::RenderBlockFlow):
3061         (WebCore::RenderBlockFlow::layoutBlockChild):
3062         (WebCore::RenderBlockFlow::adjustPositionedBlock):
3063         (WebCore::RenderBlockFlow::adjustFloatingBlock):
3064         (WebCore::RenderBlockFlow::marginValuesForChild):
3065         (WebCore::RenderBlockFlow::collapseMargins):
3066         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
3067         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
3068         (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
3069         (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
3070         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
3071         (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
3072         (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
3073         (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
3074         (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
3075         (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
3076         (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
3077         (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild):
3078         (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild):
3079         (WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild):
3080         (WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild):
3081         (WebCore::inNormalFlow):
3082         (WebCore::RenderBlockFlow::applyBeforeBreak):
3083         (WebCore::RenderBlockFlow::applyAfterBreak):
3084         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
3085         * rendering/RenderBlockFlow.h:
3086         (WebCore::RenderBlockFlow::MarginValues::MarginValues):
3087         (WebCore::RenderBlockFlow::MarginValues::positiveMarginBefore):
3088         (WebCore::RenderBlockFlow::MarginValues::negativeMarginBefore):
3089         (WebCore::RenderBlockFlow::MarginValues::positiveMarginAfter):
3090         (WebCore::RenderBlockFlow::MarginValues::negativeMarginAfter):
3091         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginBefore):
3092         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginBefore):
3093         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginAfter):
3094         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginAfter):
3095         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
3096         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginBeforeDefault):
3097         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginBeforeDefault):
3098         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginAfterDefault):
3099         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginAfterDefault):
3100         (WebCore::RenderBlockFlow::MarginInfo::setAtBeforeSideOfBlock):
3101         (WebCore::RenderBlockFlow::MarginInfo::setAtAfterSideOfBlock):
3102         (WebCore::RenderBlockFlow::MarginInfo::clearMargin):
3103         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginBeforeQuirk):
3104         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginAfterQuirk):
3105         (WebCore::RenderBlockFlow::MarginInfo::setDeterminedMarginBeforeQuirk):
3106         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMargin):
3107         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMargin):
3108         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMarginIfLarger):
3109         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMarginIfLarger):
3110         (WebCore::RenderBlockFlow::MarginInfo::setMargin):
3111         (WebCore::RenderBlockFlow::MarginInfo::setCanCollapseMarginAfterWithChildren):
3112         (WebCore::RenderBlockFlow::MarginInfo::setDiscardMargin):
3113         (WebCore::RenderBlockFlow::MarginInfo::atBeforeSideOfBlock):
3114         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginBefore):
3115         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginAfter):
3116         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginBeforeWithChildren):
3117         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginAfterWithChildren):
3118         (WebCore::RenderBlockFlow::MarginInfo::quirkContainer):
3119         (WebCore::RenderBlockFlow::MarginInfo::determinedMarginBeforeQuirk):
3120         (WebCore::RenderBlockFlow::MarginInfo::hasMarginBeforeQuirk):
3121         (WebCore::RenderBlockFlow::MarginInfo::hasMarginAfterQuirk):
3122         (WebCore::RenderBlockFlow::MarginInfo::positiveMargin):
3123         (WebCore::RenderBlockFlow::MarginInfo::negativeMargin):
3124         (WebCore::RenderBlockFlow::MarginInfo::discardMargin):
3125         (WebCore::RenderBlockFlow::MarginInfo::margin):
3126         (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
3127         (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
3128         (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
3129         (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
3130         (WebCore::RenderBlockFlow::initMaxMarginValues):
3131         * rendering/RenderDeprecatedFlexibleBox.cpp:
3132         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3133         * rendering/RenderTable.cpp:
3134         (WebCore::RenderTable::layout):
3135
3136 2013-09-11  Myles C. Maxfield  <mmaxfield@apple.com>
3137
3138         Fix nested unicode-bidi: isolate
3139         https://bugs.webkit.org/show_bug.cgi?id=120504
3140
3141         Reviewed by Darin Adler.
3142
3143         When we have a nested isolate renderer if the outer isolate has a text
3144         and this text is not the first child, the isolated chain is not
3145         rendered correctly. This happens because constructBidiRunsForSegment
3146         uses always the first inner isolated renderer as isolated inline
3147         container. This patch fixes the behavior described changing
3148         containingIsolate to find the right isolated container.
3149
3150         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/840a57050eade39dd04dde0c6603e129b783151c
3151
3152         Tests: fast/text/international/unicode-bidi-isolate-nested-first-child-text.html
3153                fast/text/international/unicode-bidi-isolate-nested-simple.html
3154
3155         * rendering/InlineIterator.h:
3156         (WebCore::containingIsolate):
3157         * rendering/RenderBlockLineLayout.cpp:
3158         (WebCore::constructBidiRunsForSegment):
3159
3160 2013-09-11  Alexey Proskuryakov  <ap@apple.com>
3161
3162         https://bugs.webkit.org/show_bug.cgi?id=121169
3163         media/track/track-cue-rendering-vertical.html is flaky on Mac
3164
3165         Reviewed by Eric Carlson.
3166
3167         * html/shadow/MediaControlElements.cpp:
3168         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Added a FIXME.
3169
3170 2013-09-11  Anders Carlsson  <andersca@apple.com>
3171
3172         Stop using deleteAllValues in SVG code
3173         https://bugs.webkit.org/show_bug.cgi?id=121172
3174
3175         Reviewed by Antti Koivisto.
3176
3177         Use OwnPtr for values instead.
3178
3179         * rendering/svg/RenderSVGResourceClipper.cpp:
3180         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
3181         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
3182         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
3183         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3184         * rendering/svg/RenderSVGResourceClipper.h:
3185         * rendering/svg/RenderSVGResourceFilter.cpp:
3186         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
3187         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
3188         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
3189         (WebCore::RenderSVGResourceFilter::applyResource):
3190         (WebCore::RenderSVGResourceFilter::postApplyResource):
3191         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3192         * rendering/svg/RenderSVGResourceFilter.h:
3193         * rendering/svg/RenderSVGResourceMasker.cpp:
3194         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
3195         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
3196         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
3197         (WebCore::RenderSVGResourceMasker::applyResource):
3198         * rendering/svg/RenderSVGResourceMasker.h:
3199
3200 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
3201
3202         Make the table static const.
3203
3204         * css/makeprop.pl:
3205
3206 2013-09-11  Timothy Hatcher  <timothy@apple.com>
3207
3208         Remove TimelineTraceEventProcessor since no current ports use it
3209         https://bugs.webkit.org/show_bug.cgi?id=121171
3210
3211         Reviewed by Joseph Pecoraro.
3212
3213         * CMakeLists.txt:
3214         * GNUmakefile.list.am:
3215         * Target.pri:
3216         * WebCore.vcxproj/WebCore.vcxproj:
3217         * WebCore.vcxproj/WebCore.vcxproj.filters:
3218         * WebCore.xcodeproj/project.pbxproj:
3219         * inspector/InspectorAllInOne.cpp:
3220         * inspector/InspectorClient.h:
3221         * inspector/InspectorInstrumentation.cpp:
3222         * inspector/InspectorInstrumentation.h:
3223         * inspector/InspectorTimelineAgent.cpp:
3224         (WebCore::InspectorTimelineAgent::start):
3225         (WebCore::InspectorTimelineAgent::stop):
3226         * inspector/InspectorTimelineAgent.h:
3227         * inspector/TimelineTraceEventProcessor.cpp: Removed.
3228         * inspector/TimelineTraceEventProcessor.h: Removed.
3229
3230 2013-09-11  Commit Queue  <commit-queue@webkit.org>
3231
3232         Unreviewed, rolling out r155519.
3233         http://trac.webkit.org/changeset/155519
3234         https://bugs.webkit.org/show_bug.cgi?id=121174
3235
3236         Included regression test fails, and an existing test started
3237         to crash (Requested by ap on #webkit).
3238
3239         * dom/Document.cpp:
3240         (WebCore::Document::hoveredElementDidDetach):
3241         * page/EventHandler.cpp:
3242         (WebCore::EventHandler::EventHandler):
3243         (WebCore::EventHandler::clear):
3244         (WebCore::EventHandler::handleMouseMoveEvent):
3245         (WebCore::EventHandler::scheduleHoverStateUpdate):
3246         (WebCore::EventHandler::hoverTimerFired):
3247         * page/EventHandler.h:
3248
3249 2013-09-11  Anders Carlsson  <andersca@apple.com>
3250
3251         Stop using deleteAllValues in SVG code
3252         https://bugs.webkit.org/show_bug.cgi?id=121172
3253
3254         Reviewed by Antti Koivisto.
3255
3256         Use OwnPtr for values instead.
3257
3258         * rendering/svg/RenderSVGResourceClipper.cpp:
3259         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
3260         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
3261         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
3262         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3263         * rendering/svg/RenderSVGResourceClipper.h:
3264         * rendering/svg/RenderSVGResourceFilter.cpp:
3265         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
3266         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
3267         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
3268         (WebCore::RenderSVGResourceFilter::applyResource):
3269         (WebCore::RenderSVGResourceFilter::postApplyResource):
3270         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3271         * rendering/svg/RenderSVGResourceFilter.h:
3272         * rendering/svg/RenderSVGResourceMasker.cpp:
3273         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
3274         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
3275         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
3276         (WebCore::RenderSVGResourceMasker::applyResource):
3277         * rendering/svg/RenderSVGResourceMasker.h:
3278
3279 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
3280
3281         REGRESSION (143483): overflow:hidden doesn't quash big repaints from text-indent: -9999px
3282         https://bugs.webkit.org/show_bug.cgi?id=121137
3283
3284         Reviewed by Ryosuke Niwa.
3285         
3286         The change in r143483 made it so that negative text-indent gets added
3287         to visual oveflow even when we have overflow:hidden, which is really bad
3288         because it causes large repaints (and large layers) for a common-on-the-web
3289         pattern.
3290         
3291         Revert the change, and add a new test to make sure it doesn't regress.
3292         
3293         I can't reproduce the bug it was trying to fix with the change reverted.
3294
3295         Tests: compositing/geometry/negative-text-indent-with-overflow-hidden-layer.html
3296                fast/repaint/negative-text-indent-with-overflow-hidden.html
3297
3298         * rendering/RenderBlock.cpp:
3299         (WebCore::RenderBlock::computeOverflow):
3300
3301 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
3302
3303         Optionally show visual and layout overflow rects in layer tree dumps
3304         https://bugs.webkit.org/show_bug.cgi?id=121135
3305
3306         Reviewed by Beth Dakin.
3307
3308         When calling showLayerTree() from the debugger, show overflow rects
3309         (visaul and layout) for renderers.
3310         
3311         Does not affect test output.
3312
3313         * rendering/RenderLayer.cpp:
3314         (showLayerTree): Pass the new flag to show overflow rects.
3315         * rendering/RenderTreeAsText.cpp:
3316         (WebCore::RenderTreeAsText::writeRenderObject): Print the rects.
3317         (WebCore::write): Don't force layout on subframes if the "dont' layout"
3318         flag is set.
3319         * rendering/RenderTreeAsText.h: New flag.
3320
3321 2013-09-11  Chris Fleizach  <cfleizach@apple.com>
3322
3323         AX: WebKit exposes AXTitleUIElement incorrectly on checkboxes and radio buttons
3324         https://bugs.webkit.org/show_bug.cgi?id=121039
3325
3326         Reviewed by Sam Weinig.
3327
3328         Stop hiding <label> elements for radio buttons and checkboxes (and using the text inside them for the AXTitle).
3329         Instead, expose the <label> element as the titleUIElement if appropriate for the input.
3330
3331         This implies:
3332            1) The web will no longer match MacOS behavior exactly (the text and the checkbox control are combined on MacOS into one element)
3333            2) But, the user will now be able to explore the <label> element which may include links or other important controls.
3334         I think sacrificing 1) here is a good tradeoff. The user will likely never know the difference in terms of output.
3335
3336         Test: platform/mac/accessibility/label-elements-exposed-as-title-ui-elements.html
3337
3338         * accessibility/AccessibilityNodeObject.cpp:
3339         (WebCore::AccessibilityNodeObject::titleElementText):
3340         (WebCore::AccessibilityNodeObject::title):
3341         * accessibility/AccessibilityRenderObject.cpp:
3342         (WebCore::AccessibilityRenderObject::hasTextAlternative):
3343         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
3344
3345 2013-09-11  Andreas Kling  <akling@apple.com>
3346
3347         Remove unnecessary Document::frame() null checks in rendererIsNeeded().
3348         <https://webkit.org/b/121166>
3349
3350         Reviewed by Anders Carlsson.
3351
3352         rendererIsNeeded() is only called during style resolve, which only happens
3353         while there's a Frame present.
3354
3355         * html/HTMLEmbedElement.cpp:
3356         (WebCore::HTMLEmbedElement::rendererIsNeeded):
3357         * html/HTMLMediaElement.cpp:
3358         (WebCore::HTMLMediaElement::rendererIsNeeded):
3359         * html/HTMLObjectElement.cpp:
3360         * html/HTMLObjectElement.h:
3361
3362 2013-09-11  Csaba Osztrogonác  <ossy@webkit.org>
3363
3364         ARM buildfix after r155491
3365         https://bugs.webkit.org/show_bug.cgi?id=121152
3366
3367         Reviewed by Anders Carlsson.
3368
3369         FELightingNEON.cpp and FELightingNEON.h is inside COMPILER(GCC) guard, so it's safe to use GCC attribute.
3370
3371         * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Use __aligned__ GCC attribute directly.
3372         * platform/graphics/cpu/arm/filters/FELightingNEON.h: Use __aligned__ GCC attribute instead of ugly template magic.
3373         (WebCore::FELighting::platformApplyNeon):
3374
3375 2013-09-11  peavo@outlook.com  <peavo@outlook.com>
3376
3377         [WinCairo] Compile errors.
3378         https://bugs.webkit.org/show_bug.cgi?id=121153
3379
3380         Reviewed by Brent Fulgham.
3381
3382         * page/win/FrameCairoWin.cpp:
3383         (WebCore::imageFromRect): Return empty GDIObject.
3384         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
3385         (WebCore::FontCustomPlatformData::fontPlatformData): Get actual handle from GDIObject.
3386
3387 2013-09-11  Darin Adler  <darin@apple.com>
3388
3389         Rework CSS parser, eliminating "floating" concept and using %destructor
3390         https://bugs.webkit.org/show_bug.cgi?id=121161
3391
3392         Reviewed by Antti Koivisto.
3393
3394         This is some basic improvement, but there is still room for a lot more
3395         consistent approach and formatting in this file. There is a mix of code that
3396         works by side effects in the CSSParser class and code that works with the
3397         values that bison generates in the union that is more or less random. And
3398         the data structures seem too costly, with too much heap allocation. And the
3399         CSSParser class has grown massive, with a mix of both function for use by
3400         code that wants to trigger parsing, and helper functions called by code in
3401         the grammar file. All of that can benefit from more refinement in the future.
3402
3403         * css/CSSGrammar.y.in: Made some incremental improvements to the structure
3404         of the grammar file, including:
3405         - Breaking up the %union so types are declared next to their use
3406         - Eliminating one shift/reduce conflict caused by two "maybe_space" in a row
3407         - Breaking the conditional sections out into their own sections instead of
3408           scattering them in with the other code.
3409         - Eliminating unused return values in productions such as charset,
3410           ignored_charset, namespace, margin_box, invalid_rule, save_block,
3411           invalid_at, and declarations_and_margins.
3412         - Adding %destructor to productions that return values that need to be deleted
3413           or deref'd. This removes the need for CSSParser to separately track these
3414           as "floating" to clean up in case of errors.
3415         - Removing unneeded productions such as media_feature, region_selector,
3416           attr_name, and medium.
3417         - Removing explicit code blocks that just say "$$ = $1" or empty blocks when
3418           there is no return type, since those are default.
3419         - Formatting many productions on single lines since I find them easier to read.
3420           Later I think we could make many more CSSParser functions and make even
3421           more of the production single lines in the grammar file.
3422         - Using adoptPtr, adoptRef, delete, deref, leakPtr, and leakRef to put
3423           heap allocated values into and out of the union without storage leaks.
3424           
3425         * css/CSSParser.cpp:
3426         (WebCore::CSSParser::~CSSParser): Remove the now-unneeded deleteAllValues for
3427         the various colections of floating things.
3428         (WebCore::CSSParser::createFilterRule): Don't put the rule into m_parsedRules,
3429         just return a PassRefPtr instead.
3430         (WebCore::CSSParser::createImportRule): Ditto.
3431         (WebCore::CSSParser::createMediaRule): Ditto.
3432         (WebCore::CSSParser::createEmptyMediaRule): Ditto.
3433         (WebCore::CSSParser::createSupportsRule): Ditto.
3434         (WebCore::CSSParser::createKeyframesRule): Ditto.
3435         (WebCore::CSSParser::createStyleRule): Ditto.
3436         (WebCore::CSSParser::createFontFaceRule): Ditto.
3437         (WebCore::CSSParser::createHostRule): Ditto.
3438         (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded): Got rid of the
3439         unused return value from this function and changed it to to take a reference
3440         instead of a pointer.
3441         (WebCore::CSSParser::rewriteSpecifiersWithElementName): Ditto.
3442         (WebCore::CSSParser::rewriteSpecifiers): Changed this to take and return OwnPtr.
3443         (WebCore::CSSParser::createPageRule): Don't put rule into m_parsedRules, return
3444         PassRefPtr instead.
3445         (WebCore::CSSParser::createSelectorVector): Added. Used to implement the
3446         optimization where we recycle a single selector vector. Not sure we still need
3447         this, or maybe we need more optimizations like it, but for now keep it.
3448         (WebCore::CSSParser::recycleSelectorVector): Ditto.
3449         (WebCore::CSSParser::createRegionRule): Don't put rule into m_parsedRules, return
3450         PassRefPtr instead.
3451         (WebCore::CSSParser::createMarginAtRule): Got rid of unused return value.
3452         When this function is implemented for real, we might add a return value.
3453         (WebCore::CSSParser::createKeyframe): Don't put keyframe into m_parsedKeyframes,
3454         return PassRefPtr instead.
3455         (WebCore::CSSParser::createViewportRule): Don't put rule into m_parsedRules, return
3456         PassRefPtr instead.
3457
3458         * css/CSSParser.h: Removed many now-needed functions to manage floating items.
3459         Changed rule creation functions to return PassRefPtr. Other changes as mentioned above.
3460
3461         * css/CSSParserValues.cpp:
3462         (WebCore::destroy): Added.
3463         (WebCore::CSSParserValueList::~CSSParserValueList): Updated to call destroy.
3464         * css/CSSParserValues.h: Ditto.
3465
3466 2013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
3467
3468         [GTK] Remove Gail dependency from build system for GTK3
3469         https://bugs.webkit.org/show_bug.cgi?id=119673
3470
3471         Reviewed by Gustavo Noronha Silva.
3472
3473         * GNUmakefile.am: Removed GAIL_CFLAGS.
3474         * PlatformGTK.cmake: Removed GAIL3_INCLUDE_DIRS and GAIL3_LIBRARIES.
3475
3476 2013-09-11  Andreas Kling  <akling@apple.com>
3477
3478         Remove Widget::widgetPositionsUpdated().
3479         <https://webkit.org/b/121160>
3480
3481         Reviewed by Anders Carlsson.
3482
3483         Remove this no-op virtual that was only used by chromium.
3484
3485 2013-09-11  Andreas Kling  <akling@apple.com>
3486
3487         Page::backForward() should return a reference.
3488         <https://webkit.org/b/121151>