<https://webkit.org/b/119996> Introduce toSVGAnimateElement(), and use it
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-08-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         <https://webkit.org/b/119996> Introduce toSVGAnimateElement(), and use it
4
5         Reviewed by Andreas Kling.
6
7         As a step to clean-up static_cast<SVGXXX>, static_cast<SVGAnimateElement*> also can be changed
8         with toSVGAnimateElement().
9
10         * svg/SVGAnimateElement.cpp:
11         (WebCore::SVGAnimateElement::calculateAnimatedValue):
12         * svg/SVGAnimateElement.h:
13         (WebCore::toSVGAnimateElement):
14         * svg/SVGAnimationElement.cpp:
15         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
16
17 2013-08-19  Andreas Kling  <akling@apple.com>
18
19         <https://webkit.org/b/119997> Page::progress() should return a reference.
20
21         Reviewed by Antti Koivisto.
22
23         Page::m_progress is never null.
24
25 2013-08-18  Darin Adler  <darin@apple.com>
26
27         <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error
28
29         Reviewed by Sam Weinig.
30
31         * dom/Element.h: Deleted the ownerDocument function. For compilers that don't support
32         deleted functions, it is instead overrides the base class function with one that is
33         private and not defined, which accomplishes almost the same thing: An error, either
34         at compile time or link time.
35
36         * bindings/js/JSHTMLElementCustom.cpp:
37         (WebCore::JSHTMLElement::pushEventHandlerScope): Use document instead of ownerDocument.
38         * dom/Document.cpp:
39         (WebCore::Document::~Document): Added a comment about this clearly-incorrect code.
40         * inspector/InspectorInstrumentation.h:
41         (WebCore::InspectorInstrumentation::didPushShadowRoot): Use document instead of ownerDocument.
42         (WebCore::InspectorInstrumentation::willPopShadowRoot): Ditto.
43         * inspector/InspectorStyleSheet.cpp:
44         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): Ditto.
45         * plugins/PluginView.cpp:
46         (WebCore::getFrame): Removed ineffective call to ownerDocument after document when it
47         returns 0. It will never return anything other than 0 in that case.
48         * rendering/RenderVideo.cpp:
49         (WebCore::RenderVideo::calculateIntrinsicSize): Use document instead of ownerDocument.
50         Did not remove the null check at this time, although I'm pretty sure it's bogus. We can
51         fix that when/if we change the return type of Element::document to a reference.
52         * svg/SVGFEImageElement.cpp:
53         (WebCore::SVGFEImageElement::requestImageResource): Use document instead of ownerDocument.
54
55 2013-08-18  Darin Adler  <darin@apple.com>
56
57         <https://webkit.org/b/119993> Remove most remaining platform-specific code from Clipboard class
58
59         Reviewed by Sam Weinig.
60
61         * GNUmakefile.list.am: Removed ClipboardGtk.cpp.
62         * PlatformEfl.cmake: Removed ClipboardEfl.cpp.
63         * PlatformGTK.cmake: Removed ClipboardGtk.cpp.
64         * PlatformWinCE.cmake: Removed ClipboardWin.cpp.
65         * Target.pri: Removed ClipboardQt.cpp.
66         * WebCore.vcxproj/WebCore.vcxproj: Removed ClipboardWin.cpp and ClipboardWin.h.
67         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed ClipboardWin.cpp and ClipboardWin.h.
68
69         * dom/Clipboard.cpp:
70         (WebCore::Clipboard::createDragImage): Added. Version that works for all platforms
71         other than Mac, identical to the old one used in GTK and Qt, and close to the one used
72         on Windows.
73
74         * platform/mac/ClipboardMac.mm: Trimmed includes down, and added a FIXME about next steps.
75
76         * platform/qt/DataTransferItemListQt.h: Removed "friend class ClipboardQt", which refers
77         to a now-nonexistent class.
78
79         * platform/efl/ClipboardEfl.cpp: Removed.
80         * platform/gtk/ClipboardGtk.cpp: Removed.
81         * platform/qt/ClipboardQt.cpp: Removed.
82         * platform/win/ClipboardWin.cpp: Removed.
83
84 2013-08-17  Darin Adler  <darin@apple.com>
85
86         <https://webkit.org/b/119949> Factor Clipboard into drag and non-drag parts
87
88         Reviewed by Sam Weinig.
89
90         * dom/Clipboard.cpp:
91         (WebCore::Clipboard::Clipboard): Move the ClipboardType argument to go after the pasteboard.
92         Initialize strings more efficiently. Put drag-specific data members inside an if statement.
93         Replace m_clipboardType with m_forDrag.
94         (WebCore::Clipboard::createForCopyAndPaste): Moved function up to be close to constructor.
95         Removed explicit clipboard type since constructor now defaults to copy and paste style.
96         (WebCore::Clipboard::setAccessPolicy): Tweaked comment.
97         (WebCore::Clipboard::getData): Put drag-specific code inside #if ENABLE(DRAG_SUPPORT).
98         (WebCore::Clipboard::setData): Ditto.
99         (WebCore::Clipboard::files): Ditto.
100         (WebCore::Clipboard::dropEffect): Added trivial non-drag versions of these functions to
101         be used when !ENABLE(DRAG_SUPPORT).
102         (WebCore::Clipboard::setDropEffect): Ditto.
103         (WebCore::Clipboard::effectAllowed): Ditto.
104         (WebCore::Clipboard::setEffectAllowed): Ditto.
105         (WebCore::Clipboard::createForDragAndDrop): Renamed Clipboard::create that takes DragData
106         to this, and kep the overload that does not as well. Made the DragData argument a const&.
107         (WebCore::Clipboard::canSetDragImage): Moved down here since it is drag-specific.
108         (WebCore::Clipboard::updateDragImage): Use m_shouldUpdateDragImage directly insted of
109         calling a dragStarted function.
110         (WebCore::dragOpFromIEOp): Moved this function down here to the drag-specific section.
111         (WebCore::IEOpFromDragOp): Ditto.
112         (WebCore::Clipboard::sourceOperation): Ditto.
113         (WebCore::Clipboard::destinationOperation): Ditto.
114         (WebCore::Clipboard::setSourceOperation): Ditto.
115         (WebCore::Clipboard::setDestinationOperation): Ditto.
116
117         * dom/Clipboard.h: Removed unneeded include of "Node.h" and added and removed forward
118         class declarations as required. Removed non-helpful comment. Made ClipboardType a private
119         implementation detail. Moved functions that are not part of the DOM API down to a separate
120         section lower down in the class, and sorted the functions to match the order they appear
121         in the IDL file. Removed isForCopyAndPaste and isForDragAndDrop. Changed dropEffect and
122         effectAllowed to not be inlined. Moved the long comment before canSetDragImage into the
123         implementation since it's an implementation detail. Since this class is no longer polymorphic,
124         use only private, not protected. Make m_dragImageElement an Element, not a Node.
125
126         * dom/Clipboard.idl: Removed flags to tell bindings how to deal with null strings, since
127         these string properties can never return null strings anyway.
128
129         * page/DragController.cpp:
130         (WebCore::DragController::dragExited): Updated to call the new createForDragAndDrop function.
131         (WebCore::DragController::performDrag): Ditto.
132         (WebCore::DragController::tryDHTMLDrag): Ditto.
133
134         * platform/mac/ClipboardMac.mm: Added now-needed include of Element.h since Clipboard.h no
135         longer includes it.
136
137 2013-08-18  David Kilzer  <ddkilzer@apple.com>
138
139         WebCore fails to build with trunk clang: error: 'register' storage class specifier is deprecated [-Werror,-Wdeprecated-register]
140         <http://webkit.org/b/119932>
141         <rdar://problem/14764085>
142
143         Reviewed by Darin Adler.
144
145         Add pragma statements to ignore -Wdeprecated-register warnings
146         in generated code.  Also ignore -Wunknown-pragmas so this
147         doesn't cause a build failure in older versions of clang.
148
149         * css/makeprop.pl:
150         (WebCore::findProperty): Remove register hints from parameters.
151         * css/makevalues.pl:
152         (WebCore::findValue): Ditto.
153         * platform/ColorData.gperf:
154         (WebCore::findColor): Ditto.
155
156 2013-08-18  Antti Koivisto  <antti@apple.com>
157
158         <https://webkit.org/b/119987> Make Element::attach standalone function
159
160         Reviewed by Andreas Kling.
161
162         This patch turns Element::attach() and the related functions into standalone functions.
163
164         * dom/ContainerNode.cpp:
165         (WebCore::attachChild):
166         (WebCore::detachChild):
167         * dom/ContainerNode.h:
168         * dom/Document.cpp:
169         (WebCore::Document::attach):
170         (WebCore::Document::detach):
171         * dom/Element.cpp:
172         (WebCore::Element::~Element):
173         (WebCore::Element::lazyReattach):
174         (WebCore::Element::removeShadowRoot):
175         
176             Shadow root should be detached by now. Remove the detach call.
177
178         (WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
179         (WebCore::Element::updatePseudoElement):
180         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
181         (WebCore::Element::clearHoverAndActiveStatusBeforeDetachingRenderer):
182         
183             Factor some parts of former Element::attach/detach() into member functions.
184
185         * dom/Element.h:
186         * dom/ElementRareData.h:
187         (WebCore::ElementRareData::releasePseudoElement):
188         * dom/NodeRenderingContext.cpp:
189         (WebCore::NodeRenderingContext::NodeRenderingContext):
190         * dom/NodeRenderingContext.h:
191         * dom/ShadowRoot.cpp:
192         * dom/ShadowRoot.h:
193         * html/HTMLDetailsElement.cpp:
194         (WebCore::HTMLDetailsElement::parseAttribute):
195         * html/HTMLInputElement.cpp:
196         (WebCore::HTMLInputElement::updateType):
197         (WebCore::HTMLInputElement::parseAttribute):
198         * html/HTMLObjectElement.cpp:
199         (WebCore::HTMLObjectElement::renderFallbackContent):
200         * html/HTMLPlugInImageElement.cpp:
201         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
202         (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
203         * html/HTMLSelectElement.cpp:
204         (WebCore::HTMLSelectElement::parseAttribute):
205         (WebCore::HTMLSelectElement::parseMultipleAttribute):
206         * html/HTMLViewSourceDocument.cpp:
207         (WebCore::HTMLViewSourceDocument::createContainingTable):
208         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
209         (WebCore::HTMLViewSourceDocument::addLine):
210         (WebCore::HTMLViewSourceDocument::finishLine):
211         (WebCore::HTMLViewSourceDocument::addBase):
212         (WebCore::HTMLViewSourceDocument::addLink):
213         * html/parser/HTMLConstructionSite.cpp:
214         (WebCore::executeTask):
215         * html/parser/HTMLTreeBuilder.cpp:
216         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
217         * html/shadow/InsertionPoint.cpp:
218         (WebCore::InsertionPoint::willAttachRenderers):
219         (WebCore::InsertionPoint::willDetachRenderers):
220         * loader/PlaceholderDocument.cpp:
221         (WebCore::PlaceholderDocument::attach):
222         * style/StyleResolveTree.cpp:
223         (WebCore::Style::createRendererIfNeeded):
224         
225             From Element::createRendererIfNeeded()
226
227         (WebCore::Style::attachShadowRoot):
228         
229             From ShadowRoot::attach()
230
231         (WebCore::Style::childAttachedAllowedWhenAttachingChildren):
232         (WebCore::Style::attachChildren):
233         
234             From Element::attachChildren()
235
236         (WebCore::Style::attachRenderTree):
237         
238             From Element::attach()
239
240         (WebCore::Style::detachShadowRoot):
241         
242             From ShadowRoot::detach()
243
244         (WebCore::Style::detachChildren):
245         
246             From Element::detachChildren()
247
248         (WebCore::Style::detachRenderTree):
249         
250             From Element::deatach()
251
252         (WebCore::Style::reattachRenderTree):
253         
254              From Element::reattach()
255
256         (WebCore::Style::resolveLocal):
257         * style/StyleResolveTree.h:
258         (WebCore::Style::AttachContext::AttachContext):
259         
260             From Element::AttachContext
261
262         * svg/SVGTests.cpp:
263         (WebCore::SVGTests::handleAttributeChange):
264         * xml/XMLErrors.cpp:
265         (WebCore::XMLErrors::insertErrorMessageBlock):
266         * xml/parser/XMLDocumentParserLibxml2.cpp:
267         (WebCore::XMLDocumentParser::startElementNs):
268
269 2013-08-18  Antti Koivisto  <antti@apple.com>
270
271         Fix crashing plugin tests caused by a logic error in the previous patch.
272         
273         Not reviewed.
274
275         * html/HTMLPlugInImageElement.cpp:
276         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
277
278 2013-08-18  Antti Koivisto  <antti@apple.com>
279
280         <https://webkit.org/b/119982> Make Element::attach non-virtual
281
282         Reviewed by Andreas Kling.
283
284         This will give us more future refactoring options.
285
286         * dom/Element.cpp:
287         (WebCore::Element::attach):
288         (WebCore::Element::detach):
289         
290             Make non-virtual. Call element type specific custom functions as needed.
291
292         (WebCore::Element::styleForRenderer):
293         (WebCore::Element::willRecalcStyle):
294         (WebCore::Element::didRecalcStyle):
295         (WebCore::Element::willAttachRenderers):
296         (WebCore::Element::didAttachRenderers):
297         (WebCore::Element::willDetachRenderers):
298         (WebCore::Element::didDetachRenderers):
299         
300             Add virtual custom callbacks.
301
302         (WebCore::Element::customStyleForRenderer):
303         * dom/Element.h:
304         * dom/Node.h:
305         (WebCore::Node::pseudoId):
306         (WebCore::Node::hasCustomStyleResolveCallbacks):
307         (WebCore::Node::setHasCustomStyleResolveCallbacks):
308         
309             Use the existing bit as it largely overlaps. Rename for clarity.
310
311         (WebCore::Node::customPseudoId):
312         * dom/PseudoElement.cpp:
313         (WebCore::PseudoElement::PseudoElement):
314         (WebCore::PseudoElement::didAttachRenderers):
315         * dom/PseudoElement.h:
316         * html/HTMLCanvasElement.cpp:
317         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
318         (WebCore::HTMLCanvasElement::willAttachRenderers):
319         * html/HTMLCanvasElement.h:
320         * html/HTMLFormControlElement.cpp:
321         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
322         (WebCore::HTMLFormControlElement::didAttachRenderers):
323         * html/HTMLFormControlElement.h:
324         * html/HTMLFrameElement.cpp:
325         (WebCore::HTMLFrameElement::HTMLFrameElement):
326         (WebCore::HTMLFrameElement::didAttachRenderers):
327         * html/HTMLFrameElement.h:
328         * html/HTMLFrameElementBase.cpp:
329         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
330         (WebCore::HTMLFrameElementBase::didAttachRenderers):
331         * html/HTMLFrameElementBase.h:
332         * html/HTMLFrameSetElement.cpp:
333         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
334         (WebCore::HTMLFrameSetElement::willAttachRenderers):
335         * html/HTMLFrameSetElement.h:
336         * html/HTMLIFrameElement.cpp:
337         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
338         * html/HTMLImageElement.cpp:
339         (WebCore::HTMLImageElement::HTMLImageElement):
340         (WebCore::HTMLImageElement::didAttachRenderers):
341         * html/HTMLImageElement.h:
342         * html/HTMLInputElement.cpp:
343         (WebCore::HTMLInputElement::HTMLInputElement):
344         (WebCore::HTMLInputElement::willAttachRenderers):
345         (WebCore::HTMLInputElement::didAttachRenderers):
346         (WebCore::HTMLInputElement::didDetachRenderers):
347         * html/HTMLInputElement.h:
348         * html/HTMLLIElement.cpp:
349         (WebCore::HTMLLIElement::HTMLLIElement):
350         (WebCore::HTMLLIElement::didAttachRenderers):
351         * html/HTMLLIElement.h:
352         * html/HTMLMediaElement.cpp:
353         (WebCore::HTMLMediaElement::HTMLMediaElement):
354         (WebCore::HTMLMediaElement::willAttachRenderers):
355         (WebCore::HTMLMediaElement::didAttachRenderers):
356         * html/HTMLMediaElement.h:
357         * html/HTMLOptGroupElement.cpp:
358         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
359         (WebCore::HTMLOptGroupElement::didAttachRenderers):
360         (WebCore::HTMLOptGroupElement::willDetachRenderers):
361         * html/HTMLOptGroupElement.h:
362         * html/HTMLOptionElement.cpp:
363         (WebCore::HTMLOptionElement::HTMLOptionElement):
364         (WebCore::HTMLOptionElement::didAttachRenderers):
365         (WebCore::HTMLOptionElement::willDetachRenderers):
366         * html/HTMLOptionElement.h:
367         * html/HTMLPlugInElement.cpp:
368         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
369         (WebCore::HTMLPlugInElement::willDetachRenderers):
370         * html/HTMLPlugInElement.h:
371         * html/HTMLPlugInImageElement.cpp:
372         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
373         (WebCore::HTMLPlugInImageElement::didAttachRenderers):
374         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
375         * html/HTMLPlugInImageElement.h:
376         * html/HTMLProgressElement.cpp:
377         (WebCore::HTMLProgressElement::HTMLProgressElement):
378         (WebCore::HTMLProgressElement::didAttachRenderers):
379         * html/HTMLProgressElement.h:
380         * html/HTMLTextAreaElement.cpp:
381         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
382         (WebCore::HTMLTextAreaElement::didAttachRenderers):
383         * html/HTMLTextAreaElement.h:
384         * html/HTMLVideoElement.cpp:
385         (WebCore::HTMLVideoElement::HTMLVideoElement):
386         (WebCore::HTMLVideoElement::didAttachRenderers):
387         * html/HTMLVideoElement.h:
388         * html/shadow/InsertionPoint.cpp:
389         (WebCore::InsertionPoint::InsertionPoint):
390         (WebCore::InsertionPoint::willAttachRenderers):
391         (WebCore::InsertionPoint::willDetachRenderers):
392         * html/shadow/InsertionPoint.h:
393         * html/shadow/SliderThumbElement.cpp:
394         (WebCore::SliderThumbElement::SliderThumbElement):
395         (WebCore::SliderThumbElement::willDetachRenderers):
396         * html/shadow/SliderThumbElement.h:
397         * html/shadow/SpinButtonElement.cpp:
398         (WebCore::SpinButtonElement::SpinButtonElement):
399         (WebCore::SpinButtonElement::willDetachRenderers):
400         * html/shadow/SpinButtonElement.h:
401         * html/shadow/TextControlInnerElements.cpp:
402         (WebCore::TextControlInnerElement::TextControlInnerElement):
403         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
404         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
405         (WebCore::SearchFieldCancelButtonElement::willDetachRenderers):
406         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
407         (WebCore::InputFieldSpeechButtonElement::willAttachRenderers):
408         (WebCore::InputFieldSpeechButtonElement::willDetachRenderers):
409         * html/shadow/TextControlInnerElements.h:
410         * style/StyleResolveTree.cpp:
411         (WebCore::Style::resolveTree):
412         * svg/SVGElement.cpp:
413         (WebCore::SVGElement::SVGElement):
414         * svg/SVGImageElement.cpp:
415         (WebCore::SVGImageElement::SVGImageElement):
416         (WebCore::SVGImageElement::didAttachRenderers):
417         * svg/SVGImageElement.h:
418         * svg/SVGUseElement.cpp:
419         (WebCore::SVGUseElement::SVGUseElement):
420
421 2013-08-18  Gavin Barraclough  <barraclough@apple.com>
422
423         https://bugs.webkit.org/show_bug.cgi?id=119972
424         Add attributes field to PropertySlot
425
426         Reviewed by Geoff Garen.
427
428         For all JSC types, this makes getOwnPropertyDescriptor redundant.
429         There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour.
430         (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally).
431
432         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
433         (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
434         * bindings/js/JSDOMWindowCustom.cpp:
435         (WebCore::JSDOMWindow::getOwnPropertySlot):
436         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
437         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
438         * bindings/js/JSHistoryCustom.cpp:
439         (WebCore::JSHistory::getOwnPropertySlotDelegate):
440         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
441         * bindings/js/JSLocationCustom.cpp:
442         (WebCore::JSLocation::getOwnPropertySlotDelegate):
443         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
444         * bindings/js/JSPluginElementFunctions.cpp:
445         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
446         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
447         * bindings/scripts/CodeGeneratorJS.pm:
448         (GenerateGetOwnPropertySlotBody):
449         (GenerateGetOwnPropertyDescriptorBody):
450         (GenerateImplementation):
451         * bridge/runtime_array.cpp:
452         (JSC::RuntimeArray::getOwnPropertySlot):
453         (JSC::RuntimeArray::getOwnPropertyDescriptor):
454         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
455         * bridge/runtime_method.cpp:
456         (JSC::RuntimeMethod::getOwnPropertySlot):
457         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
458         * bridge/runtime_object.cpp:
459         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
460         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
461             - Pass attributes to PropertySlot::set* methods.
462
463 2013-08-18  Ryosuke Niwa  <rniwa@webkit.org>
464
465         <https://webkit.org/b/119917> Pasting multiple lines into a textarea can introduce extra new lines
466
467         Reviewed by Darin Adler.
468
469         Inspired by https://chromium.googlesource.com/chromium/blink/+/6152a12f7ace27beea4d284ff8416631e8aa5217.
470
471         The bug was caused by createFragmentFromText's falsely assuming that the newline were not preserved
472         if the first node's renderer didn't exist.
473
474         Fixed the bug by obtaining the renderer of the container of the first visible position in the context.
475
476         Test: editing/pasteboard/paste-into-textarea-with-new-line.html
477
478         * editing/markup.cpp:
479         (WebCore::contextPreservesNewline):
480         (WebCore::createFragmentFromText):
481
482 2013-08-18  Andreas Kling  <akling@apple.com>
483
484         <https://webkit.org/b/119983> Add two missing RefPtr::release() in HTMLLinkElement.
485
486         Reviewed by Antti Koivisto.
487
488         * html/HTMLLinkElement.cpp:
489         (WebCore::HTMLLinkElement::setCSSStyleSheet):
490
491 2013-08-18  Andreas Kling  <akling@apple.com>
492
493         <https://webkit.org/b/119981> Move ElementData & co to their own files.
494
495         Reviewed by Antti Koivisto.
496
497         I like to move it move it.
498
499 2013-08-18  David Kilzer  <ddkilzer@apple.com>
500
501         BUILD FIX (r153990): Add UNUSED_PARAM for heightChanged when CSS_SHAPES is disabled
502
503         Fixes the following build failure:
504
505             WebCore/rendering/RenderBlock.cpp:1529:53: error: unused parameter 'heightChanged' [-Werror,-Wunused-parameter]
506             void RenderBlock::updateShapesAfterBlockLayout(bool heightChanged)
507                                                                 ^
508             1 error generated.
509
510         * rendering/RenderBlock.cpp:
511         (WebCore::RenderBlock::updateShapesAfterBlockLayout): Add
512         UNUSED_PARAM(heightChanged) when CSS_SHAPES is disabled.
513
514 2013-08-18  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
515
516         [EFL] minor method name fix for the textTrackOffMenuItemText method
517         https://bugs.webkit.org/show_bug.cgi?id=119978
518
519         the method textTrackOffMenuItemText was renamed in
520         https://bugs.webkit.org/show_bug.cgi?id=113822
521
522         Reviewed by Christophe Dumez.
523
524         * platform/efl/LocalizedStringsEfl.cpp:
525         (WebCore::textTrackOffMenuItemText):
526
527 2013-08-17  Antti Koivisto  <antti@apple.com>
528
529         <https://webkit.org/b/119963> Use TextNodeTraversal for getting sheet text in StyleElement
530
531         Reviewed by Andreas Kling.
532
533         * dom/StyleElement.cpp:
534         (WebCore::StyleElement::process):
535         
536             Use TextNodeTraversal::contentsAsString for the sheet text. The overflow check is removed as StringBuilder 
537             (which is used by contentsAsString) does that itself. The behavior in case of overflow changes from empty
538             sheet to CRASH(). Thats what we do elsewhere in similar situations too (scripts for example). Continuing
539             with > 4GB of style sheet text nodes is probably not going to go well anyway.
540
541 2013-08-17  Antti Koivisto  <antti@apple.com>
542
543         <https://webkit.org/b/119960> Remove some optimizations made obsolete by use of StringBuilder
544
545         Reviewed by Andreas Kling.
546
547         * dom/ScriptElement.cpp:
548         (WebCore::ScriptElement::scriptContent):
549         
550             StringBuilder already optimizes for the single string case. If there is only one the original string is returned.
551
552         * dom/Text.cpp:
553         (WebCore::Text::wholeText):
554         
555             No need to traverse twice to compute the capacity. StringBuilder handles this efficiently. 
556             Also in the common case there is only one string and the optimization here is actually hurting by disabling the StringBuilder one.
557
558 2013-08-17  Antti Koivisto  <antti@apple.com>
559
560         <https://webkit.org/b/119959> Add TextNodeTraversal
561
562         Reviewed by Andreas Kling.
563
564         Add TextNodeTraversal for cleaner and more compact traversal of Text nodes.
565         
566         Use it where appropriate.
567
568         * WebCore.xcodeproj/project.pbxproj:
569         * dom/Attr.cpp:
570         (WebCore::Attr::childrenChanged):
571         * dom/NodeTraversal.h:
572         (WebCore::NodeTraversal::next):
573         * dom/ScriptElement.cpp:
574         (WebCore::ScriptElement::scriptContent):
575         * dom/Text.cpp:
576         (WebCore::Text::wholeText):
577         * dom/Text.h:
578         (WebCore::toText):
579         * dom/TextNodeTraversal.cpp: Added.
580         (WebCore::TextNodeTraversal::appendContents):
581         (WebCore::TextNodeTraversal::contentsAsString):
582         
583             Helpers for getting text content of a subtree.
584
585         * dom/TextNodeTraversal.h: Added.
586         (WebCore::TextNodeTraversal::firstTextChildTemplate):
587         (WebCore::TextNodeTraversal::firstChild):
588         (WebCore::TextNodeTraversal::firstTextWithinTemplate):
589         (WebCore::TextNodeTraversal::firstWithin):
590         (WebCore::TextNodeTraversal::traverseNextTextTemplate):
591         (WebCore::TextNodeTraversal::next):
592         (WebCore::TextNodeTraversal::nextSibling):
593         * editing/ApplyStyleCommand.cpp:
594         (WebCore::ApplyStyleCommand::joinChildTextNodes):
595         * html/HTMLTextAreaElement.cpp:
596         (WebCore::HTMLTextAreaElement::defaultValue):
597         (WebCore::HTMLTextAreaElement::setDefaultValue):
598         * html/HTMLTitleElement.cpp:
599         (WebCore::HTMLTitleElement::text):
600         * html/track/TextTrackCue.cpp:
601         (WebCore::TextTrackCue::determineTextDirection):
602         * page/Frame.cpp:
603         (WebCore::Frame::searchForLabelsAboveCell):
604         * xml/XPathUtil.cpp:
605         (WebCore::XPath::stringValue):
606
607 2013-08-17  Andreas Kling  <akling@apple.com>
608
609         <https://webkit.org/b/119957> Page::contextMenuController() should return a reference.
610
611         Reviewed by Antti Koivisto.
612
613         Page::m_contextMenuController is never null.
614
615         * page/Page.h:
616         (WebCore::Page::contextMenuController):
617
618 2013-08-17  Andreas Kling  <akling@apple.com>
619
620         <https://webkit.org/b/119954> Page::dragCaretController() should return a reference.
621
622         Reviewed by Antti Koivisto.
623
624         Page::m_dragCaretController is never null.
625
626         * dom/Document.cpp:
627         (WebCore::Document::nodeChildrenWillBeRemoved):
628         (WebCore::Document::nodeWillBeRemoved):
629         * page/DragController.cpp:
630         (WebCore::DragController::cancelDrag):
631         (WebCore::DragController::dragEnded):
632         (WebCore::DragController::tryDocumentDrag):
633         (WebCore::DragController::dispatchTextInputEventFor):
634         (WebCore::DragController::concludeEditDrag):
635         (WebCore::DragController::placeDragCaret):
636         * page/Page.h:
637         (WebCore::Page::dragCaretController):
638         * rendering/RenderBlock.cpp:
639         (WebCore::RenderBlock::paintCaret):
640
641 2013-08-17  Andreas Kling  <akling@apple.com>
642
643         <https://webkit.org/b/119952> Simplify Editor's back-pointer to the Frame.
644
645         Reviewed by Antti Koivisto.
646
647         Remove Editor's inheritance from FrameDestructionObserver. Editor is owned by Frame and
648         has no interest in observing frame destruction since its own destruction will soon follow.
649
650         Editor::m_frame is now a reference instead of a pointer. Removed some null checking.
651
652 2013-08-17  Andreas Kling  <akling@apple.com>
653
654         <https://webkit.org/b/119950> Remove unused EditorClient::frameWillDetachPage() callback.
655
656         Reviewed by Antti Koivisto.
657
658         This callback was only used by the Chromium port.
659
660         * editing/Editor.h:
661         * editing/Editor.cpp:
662
663             Remove override of FrameDestructionObserver::willDetachPage().
664
665         * page/EditorClient.h:
666
667             Remove frameWillDetachPage(). This is repeated in every EditorClient subclass.
668
669 2013-08-16  Antti Koivisto  <antti@apple.com>
670
671         <https://webkit.org/b/119886> PseudoElement is abusing parent node pointer
672
673         Reviewed by Darin Adler.
674
675         PseudoElement sets its host node as its parent. This is confusing and wrong as it breaks
676         the basic tree consistency (a node is a child node of its parent node).
677         
678         This patch adds an explicit host pointer PseudoElement and switches the call sites over. Memory
679         impact is negligible as there are not that many ::befores and ::afters.
680
681         * dom/ComposedShadowTreeWalker.cpp:
682         (WebCore::ComposedShadowTreeWalker::traverseParent):
683         * dom/EventPathWalker.cpp:
684         (WebCore::EventPathWalker::moveToParent):
685         * dom/EventRetargeter.h:
686         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
687         * dom/Node.cpp:
688         (WebCore::Node::~Node):
689         
690             Add consistency assertions. Remove unnecessary clearing of sibling pointers. They should be cleared already.
691
692         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
693         * dom/PseudoElement.cpp:
694         (WebCore::PseudoElement::PseudoElement):
695         (WebCore::PseudoElement::customStyleForRenderer):
696         * dom/PseudoElement.h:
697         (WebCore::toPseudoElement):
698         
699             Add casting functions.
700
701         * inspector/InspectorLayerTreeAgent.cpp:
702         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
703         * rendering/HitTestResult.cpp:
704         (WebCore::HitTestResult::setInnerNode):
705         (WebCore::HitTestResult::setInnerNonSharedNode):
706
707 2013-08-17  Darin Adler  <darin@apple.com>
708
709         <https://webkit.org/b/119948> Change drag-specific clipboard writing in DragController to go straight to Pasteboard, not forward through Clipboard
710
711         Reviewed by Andreas Kling.
712
713         * dom/Clipboard.cpp: Removed writeRange, writePlainText, and writeURL functions.
714         All three are just unneeded forwarding to pasteboard.
715         * dom/Clipboard.h: Ditto.
716
717         * page/DragController.cpp:
718         (WebCore::DragController::startDrag): Move the logic in here. Later we might
719         want to straighten this out a bit, perhaps using functions in Editor, but it's
720         not much code so fine to just have it here for now.
721
722 2013-08-17  Darin Adler  <darin@apple.com>
723
724         <https://webkit.org/b/119947> Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS
725
726         Reviewed by Andreas Kling.
727
728         * dom/Clipboard.cpp:
729         (WebCore::Clipboard::Clipboard):
730         (WebCore::Clipboard::~Clipboard):
731         * dom/Clipboard.h:
732         Remove LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS, LEGACY_VIRTUAL, and LEGACY_PURE.
733         Keep only the !USE(LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS) side of all conditionals.
734
735 2013-08-17  Darin Adler  <darin@apple.com>
736
737         <https://webkit.org/b/119946> Move some code used only by EventHandler from Clipboard to EventHandler
738
739         Reviewed by Andreas Kling.
740
741         Later it would be good to move this all to DragController, but there is no reason to have
742         these functions as member functions of the DOM-exposed Clipboard class.
743
744         * dom/Clipboard.cpp: Deleted hasFileOfType, hasStringOfType, convertDropZoneOperationToDragOperation,
745         convertDragOperationToDropZoneOperation.
746         * dom/Clipboard.h: Ditto.
747
748         * page/EventHandler.cpp:
749         (WebCore::convertDropZoneOperationToDragOperation): Moved here.
750         (WebCore::convertDragOperationToDropZoneOperation): Moved here. Also changed to use ASCIILiteral.
751         (WebCore::hasFileOfType): Moved here and made a free function instead of a member function. Removed
752         canReadTypes check because Clipboard::files already takes care of that.
753         (WebCore::hasStringOfType): Moved here and made a free function instead of a member function.
754         Added a check for the null string because HashSet::contains will not work on a null string.
755         (WebCore::hasDropZoneType): Moved here and made a free function instead of a member function.
756         (WebCore::findDropZone): Call the hasDropZoneType function instead of Clipboard::hasDropZoneType.
757
758 2013-08-17  Darin Adler  <darin@apple.com>
759
760         <https://webkit.org/b/119943> Clean up the Document class a bit
761
762         Reviewed by Antti Koivisto.
763
764         * dom/Document.cpp:
765         (WebCore::Document::~Document): Fixed typo in comment.
766         (WebCore::Document::suggestedMIMEType): Use ASCIILiteral for literals.
767         Also name local variable just loader rather than documentLoader.
768         (WebCore::Document::updateTitle): Call loader rather than going indirectly
769         through frame to get to the loader.
770         (WebCore::Document::setTitleElement): Fixed formatting (add braces).
771         (WebCore::Document::removeTitle): Iterate elements instead of nodes.
772         (WebCore::Document::isPageBoxVisible): Use ensureStyleResolver to call
773         styleForPage to avoid the need for a simple forwarding function. Also
774         eliminated local variable to increase clarity.
775         (WebCore::Document::pageSizeAndMarginsInPixels): Use ensureStyleResolver
776         to call styleForPage to avoid the need for a simple forwarding function.
777         (WebCore::Document::setIsViewSource): Renamed a local variable.
778
779         * dom/Document.h: Removed unneeded childNeedsAndNotInStyleRecalc and
780         styleForPage functions.
781
782         * loader/FrameLoader.cpp: Removed unnneeded setTitle function.
783         * loader/FrameLoader.h: Ditto.
784
785         * page/PrintContext.cpp:
786         (WebCore::PrintContext::pageProperty): Use ensureStyleResolver to call
787         styleForPage to avoid the need for a simple forwarding function.
788
789 2013-08-17  Darin Adler  <darin@apple.com>
790
791         <https://webkit.org/b/119939> Remove some unused clipboard and pasteboard code
792
793         Reviewed by Andreas Kling.
794
795         * PlatformWinCE.cmake: Removed EditorWin.cpp.
796         * WebCore.vcxproj/WebCore.vcxproj: Removed EditorWin.cpp.
797         * WebCore.vcxproj/WebCore.vcxproj.filters: Removed EditorWin.cpp.
798         * WebCore.xcodeproj/project.pbxproj: Removed ClipboardIOS.h and
799         ClipboardIOS.mm, and also let Xcode edit/reorder this file.
800
801         * editing/Editor.cpp:
802         (WebCore::Editor::dispatchCPPEvent): Removed some LEGACY_STYLE_ABSTRACT_CLIPBOARD
803         class code. Will remove the rest later.
804
805         * editing/Editor.h: Removed declaration of newGeneralClipboard.
806
807         * platform/Pasteboard.h: Removed declaration of writeClipboard. Also updated a
808         comment to make it clearer.
809
810         * platform/blackberry/PasteboardBlackBerry.cpp: Removed Pasteboard::writeClipboard.
811         * platform/efl/PasteboardEfl.cpp: Ditto.
812         * platform/ios/PasteboardIOS.mm: Ditto.
813         * platform/win/PasteboardWin.cpp: Ditto.
814
815         * platform/ios/ClipboardIOS.h: Removed. Was an empty file.
816         * platform/ios/ClipboardIOS.mm: Removed. Was an empty file.
817         * platform/win/EditorWin.cpp: Removed. Had only newGeneralClipboard in the file,
818         a function that is never called.
819
820 2013-08-17  Darin Adler  <darin@apple.com>
821
822         <https://webkit.org/b/119940> Rename Clipboard::m_dragLoc to m_dragLocation
823
824         Reviewed by Andreas Kling.
825
826         * dom/Clipboard.h: Removed unused dragLocation member function.
827         Renamed m_dragLoc to m_dragLocation.
828
829         * dom/Clipboard.cpp:
830         (WebCore::Clipboard::setDragImage):
831         * platform/gtk/ClipboardGtk.cpp:
832         (WebCore::Clipboard::createDragImage):
833         * platform/mac/ClipboardMac.mm:
834         (WebCore::Clipboard::createDragImage):
835         * platform/qt/ClipboardQt.cpp:
836         (WebCore::Clipboard::createDragImage):
837         * platform/win/ClipboardWin.cpp:
838         (WebCore::Clipboard::createDragImage):
839         Updated for new name.
840
841 2013-08-17  Darin Adler  <darin@apple.com>
842
843         <https://webkit.org/b/119942> Remove unnecessary uses of Element::ownerDocument
844
845         Reviewed by Andreas Kling.
846
847         The Element::document is a simpler faster alternative to Element::ownerDocument.
848         The only behavior difference between the two is that ownerDocument returns 0 when
849         called on a Document.
850
851         * html/HTMLMediaElement.cpp:
852         (WebCore::HTMLMediaElement::supportsFocus): Call document instead of ownerDocument.
853         (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Removed null checking of
854         document and call to ownerDocument, since ownerDocument will never return non-null
855         if document returns null.
856         (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): Call document instead
857         of ownerDocument.
858
859         * inspector/DOMEditor.cpp:
860         (WebCore::DOMEditor::SetOuterHTMLAction::perform): Call document instead of ownerDocument.
861
862         * inspector/InspectorCSSAgent.cpp:
863         (WebCore::InspectorCSSAgent::getMatchedStylesForNode): Call document instead of ownerDocument.
864         (WebCore::InspectorCSSAgent::forcePseudoState): Call document instead of ownerDocument.
865         (WebCore::InspectorCSSAgent::resetPseudoStates): Call document instead of ownerDocument.
866
867         * inspector/InspectorDOMAgent.cpp:
868         (WebCore::InspectorDOMAgent::setOuterHTML): Call document instead of expression that
869         does the same thing in a roundabout way.
870         (WebCore::InspectorDOMAgent::focusNode): Call document instead of ownerDocument.
871         (WebCore::InspectorDOMAgent::resolveNode): Call document instead of expression that
872         does the same thing in a roundabout way.
873
874         * page/DragController.cpp:
875         (WebCore::DragController::concludeEditDrag): Call document instead of ownerDocument.
876
877         * svg/SVGElementInstance.cpp:
878         (WebCore::SVGElementInstance::ownerDocument): Call document instead of ownerDocument.
879
880 2013-08-17  Darin Adler  <darin@apple.com>
881
882         <https://webkit.org/b/119941> Make Page::dragController return a reference
883
884         Reviewed by Andreas Kling.
885
886         * page/Page.h:
887         (WebCore::Page::dragController): Return a reference instead of a pointer.
888
889         * page/DragController.cpp:
890         (WebCore::DragController::concludeEditDrag):
891         * page/EventHandler.cpp:
892         (WebCore::EventHandler::eventMayStartDrag):
893         (WebCore::EventHandler::updateDragSourceActionsAllowed):
894         (WebCore::EventHandler::handleDrag):
895         * page/mac/EventHandlerMac.mm:
896         (WebCore::EventHandler::passSubframeEventToSubframe):
897         Updated call sites.
898
899 2013-08-17  Morten Stenshorne  <mstensho@opera.com>
900
901         <https://webkit.org/b/119795> Propagate writing-mode from the first region to the flow thread
902
903         Reviewed by Darin Adler.
904
905         Since the flow thread is a direct child of RenderView, it doesn't inherit
906         proper writing-mode automatically. It should be mentioned that if the thread's
907         contents' writing-mode differs from that of the first region, things are
908         typically going to look useless (although perhaps that's how it should be),
909         but as long as writing-mode is only specified on a common parent of the
910         thread's contents and the regions, things look fine, and also, we're now
911         following what the spec has to say on the matter:
912
913         http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-flow-into-property
914
915             "The first region defines the principal writing mode for the entire flow.
916              The writing mode on subsequent regions is ignored."
917
918         This is a back-port of the fix for Blink bug 257965.
919         Reviewed by esprehn and mihnea there.
920         Blink review URL: https://chromiumcodereview.appspot.com/18374008
921
922         Tests: fast/regions/changing-writing-mode-2.html
923                fast/regions/changing-writing-mode-3.html
924                fast/regions/changing-writing-mode-4.html
925                fast/regions/changing-writing-mode-5.html
926                fast/regions/changing-writing-mode.html
927                fast/regions/invalid-first-region-with-writing-mode-2.html
928                fast/regions/invalid-first-region-with-writing-mode.html
929                fast/regions/subtree-with-horiz-bt.html
930                fast/regions/subtree-with-horiz-tb.html
931                fast/regions/subtree-with-vert-lr.html
932                fast/regions/subtree-with-vert-rl.html
933
934         * rendering/RenderFlowThread.cpp:
935         (WebCore::RenderFlowThread::styleDidChange):
936         * rendering/RenderFlowThread.h:
937         * rendering/RenderNamedFlowThread.cpp:
938         (WebCore::RenderNamedFlowThread::updateWritingMode):
939         (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread):
940         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
941         (WebCore::RenderNamedFlowThread::regionChangedWritingMode):
942         * rendering/RenderNamedFlowThread.h:
943         * rendering/RenderRegion.cpp:
944         (WebCore::RenderRegion::styleDidChange):
945
946 2013-08-16  Andreas Kling  <akling@apple.com>
947
948         <https://webkit.org/b/119903> Make Settings ref-counted (and let Frame keep a ref!)
949
950         Reviewed by Geoff Garen.
951
952         Let Frame hold a RefPtr<Settings> so Frame::settings() isn't forced to go through Page.
953         It now also returns a reference, as it can never be null.
954
955         Removed 8.8 million lines of null-checking as a result.
956
957 2013-08-16  Ryosuke Niwa  <rniwa@webkit.org>
958
959         <https://webkit.org/b/119536> Refactor highestEditableRoot to avoid a redundant call to rendererIsEditable
960
961         Reviewed by Benjamin Poulain.
962
963         Refactor highestEditableRoot to avoid an extra tree walk. We now walk up the ancestor chain up to
964         the first root editable element exactly once.
965
966         * dom/Node.cpp:
967         (WebCore::Node::rendererIsEditable): Change the order of conditions to make the evaluation faster
968         when we don't have to check RenderStyle's value.
969         * editing/htmlediting.cpp:
970         (WebCore::highestEditableRoot):
971
972 2013-08-16  Benjamin Poulain  <benjamin@webkit.org>
973
974         Remove a useless #include of SelectorChecker.h
975
976         Rubber-stamped by Ryosuke Niwa.
977
978         * dom/DocumentStyleSheetCollection.cpp:
979
980 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
981
982         [Windows] Update RenderMediaControls for new API
983         https://bugs.webkit.org/show_bug.cgi?id=119910
984
985         Reviewed by Eric Carlson.
986
987         * rendering/RenderMediaControls.cpp: Update calls to WebKitSystemInterface for
988         the changed API.
989
990 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
991
992         <https://webkit.org/b/119912> Fix WebKit build error when SVG is disabled(broken since r154174)
993
994         Reviewed by Simon Fraser.
995
996         No new tests required, just a build fix.
997
998         Since r154174 CSS keywords alpha and luminance used by -webkit-mask-source-type. Move those
999         keywords from SVGCSSValueKeywords.in to CSSValueKeywords.in.
1000
1001         * css/CSSValueKeywords.in:
1002         * css/SVGCSSValueKeywords.in:
1003
1004 2013-08-16  Arunprasad Rajkumar  <arurajku@cisco.com>
1005
1006         <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore
1007
1008         Reviewed by Alexey Proskuryakov.
1009
1010         WTF::currentTime() is prone to DST changes and NTP adjustments, so use
1011         WTF::monotonicallyIncreasingTime() to measure elapsed time.
1012         
1013         * Modules/filesystem/FileWriter.cpp:
1014         (WebCore::FileWriter::didWrite):
1015         * dom/Document.cpp:
1016         (WebCore::Document::Document):
1017         (WebCore::Document::elapsedTime):
1018         (WebCore::Document::resetLastHandledUserGestureTimestamp):
1019         * dom/Element.cpp:
1020         (WebCore::Element::setActive):
1021         * fileapi/FileReader.cpp:
1022         (WebCore::FileReader::didReceiveData):
1023         * html/HTMLMediaElement.cpp:
1024         (WebCore::HTMLMediaElement::HTMLMediaElement):
1025         (WebCore::HTMLMediaElement::startProgressEventTimer):
1026         (WebCore::HTMLMediaElement::progressEventTimerFired):
1027         (WebCore::HTMLMediaElement::refreshCachedTime):
1028         (WebCore::HTMLMediaElement::invalidateCachedTime):
1029         (WebCore::HTMLMediaElement::currentTime):
1030         (WebCore::HTMLMediaElement::startPlaybackProgressTimer):
1031         (WebCore::HTMLMediaElement::scheduleTimeupdateEvent):
1032         * html/HTMLMediaElement.h:
1033         * html/HTMLPlugInImageElement.cpp:
1034         (WebCore::documentHadRecentUserGesture):
1035         * html/MediaController.cpp:
1036         (MediaController::scheduleTimeupdateEvent):
1037         * html/parser/HTMLDocumentParser.cpp:
1038         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1039         * html/parser/HTMLParserScheduler.h:
1040         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
1041         * inspector/InspectorCSSAgent.cpp:
1042         (WebCore::SelectorProfile::SelectorProfile):
1043         (WebCore::SelectorProfile::totalMatchingTimeMs):
1044         (WebCore::SelectorProfile::startSelector):
1045         (WebCore::SelectorProfile::commitSelector):
1046         (WebCore::SelectorProfile::commitSelectorTime):
1047         * inspector/InspectorProfilerAgent.cpp:
1048         (WebCore::InspectorProfilerAgent::willProcessTask):
1049         (WebCore::InspectorProfilerAgent::didProcessTask):
1050         * inspector/InspectorTimelineAgent.cpp:
1051         (WebCore::InspectorTimelineAgent::timestamp):
1052         * inspector/TimelineTraceEventProcessor.cpp:
1053         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
1054         * page/FrameView.cpp:
1055         (WebCore::FrameView::adjustedDeferredRepaintDelay):
1056         (WebCore::FrameView::paintContents):
1057         * platform/ClockGeneric.cpp:
1058         (ClockGeneric::now):
1059         * platform/ScrollAnimatorNone.cpp:
1060         (WebCore::ScrollAnimatorNone::scroll):
1061         (WebCore::ScrollAnimatorNone::animationTimerFired):
1062         * platform/graphics/cg/ImageBufferCG.cpp:
1063         (WebCore::ImageBuffer::ImageBuffer):
1064         (WebCore::ImageBuffer::flushContextIfNecessary):
1065         (WebCore::ImageBuffer::flushContext):
1066         (WebCore::ImageBuffer::copyNativeImage):
1067
1068 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
1069
1070         <https://webkit.org/b/119891> [WinCairo] Compile error.
1071
1072         Reviewed by Brent Fulgham.
1073
1074         * rendering/FlowThreadController.cpp: Need USE(ACCELERATED_COMPOSITING) guard.
1075         * rendering/FlowThreadController.h: Need USE(ACCELERATED_COMPOSITING) guard.
1076
1077 2013-08-16  Zan Dobersek  <zdobersek@igalia.com>
1078
1079         <https://webkit.org/b/119887> [Soup] The testing NetworkStorageSession should have a proper SoupSession
1080
1081         Reviewed by Martin Robinson.
1082
1083         After r154144, a testing NetworkStorageSession is enforced when running the layout tests
1084         through WebKitTestRunner. Ports using the Soup networking backend don't assign any SoupSession
1085         objects to such NetworkStorageSession objects as it's usually the case. This is causing problems
1086         as the ResourceHandleInternal uses the SoupSession that's provided by the NetworkingContext's
1087         NetworkStorageSession, which ends up being null if the testing-specific NetworkStorageSession is used.
1088         As a result, all the layout tests are crashing under WKTR.
1089
1090         * platform/network/NetworkStorageSession.h: Make the SoupSession member a GRefPtr.
1091         (WebCore::NetworkStorageSession::soupSession): Return the GRefPtr's pointer.
1092         * platform/network/ResourceHandle.h: Declare the new createTestingSession method.
1093         * platform/network/soup/CookieJarSoup.cpp: 
1094         (WebCore::cookieJarForSession): Instead of returning the default SoupCookieJar when there's no SoupSession
1095         provided by the NetworkStorageSession, assert that there now always is one, and return the session's cookie
1096         jar. For testing NetworkStorageSession objects, their SoupSession objects will always use the default cookie jar.
1097         * platform/network/soup/NetworkStorageSessionSoup.cpp:
1098         (WebCore::NetworkStorageSession::NetworkStorageSession): Adopt the given SoupSession reference pointer.
1099         (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a newly-created, testing-specific SoupSession.
1100         * platform/network/soup/ResourceHandleSoup.cpp:
1101         (WebCore::ResourceHandle::createTestingSession): Define the new createTestingSession method. It creates a new
1102         SoupSession through createSoupSession, but uses the default SoupCookieJar, as provided by WebCore::soupCookieJar.
1103
1104 2013-08-16  Pratik Solanki  <psolanki@apple.com>
1105
1106         <https://webkit.org/b/119852> Frame::scriptController() should return a reference
1107
1108         Reviewed by Andreas Kling.
1109
1110         m_script is never NULL so we can just return a reference. Also remove some pointless null
1111         checks as a result of doing this.
1112
1113         * Modules/websockets/WebSocket.cpp:
1114         (WebCore::WebSocket::connect):
1115         * bindings/js/JSDOMWindowBase.cpp:
1116         (WebCore::toJS):
1117         (WebCore::toJSDOMWindow):
1118         * bindings/js/JSDOMWindowShell.cpp:
1119         (WebCore::toJS):
1120         (WebCore::toJSDOMWindowShell):
1121         * bindings/js/JSEventListener.cpp:
1122         (WebCore::JSEventListener::handleEvent):
1123         * bindings/js/JSLazyEventListener.cpp:
1124         (WebCore::JSLazyEventListener::initializeJSFunction):
1125         * bindings/js/PageScriptDebugServer.cpp:
1126         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
1127         * bindings/js/ScheduledAction.cpp:
1128         (WebCore::ScheduledAction::execute):
1129         * bindings/js/ScriptCachedFrameData.cpp:
1130         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1131         (WebCore::ScriptCachedFrameData::restore):
1132         * bindings/js/ScriptEventListener.cpp:
1133         (WebCore::createAttributeEventListener):
1134         (WebCore::eventListenerHandlerScriptState):
1135         * bindings/js/ScriptState.cpp:
1136         (WebCore::mainWorldScriptState):
1137         (WebCore::scriptStateFromNode):
1138         (WebCore::scriptStateFromPage):
1139         * bindings/objc/DOM.mm:
1140         (-[DOMNode JSC::Bindings::]):
1141         * bindings/objc/DOMInternal.mm:
1142         (-[WebScriptObject _initializeScriptDOMNodeImp]):
1143         * dom/Document.cpp:
1144         (WebCore::Document::disableEval):
1145         (WebCore::Document::ensurePlugInsInjectedScript):
1146         * dom/ScriptElement.cpp:
1147         (WebCore::ScriptElement::prepareScript):
1148         (WebCore::ScriptElement::executeScript):
1149         * history/CachedFrame.cpp:
1150         (WebCore::CachedFrameBase::restore):
1151         * html/HTMLCanvasElement.cpp:
1152         (WebCore::HTMLCanvasElement::createRenderer):
1153         * html/HTMLElement.cpp:
1154         (WebCore::HTMLElement::rendererIsNeeded):
1155         * html/HTMLMediaElement.cpp:
1156         (WebCore::HTMLMediaElement::controls):
1157         * html/HTMLPlugInElement.cpp:
1158         (WebCore::HTMLPlugInElement::getInstance):
1159         (WebCore::HTMLPlugInElement::getNPObject):
1160         * html/HTMLPlugInImageElement.cpp:
1161         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
1162         * html/parser/HTMLParserOptions.cpp:
1163         (WebCore::HTMLParserOptions::HTMLParserOptions):
1164         * inspector/InspectorAgent.cpp:
1165         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1166         * inspector/InspectorClient.cpp:
1167         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
1168         * inspector/InspectorFrontendClientLocal.cpp:
1169         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
1170         (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
1171         * inspector/InspectorOverlay.cpp:
1172         (WebCore::InspectorOverlay::evaluateInOverlay):
1173         * inspector/InspectorPageAgent.cpp:
1174         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
1175         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1176         * inspector/PageRuntimeAgent.cpp:
1177         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
1178         * loader/DocumentWriter.cpp:
1179         (WebCore::DocumentWriter::begin):
1180         * loader/FrameLoader.cpp:
1181         (WebCore::FrameLoader::urlSelected):
1182         (WebCore::FrameLoader::submitForm):
1183         (WebCore::FrameLoader::cancelAndClear):
1184         (WebCore::FrameLoader::clear):
1185         (WebCore::FrameLoader::prepareForCachedPageRestore):
1186         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
1187         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
1188         * loader/SubframeLoader.cpp:
1189         (WebCore::SubframeLoader::requestFrame):
1190         * loader/cache/CachedResourceLoader.cpp:
1191         (WebCore::CachedResourceLoader::canRequest):
1192         * page/EventSource.cpp:
1193         (WebCore::EventSource::create):
1194         * page/Frame.cpp:
1195         (WebCore::Frame::willDetachPage):
1196         * page/Frame.h:
1197         (WebCore::Frame::script):
1198         * page/Navigator.cpp:
1199         (WebCore::shouldHideFourDot):
1200         * page/Page.cpp:
1201         (WebCore::Page::setDebugger):
1202         * platform/graphics/wince/MediaPlayerProxy.cpp:
1203         (WebCore::WebMediaPlayerProxy::pluginInstance):
1204         (WebCore::WebMediaPlayerProxy::invokeMethod):
1205         * plugins/PluginView.cpp:
1206         (WebCore::PluginView::~PluginView):
1207         (WebCore::PluginView::performRequest):
1208         (WebCore::PluginView::load):
1209         (WebCore::PluginView::bindingInstance):
1210         (WebCore::PluginView::getValue):
1211         * plugins/efl/PluginViewEfl.cpp:
1212         (WebCore::PluginView::platformGetValue):
1213         * xml/XMLHttpRequest.cpp:
1214         (WebCore::XMLHttpRequest::open):
1215         * xml/XMLTreeViewer.cpp:
1216         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
1217
1218 2013-08-16  Andreas Kling  <akling@apple.com>
1219
1220         Attempt to fix the Qt/MountainLion build after r154142.
1221
1222         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1223         (WebCore::MediaPlayerPrivateQt::commitLoad):
1224
1225 2013-08-16  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1226
1227         [Qt] Kerning in fast font path breaks letter-spacing
1228         https://bugs.webkit.org/show_bug.cgi?id=119838
1229
1230         Reviewed by Jocelyn Turcotte.
1231
1232         Mark fonts with both kerning and letter-spacing as unsupported by the simple font-path.
1233
1234         Test: fast/text/letter-spacing-kerned.html
1235
1236         * platform/graphics/WidthIterator.h:
1237         (WebCore::WidthIterator::supportsTypesettingFeatures):
1238
1239 2013-08-16  Andreas Kling  <akling@apple.com>
1240
1241         <https://webkit.org/b/119893> FrameView::frame() should return a reference.
1242
1243         Reviewed by Antti Koivisto.
1244
1245         FrameView::m_frame was only ever null for a brief moment during CachedFrame teardown.
1246         Leave it alone instead, and update the assertion that depended on this behavior.
1247         This enables us to make FrameView::frame() return a Frame&, exposing a ton of
1248         unnecessary null checks.
1249
1250         * history/CachedFrame.cpp:
1251         (WebCore::CachedFrame::destroy):
1252
1253             Remove call to FrameView::clearFrame() that was the only way to get a null
1254             FrameView::m_frame. Immediately followed by a call to CachedFrame::clear() where
1255             the FrameView would get destroyed anyway.
1256
1257         (WebCore::CachedFrame::clear):
1258
1259             Update an assertion to support the case where the Document's Frame pointer has
1260             been cleared out and CachedFrame is still clinging to the FrameView.
1261
1262         * history/CachedPage.h:
1263
1264             Made CachedPage::destroy() private as it was only called by ~CachedPage().
1265
1266         * /:
1267
1268             Frame* FrameView::frame() => Frame& FrameView::frame()
1269
1270 2013-08-16  Brady Eidson  <beidson@apple.com>
1271
1272         (NetworkProcess)  Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously
1273         https://bugs.webkit.org/show_bug.cgi?id=119493
1274
1275         Reviewed by Alexey Proskuryakov.
1276
1277         No new tests (Covered by plenty of existing tests).
1278
1279         * WebCore.exp.in:
1280         * WebCore.xcodeproj/project.pbxproj:
1281
1282         * platform/network/SynchronousLoaderClient.h: Make platformBadResponseError public
1283
1284         * platform/network/mac/ResourceHandleMac.mm:
1285         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Add comments/FIXMEs spelling out how wrong this code is.
1286
1287 2013-08-16  peavo@outlook.com  <peavo@outlook.com>
1288
1289         <https://webkit.org/b/119889> [WinCairo] Compile error.
1290
1291         Reviewed by Brent Fulgham.
1292
1293         * platform/network/curl/ResourceHandleManager.cpp:
1294         (WebCore::certificatePath): Use correct function name.
1295
1296 2013-08-16  Brent Fulgham  <bfulgham@apple.com>
1297
1298         [Windows] Unreviewed build correction after r154165.
1299
1300         * WebCore.vcxproj/copyForwardingHeaders.cmd: Copy html/shadow header files
1301         to WebKit include location.
1302
1303 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
1304
1305         [Windows] Prevent dangling CACFLayer when switching to/from Tiled backing.
1306         https://bugs.webkit.org/show_bug.cgi?id=119818
1307
1308         Reviewed by Darin Adler.
1309
1310         Covered by existing: compositing/tiling/empty-to-tiled.html
1311
1312         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1313         (PlatformCALayer::~PlatformCALayer): Remove deleted layer from its
1314         parent layer 
1315
1316 2013-08-16  Andreas Kling  <akling@apple.com>
1317
1318         <https://webkit.org/b/119866> Frame::eventHandler() should return a reference.
1319
1320         Reviewed by Anders Carlsson.
1321
1322         Frame::m_eventHandler is never null.
1323
1324 2013-08-16  Commit Queue  <commit-queue@webkit.org>
1325
1326         Unreviewed, rolling out r153749.
1327         http://trac.webkit.org/changeset/153749
1328         https://bugs.webkit.org/show_bug.cgi?id=119892
1329
1330         The bison generation of the glslang* files has now been fixed. (Requested by zdobersek on #webkit).
1331
1332         * GNUmakefile.am:
1333
1334 2013-08-16  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
1335
1336         [GTK] fixing localizedString method name
1337         https://bugs.webkit.org/show_bug.cgi?id=119884
1338
1339         The method name defined in LocalizedStringsGtk.cpp doesn't not match
1340         the one used in LocalizedStrings.h
1341
1342         Reviewed by Gustavo Noronha Silva.
1343
1344         * platform/gtk/LocalizedStringsGtk.cpp:
1345         (WebCore::textTrackOffMenuItemText):
1346
1347 2013-08-16  Andrei Parvu  <parvu@adobe.com>
1348
1349         [CSS Masking] Add -webkit-mask-source-type property, with auto, alpha and luminance values
1350         https://bugs.webkit.org/show_bug.cgi?id=119614
1351
1352         Added the -webkit-mask-source-type property, which can have a value of auto, alpha or
1353         luminance. The default value is auto. This patch contains only the parsing of the property,
1354         not the actual implementation of the types of masks. The parsing of mask-source-type in the
1355         -webkit-mask property will be handled in a separate patch.
1356
1357         Reviewed by Dirk Schulze.
1358
1359         Test: fast/masking/parsing-mask-source-type.html
1360
1361         * css/CSSComputedStyleDeclaration.cpp: Added case for CSSPropertyWebkitMaskType.
1362         (WebCore::ComputedStyleExtractor::propertyValue):
1363         * css/CSSParser.cpp: Parsed the values for CSSPropertyWebkitMaskType.
1364         (WebCore::CSSParser::parseValue):
1365         (WebCore::CSSParser::parseFillProperty):
1366         * css/CSSProperty.cpp:
1367         (WebCore::CSSProperty::isInheritedProperty):
1368         * css/CSSPropertyNames.in: Added -webkit-mask-type property.
1369         * css/CSSToStyleMap.cpp: map the provided mask type to the FillLayer class.
1370         (WebCore::CSSToStyleMap::mapFillMaskType):
1371         * css/CSSToStyleMap.h:
1372         * css/DeprecatedStyleBuilder.cpp:
1373         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1374         * css/StyleResolver.cpp:
1375         (WebCore::StyleResolver::applyProperty):
1376         * rendering/style/FillLayer.cpp: Added the m_maskType property to the FillLayer class.
1377         (WebCore::FillLayer::FillLayer):
1378         (WebCore::FillLayer::operator=):
1379         (WebCore::FillLayer::operator==):
1380         * rendering/style/FillLayer.h: Added methods for working with m_maskType.
1381         (WebCore::FillLayer::maskType):
1382         (WebCore::FillLayer::isMaskTypeSet):
1383         (WebCore::FillLayer::setMaskType):
1384         (WebCore::FillLayer::clearMaskType):
1385         (WebCore::FillLayer::initialMaskType):
1386         * rendering/style/RenderStyleConstants.h: Added the EMaskSourceType enum.
1387
1388 2013-08-16  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1389
1390         <https://webkit.org/b/119885> [CMake] Always build our generated versions of ANGLE's glslang.cpp and glslang_tab.cpp
1391
1392         Reviewed by Gyuyoung Kim.
1393
1394         Now that r154109 has landed, all Bison versions (at least from 2.3 up
1395         to the latest 3.0) should be able to generate versions of glslang* that
1396         build correctly.
1397
1398         Since the idea is to remove the prebuilt files from future imports of
1399         ANGLE, always building our own versions is a good idea, and allows us
1400         to get rid of some very ugly CMake checks.
1401
1402         * CMakeLists.txt: Always build glslang.cpp and glslang_tab.cpp from
1403         DERIVED_SOURCES_WEBCORE_DIR.
1404
1405 2013-08-16  Julien Brianceau  <jbrianceau@nds.com>
1406
1407         <https://webkit.org/b/119880> [Qt] Build fix (broken since r154142).
1408
1409         Reviewed by Gyuyoung Kim.
1410
1411         Since r154142, Frame::loader() is a reference (and not a pointer anymore).
1412
1413         * xml/parser/XMLDocumentParserQt.cpp:
1414         (WebCore::XMLDocumentParser::parseStartElement):
1415
1416 2013-08-16  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
1417
1418         [WebGL] Vertex attribute binding validation method
1419         https://bugs.webkit.org/show_bug.cgi?id=119515
1420
1421         This patch refactors WebGLRenderingContext code by moving the vertex
1422         attribute binding validation to a separate method. It is now
1423         possible to use that validation in other parts of the code. The
1424         code is more clear now. 
1425
1426         Reviewed by Christophe Dumez.
1427
1428         No new tests. Covered by existing tests. No behaviour changed.
1429         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/gl-drawelements.html
1430         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html
1431         LayoutTests/webgl/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html
1432
1433         * html/canvas/WebGLRenderingContext.cpp:
1434         (WebCore::WebGLRenderingContext::validateVertexAttributes):
1435         * html/canvas/WebGLVertexArrayObjectOES.h:
1436         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::isBound):
1437         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::validateBinding):
1438
1439 2013-08-15  Antti Koivisto  <antti@apple.com>
1440
1441         <https://webkit.org/b/119865> Parent pointer and shadow root host pointer should not be shared
1442
1443         Reviewed by Andreas Kling.
1444
1445         Node::m_parentOrShadowHostNode is currently used both as the parent pointer for regular nodes and as the host
1446         pointer for ShadowRoots. This is confusing. It is also slow as it introduces a branch to all code paths that 
1447         want to traverse ancestors normally, without leaving the shadow trees. This is much more popular than
1448         traversing through.
1449         
1450         This patch makes the Node have a pure parent pointer only and adds the host element pointer as a separate
1451         member in ShadowRoot. This eliminates the ShadowRoot test branch from Node::parentNode() as the pointer is
1452         now always null in the root node.
1453         
1454         ShadowRoot grows by a pointer. This is not significant as there are few ShadowRoots compared to Nodes.
1455
1456         * css/StyleResolver.cpp:
1457         (WebCore::StyleResolver::pushParentShadowRoot):
1458         (WebCore::StyleResolver::popParentShadowRoot):
1459         * dom/Attr.cpp:
1460         (WebCore::Attr::createTextChild):
1461         * dom/ComposedShadowTreeWalker.cpp:
1462         (WebCore::ComposedShadowTreeWalker::traverseParentBackToShadowRootOrHost):
1463         * dom/ContainerNode.cpp:
1464         (WebCore::ContainerNode::insertBeforeCommon):
1465         (WebCore::ContainerNode::removeBetween):
1466         * dom/ContainerNodeAlgorithms.cpp:
1467         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
1468         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
1469         * dom/ContainerNodeAlgorithms.h:
1470         (WebCore::appendChildToContainer):
1471         (WebCore::Private::addChildNodesToDeletionQueue):
1472         * dom/Document.h:
1473         (WebCore::Node::Node):
1474         * dom/Element.cpp:
1475         (WebCore::Element::addShadowRoot):
1476         (WebCore::Element::removeShadowRoot):
1477         * dom/ElementRareData.h:
1478         (WebCore::ElementRareData::releasePseudoElement):
1479         * dom/EventPathWalker.cpp:
1480         (WebCore::EventPathWalker::moveToParent):
1481         * dom/EventRetargeter.cpp:
1482         (WebCore::determineDispatchBehavior):
1483         * dom/EventRetargeter.h:
1484         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
1485         * dom/Node.cpp:
1486         (WebCore::Node::shadowHost):
1487         (WebCore::Node::deprecatedShadowAncestorNode):
1488         (WebCore::Node::parentOrShadowHostElement):
1489         * dom/Node.h:
1490         (WebCore::Node::hasTreeSharedParent):
1491         
1492             Shadow host elements refs the ShadowRoot. There is no reason to use TreeShared to keep it alive.
1493
1494         (WebCore::Node::setParentNode):
1495         (WebCore::Node::parentNode):
1496         (WebCore::Node::parentNodeGuaranteedHostFree):
1497         * dom/PseudoElement.cpp:
1498         (WebCore::PseudoElement::PseudoElement):
1499         * dom/ShadowRoot.cpp:
1500         (WebCore::ShadowRoot::ShadowRoot):
1501         (WebCore::ShadowRoot::setInnerHTML):
1502         (WebCore::ShadowRoot::setApplyAuthorStyles):
1503         (WebCore::ShadowRoot::setResetStyleInheritance):
1504         * dom/ShadowRoot.h:
1505         
1506             Rename host() -> hostElement() for clarity.
1507
1508         (WebCore::Node::parentOrShadowHostNode):
1509         * dom/Text.cpp:
1510         (WebCore::isSVGShadowText):
1511         * dom/TreeScope.cpp:
1512         (WebCore::TreeScope::focusedElement):
1513         * html/shadow/ContentDistributor.cpp:
1514         (WebCore::ContentDistributor::ensureDistribution):
1515         * html/shadow/InsertionPoint.cpp:
1516         (WebCore::InsertionPoint::insertedInto):
1517         (WebCore::InsertionPoint::removedFrom):
1518         (WebCore::InsertionPoint::parseAttribute):
1519         * page/DragController.cpp:
1520         (WebCore::asFileInput):
1521         * page/EventHandler.cpp:
1522         (WebCore::EventHandler::handleMousePressEvent):
1523         (WebCore::instanceAssociatedWithShadowTreeElement):
1524         * page/FocusController.cpp:
1525         (WebCore::FocusNavigationScope::owner):
1526         * rendering/RenderBlock.cpp:
1527         (WebCore::RenderBlock::hasLineIfEmpty):
1528         * rendering/RenderLayer.cpp:
1529         (WebCore::rendererForScrollbar):
1530         * svg/SVGElementInstance.h:
1531         (WebCore::SVGElementInstance::setParentNode):
1532             
1533             Renamed so it works with appendChildToContainer template.
1534
1535         * svg/SVGStyledElement.cpp:
1536         (WebCore::SVGStyledElement::title):
1537
1538 2013-08-13  Darin Adler  <darin@apple.com>
1539
1540         [iOS] Get iOS port off legacy clipboard
1541         https://bugs.webkit.org/show_bug.cgi?id=116412
1542
1543         Reviewed by Daniel Bates.
1544
1545         * dom/Clipboard.h: Turn off legacy style clipboard for iOS.
1546         Next patch will be able to remove legacy style entirely!
1547
1548         * editing/Editor.cpp:
1549         (WebCore::Editor::dispatchCPPEvent): Attach the frame to the
1550         pasteboard directly explicitly. This is a layering violation, but
1551         is needed until we change how iOS pasteboard communicates with the
1552         host to use platform strategies instead of the editor client.
1553
1554         * editing/ios/EditorIOS.mm: Removed Editor::newGeneralClipboard and
1555         the include of ClipboardIOS.h.
1556
1557         * platform/Pasteboard.h: Added the setFrame function (iOS-only) and
1558         frame and change count data members.
1559
1560         * platform/ios/ClipboardIOS.h: Emptied out. Later we can remove this.
1561         * platform/ios/ClipboardIOS.mm: Ditto.
1562
1563         * platform/ios/PasteboardIOS.mm:
1564         (WebCore::Pasteboard::Pasteboard): Initialize m_frame to zero.
1565         (WebCore::Pasteboard::createForCopyAndPaste): Added.
1566         (WebCore::Pasteboard::createPrivate): Added.
1567         (WebCore::Pasteboard::writePasteboard): Added. Empty function, like
1568         writeClipboard. Eventually need to remove or implement this.
1569         (WebCore::Pasteboard::setFrame): Added. Sets frame and change count.
1570         (WebCore::Pasteboard::hasData): Moved here from ClipboardIOS.
1571         (WebCore::utiTypeFromCocoaType): Ditto.
1572         (WebCore::cocoaTypeFromHTMLClipboardType): Ditto.
1573         (WebCore::Pasteboard::clear): Ditto.
1574         (WebCore::Pasteboard::readString): Ditto.
1575         (WebCore::addHTMLClipboardTypesForCocoaType): Ditto.
1576         (WebCore::Pasteboard::writeString): Ditto.
1577         (WebCore::Pasteboard::types): Ditto.
1578         (WebCore::Pasteboard::readFilenames): Ditto.
1579
1580         * WebCore.exp.in: Move Clipboard destructor from Mac-only section to
1581         common section shared by Mac and iOS.
1582
1583 2013-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
1584
1585         [EFL] Unreviewed build fix after r154142 and r154144.
1586
1587         * platform/efl/ErrorsEfl.cpp: Follow the changes of r154142.
1588         (WebCore::printError):
1589         (WebCore::printerNotFoundError):
1590         (WebCore::invalidPageRangeToPrint):
1591
1592 2013-08-15  Hans Muller  <hmuller@adobe.com>
1593
1594         [CSS Shapes] Add support for shape-outside image values
1595         https://bugs.webkit.org/show_bug.cgi?id=119809
1596
1597         Added minimal support for shape-outside image values. A new method that computes
1598         the excluded intervals for a horizontal line segment was added to the RasterIntervals
1599         class. The stub RasterShape getExcludedIntervals() method has been replaced by
1600         one that uses the new method.
1601
1602         Image shapes are represented by a RasterIntervals object, which just encapsulates a
1603         Region object. The new getExcludedIntervals() method computes the excluded intervals
1604         for a horizontal line segment between y1 and y2. To find the excluded intervals we
1605         vertically expand each of the image shape Region's rectangles that fall within the line
1606         segment, so that they begin at y1 and have height = y2 - y1. The union of the expanded
1607         rectangles produces a new Region whose horizontal projection defines the excluded intervals.
1608
1609         Reviewed by Alexandru Chiculita.
1610
1611         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-image-001.html
1612                fast/shapes/shape-outside-floats/shape-outside-floats-image-002.html
1613
1614         * rendering/shapes/RasterShape.cpp:
1615         (WebCore::RasterShapeIntervals::getExcludedIntervals): See above.
1616         (WebCore::RasterShape::getExcludedIntervals): Stub method has been replaced by one that uses RasterShapeIntervals::getExcludedIntervals().
1617         * rendering/shapes/RasterShape.h:
1618         * rendering/shapes/ShapeOutsideInfo.cpp:
1619         (WebCore::ShapeOutsideInfo::isEnabledFor): Enable Image valued shapes.
1620
1621 2013-08-15  Simon Fraser  <simon.fraser@apple.com>
1622
1623         <https://webkit.org/b/119871> Flash of garbage pixels when playing a show on Hulu
1624
1625         Reviewed by Tim Horton.
1626         
1627         When starting a show on Hulu, there's a layer that gets marked as
1628         opaque because it has a child RenderLayer whose background fills the
1629         compositing layer. That child RenderLayer was recently position:fixed
1630         but outside the viewport, so its viewportConstrainedNotCompositedReason
1631         was set to a non-zero value.
1632         
1633         However, we failed to clear the viewportConstrainedNotCompositedReason
1634         when the layer became non-fixed. This caused painting the opaque
1635         layer to bail in RenderLayer::paintLayer(), leaving garbage.
1636
1637         Test: compositing/contents-opaque/fixed-to-nonfixed.html
1638
1639         * rendering/RenderLayer.cpp:
1640         (WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future.
1641         * rendering/RenderLayerCompositor.cpp:
1642         (WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the
1643         ViewportConstrainedNotCompositedReason if the layer is no longer fixed.
1644
1645 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
1646
1647         [Windows] Consolidate WebKit Bundle Handling
1648         https://bugs.webkit.org/show_bug.cgi?id=119869
1649
1650         Reviewed by Tim Horton.
1651
1652         * WebCore.vcxproj/WebCore.vcxproj: Add new WebCoreBundleWin files.
1653         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1654         * platform/network/curl/ResourceHandleManager.cpp:
1655         (WebCore::certificatePath): Use correct bundle handling logic.
1656         * platform/win/LocalizedStringsWin.cpp: Move bundle implementation to
1657         new WebCoreBundleWin.cpp file.
1658         * platform/win/WebCoreBundleWin.cpp: Added.
1659         (WebCore::createWebKitBundle):
1660         (WebCore::webKitBundle):
1661         * platform/win/WebCoreBundleWin.h: Added.
1662
1663 2013-08-15  Anders Carlsson  <andersca@apple.com>
1664
1665         <https://webkit.org/b/119859> Frame::loader() should return a reference
1666
1667         Reviewed by Andreas Kling.
1668
1669         * Modules/websockets/WebSocketChannel.cpp:
1670         (WebCore::WebSocketChannel::willOpenSocketStream):
1671         * WebCore.xcodeproj/project.pbxproj:
1672         * accessibility/AccessibilityObject.cpp:
1673         (WebCore::AccessibilityObject::press):
1674         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1675         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
1676         * bindings/ScriptControllerBase.cpp:
1677         (WebCore::ScriptController::canExecuteScripts):
1678         * bindings/js/ScriptController.cpp:
1679         (WebCore::ScriptController::initScript):
1680         * css/CSSFontSelector.cpp:
1681         (WebCore::CSSFontSelector::beginLoadTimerFired):
1682         * dom/DOMImplementation.cpp:
1683         (WebCore::DOMImplementation::createDocument):
1684         * dom/Document.cpp:
1685         (WebCore::Document::Document):
1686         (WebCore::Document::setVisualUpdatesAllowed):
1687         (WebCore::Document::updateTitle):
1688         (WebCore::Document::open):
1689         (WebCore::Document::explicitClose):
1690         (WebCore::Document::implicitClose):
1691         (WebCore::Document::userAgent):
1692         (WebCore::Document::canNavigate):
1693         (WebCore::Document::processHttpEquiv):
1694         (WebCore::Document::referrer):
1695         (WebCore::Document::documentDidResumeFromPageCache):
1696         (WebCore::Document::openSearchDescriptionURL):
1697         (WebCore::Document::finishedParsing):
1698         (WebCore::Document::addIconURL):
1699         (WebCore::Document::initSecurityContext):
1700         (WebCore::Document::updateURLForPushOrReplaceState):
1701         (WebCore::Document::loadEventDelayTimerFired):
1702         (WebCore::Document::loader):
1703         (WebCore::Document::decrementActiveParserCount):
1704         * history/CachedFrame.cpp:
1705         (WebCore::CachedFrameBase::CachedFrameBase):
1706         (WebCore::CachedFrameBase::restore):
1707         (WebCore::CachedFrame::CachedFrame):
1708         (WebCore::CachedFrame::open):
1709         (WebCore::CachedFrame::destroy):
1710         * history/PageCache.cpp:
1711         (WebCore::logCanCacheFrameDecision):
1712         (WebCore::logCanCachePageDecision):
1713         (WebCore::PageCache::canCachePageContainingThisFrame):
1714         (WebCore::PageCache::canCache):
1715         * html/HTMLAnchorElement.cpp:
1716         (WebCore::HTMLAnchorElement::handleClick):
1717         * html/HTMLAppletElement.cpp:
1718         (WebCore::HTMLAppletElement::updateWidget):
1719         * html/HTMLElement.cpp:
1720         (WebCore::HTMLElement::rendererIsNeeded):
1721         * html/HTMLEmbedElement.cpp:
1722         (WebCore::HTMLEmbedElement::updateWidget):
1723         * html/HTMLFormElement.cpp:
1724         (WebCore::HTMLFormElement::prepareForSubmission):
1725         (WebCore::HTMLFormElement::submit):
1726         * html/HTMLFrameElementBase.cpp:
1727         (WebCore::HTMLFrameElementBase::openURL):
1728         * html/HTMLFrameOwnerElement.cpp:
1729         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
1730         * html/HTMLFrameSetElement.cpp:
1731         (WebCore::HTMLFrameSetElement::insertedInto):
1732         (WebCore::HTMLFrameSetElement::removedFrom):
1733         * html/HTMLHtmlElement.cpp:
1734         (WebCore::HTMLHtmlElement::insertedByParser):
1735         * html/HTMLMediaElement.cpp:
1736         (WebCore::HTMLMediaElement::createRenderer):
1737         (WebCore::HTMLMediaElement::attach):
1738         (WebCore::HTMLMediaElement::loadResource):
1739         (WebCore::HTMLMediaElement::getPluginProxyParams):
1740         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
1741         (WebCore::HTMLMediaElement::updateWidget):
1742         (WebCore::HTMLMediaElement::mediaPlayerReferrer):
1743         (WebCore::HTMLMediaElement::mediaPlayerUserAgent):
1744         * html/HTMLObjectElement.cpp:
1745         (WebCore::HTMLObjectElement::parametersForPlugin):
1746         (WebCore::HTMLObjectElement::updateWidget):
1747         * html/HTMLPlugInImageElement.cpp:
1748         (WebCore::HTMLPlugInImageElement::isImageType):
1749         (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
1750         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
1751         * html/HTMLVideoElement.cpp:
1752         (WebCore::HTMLVideoElement::setDisplayMode):
1753         * html/ImageDocument.cpp:
1754         (WebCore::ImageDocumentParser::appendBytes):
1755         (WebCore::ImageDocumentParser::finish):
1756         (WebCore::ImageDocument::createDocumentStructure):
1757         * html/MediaDocument.cpp:
1758         (WebCore::MediaDocumentParser::createDocumentStructure):
1759         * html/PluginDocument.cpp:
1760         (WebCore::PluginDocumentParser::createDocumentStructure):
1761         (WebCore::PluginDocumentParser::appendBytes):
1762         (WebCore::PluginDocument::detach):
1763         (WebCore::PluginDocument::cancelManualPluginLoad):
1764         * html/canvas/WebGLRenderingContext.cpp:
1765         (WebCore::WebGLRenderingContext::create):
1766         (WebCore::WebGLRenderingContext::loseContextImpl):
1767         (WebCore::WebGLRenderingContext::maybeRestoreContext):
1768         * html/parser/HTMLConstructionSite.cpp:
1769         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
1770         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1771         * html/parser/HTMLParserOptions.cpp:
1772         (WebCore::HTMLParserOptions::HTMLParserOptions):
1773         * html/parser/XSSAuditor.cpp:
1774         (WebCore::XSSAuditor::init):
1775         * html/parser/XSSAuditorDelegate.cpp:
1776         (WebCore::XSSAuditorDelegate::generateViolationReport):
1777         (WebCore::XSSAuditorDelegate::didBlockScript):
1778         * inspector/InspectorApplicationCacheAgent.cpp:
1779         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
1780         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1781         * inspector/InspectorFrontendClientLocal.cpp:
1782         (WebCore::InspectorFrontendClientLocal::openInNewTab):
1783         * inspector/InspectorFrontendHost.cpp:
1784         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
1785         * inspector/InspectorOverlay.cpp:
1786         (WebCore::InspectorOverlay::overlayPage):
1787         * inspector/InspectorPageAgent.cpp:
1788         (WebCore::InspectorPageAgent::mainResourceContent):
1789         (WebCore::InspectorPageAgent::reload):
1790         (WebCore::InspectorPageAgent::navigate):
1791         (WebCore::allResourcesURLsForFrame):
1792         (WebCore::InspectorPageAgent::searchInResource):
1793         (WebCore::InspectorPageAgent::assertDocumentLoader):
1794         (WebCore::InspectorPageAgent::buildObjectForFrame):
1795         * inspector/InspectorResourceAgent.cpp:
1796         (WebCore::InspectorResourceAgent::didFailLoading):
1797         * loader/CookieJar.cpp:
1798         (WebCore::networkingContext):
1799         * loader/DocumentLoader.cpp:
1800         (WebCore::DocumentLoader::frameLoader):
1801         (WebCore::DocumentLoader::document):
1802         (WebCore::DocumentLoader::stopLoading):
1803         (WebCore::DocumentLoader::removeSubresourceLoader):
1804         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
1805         (WebCore::DocumentLoader::iconLoadDecisionAvailable):
1806         (WebCore::DocumentLoader::continueIconLoadWithDecision):
1807         * loader/DocumentThreadableLoader.cpp:
1808         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1809         (WebCore::DocumentThreadableLoader::didFinishLoading):
1810         (WebCore::DocumentThreadableLoader::didFail):
1811         (WebCore::DocumentThreadableLoader::preflightFailure):
1812         (WebCore::DocumentThreadableLoader::loadRequest):
1813         * loader/DocumentWriter.cpp:
1814         (WebCore::DocumentWriter::replaceDocument):
1815         (WebCore::DocumentWriter::createDocument):
1816         (WebCore::DocumentWriter::begin):
1817         * loader/FrameLoader.cpp:
1818         (WebCore::FrameLoader::~FrameLoader):
1819         (WebCore::FrameLoader::allChildrenAreComplete):
1820         (WebCore::FrameLoader::allAncestorsAreComplete):
1821         (WebCore::FrameLoader::loadURLIntoChildFrame):
1822         (WebCore::FrameLoader::outgoingReferrer):
1823         (WebCore::FrameLoader::setOpener):
1824         (WebCore::FrameLoader::completed):
1825         (WebCore::FrameLoader::started):
1826         (WebCore::FrameLoader::loadFrameRequest):
1827         (WebCore::FrameLoader::loadURL):
1828         (WebCore::FrameLoader::load):
1829         (WebCore::FrameLoader::loadWithDocumentLoader):
1830         (WebCore::FrameLoader::stopAllLoaders):
1831         (WebCore::FrameLoader::closeOldDataSources):
1832         (WebCore::FrameLoader::subframeIsLoading):
1833         (WebCore::FrameLoader::subresourceCachePolicy):
1834         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1835         (WebCore::FrameLoader::detachChildren):
1836         (WebCore::FrameLoader::checkLoadComplete):
1837         (WebCore::FrameLoader::detachFromParent):
1838         (WebCore::FrameLoader::loadPostRequest):
1839         (WebCore::FrameLoader::loadResourceSynchronously):
1840         (WebCore::FrameLoader::shouldClose):
1841         (WebCore::FrameLoader::handleBeforeUnloadEvent):
1842         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1843         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1844         (WebCore::createWindow):
1845         * loader/HistoryController.cpp:
1846         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
1847         (WebCore::HistoryController::restoreScrollPositionAndViewState):
1848         (WebCore::HistoryController::saveDocumentState):
1849         (WebCore::HistoryController::saveDocumentAndScrollState):
1850         (WebCore::isAssociatedToRequestedHistoryItem):
1851         (WebCore::HistoryController::restoreDocumentState):
1852         (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
1853         (WebCore::HistoryController::goToItem):
1854         (WebCore::HistoryController::updateForBackForwardNavigation):
1855         (WebCore::HistoryController::updateForReload):
1856         (WebCore::HistoryController::updateForStandardLoad):
1857         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
1858         (WebCore::HistoryController::updateForClientRedirect):
1859         (WebCore::HistoryController::updateForCommit):
1860         (WebCore::HistoryController::recursiveUpdateForCommit):
1861         (WebCore::HistoryController::updateForSameDocumentNavigation):
1862         (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
1863         (WebCore::HistoryController::initializeItem):
1864         (WebCore::HistoryController::createItemTree):
1865         (WebCore::HistoryController::recursiveSetProvisionalItem):
1866         (WebCore::HistoryController::recursiveGoToItem):
1867         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
1868         (WebCore::HistoryController::updateCurrentItem):
1869         (WebCore::HistoryController::pushState):
1870         (WebCore::HistoryController::replaceState):
1871         * loader/ImageLoader.cpp:
1872         (WebCore::pageIsBeingDismissed):
1873         * loader/MixedContentChecker.cpp:
1874         (WebCore::MixedContentChecker::client):
1875         * loader/NavigationScheduler.cpp:
1876         (WebCore::ScheduledURLNavigation::fire):
1877         (WebCore::ScheduledURLNavigation::didStartTimer):
1878         (WebCore::ScheduledURLNavigation::didStopTimer):
1879         (WebCore::ScheduledRedirect::shouldStartTimer):
1880         (WebCore::ScheduledRedirect::fire):
1881         (WebCore::ScheduledRefresh::fire):
1882         (WebCore::ScheduledHistoryNavigation::fire):
1883         (WebCore::ScheduledFormSubmission::fire):
1884         (WebCore::ScheduledFormSubmission::didStartTimer):
1885         (WebCore::ScheduledFormSubmission::didStopTimer):
1886         (WebCore::NavigationScheduler::mustLockBackForwardList):
1887         (WebCore::NavigationScheduler::scheduleLocationChange):
1888         (WebCore::NavigationScheduler::scheduleFormSubmission):
1889         (WebCore::NavigationScheduler::scheduleRefresh):
1890         (WebCore::NavigationScheduler::schedule):
1891         * loader/PingLoader.cpp:
1892         (WebCore::PingLoader::loadImage):
1893         (WebCore::PingLoader::sendPing):
1894         (WebCore::PingLoader::sendViolationReport):
1895         (WebCore::PingLoader::PingLoader):
1896         * loader/PolicyChecker.cpp:
1897         (WebCore::PolicyChecker::checkNavigationPolicy):
1898         (WebCore::PolicyChecker::checkNewWindowPolicy):
1899         (WebCore::PolicyChecker::checkContentPolicy):
1900         (WebCore::PolicyChecker::cancelCheck):
1901         (WebCore::PolicyChecker::stopCheck):
1902         (WebCore::PolicyChecker::cannotShowMIMEType):
1903         (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
1904         (WebCore::PolicyChecker::continueAfterNavigationPolicy):
1905         (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
1906         (WebCore::PolicyChecker::handleUnimplementablePolicy):
1907         * loader/ProgressTracker.cpp:
1908         (WebCore::ProgressTracker::progressStarted):
1909         (WebCore::ProgressTracker::progressCompleted):
1910         (WebCore::ProgressTracker::finalProgressComplete):
1911         (WebCore::ProgressTracker::incrementProgress):
1912         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
1913         * loader/ResourceLoadNotifier.cpp:
1914         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
1915         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
1916         (WebCore::ResourceLoadNotifier::willSendRequest):
1917         (WebCore::ResourceLoadNotifier::didFailToLoad):
1918         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1919         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1920         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1921         (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
1922         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1923         (WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
1924         * loader/ResourceLoader.cpp:
1925         (WebCore::ResourceLoader::ResourceLoader):
1926         (WebCore::ResourceLoader::start):
1927         (WebCore::ResourceLoader::frameLoader):
1928         (WebCore::ResourceLoader::willSendRequest):
1929         * loader/SubframeLoader.cpp:
1930         (WebCore::SubframeLoader::pluginIsLoadable):
1931         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
1932         (WebCore::SubframeLoader::createJavaAppletWidget):
1933         (WebCore::SubframeLoader::loadOrRedirectSubframe):
1934         (WebCore::SubframeLoader::loadSubframe):
1935         (WebCore::SubframeLoader::allowPlugins):
1936         (WebCore::SubframeLoader::shouldUsePlugin):
1937         (WebCore::SubframeLoader::loadPlugin):
1938         * loader/appcache/ApplicationCacheGroup.cpp:
1939         (WebCore::ApplicationCacheGroup::selectCache):
1940         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
1941         (WebCore::ApplicationCacheGroup::update):
1942         (WebCore::ApplicationCacheGroup::createResourceHandle):
1943         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1944         (WebCore::ApplicationCacheGroup::didFinishLoading):
1945         (WebCore::ApplicationCacheGroup::didFail):
1946         (WebCore::ApplicationCacheGroup::addEntry):
1947         (WebCore::CallCacheListenerTask::performTask):
1948         (WebCore::ApplicationCacheGroup::postListenerTask):
1949         * loader/appcache/DOMApplicationCache.cpp:
1950         (WebCore::DOMApplicationCache::applicationCacheHost):
1951         * loader/archive/cf/LegacyWebArchive.cpp:
1952         (WebCore::LegacyWebArchive::create):
1953         (WebCore::LegacyWebArchive::createFromSelection):
1954         * loader/cache/CachedResource.cpp:
1955         (WebCore::CachedResource::addAdditionalRequestHeaders):
1956         (WebCore::CachedResource::load):
1957         * loader/cache/CachedResourceLoader.cpp:
1958         (WebCore::CachedResourceLoader::requestImage):
1959         (WebCore::CachedResourceLoader::checkInsecureContent):
1960         (WebCore::CachedResourceLoader::canRequest):
1961         (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
1962         (WebCore::CachedResourceLoader::requestResource):
1963         (WebCore::CachedResourceLoader::clientDefersImage):
1964         (WebCore::CachedResourceLoader::cachePolicy):
1965         (WebCore::CachedResourceLoader::loadDone):
1966         * loader/icon/IconController.cpp:
1967         (WebCore::IconController::commitToDatabase):
1968         (WebCore::IconController::startLoader):
1969         (WebCore::IconController::continueLoadWithDecision):
1970         * loader/icon/IconLoader.cpp:
1971         (WebCore::IconLoader::startLoading):
1972         (WebCore::IconLoader::notifyFinished):
1973         * page/Chrome.cpp:
1974         (WebCore::canRunModalIfDuringPageDismissal):
1975         * page/ContextMenuController.cpp:
1976         (WebCore::openNewWindow):
1977         (WebCore::ContextMenuController::contextMenuItemSelected):
1978         (WebCore::ContextMenuController::populate):
1979         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
1980         * page/DOMWindow.cpp:
1981         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
1982         (WebCore::DOMWindow::postMessageTimerFired):
1983         (WebCore::DOMWindow::close):
1984         (WebCore::DOMWindow::print):
1985         (WebCore::DOMWindow::stop):
1986         (WebCore::DOMWindow::setName):
1987         (WebCore::DOMWindow::opener):
1988         (WebCore::DOMWindow::dispatchLoadEvent):
1989         (WebCore::DOMWindow::setLocation):
1990         (WebCore::DOMWindow::createWindow):
1991         (WebCore::DOMWindow::open):
1992         * page/DOMWindowExtension.cpp:
1993         (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
1994         (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
1995         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
1996         (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
1997         (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
1998         * page/DragController.cpp:
1999         (WebCore::DragController::performDrag):
2000         * page/EventHandler.cpp:
2001         (WebCore::EventHandler::handleMousePressEvent):
2002         (WebCore::EventHandler::keyEvent):
2003         * page/Frame.cpp:
2004         (WebCore::Frame::~Frame):
2005         (WebCore::Frame::setView):
2006         (WebCore::Frame::injectUserScripts):
2007         (WebCore::Frame::willDetachPage):
2008         * page/Frame.h:
2009         (WebCore::Frame::loader):
2010         * page/FrameView.cpp:
2011         (WebCore::FrameView::mediaType):
2012         (WebCore::FrameView::setFixedVisibleContentRect):
2013         (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
2014         (WebCore::FrameView::performPostLayoutTasks):
2015         (WebCore::FrameView::autoSizeIfEnabled):
2016         (WebCore::FrameView::scrollTo):
2017         (WebCore::FrameView::shouldSuspendScrollAnimations):
2018         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
2019         (WebCore::FrameView::wheelEvent):
2020         (WebCore::FrameView::firePaintRelatedMilestones):
2021         * page/History.cpp:
2022         (WebCore::History::stateInternal):
2023         (WebCore::History::stateObjectAdded):
2024         * page/Location.cpp:
2025         (WebCore::Location::setLocation):
2026         * page/Navigator.cpp:
2027         (WebCore::Navigator::userAgent):
2028         * page/Page.cpp:
2029         (WebCore::Page::goToItem):
2030         (WebCore::Page::refreshPlugins):
2031         (WebCore::Page::setDefersLoading):
2032         (WebCore::Page::setMemoryCacheClientCallsEnabled):
2033         (WebCore::Page::addRelevantRepaintedObject):
2034         * page/Performance.cpp:
2035         (WebCore::Performance::now):
2036         * page/PerformanceNavigation.cpp:
2037         (WebCore::PerformanceNavigation::type):
2038         (WebCore::PerformanceNavigation::redirectCount):
2039         * page/PerformanceResourceTiming.cpp:
2040         (WebCore::monotonicTimeToDocumentMilliseconds):
2041         * page/mac/PageMac.cpp:
2042         (WebCore::Page::addSchedulePair):
2043         (WebCore::Page::removeSchedulePair):
2044         * platform/ios/PasteboardIOS.mm:
2045         (WebCore::documentFragmentWithImageResource):
2046         (WebCore::documentFragmentWithRTF):
2047         (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
2048         * platform/mac/HTMLConverter.mm:
2049         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
2050         (-[WebHTMLConverter _loadFromDOMRange]):
2051         * platform/mac/PasteboardMac.mm:
2052         (WebCore::documentFragmentWithImageResource):
2053         (WebCore::documentFragmentWithRTF):
2054         (WebCore::fragmentFromWebArchive):
2055         * plugins/DOMMimeType.cpp:
2056         (WebCore::DOMMimeType::enabledPlugin):
2057         * rendering/RenderLayer.cpp:
2058         (WebCore::RenderLayer::scrollTo):
2059         * svg/SVGAElement.cpp:
2060         (WebCore::SVGAElement::defaultEventHandler):
2061         * svg/graphics/SVGImage.cpp:
2062         (WebCore::SVGImage::~SVGImage):
2063         (WebCore::SVGImage::dataChanged):
2064         * testing/Internals.cpp:
2065         (WebCore::Internals::formControlStateOfPreviousHistoryItem):
2066         (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
2067         (WebCore::Internals::getReferencedFilePaths):
2068         (WebCore::Internals::forceReload):
2069         * xml/XSLTProcessorLibxslt.cpp:
2070         (WebCore::docLoaderFunc):
2071         * xml/parser/XMLDocumentParserLibxml2.cpp:
2072         (WebCore::openFunc):
2073         (WebCore::XMLDocumentParser::startElementNs):
2074
2075 2013-08-15  Daniel Bates  <dabates@apple.com>
2076
2077         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
2078
2079         Reviewed by David Kilzer.
2080
2081         Use the same UUIDs for EditorIOS.mm and the group ios as in the iOS tree
2082         so as to make it straightforward to merge changes to the WebCore Xcode
2083         project file on WebKit.org with changes to the same file in the iOS tree.
2084
2085         * WebCore.xcodeproj/project.pbxproj:
2086
2087 2013-08-15  Brent Fulgham  <bfulgham@apple.com>
2088
2089         [Windows] Unreviewed build fix after r15417.
2090
2091         * DerivedSources.cpp: Remove classes that now live in JSC.
2092         * WebCore.vcxproj/WebCore.vcxproj: Remove classes no longer included in WebCore.
2093         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2094         * bindings/js/WebCoreTypedArrayController.cpp: Add explicit namespace to avoid conflict
2095         with Windows 'Unknown' type.
2096         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
2097         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
2098
2099 2013-08-15  Daniel Bates  <dabates@apple.com>
2100
2101         <https://webkit.org/b/119863> [iOS] Upstream WebCore/editing/ios
2102
2103         Reviewed by David Kilzer.
2104
2105         * WebCore.xcodeproj/project.pbxproj:
2106         * editing/ios/EditorIOS.mm: Added.
2107         (WebCore::Editor::newGeneralClipboard):
2108         (WebCore::Editor::showFontPanel):
2109         (WebCore::Editor::showStylesPanel):
2110         (WebCore::Editor::showColorPanel):
2111         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
2112         (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
2113         (WebCore::styleForSelectionStart):
2114         (WebCore::Editor::fontForSelection):
2115         (WebCore::Editor::fontAttributesForSelectionStart):
2116         (WebCore::Editor::removeUnchangeableStyles):
2117
2118 2013-08-15  Dirk Schulze  <krit@webkit.org>
2119
2120         Implement CSS Image filter() function
2121         https://bugs.webkit.org/show_bug.cgi?id=119845
2122
2123         Reviewed by Dean Jackson.
2124
2125         The Filter Effects specification defines a new CSS Image function called
2126         filter(). This function takes another CSS Image as well as a filter function
2127         list as input and can be used by various CSS properties.
2128
2129         Example:
2130
2131             background-image: -webkit-filter(url(image.png), brightness(0.5))
2132
2133         This patch implements the current definition of filter() based on other
2134         image generation classes like CSSCrossfadeValue.
2135         A new class called CSSFilterImageValue was added together with an
2136         image observer.
2137
2138         The function is implemented prefixed and behind the compiler flag CSS_FILTERS.
2139
2140         Tests: fast/filter-image/filter-image.html
2141                fast/filter-image/parse-filter-image.html
2142
2143         * CMakeLists.txt: Added new files to build systems.
2144         * GNUmakefile.list.am:
2145         * Target.pri:
2146         * WebCore.vcxproj/WebCore.vcxproj:
2147         * WebCore.xcodeproj/project.pbxproj:
2148         * css/CSSAllInOne.cpp:
2149         * css/CSSCrossfadeValue.cpp: Share code together with CSSFilterImageValue
2150             in CSSImageGeneratorValue.cpp.
2151         (WebCore::CSSCrossfadeValue::isPending):
2152         (WebCore::CSSCrossfadeValue::loadSubimages):
2153         * css/CSSFilterImageValue.cpp: Added.
2154         (WebCore::CSSFilterImageValue::~CSSFilterImageValue):
2155         (WebCore::CSSFilterImageValue::customCssText):
2156         (WebCore::CSSFilterImageValue::fixedSize):
2157         (WebCore::CSSFilterImageValue::isPending):
2158         (WebCore::CSSFilterImageValue::knownToBeOpaque):
2159         (WebCore::CSSFilterImageValue::loadSubimages):
2160         (WebCore::CSSFilterImageValue::image):
2161         (WebCore::CSSFilterImageValue::filterImageChanged):
2162         (WebCore::CSSFilterImageValue::createFilterOperations):
2163         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::imageChanged):
2164         (WebCore::CSSFilterImageValue::hasFailedOrCanceledSubresources):
2165         (WebCore::CSSFilterImageValue::equals):
2166         * css/CSSFilterImageValue.h: Added.
2167         (WebCore::CSSFilterImageValue::create):
2168         (WebCore::CSSFilterImageValue::isFixedSize):
2169         (WebCore::CSSFilterImageValue::CSSFilterImageValue):
2170         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::FilterSubimageObserverProxy):
2171         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::~FilterSubimageObserverProxy):
2172         (WebCore::CSSFilterImageValue::FilterSubimageObserverProxy::setReady):
2173         * css/CSSImageGeneratorValue.cpp: Shared code between CSSCrossfadeValue and
2174             CSSFilterImageValue.
2175         (WebCore::CSSImageGeneratorValue::image):
2176         (WebCore::CSSImageGeneratorValue::isFixedSize):
2177         (WebCore::CSSImageGeneratorValue::fixedSize):
2178         (WebCore::CSSImageGeneratorValue::isPending):
2179         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
2180         (WebCore::CSSImageGeneratorValue::loadSubimages):
2181         (WebCore::CSSImageGeneratorValue::subimageIsPending):
2182         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
2183         * css/CSSImageGeneratorValue.h:
2184         * css/CSSParser.cpp: Added parsing information for new image function.
2185         (WebCore::CSSParser::parseValue):
2186         (WebCore::CSSParser::isGeneratedImageValue):
2187         (WebCore::CSSParser::parseGeneratedImage):
2188         (WebCore::CSSParser::parseFilterImage):
2189         (WebCore::CSSParser::parseFilter):
2190         * css/CSSParser.h:
2191         * css/CSSValue.cpp:
2192         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
2193         (WebCore::CSSValue::equals):
2194         (WebCore::CSSValue::cssText):
2195         (WebCore::CSSValue::destroy):
2196         * css/CSSValue.h:
2197         (WebCore::CSSValue::isFilterImageValue):
2198         * css/StyleResolver.cpp:
2199         (WebCore::StyleResolver::applyProperty):
2200         (WebCore::StyleResolver::generatedOrPendingFromValue):
2201         (WebCore::StyleResolver::createFilterOperations):
2202         * css/StyleResolver.h: StyleResolver needs to be passed to
2203             CSSFilterImageValue in order to resolve blur() and
2204             drop-shadow() function. Both needs to be resolved together
2205             with all other properties and can't be done earlier or later.
2206         * rendering/FilterEffectRenderer.cpp:
2207         (WebCore::FilterEffectRenderer::build): Pass an argument whether the
2208             intermediate filter results should be clipped or not. The filter
2209             property for instance doesn't clip but scales the intermediate
2210             image sizes.
2211         * rendering/FilterEffectRenderer.h:
2212
2213 2013-08-15  Filip Pizlo  <fpizlo@apple.com>
2214
2215         Unreviewed, fix bindings tests after http://trac.webkit.org/changeset/154127
2216
2217         * bindings/scripts/test/JS/JSTestCallback.cpp:
2218         (WebCore::JSTestCallback::callbackWithArrayParam):
2219         * bindings/scripts/test/JS/JSTestCallback.h:
2220         * bindings/scripts/test/JS/JSTestObj.cpp:
2221         (WebCore::setJSTestObjTypedArrayAttr):
2222         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2223         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
2224         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2225         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2226         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
2227         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2228         * bindings/scripts/test/TestTypedArray.idl: Removed.
2229
2230 2013-08-15  Ryosuke Niwa  <rniwa@webkit.org>
2231
2232         Qt minimum build fix after r154116.
2233
2234         * page/FrameView.cpp:
2235         (WebCore::FrameView::sendResizeEventIfNeeded):
2236
2237 2013-08-14  Filip Pizlo  <fpizlo@apple.com>
2238
2239         Typed arrays should be rewritten
2240         https://bugs.webkit.org/show_bug.cgi?id=119064
2241
2242         Reviewed by Oliver Hunt.
2243
2244         Typed arrays are now implemented in JavaScriptCore, and WebCore is merely a
2245         client of them. There is only one layering violation: WebCore installs a
2246         WebCoreTypedArrayController on VM, which makes the
2247         ArrayBuffer<->JSArrayBuffer relationship resemble DOM wrappers. By default,
2248         JSC makes the ownership go one way; the JSArrayBuffer keeps the ArrayBuffer
2249         alive but if ArrayBuffer is kept alive from native code then the
2250         JSArrayByffer may die. WebCoreTypedArrayController will keep the
2251         JSArrayBuffer alive if the ArrayBuffer is in the opaque root set.
2252         
2253         To make non-JSDOMWrappers behave like DOM wrappers, a bunch of code is
2254         changed to make most references to wrappers refer to JSObject* rather than
2255         JSDOMWrapper*.
2256         
2257         Array buffer views are now transient; the JS array buffer view wrappers
2258         don't own them or keep them alive. This required a bunch of changes to make
2259         bindings code use RefPtr<ArrayBufferView> to hold onto their views.
2260         
2261         Also there is a bunch of new code to make JSC-provided array buffers and
2262         views obey the toJS/to<ClassName> idiom for wrapping and unwrapping.
2263         
2264         Finally, the DataView API is now completely different: the JSDataView
2265         provides the same user-visible JS API but using its own internal magic; the
2266         C++ code that uses DataView now uses a rather different API that is not
2267         aware of usual DOM semantics, since it's in JSC and not WebCore. It's
2268         equally useful for all of WebCore's purposes, but some code had to change
2269         to adapt the new conventions.
2270         
2271         Some tests have been changed or rebased due to changes in behavior, that
2272         bring us into conformance with where the standards are going and allow us to
2273         match Firefox behavior.
2274
2275         Automake work and some additional GTK changes courtesy of
2276         Zan Dobersek <zdobersek@igalia.com>.
2277         
2278         Additional Qt changes courtesy of Arunprasad Rajkumar <arurajku@cisco.com>.
2279
2280         * CMakeLists.txt:
2281         * DerivedSources.make:
2282         * ForwardingHeaders/runtime/DataView.h: Added.
2283         * ForwardingHeaders/runtime/JSArrayBuffer.h: Added.
2284         * ForwardingHeaders/runtime/JSArrayBufferView.h: Added.
2285         * ForwardingHeaders/runtime/JSDataView.h: Added.
2286         * ForwardingHeaders/runtime/JSTypedArrays.h: Added.
2287         * ForwardingHeaders/runtime/TypedArrayController.h: Added.
2288         * ForwardingHeaders/runtime/TypedArrayInlines.h: Added.
2289         * ForwardingHeaders/runtime/TypedArrays.h: Added.
2290         * GNUmakefile.list.am:
2291         * Modules/webaudio/RealtimeAnalyser.h:
2292         * Target.pri:
2293         * UseJSC.cmake:
2294         * WebCore.exp.in:
2295         * WebCore.vcxproj/WebCore.vcxproj:
2296         * WebCore.xcodeproj/project.pbxproj:
2297         * bindings/js/DOMWrapperWorld.h:
2298         * bindings/js/JSArrayBufferCustom.cpp: Removed.
2299         * bindings/js/JSArrayBufferViewHelper.h: Removed.
2300         * bindings/js/JSAudioContextCustom.cpp:
2301         * bindings/js/JSBindingsAllInOne.cpp:
2302         * bindings/js/JSBlobCustom.cpp:
2303         * bindings/js/JSCSSRuleCustom.cpp:
2304         (WebCore::toJS):
2305         * bindings/js/JSCSSValueCustom.cpp:
2306         (WebCore::toJS):
2307         * bindings/js/JSCryptoCustom.cpp:
2308         (WebCore::JSCrypto::getRandomValues):
2309         * bindings/js/JSDOMBinding.h:
2310         (WebCore::wrapperOwner):
2311         (WebCore::wrapperContext):
2312         (WebCore::getInlineCachedWrapper):
2313         (WebCore::setInlineCachedWrapper):
2314         (WebCore::clearInlineCachedWrapper):
2315         (WebCore::getCachedWrapper):
2316         (WebCore::cacheWrapper):
2317         (WebCore::uncacheWrapper):
2318         (WebCore::wrap):
2319         (WebCore::toJS):
2320         (WebCore::toArrayBufferView):
2321         (WebCore::toInt8Array):
2322         (WebCore::toInt16Array):
2323         (WebCore::toInt32Array):
2324         (WebCore::toUint8Array):
2325         (WebCore::toUint8ClampedArray):
2326         (WebCore::toUint16Array):
2327         (WebCore::toUint32Array):
2328         (WebCore::toFloat32Array):
2329         (WebCore::toFloat64Array):
2330         (WebCore::toDataView):
2331         * bindings/js/JSDataViewCustom.cpp: Removed.
2332         * bindings/js/JSDictionary.cpp:
2333         * bindings/js/JSDictionary.h:
2334         * bindings/js/JSDocumentCustom.cpp:
2335         (WebCore::JSDocument::location):
2336         (WebCore::toJS):
2337         * bindings/js/JSEventCustom.cpp:
2338         (WebCore::toJS):
2339         * bindings/js/JSFileReaderCustom.cpp:
2340         * bindings/js/JSHTMLCollectionCustom.cpp:
2341         (WebCore::toJS):
2342         * bindings/js/JSHTMLTemplateElementCustom.cpp:
2343         (WebCore::JSHTMLTemplateElement::content):
2344         * bindings/js/JSImageDataCustom.cpp:
2345         (WebCore::toJS):
2346         * bindings/js/JSInjectedScriptHostCustom.cpp:
2347         * bindings/js/JSMessageEventCustom.cpp:
2348         * bindings/js/JSMessagePortCustom.cpp:
2349         * bindings/js/JSSVGPathSegCustom.cpp:
2350         (WebCore::toJS):
2351         * bindings/js/JSStyleSheetCustom.cpp:
2352         (WebCore::toJS):
2353         * bindings/js/JSTrackCustom.cpp:
2354         (WebCore::toJS):
2355         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2356         * bindings/js/JSXMLHttpRequestCustom.cpp:
2357         (WebCore::JSXMLHttpRequest::send):
2358         * bindings/js/SerializedScriptValue.cpp:
2359         (WebCore::SerializedScriptValue::transferArrayBuffers):
2360         * bindings/js/WebCoreJSClientData.h:
2361         (WebCore::initNormalWorldClientData):
2362         * bindings/js/WebCoreTypedArrayController.cpp: Added.
2363         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController):
2364         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController):
2365         (WebCore::WebCoreTypedArrayController::toJS):
2366         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
2367         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
2368         * bindings/js/WebCoreTypedArrayController.h: Added.
2369         (WebCore::WebCoreTypedArrayController::wrapperOwner):
2370         * bindings/scripts/CodeGenerator.pm:
2371         (ForAllParents):
2372         (ParseInterface):
2373         (SkipIncludeHeader):
2374         (IsTypedArrayType):
2375         (IsWrapperType):
2376         * bindings/scripts/CodeGeneratorJS.pm:
2377         (AddIncludesForType):
2378         (GenerateHeader):
2379         (GenerateImplementation):
2380         (GenerateParametersCheck):
2381         (GetNativeType):
2382         (JSValueToNative):
2383         (NativeToJSValue):
2384         (GenerateConstructorDefinition):
2385         (GenerateConstructorHelperMethods):
2386         * fileapi/WebKitBlobBuilder.cpp:
2387         (WebCore::BlobBuilder::append):
2388         * fileapi/WebKitBlobBuilder.h:
2389         * html/canvas/ArrayBuffer.idl: Removed.
2390         * html/canvas/ArrayBufferView.idl: Removed.
2391         * html/canvas/DataView.cpp: Removed.
2392         * html/canvas/DataView.h: Removed.
2393         * html/canvas/DataView.idl: Removed.
2394         * html/canvas/Float32Array.idl: Removed.
2395         * html/canvas/Float64Array.idl: Removed.
2396         * html/canvas/Int16Array.idl: Removed.
2397         * html/canvas/Int32Array.idl: Removed.
2398         * html/canvas/Int8Array.idl: Removed.
2399         * html/canvas/Uint16Array.idl: Removed.
2400         * html/canvas/Uint32Array.idl: Removed.
2401         * html/canvas/Uint8Array.idl: Removed.
2402         * html/canvas/Uint8ClampedArray.idl: Removed.
2403         * html/canvas/WebGLRenderingContext.cpp:
2404         (WebCore::WebGLRenderingContext::readPixels):
2405         (WebCore::WebGLRenderingContext::validateTexFuncData):
2406         * page/Crypto.cpp:
2407         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2408         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
2409         (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData):
2410         * platform/graphics/filters/FECustomFilter.h:
2411         * platform/graphics/filters/FEGaussianBlur.cpp:
2412         * platform/graphics/filters/FilterEffect.cpp:
2413         * testing/MockCDM.cpp:
2414
2415 2013-08-15  Chris Fleizach  <cfleizach@apple.com>
2416
2417         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
2418
2419         Reviewed by Darin Adler.
2420
2421         Incorporate review feedback from Darin.
2422
2423         * accessibility/AccessibilityScrollView.cpp:
2424         (WebCore::AccessibilityScrollView::canSetFocusAttribute):
2425         (WebCore::AccessibilityScrollView::isFocused):
2426         * accessibility/AccessibilityScrollView.h:
2427
2428 2013-08-15  Andreas Kling  <akling@apple.com>
2429
2430         <https://webkit.org/b/119826> Page::focusController() should return a reference.
2431
2432         Reviewed by Anders Carlsson.
2433
2434         Page::focusController() is never null so make it return a reference.
2435         Some unnecessary checks were removed as a result.
2436
2437 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
2438
2439         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
2440         https://bugs.webkit.org/show_bug.cgi?id=116979
2441
2442         Reviewed by Alexey Proskuryakov.
2443
2444         Make constructors private since only ::create should use them.
2445
2446         * html/shadow/MeterShadowElement.h:
2447         * html/shadow/ProgressShadowElement.h:
2448
2449 2013-08-15  Tim Horton  <timothy_horton@apple.com>
2450
2451         FrameView should have an isMainFrameView()
2452         https://bugs.webkit.org/show_bug.cgi?id=119435
2453
2454         Reviewed by Simon Fraser.
2455
2456         No new tests, just refactoring.
2457
2458         * page/FrameView.cpp:
2459         (WebCore::FrameView::FrameView):
2460         (WebCore::FrameView::isMainFrameView):
2461         (WebCore::FrameView::setFrameRect):
2462         (WebCore::FrameView::createScrollbar):
2463         (WebCore::FrameView::applyOverflowToViewport):
2464         (WebCore::FrameView::setHeaderHeight):
2465         (WebCore::FrameView::setFooterHeight):
2466         (WebCore::FrameView::minimumScrollPosition):
2467         (WebCore::FrameView::maximumScrollPosition):
2468         (WebCore::FrameView::performPostLayoutTasks):
2469         (WebCore::FrameView::sendResizeEventIfNeeded):
2470         (WebCore::FrameView::pagination):
2471         (WebCore::FrameView::visibleContentScaleFactor):
2472         (WebCore::FrameView::setVisibleScrollerThumbRect):
2473         (WebCore::FrameView::scrollbarStyleChanged):
2474         (WebCore::FrameView::paintScrollCorner):
2475         (WebCore::FrameView::paintScrollbar):
2476         (WebCore::FrameView::paintOverhangAreas):
2477         * page/FrameView.h:
2478         Add isMainFrameView and adopt it wherever we were previously checking if
2479         the FrameView's frame was the same as its page's main frame.
2480
2481 2013-08-15  Andy Estes  <aestes@apple.com>
2482
2483         <https://webkit.org/b/119853> REGRESSION (r139343): WebKit crashes when canceling a load inside webView:resource:didFinishLoadingFromDataSource:
2484
2485         Reviewed by Brady Eidson.
2486
2487         A client implementing webView:resource:didFinishLoadingFromDataSource:
2488         might decide to call stopLoading: for the identifier that just finished
2489         loading. If this happens we re-enter the loader and attempt to cancel a
2490         load that has already finished and been removed from the set of active
2491         loaders. Prevent this by clearing DocumentLoader's
2492         m_identifierForLoadWithoutResourceLoader before calling
2493         dispatchDidFinishLoading().
2494
2495         New API test: WebKit1.StopLoadingFromDidFinishLoading.
2496
2497         * loader/DocumentLoader.cpp:
2498         (WebCore::DocumentLoader::finishedLoading): Set
2499         m_identifierForLoadWithoutResourceLoader to 0 before calling
2500         dispatchDidFinishLoading().
2501
2502 2013-08-15  Eric Carlson  <eric.carlson@apple.com>
2503
2504         [Mac] Remove "legacy" media UI
2505         https://bugs.webkit.org/show_bug.cgi?id=119752
2506
2507         Reviewed by Jer Noble.
2508
2509         * WebCore.exp.in: Remove _wkMediaControllerThemeAvailable.
2510
2511         * platform/mac/WebCoreSystemInterface.h: Update for API change.
2512         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2513
2514         * rendering/RenderThemeMac.h: Don't override hasOwnDisabledStateHandlingFor.
2515         * rendering/RenderThemeMac.mm:
2516         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Remove code to deal with legacy theme.
2517         (WebCore::getUnzoomedRectAndAdjustCurrentContext): Ditto.
2518         (WebCore::RenderThemeMac::paintMediaFullscreenButton): wkDrawMediaUIPart doesn't need to know
2519             the current theme.
2520         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto.
2521         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
2522         (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto.
2523         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto.
2524         (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto.
2525         (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto.
2526         (WebCore::RenderThemeMac::paintMediaRewindButton): Ditto.
2527         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
2528         (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
2529         (WebCore::RenderThemeMac::paintMediaCurrentTime): Ditto.
2530         (WebCore::RenderThemeMac::paintMediaTimeRemaining): Ditto.
2531         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): Ditto.
2532         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
2533         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
2534         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack): Ditto.
2535         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb): Ditto.
2536         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): We only have one theme.
2537         (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Ditto.
2538         (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Ditto.
2539
2540 2013-08-15  Antti Koivisto  <antti@apple.com>
2541
2542         <https://webkit.org/b/119834> Remove ElementShadow
2543
2544         Reviewed by Anders Carlsson.
2545
2546         It is 1:1 with ShadowRoot and has virtually no functionality. What little there is can be moved to ShadowRoot or Element.
2547
2548         * CMakeLists.txt:
2549         * GNUmakefile.list.am:
2550         * Target.pri:
2551         * WebCore.exp.in:
2552         * WebCore.xcodeproj/project.pbxproj:
2553         * css/StyleResolver.cpp:
2554         (WebCore::StyleResolver::locateCousinList):
2555         * css/StyleScopeResolver.cpp:
2556         (WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
2557         (WebCore::StyleScopeResolver::matchHostRules):
2558         * dom/ComposedShadowTreeWalker.cpp:
2559         (WebCore::nodeCanBeDistributed):
2560         (WebCore::ComposedShadowTreeWalker::traverseChild):
2561         * dom/ContainerNode.cpp:
2562         (WebCore::childAttachedAllowedWhenAttachingChildren):
2563         * dom/ContainerNodeAlgorithms.cpp:
2564         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
2565         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
2566         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
2567         (WebCore::assertConnectedSubrameCountIsConsistent):
2568         * dom/ContainerNodeAlgorithms.h:
2569         (WebCore::ChildFrameDisconnector::collectFrameOwners):
2570         * dom/DOMAllInOne.cpp:
2571         * dom/Document.cpp:
2572         * dom/Element.cpp:
2573         (WebCore::Element::~Element):
2574         (WebCore::Element::attach):
2575         (WebCore::Element::detach):
2576         (WebCore::Element::shadowRoot):
2577         (WebCore::Element::didAffectSelector):
2578         (WebCore::Element::addShadowRoot):
2579         (WebCore::Element::removeShadowRoot):
2580         
2581             Move addShadowRoot and removeShadowRoot here from ElementShadow.
2582
2583         (WebCore::Element::createShadowRoot):
2584         (WebCore::Element::authorShadowRoot):
2585         (WebCore::Element::userAgentShadowRoot):
2586         (WebCore::Element::ensureUserAgentShadowRoot):
2587         (WebCore::Element::childrenChanged):
2588         (WebCore::Element::removeAllEventListeners):
2589         * dom/Element.h:
2590         (WebCore::isShadowHost):
2591         * dom/ElementRareData.h:
2592         (WebCore::ElementRareData::clearShadowRoot):
2593         (WebCore::ElementRareData::shadowRoot):
2594         (WebCore::ElementRareData::setShadowRoot):
2595         (WebCore::ElementRareData::~ElementRareData):
2596         * dom/ElementShadow.cpp: Removed.
2597         * dom/ElementShadow.h: Removed.
2598         * dom/EventDispatcher.cpp:
2599         * dom/EventPathWalker.cpp:
2600         (WebCore::EventPathWalker::moveToParent):
2601         * dom/Node.cpp:
2602         (WebCore::Node::needsShadowTreeWalkerSlow):
2603         * dom/NodeRenderingContext.cpp:
2604         * dom/NodeRenderingContext.h:
2605         * dom/ShadowRoot.cpp:
2606         (WebCore::ShadowRoot::attach):
2607         (WebCore::ShadowRoot::detach):
2608         
2609             Move attached() tests from ElementShadow.
2610
2611         (WebCore::ShadowRoot::childrenChanged):
2612         (WebCore::ShadowRoot::removeAllEventListeners):
2613         
2614             Move here from ElementShadow.
2615
2616         * dom/ShadowRoot.h:
2617         (WebCore::Node::shadowRoot):
2618         * dom/TreeScopeAdopter.cpp:
2619         * html/ColorInputType.cpp:
2620         (WebCore::ColorInputType::createShadowSubtree):
2621         * html/FileInputType.cpp:
2622         (WebCore::FileInputType::createShadowSubtree):
2623         (WebCore::FileInputType::disabledAttributeChanged):
2624         (WebCore::FileInputType::multipleAttributeChanged):
2625         * html/HTMLFormControlElement.cpp:
2626         * html/HTMLImageElement.cpp:
2627         (WebCore::HTMLImageElement::canStartSelection):
2628         * html/HTMLInputElement.cpp:
2629         (WebCore::HTMLInputElement::updateType):
2630         * html/HTMLKeygenElement.cpp:
2631         * html/HTMLMediaElement.cpp:
2632         * html/HTMLTextAreaElement.cpp:
2633         * html/InputType.cpp:
2634         * html/RangeInputType.cpp:
2635         (WebCore::RangeInputType::handleMouseDownEvent):
2636         (WebCore::RangeInputType::createShadowSubtree):
2637         * html/TextFieldInputType.cpp:
2638         (WebCore::TextFieldInputType::createShadowSubtree):
2639         * html/ValidationMessage.cpp:
2640         * html/shadow/ContentDistributor.cpp:
2641         (WebCore::ContentDistributor::distribute):
2642         (WebCore::ContentDistributor::ensureDistribution):
2643         * html/shadow/ContentDistributor.h:
2644         (WebCore::ContentDistributor::isValid):
2645         * html/shadow/InsertionPoint.cpp:
2646         (WebCore::InsertionPoint::childrenChanged):
2647         (WebCore::InsertionPoint::insertedInto):
2648         (WebCore::InsertionPoint::removedFrom):
2649         (WebCore::resolveReprojection):
2650         * html/shadow/InsertionPoint.h:
2651         (WebCore::shadowRootOfParentForDistribution):
2652         * html/shadow/SliderThumbElement.cpp:
2653         * inspector/InspectorDOMAgent.cpp:
2654         (WebCore::InspectorDOMAgent::unbind):
2655         (WebCore::InspectorDOMAgent::buildObjectForNode):
2656         * page/FocusController.cpp:
2657         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
2658         * rendering/RenderFileUploadControl.cpp:
2659         (WebCore::RenderFileUploadControl::uploadButton):
2660         * rendering/RenderTheme.cpp:
2661         * style/StyleResolveTree.cpp:
2662         (WebCore::Style::resolveTree):
2663         * svg/SVGTRefElement.cpp:
2664         (WebCore::SVGTRefElement::updateReferencedText):
2665         (WebCore::SVGTRefElement::detachTarget):
2666         * svg/SVGUseElement.cpp:
2667         (WebCore::SVGUseElement::clearResourceReferences):
2668         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
2669         (WebCore::SVGUseElement::buildShadowTree):
2670         * testing/Internals.cpp:
2671         (WebCore::Internals::ensureShadowRoot):
2672         (WebCore::Internals::shadowRoot):
2673
2674 2013-08-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2675
2676         [Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont
2677         https://bugs.webkit.org/show_bug.cgi?id=118532
2678
2679         Reviewed by Jocelyn Turcotte.
2680
2681         We don't need to allocate FontPlatformData on the heap
2682         since getCachedFontData makes a deep copy anyway.
2683
2684         * platform/graphics/qt/FontCacheQt.cpp:
2685         (WebCore::FontCache::getLastResortFallbackFont):
2686
2687 2013-08-15  Rob Buis  <rwlbuis@webkit.org>
2688
2689         ASSERTION FAILED: !m_adoptionIsRequired in void WebCore::TreeShared<NodeType>::ref()
2690         https://bugs.webkit.org/show_bug.cgi?id=116979
2691
2692         Reviewed by Antti Koivisto.
2693
2694         Make sure adoptRef is called before calling setPseudo, for all progress shadow elements.
2695
2696         * html/shadow/ProgressShadowElement.cpp:
2697         (WebCore::ProgressInnerElement::ProgressInnerElement):
2698         (WebCore::ProgressBarElement::ProgressBarElement):
2699         (WebCore::ProgressValueElement::ProgressValueElement):
2700         * html/shadow/ProgressShadowElement.h:
2701         (WebCore::ProgressInnerElement::create):
2702         (WebCore::ProgressBarElement::create):
2703         (WebCore::ProgressValueElement::create):
2704
2705 2013-08-14  Ryuan Choi  <ryuan.choi@samsung.com>
2706
2707         <https://webkit.org/b/119786> [EFL] decoration of search type is different from other platforms
2708
2709         Reviewed by Gyuyoung Kim.
2710
2711         Other platforms except EFL port draw a magnifying icon for
2712         -webkit-search-results-button and -webkit-search-results-decoration in search field,
2713         but Efl port draws it for -webkit-search-decoration.
2714
2715         This patch makes Efl port draw icon in first two cases like other ports.
2716
2717         Tests: fast/css/input-search-padding.html
2718            fast/css/text-input-with-webkit-border-radius.html
2719            fast/css/text-overflow-input.html
2720            fast/forms/box-shadow-override.html
2721            fast/forms/control-restrict-line-height.html
2722            fast/forms/input-appearance-height.html
2723            fast/forms/placeholder-position.html
2724            fast/forms/placeholder-pseudo-style.html
2725            fast/forms/search-cancel-button-style-sharing.html
2726            fast/forms/search-display-none-cancel-button.html
2727            fast/forms/search-rtl.html
2728            fast/forms/search-vertical-alignment.html
2729            fast/forms/searchfield-heights.html
2730            fast/repaint/search-field-cancel.html
2731
2732         * platform/efl/DefaultTheme/widget/search/cancel/search_cancel.edc:
2733         Moved results_button alias to search_decoration.edc
2734         * platform/efl/DefaultTheme/widget/search/decoration/search_decoration.edc:
2735         * platform/efl/RenderThemeEfl.cpp:
2736         Updated size of ResultsButtonStyle and ResultsDecorationStyle to show icon.
2737         In addition, removed adjustSearchFieldResultsButtonStyle and paintSearchFieldDecoration.
2738         (WebCore::toEdjeGroup): Removed decoration group.
2739         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
2740         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
2741         * platform/efl/RenderThemeEfl.h:
2742
2743 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2744
2745         [CSS] Introduce new structure to pass image orientation values.
2746         https://bugs.webkit.org/show_bug.cgi?id=119418
2747
2748         Reviewed by Beth Dakin.
2749
2750         Add a ImageOrientationDescription struct in order to reduce count of argument for
2751         image orientation.
2752
2753         No new tests, no behavior change.
2754
2755         * html/HTMLCanvasElement.cpp:
2756         (WebCore::HTMLCanvasElement::paint):
2757         * page/DragController.cpp:
2758         (WebCore::DragController::doImageDrag):
2759         * page/Frame.cpp:
2760         (WebCore::Frame::nodeImage):
2761         (WebCore::Frame::dragImageForSelection):
2762         * platform/DragImage.h:
2763         * platform/blackberry/DragImageBlackBerry.cpp:
2764         (WebCore::createDragImageFromImage):
2765         * platform/efl/DragImageEfl.cpp:
2766         (WebCore::createDragImageFromImage):
2767         * platform/graphics/BitmapImage.cpp:
2768         (WebCore::BitmapImage::updateSize):
2769         * platform/graphics/BitmapImage.h:
2770         * platform/graphics/GraphicsContext.cpp:
2771         (WebCore::GraphicsContext::drawImage):
2772         * platform/graphics/GraphicsContext.h:
2773         * platform/graphics/Image.cpp:
2774         (WebCore::Image::draw):
2775         * platform/graphics/Image.h:
2776         * platform/graphics/ImageOrientation.h:
2777         (WebCore::ImageOrientationDescription::ImageOrientationDescription):
2778         (WebCore::ImageOrientationDescription::respectImageOrientation):
2779         (WebCore::ImageOrientationDescription::imageOrientation):
2780         * platform/graphics/ImageSource.cpp:
2781         (WebCore::ImageSource::size):
2782         (WebCore::ImageSource::frameSizeAtIndex):
2783         * platform/graphics/ImageSource.h:
2784         * platform/graphics/blackberry/ImageBlackBerry.cpp:
2785         (WebCore::BitmapImage::draw):
2786         * platform/graphics/cairo/BitmapImageCairo.cpp:
2787         (WebCore::BitmapImage::draw):
2788         * platform/graphics/cairo/ImageBufferCairo.cpp:
2789         (WebCore::ImageBuffer::draw):
2790         * platform/graphics/cg/BitmapImageCG.cpp:
2791         (WebCore::BitmapImage::draw):
2792         * platform/graphics/cg/ImageSourceCG.cpp:
2793         (WebCore::ImageSource::frameSizeAtIndex):
2794         (WebCore::ImageSource::size):
2795         (WebCore::ImageSource::frameBytesAtIndex):
2796         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2797         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2798         * platform/graphics/qt/ImageBufferQt.cpp:
2799         (WebCore::ImageBuffer::draw):
2800         * platform/graphics/wince/ImageBufferWinCE.cpp:
2801         (WebCore::ImageBuffer::draw):
2802         * platform/gtk/ClipboardGtk.cpp:
2803         (WebCore::Clipboard::createDragImage):
2804         * platform/gtk/DragImageGtk.cpp:
2805         (WebCore::createDragImageFromImage):
2806         * platform/mac/DragImageMac.mm:
2807         (WebCore::createDragImageFromImage):
2808         * platform/qt/ClipboardQt.cpp:
2809         (WebCore::Clipboard::createDragImage):
2810         * platform/qt/DragImageQt.cpp:
2811         (WebCore::createDragImageFromImage):
2812         * platform/win/ClipboardWin.cpp:
2813         (WebCore::Clipboard::createDragImage):
2814         * platform/win/DragImageCGWin.cpp:
2815         (WebCore::createDragImageFromImage):
2816         * platform/win/DragImageCairoWin.cpp:
2817         (WebCore::createDragImageFromImage):
2818         * rendering/RenderEmbeddedObject.cpp:
2819         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
2820         * rendering/RenderImage.cpp:
2821         (WebCore::RenderImage::paintReplaced):
2822         (WebCore::RenderImage::paintIntoRect):
2823         * rendering/RenderSnapshottedPlugIn.cpp:
2824         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
2825
2826 2013-08-14  Sam Weinig  <sam@webkit.org>
2827
2828         Update binding test results.  Follow up fix for <https://webkit.org/b/119664>
2829
2830         * bindings/scripts/test/JS/JSTestCallback.cpp:
2831         (WebCore::JSTestCallback::JSTestCallback):
2832         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2833         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2834
2835 2013-08-14  Joseph Pecoraro  <pecoraro@apple.com>
2836
2837         <https://webkit.org/b/119810> [Mac] No AutoreleasePool leaks when dragging image out of WebView
2838
2839         Reviewed by Dan Bernstein.
2840
2841         This code was just running a block of code asynchronously using a
2842         pthread. Convert this to use a dispatch block, which does provide
2843         an autorelease pool so there are no leaks and ends up much simpler.
2844
2845         * platform/mac/FileSystemMac.mm:
2846         (WebCore::setMetadataURL):
2847
2848 2013-08-14  Tim Horton  <timothy_horton@apple.com>
2849
2850         Un-inline dataLog dumpers for IntSize and IntPoint
2851         https://bugs.webkit.org/show_bug.cgi?id=119697
2852
2853         Reviewed by Sam Weinig.
2854
2855         Avoid regressing build performance by moving IntSize::dump and IntPoint::dump elsewhere.
2856
2857         * CMakeLists.txt:
2858         * GNUmakefile.list.am:
2859         * Target.pri:
2860         * WebCore.vcxproj/WebCore.vcxproj:
2861         * WebCore.vcxproj/WebCore.vcxproj.filters:
2862         * WebCore.xcodeproj/project.pbxproj:
2863         * platform/graphics/IntPoint.cpp: Added.
2864         (WebCore::IntPoint::dump):
2865         * platform/graphics/IntPoint.h:
2866         * platform/graphics/IntSize.cpp: Added.
2867         (WebCore::IntSize::dump):
2868         * platform/graphics/IntSize.h:
2869
2870 2013-08-14  Chris Fleizach  <cfleizach@apple.com>
2871
2872         <https://webkit.org/b/119824> AX: WKView does not become first responder when the voiceover cursor lands on it
2873
2874         Reviewed by Tim Horton.
2875
2876         VoiceOver lands on Scroll views by default. It expects that the scroll view will be able to handle the focus calls. 
2877         We should forward scroll view focus requests to the web area to handle, which will trigger a becomeFirstResponder on WKView.
2878
2879         There's not a great way to test this unfortunately, since it requires having focus comes from outside the webview into the webview.
2880
2881         * accessibility/AccessibilityScrollView.cpp:
2882         (WebCore::AccessibilityScrollView::canSetFocusAttribute):
2883         (WebCore::AccessibilityScrollView::isFocused):
2884         (WebCore::AccessibilityScrollView::setFocused):
2885         * accessibility/AccessibilityScrollView.h:
2886
2887 2013-08-14  Hans Muller  <hmuller@adobe.com>
2888
2889         [CSS Exclusions] Minimal support for using an image to define a shape
2890         https://bugs.webkit.org/show_bug.cgi?id=116643
2891
2892         Reviewed by Alexandru Chiculita.
2893
2894         This is a first small step towards supporting CSS shapes defined by an
2895         image URL and a alpha channel threshold. To keep the patch as small as
2896         possible, there are many limitations and remaining work items. For
2897         example images are currently restricted to same-origin, although CORS
2898         should be supported. See https://bugs.webkit.org/show_bug.cgi?id=116348
2899         for the current list.
2900
2901         Test: fast/exclusions/shape-inside/shape-inside-image-001.html
2902         Test: fast/exclusions/shape-inside/shape-inside-image-002.html
2903
2904         * CMakeLists.txt:
2905         * GNUmakefile.list.am:
2906         * Target.pri:
2907         * WebCore.vcxproj/WebCore.vcxproj:
2908         * WebCore.xcodeproj/project.pbxproj:
2909         * rendering/RenderBlock.cpp:
2910         (WebCore::RenderBlock::imageChanged): When the image has finished loading, request a layout.
2911         * rendering/RenderBlock.h:
2912         * rendering/RenderObject.cpp:
2913         (WebCore::RenderObject::setStyle): Add notify clients for shape images.
2914         (WebCore::RenderObject::updateShapeImage):
2915         (WebCore::removeShapeImageClient):
2916         (WebCore::RenderObject::arenaDelete): Remove notify clients for shape images.
2917         * rendering/RenderObject.h:
2918         * rendering/shapes/RasterShape.cpp: Added. A Shape defined by thresholding an image's alpha channel.
2919         (WebCore::RasterShapeIntervals::bounds):
2920         (WebCore::RasterShapeIntervals::addInterval): Add a single run to the shape.
2921         (WebCore::alignedRect):
2922         (WebCore::RasterShapeIntervals::getIntervals): Return the shape's runs that fall within a horizonal box.
2923         (WebCore::RasterShape::marginIntervals): Internal representation of the shape with shape-margin factored in.  Currently only a stub.
2924         (WebCore::RasterShape::paddingIntervals): Internal representation of the shape with shape-padding factored in.  Currently only a stub.
2925         (WebCore::RasterShape::getExcludedIntervals):
2926         (WebCore::RasterShape::getIncludedIntervals):
2927         (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
2928         * rendering/shapes/RasterShape.h:
2929         (WebCore::RasterShapeIntervals::RasterShapeIntervals): Internal run length encoded representation of a RasterShape.
2930         (WebCore::RasterShapeIntervals::isEmpty):
2931         (WebCore::RasterShape::RasterShape):
2932         * rendering/shapes/Shape.cpp:
2933         (WebCore::Shape::createShape): Support for creating a Shape based on a RasterShapeIntervals object.
2934         * rendering/shapes/Shape.h:
2935         * rendering/shapes/ShapeInfo.cpp:
2936         (WebCore::::computedShape): Added support for the Image ShapeValue type.
2937         * rendering/shapes/ShapeInsideInfo.cpp:
2938         (WebCore::ShapeInsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
2939         * rendering/shapes/ShapeOutsideInfo.cpp:
2940         (WebCore::ShapeOutsideInfo::isEnabledFor): Added support for the Image ShapeValue type.
2941         * rendering/style/ShapeValue.h:
2942         (WebCore::ShapeValue::isImageValid): True if the shape's image is ready to be be processed.
2943
2944 2013-08-14  Alexandru Chiculita  <achicu@adobe.com>
2945
2946         [CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a Composited RenderLayer
2947         https://bugs.webkit.org/show_bug.cgi?id=117365
2948
2949         Reviewed by David Hyatt.
2950
2951         After the RenderFlowThread has a new layout we need to check if any of the children layers
2952         had been moved to a new render region. We are only checking for the first level of layers,
2953         as they are the only ones supported right now. Also, added code to make Regions require a layer
2954         based on the layers that fit in their clipping area.
2955
2956         Tests: fast/regions/layers/dynamic-layer-added-with-no-layout.html
2957                fast/regions/layers/dynamic-layer-removed-with-no-layout.html
2958                fast/regions/layers/float-region-promoted-to-layer.html
2959                fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html
2960                fast/regions/layers/regions-promoted-to-layers-vertical-lr.html
2961                fast/regions/layers/regions-promoted-to-layers-vertical-rl.html
2962                fast/regions/layers/regions-promoted-to-layers.html
2963
2964         * rendering/FlowThreadController.cpp:
2965         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded): Iterate on all the flow threads and updateLayerToRegionMappings if needed. 
2966         * rendering/FlowThreadController.h:
2967         * rendering/RenderBlock.cpp:
2968         (WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer): Checks if the FloatingObject
2969         needs to be painted by the current block or not.
2970         (WebCore::RenderBlock::updateFloatingObjectsPaintingContainer): Helper function to lookup what is the right
2971         container that would need to paint a FloatingObject.
2972         (WebCore::RenderBlock::updateAllDescendantsFloatingObjectsPaintingContainer):
2973         * rendering/RenderBlock.h:
2974         * rendering/RenderBox.cpp:
2975         (WebCore::RenderBox::outermostBlockContainingFloatingObject): Looks up the ancestor RenderBlock that contains all
2976         the FloatingObjects of a float.
2977         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): Extracted the code for outermostBlockContainingFloatingObject
2978         into its own method.
2979         (WebCore::RenderBox::updatePaintingContainerForFloatingObject): Helper method to update the "m_shouldPaint" flag
2980         of all the FloatingObjects created for a floating RenderObject. Normally, that flag is maintained during layout,
2981         but we need to patch it for the floating RenderRegions after the layout is already finished.
2982         (WebCore::RenderBox::updateLayerIfNeeded): Overwrite of the RenderLayerModelObject::updateLayerIfNeeded that is also
2983         calling updatePaintingContainerForFloatingObject if a new layer was created or destroyed.
2984         * rendering/RenderBox.h:
2985         * rendering/RenderFlowThread.cpp:
2986         (WebCore::RenderFlowThread::layout): Added code to call updateLayerToRegionMappings when needed.
2987         (WebCore::RenderFlowThread::regionForCompositedLayer): Looks up the first RenderRegion to display a specific layer.
2988         It only cares about the top most point of the element and ignores transforms.
2989         (WebCore::RenderFlowThread::updateRegionForRenderLayer): Helper method to update the mapped region of a layer.
2990         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Iterates all the first level layers of the flow thread
2991         and updates the region. Will return true if there was any change.
2992         * rendering/RenderFlowThread.h:
2993         * rendering/RenderLayer.cpp:
2994         (WebCore::RenderLayer::dirtyZOrderLists): When new layers are added or removed we need to update the layer map in the flow thread.
2995         (WebCore::RenderLayer::dirtyNormalFlowList):
2996         (WebCore::RenderLayer::shouldBeNormalFlowOnly): CSS Regions might become layers because they contain RenderLayers,
2997         but they should not become stacking contexts for that reason. This will prevent the RenderRegions from rendering
2998         in front of other layers.
2999         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
3000         * rendering/RenderLayerCompositor.cpp:
3001         (WebCore::RenderLayerCompositor::updateCompositingLayers): Call updateRenderFlowThreadLayersIfNeeded when there's a layer hierarchy update.
3002         (WebCore::RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded): Update the render flow thread layer maps when they are dirty.
3003         * rendering/RenderLayerCompositor.h:
3004         * rendering/RenderLayer.h:
3005         (WebCore::RenderLayer::isDirtyRenderFlowThread): Used to check if the RenderLayers had changed their order,
3006         so that we can update the list of layers associated with a region. In a following patch we will need to 
3007         rebuild the composited layers.
3008         * rendering/RenderLayerModelObject.cpp:
3009         (WebCore::RenderLayerModelObject::updateLayerIfNeeded): Adds or removes a layer when the "requiresLayer" changes
3010         after the styleDidChange already happened. This is needed for Regions as we only know if they still require a layer,
3011         only after the content of the flow thread is computed.
3012         * rendering/RenderLayerModelObject.h:
3013         * rendering/RenderRegion.cpp:
3014         (WebCore::RenderRegion::RenderRegion):
3015         (WebCore::RenderRegion::setRequiresLayerForCompositing):
3016         * rendering/RenderRegion.h:
3017         (WebCore::RenderRegion::requiresLayer):
3018         * rendering/RenderTreeAsText.cpp:
3019         (WebCore::writeRenderRegionList): Updated the output to print the fact that the layer has a layer.
3020
3021 2013-08-14  Bem Jones-Bey  <bjonesbe@adobe.com>
3022
3023         Finish making FloatingObject a real class with private members
3024         https://bugs.webkit.org/show_bug.cgi?id=119807
3025
3026         This is a port from Blink of
3027         http://src.chromium.org/viewvc/blink?view=revision&revision=155964
3028         Original patch by Eric Seidel.
3029
3030         From his comments on the Blink change:
3031
3032         Previously FloatingObject was in a half-done state where it had
3033         accessors for many members, but also many members were public.
3034
3035         This CL makes all members private and adds the necessary remaining
3036         accessors.
3037
3038         Reviewed by David Hyatt.
3039
3040         No new tests, no behavior change.
3041
3042         * rendering/RenderBlock.cpp:
3043         (WebCore::RenderBlock::deleteLineBoxTree):
3044         (WebCore::RenderBlock::addOverflowFromFloats):
3045         (WebCore::RenderBlock::repaintOverhangingFloats):
3046         (WebCore::RenderBlock::paintFloats):
3047         (WebCore::RenderBlock::selectionGaps):
3048         (WebCore::RenderBlock::insertFloatingObject):
3049         (WebCore::RenderBlock::removeFloatingObject):
3050         (WebCore::RenderBlock::removeFloatingObjectsBelow):
3051         (WebCore::RenderBlock::positionNewFloats):
3052         (WebCore::RenderBlock::clearFloats):
3053         (WebCore::RenderBlock::addOverhangingFloats):
3054         (WebCore::RenderBlock::addIntrudingFloats):
3055         (WebCore::RenderBlock::hitTestFloats):
3056         (WebCore::RenderBlock::adjustForBorderFit):
3057         * rendering/RenderBlock.h:
3058         (WebCore::RenderBlock::FloatingObject::paginationStrut):
3059         (WebCore::RenderBlock::FloatingObject::setPaginationStrut):
3060         (WebCore::RenderBlock::FloatingObject::setRenderer):
3061         (WebCore::RenderBlock::FloatingObject::originatingLine):
3062         (WebCore::RenderBlock::FloatingObject::setOriginatingLine):
3063         (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
3064         (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
3065         (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
3066         * rendering/RenderBlockLineLayout.cpp:
3067         (WebCore::RenderBlock::appendFloatingObjectToLastLine):
3068         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3069         (WebCore::RenderBlock::linkToEndLineIfNeeded):
3070         (WebCore::RenderBlock::determineStartPosition):
3071         (WebCore::RenderBlock::positionNewFloatOnLine):
3072
3073 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
3074
3075         Assertion failure in RenderObject::drawLineForBoxSide
3076         https://bugs.webkit.org/show_bug.cgi?id=108187
3077
3078         Reviewed by David Hyatt.
3079
3080         Don't draw the outline if the rectangle to draw is empty.
3081
3082         Test: fast/css/outline-negative.html
3083
3084         * rendering/RenderInline.cpp:
3085         (WebCore::RenderInline::paintOutlineForLine):
3086
3087 2013-08-13  Chris Fleizach  <cfleizach@apple.com>
3088
3089         AX: Headings not longer have an AXTitle if they have a link as the only child
3090         https://bugs.webkit.org/show_bug.cgi?id=119699
3091
3092         Reviewed by Anders Carlsson.
3093
3094         Normally, focusable content is not incuded when looking at the visible text of an element.
3095         One case where we need an exception is with headings, where there is usually link content inside the heading
3096         that we want to be used as the visible text.
3097
3098         Test: accessibility/heading-title-includes-links.html
3099
3100         * accessibility/AccessibilityNodeObject.cpp:
3101         (WebCore::AccessibilityNodeObject::visibleText):
3102         (WebCore::shouldUseAccessiblityObjectInnerText):
3103         (WebCore::AccessibilityNodeObject::title):
3104         * accessibility/AccessibilityNodeObject.h:
3105         * accessibility/AccessibilityObject.h:
3106         (WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
3107         (WebCore::AccessibilityObject::textUnderElement):
3108         * accessibility/AccessibilityRenderObject.cpp:
3109         (WebCore::AccessibilityRenderObject::textUnderElement):
3110         * accessibility/AccessibilityRenderObject.h:
3111
3112 2013-08-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3113
3114         Move id attribute to parent Element interface
3115         https://bugs.webkit.org/show_bug.cgi?id=119706
3116
3117         Reviewed by Ryosuke Niwa.
3118
3119         Move id attribute from SVGElement / HTMLElement to their Element parent
3120         interface to match the latest DOM specification and avoid duplication:
3121         http://dom.spec.whatwg.org/#dom-element-id
3122
3123         There is no web-exposed behavior change because we haven't moved
3124         properties from instances to their prototype, as per the Web IDL
3125         specification (http://dev.w3.org/2006/webapi/WebIDL/#es-attributes).
3126
3127         Firefox already exposes the id property of Element's prototype.
3128
3129         This patch also drops the comment about returning the empty string when
3130         no id is present (introduced in http://trac.webkit.org/changeset/4417).
3131         This comment is redundant since the id property is already marked to
3132         "reflect" the id attribute. Returning the empty string when the
3133         attribute is not present is the normal behavior when reflecting:
3134         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#reflect
3135
3136         No new test, no web-exposed behavior change.
3137
3138         * dom/Element.idl:
3139         * html/HTMLElement.idl:
3140         * svg/SVGElement.idl:
3141
3142 2013-08-14  Arpita Bahuguna  <a.bah@samsung.com>
3143
3144         createAttribute/setAttributeNode does not properly normalize case
3145         https://bugs.webkit.org/show_bug.cgi?id=90341
3146
3147         Reviewed by Darin Adler.
3148
3149         setAttributeNode() verifies for existing attributes in a case sensitive
3150         manner. Thus, it would add another attribute if specified in a case
3151         different from the existing one. Instead, like setAttribute(), it too
3152         should modify the existing attribute's value.
3153
3154         Tests: fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml
3155                fast/dom/Element/setAttributeNode-case-insensitivity.html
3156
3157         * dom/Element.cpp:
3158         (WebCore::Element::setAttributeNode):
3159         Passing the second param (shouldIgnoreAttributeCase) to
3160         findAttributeIndexByNameForAttributeNode() method. We are now letting
3161         findAttributeIndexByNameForAttributeNode() handle the case-sensitive/insensitive
3162         checking.
3163
3164         (WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
3165         * dom/Element.h:
3166         Added shouldIgnoreAttributeCase boolean param to the method. It passes
3167         this on to QualifiedName::matchesIgnoringCaseForLocalName() method.
3168
3169         * dom/QualifiedName.h:
3170         (WebCore::QualifiedName::matchesIgnoringCaseForLocalName):
3171         New method added for doing a case-insensitive comparison based on the
3172         shouldIgnoreCase param passed to this method.
3173
3174 2013-08-14  Gabor Abraham  <abrhm@inf.u-szeged.hu>
3175
3176         [CMake] Fix building with bison-3.0.
3177         https://bugs.webkit.org/show_bug.cgi?id=119788
3178
3179         Reviewed by Zoltan Herczeg.
3180
3181         No new tests, just build fix.
3182
3183         * CMakeLists.txt:
3184
3185 2013-08-14  Rob Buis  <rwlbuis@webkit.org>
3186
3187         ASSERTION FAILED: resultAnimationElement->m_animatedType in WebCore::SVGAnimateElement::calculateAnimatedValue
3188         https://bugs.webkit.org/show_bug.cgi?id=119748
3189
3190         Reviewed by Dirk Schulze.
3191
3192         Avoid animation when attributeType="CSS" is used on an animateTransform.
3193
3194         Tests: svg/animations/animateTransform-translate-attributetype-auto.html
3195                svg/animations/animateTransform-translate-invalid-attributetype.html
3196
3197         * svg/SVGAnimateTransformElement.cpp:
3198         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
3199
3200 2013-08-14  Antti Koivisto  <antti@apple.com>
3201
3202         Try to fix Qt build.
3203         
3204         Not reviewed.
3205
3206         * xml/parser/XMLDocumentParserQt.cpp:
3207         (WebCore::XMLDocumentParser::parseProcessingInstruction):
3208         (WebCore::XMLDocumentParser::parseCdata):
3209         (WebCore::XMLDocumentParser::parseComment):
3210
3211 2013-08-13  Antti Koivisto  <antti@apple.com>
3212
3213         Remove Node::attach() and ContainerNode::attach()
3214         https://bugs.webkit.org/show_bug.cgi?id=119698
3215
3216         Reviewed by Andreas Kling.
3217
3218         Currently attach() is a virtual function on Node. However only Elements have style and so a corresponding 
3219         independent render object. Attaching should be made Element level concept.
3220         
3221         This patch merges Node::attach() and ContainerNode::attach() to Element::attach(). Other related functions
3222         (detach(), reattach(), etc) move similarly.
3223         
3224         Next step here is to make attach non-virtual in common case and move it out from the DOM tree.
3225
3226         * dom/ContainerNode.cpp:
3227         (WebCore::attachChild):
3228         (WebCore::detachChild):
3229         
3230             Temporary helpers. Further refactoring should get rid of these.
3231
3232         (WebCore::ContainerNode::takeAllChildrenFrom):
3233         (WebCore::ContainerNode::removeBetween):
3234         (WebCore::updateTreeAfterInsertion):
3235         * dom/ContainerNode.h:
3236         * dom/Document.cpp:
3237         (WebCore::Document::attach):
3238         (WebCore::Document::detach):
3239         
3240             Copy the relevant parts of the code from base class attach/detach here. It is not much.
3241
3242         * dom/Document.h:
3243         * dom/Element.cpp:
3244         (WebCore::Element::~Element):
3245         
3246             Node destructor no longer detaches.
3247
3248         (WebCore::Element::attachChildren):
3249         (WebCore::Element::attach):
3250         
3251             Combine Node::attach(), ContainerNode::attach() and Element::attach().
3252
3253         (WebCore::Element::detachChildren):
3254         (WebCore::Element::detach):
3255         
3256             Combine Node::detach(), ContainerNode::detach() and Element::detach().
3257
3258         (WebCore::Element::reattach):
3259         (WebCore::Element::reattachIfAttached):
3260         (WebCore::Element::lazyReattach):
3261         (WebCore::Element::lazyAttach):
3262         
3263             This stuff moves from ContainerNode/Node.
3264
3265         * dom/Element.h:
3266         (WebCore::Element::AttachContext::AttachContext):
3267         * dom/ElementShadow.cpp:
3268         (WebCore::ElementShadow::removeShadowRoot):
3269         (WebCore::ElementShadow::attach):
3270         (WebCore::ElementShadow::detach):
3271         * dom/ElementShadow.h:
3272         * dom/Node.cpp:
3273         (WebCore::Node::~Node):
3274         
3275             Assert that we are not attached at this point.
3276
3277         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
3278         * dom/Node.h:
3279         (WebCore::Node::setAttached):
3280         (WebCore::Node::setStyleChange):
3281         
3282             Make available.
3283
3284         * dom/NodeRenderingContext.cpp:
3285         (WebCore::NodeRenderingContext::NodeRenderingContext):
3286         * dom/NodeRenderingContext.h:
3287         * dom/ShadowRoot.cpp:
3288         (WebCore::ShadowRoot::attach):
3289         (WebCore::ShadowRoot::detach):
3290         * dom/ShadowRoot.h:
3291         * dom/Text.cpp:
3292         (WebCore::Text::~Text):
3293         
3294             Node destructor no longer detaches. Add destructor.
3295
3296         (WebCore::Text::createTextRenderersForSiblingsAfterAttachIfNeeded):
3297         
3298             Factor the code that updates sibling text renderers after attach into a function.
3299
3300         (WebCore::Text::attachText):
3301         (WebCore::Text::detachText):
3302         
3303             Text::attachText/detachText replace virtual Node::attach/detach. They do the part of the work text nodes actually ended up doing.
3304
3305         (WebCore::Text::updateTextRenderer):
3306         * dom/Text.h:
3307         * html/HTMLViewSourceDocument.cpp:
3308         (WebCore::HTMLViewSourceDocument::addText):
3309         * html/PluginDocument.cpp:
3310         (WebCore::PluginDocument::detach):
3311         * html/PluginDocument.h:
3312         * html/parser/HTMLConstructionSite.cpp:
3313         (WebCore::executeTask):
3314         * html/shadow/ContentDistributor.cpp:
3315         (WebCore::ContentDistributor::invalidateDistribution):
3316         * html/shadow/InsertionPoint.cpp:
3317         (WebCore::InsertionPoint::attach):
3318         (WebCore::InsertionPoint::detach):
3319         * loader/PlaceholderDocument.cpp:
3320         (WebCore::PlaceholderDocument::attach):
3321         * loader/PlaceholderDocument.h:
3322         * style/StyleResolveTree.cpp:
3323         (WebCore::Style::resolveLocal):
3324         (WebCore::Style::updateTextStyle):
3325         * xml/parser/XMLDocumentParser.cpp:
3326         (WebCore::XMLDocumentParser::exitText):
3327         * xml/parser/XMLDocumentParserLibxml2.cpp:
3328         (WebCore::XMLDocumentParser::processingInstruction):
3329         (WebCore::XMLDocumentParser::cdataBlock):
3330         (WebCore::XMLDocumentParser::comment):
3331         
3332             No need to attach non-rendered nodes.
3333
3334 2013-08-14  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3335
3336         ASSERT(m_frame->view() == this) fails
3337         https://bugs.webkit.org/show_bug.cgi?id=119015
3338
3339         Reviewed by Simon Fraser.
3340
3341         Introduced the method fixedLayoutSizeChanged and made it chack if the view
3342         is attached to the frame before issuing contentsResized.
3343
3344         * page/FrameView.cpp:
3345         (WebCore::FrameView::fixedLayoutSizeChanged):
3346         * page/FrameView.h:
3347         * platform/ScrollView.cpp:
3348         (WebCore::ScrollView::setFixedLayoutSize):
3349         (WebCore::ScrollView::setUseFixedLayout):
3350         (WebCore::ScrollView::fixedLayoutSizeChanged):
3351         * platform/ScrollView.h:
3352
3353 2013-08-13  Sergio Villar Senin  <svillar@igalia.com>
3354
3355         [CSS Grid Layout] Align our grid-line handling with the updated specification
3356         https://bugs.webkit.org/show_bug.cgi?id=113546
3357
3358         Reviewed by Andreas Kling.
3359
3360         From Blink r148091 by <jchaffraix@chromium.org>
3361
3362         This change makes us match the updated specification by making
3363         grid line numbers to always resolve against the
3364         grid-{column|row}-start edge (the previous code would resolve
3365         grid-{column|row}-end grid lines against the grid-{column|row}-end
3366         edge).
3367
3368         To keep feature parity, negative numbers resolve against the
3369         grid-{column|row}-end edge of the 'explicit grid'.
3370
3371         Test: fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html
3372
3373         * rendering/RenderGrid.cpp:
3374         (WebCore::estimatedGridSizeForPosition):
3375         (WebCore::RenderGrid::explicitGridColumnCount): New utility function.
3376         (WebCore::RenderGrid::explicitGridRowCount): Ditto.
3377         (WebCore::RenderGrid::maximumIndexInDirection): Use explicitGridXXXCount().
3378         (WebCore::RenderGrid::resolveGridPositionsFromStyle): Check that row-end > row-start.
3379         (WebCore::RenderGrid::resolveGridPositionFromStyle): Clamp negative values to the first line.
3380         * rendering/RenderGrid.h:
3381         * rendering/style/GridPosition.h:
3382
3383 2013-08-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3384
3385         Add toSVGTextPathElement(), and use it
3386         https://bugs.webkit.org/show_bug.cgi?id=119783
3387
3388         Reviewed by Ryosuke Niwa.
3389
3390         As a step to clean-up static_cast<SVGXXX>, static_cast<SVGTextPathElement*> can
3391         be changed with toSVGTextPathElement().
3392
3393         * rendering/svg/RenderSVGTextPath.cpp:
3394         (WebCore::RenderSVGTextPath::layoutPath):
3395         (WebCore::RenderSVGTextPath::startOffset):
3396         (WebCore::RenderSVGTextPath::exactAlignment):
3397         (WebCore::RenderSVGTextPath::stretchMethod):
3398         * svg/SVGTextPathElement.h:
3399         (WebCore::toSVGTextPathElement):
3400
3401 2013-08-14  Jinwoo Jeong  <jw00.jeong@samsung.com>
3402
3403         FEComponentTransfer could be faster.
3404         https://bugs.webkit.org/show_bug.cgi?id=119671
3405
3406         Reviewed by Christophe Dumez.
3407
3408         Use direct writing to target data instead of calling Uint8ClampedArray::set() function.
3409         This change reduces at least 80% time in the loop of that function.
3410
3411         The Uint8ClampedArray::set() function has index checking code, value checking code and value casting code.
3412         But the index is managed by for loop condition, the value is generated by transferFunction.
3413         And the value is already defined as unsigned char.
3414         Thus all works in Uint8ClampedArray::set() function is redundant.
3415         Removing the call to Uint8ClampedArray::set() function does not reduce stability but improves performance.
3416
3417         * platform/graphics/filters/FEComponentTransfer.cpp:
3418         (WebCore::FEComponentTransfer::platformApplySoftware):
3419
3420 2013-08-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3421
3422         The length of scheme is at least five characters even when the scheme has 'web+' prefix
3423         https://bugs.webkit.org/show_bug.cgi?id=119779
3424
3425         Reviewed by Ryosuke Niwa.
3426
3427         The content-scheme handler specification requires that it is SecurityError if the length of
3428         scheme isn't five characters at least, including 'web+' prefix. Thus, we need to check the length
3429         of scheme on the 'web+' scheme.
3430
3431         Spec: http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers
3432
3433         No new tests, just modify existing tests.