Add modern API for overriding the page's specified viewport configuration
[WebKit-https.git] / Source / WebCore / ChangeLog-2013-10-13
1 2013-10-13  Andreas Kling  <akling@apple.com>
2
3         RenderLayerBacking should have RenderLayer& backpointer.
4         <https://webkit.org/b/122731>
5
6         Reviewed by Anders Carlsson.
7
8         RenderLayerBacking is always owned by a RenderLayer and so should
9         store its backpointer in a reference.
10
11 2013-10-13  Darin Adler  <darin@apple.com>
12
13         Make element predicates and type casts work more consistently on more types
14         https://bugs.webkit.org/show_bug.cgi?id=122718
15
16         Reviewed by Antti Koivisto.
17
18         * dom/ContainerNodeAlgorithms.cpp:
19         (WebCore::assertConnectedSubrameCountIsConsistent):
20         * dom/ContainerNodeAlgorithms.h:
21         (WebCore::ChildFrameDisconnector::collectFrameOwners):
22         Updated for name change.
23
24         * dom/Document.cpp:
25         (WebCore::Document::adoptNode): Use a reference instead of a pointer.
26         (WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Updated for
27         typecast name change and also to cast a reference, since we don't overload
28         for pointers.
29         (WebCore::Document::updateHoverActiveState): Ditto.
30
31         * dom/Element.h: Made the isElementOfType functions take references instead
32         of pointers. Also use const in the type template argument. These changes go
33         hand in hand with the changes in the generated code and all the classes.
34         Also use a bit of nullptr.
35
36         * dom/ElementIterator.h:
37         (WebCore::findElementAncestorOfType): Got rid of the ElementTypeWithConst
38         naming since this works with or without const. Added const to the call site
39         for isElementOfType, because it works that way now.
40
41         * dom/ElementTraversal.h:
42         (WebCore::Traversal::firstChildTemplate): Add const to the type when calling
43         isElementOfType. Along with the corresponding changes, this makes these
44         templates work for const types.
45         (WebCore::Traversal::lastChildTemplate): Ditto.
46         (WebCore::Traversal::firstWithinTemplate): Ditto.
47         (WebCore::Traversal::lastWithinTemplate): Ditto.
48         (WebCore::Traversal::nextTemplate): Ditto.
49         (WebCore::Traversal::previousTemplate): Ditto.
50         (WebCore::Traversal::nextSiblingTemplate): Ditto.
51         (WebCore::Traversal::previousSiblingTemplate): Ditto.
52         (WebCore::Traversal::nextSkippingChildrenTemplate): Ditto.
53
54         * dom/Node.cpp:
55         (WebCore::Node::handleLocalEvents): Check isElementNode and then call the
56         isDisabledFormControl member function, since we no longer have a helper that
57         takes a node.
58         (WebCore::Node::willRespondToMouseMoveEvents): Ditto.
59         (WebCore::Node::willRespondToMouseClickEvents): Ditto.
60         (WebCore::Node::willRespondToTouchEvents): Ditto.
61
62         * dom/PseudoElement.h: Use some nullptr. Added an isPseudoElement function
63         that the ELEMENT_TYPE_CASTS macro can use, and also used that macro to make
64         the toPseudoElement functions instead of a hand-written local variant.
65
66         * dom/make_names.pl:
67         (printTypeHelpers): Added unimplemented versions of the element predicate
68         functions that return void to catch unnecessary runtime checks of types
69         that are already known at compile time. Added assertions to the pointer
70         overloads of the predicates. Maybe later we can delete them. Added const
71         to the isElementOf template arguments to make these work with both const
72         and non-const. Put overloads in a consistent order, most specific class
73         first, then less specific. Changed isElementOfType to take references
74         rather than pointers.
75
76         * editing/Editor.cpp:
77         (WebCore::Editor::selectionForCommand): Updated to pass a reference.
78         (WebCore::Editor::setBaseWritingDirection): Ditto.
79         (WebCore::findFirstMarkable): Ditto.
80
81         * html/FormAssociatedElement.h: Tweaked a comment.
82
83         * html/HTMLBodyElement.cpp:
84         (WebCore::HTMLBodyElement::insertedInto): Updated for name change and to
85         pass a reference.
86
87         * html/HTMLElement.cpp:
88         (WebCore::HTMLElement::translate): Removed FIXME and const_cast since the
89         problem is fixed.
90         (WebCore::HTMLElement::directionality): Use a reference.
91
92         * html/HTMLElement.h: Use const in the type of the isElementOfType functions.
93         Use references for all the arguments, not pointers.
94
95         * html/HTMLFieldSetElement.cpp:
96         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded): Use documentVersion
97         instead of docVersion for local variable name. Use elementDescendants instead
98         of elementTraversal.
99         (WebCore::HTMLFieldSetElement::length): Use length instead of len for name.
100
101         * html/HTMLFormControlElement.h: Put predicates into the standard format and
102         did them on single lines. Added ELEMENT_TYPE_CASTS so we get standard casts.
103         * html/HTMLFrameElementBase.h: Ditto.
104         * html/HTMLFrameOwnerElement.h: Ditto, but changed the name to match the class,
105         so it's now isHTMLFrameOwnerElement and toHTMLFrameOwnerElement.
106
107         * html/HTMLLabelElement.cpp:
108         (WebCore::nodeAsSupportedLabelableElement): Updated to use references.
109
110         * html/HTMLMediaElement.h: Put predicates into the standard format and did
111         them on single lines. Added ELEMENT_TYPE_CASTS so we get standard casts.
112         * html/HTMLPlugInElement.h: Ditto. Also marked isPluginElement FINAL.
113         * html/HTMLPlugInImageElement.h: Ditto.
114         * html/HTMLTableCellElement.cpp: Removed old hand-written cast functions.
115         * html/HTMLTableCellElement.h: Did same predicate and ELEMENT_TYPE_CASTS
116         changes. Also fixed up the ordering of functions in the class.
117
118         * html/HTMLTextFormControlElement.cpp:
119         (WebCore::enclosingTextFormControl): Updated to use references and nullptr.
120
121         * html/HTMLTextFormControlElement.h: Did same predicate and ELEMENT_TYPE_CASTS.
122
123         * html/HTMLTrackElement.cpp:
124         (WebCore::HTMLTrackElement::removedFrom): Call isHTMLMediaElement by its new name.
125
126         * html/LabelableElement.h: Did same predicate and ELEMENT_TYPE_CASTS.
127
128         * html/track/WebVTTElement.h: Made isWebVTTElement private. Changed the argument
129         type of setLanguage to const AtomicString& to avoid excess reference count churn.
130         Did the predicate and type casts thing.
131
132         * loader/archive/cf/LegacyWebArchive.cpp:
133         (WebCore::LegacyWebArchive::create): Update for name changes and use references.
134
135         * mathml/MathMLElement.h: Did same predicate and ELEMENT_TYPE_CASTS.
136
137         * page/FocusController.cpp:
138         (WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
139         (WebCore::FocusController::advanceFocusInDocumentOrder):
140         * page/PageSerializer.cpp:
141         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
142         Update for name change.
143
144         * platform/Pasteboard.h: Removed unneeded forward declaration.
145
146         * rendering/RenderWidget.h: Updated for name change.
147
148         * rendering/svg/RenderSVGResourceFilter.cpp:
149         (WebCore::RenderSVGResourceFilter::buildPrimitives): Use element iterator
150         and nullptr.
151
152         * svg/SVGAElement.cpp:
153         (WebCore::SVGAElement::defaultEventHandler): Update for name changes.
154
155         * svg/SVGAnimateElement.cpp:
156         (WebCore::isSVGAnimateElement): Moved here since we don't want to inline such
157         a long list of tag names.
158
159         * svg/SVGAnimateElement.h: Marked a lot more virtual functions OVERRIDE.
160         Did predicate and ELEMENT_TYPE_CASTS changes, but did not make the predicate
161         be inlined.
162
163         * svg/SVGElement.h: Did predicate and ELEMENT_TYPE_CASTS changes.
164         * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
165
166         * svg/SVGGradientElement.cpp:
167         (WebCore::isSVGGradientElement): Moved here since we don't want to inline
168         the two tag names.
169
170         * svg/SVGGradientElement.h: Did predicate and ELEMENT_TYPE_CASTS changes.
171         * svg/SVGGraphicsElement.h: Ditto.
172
173         * svg/SVGImageElement.cpp:
174         (WebCore::SVGImageElement::SVGImageElement): Took out assertion, since it
175         was asserting the class of the obejct we just created.
176
177         * svg/SVGPolyElement.cpp:
178         (WebCore::isSVGPolyElement): Moved here since we don't want to inline the
179         two tag names.
180
181         * svg/SVGPolyElement.h: Did predicate and ELEMENT_TYPE_CASTS changes.
182         * svg/SVGTextContentElement.h: Ditto.
183
184         * svg/animation/SVGSMILElement.cpp:
185         (WebCore::SVGSMILElement::connectConditions): Update for name changes,
186         to use references and nullptr, and to get rid of a non-helpful local.
187
188         * svg/animation/SVGSMILElement.h: Added a virtual function to check if a
189         given SVGElement is an SVGSMILElement so we don't have to check a long list
190         of tag names instead. Also did the predicate and ELEMENT_TYPE_CASTS changes.
191
192         * testing/Internals.cpp:
193         (WebCore::Internals::visiblePlaceholder): Updated to use references.
194
195 2013-10-13  Antti Koivisto  <antti@apple.com>
196
197         Text::renderer() should return RenderText
198         https://bugs.webkit.org/show_bug.cgi?id=122729
199
200         Reviewed by Andreas Kling.
201         
202         Tighten typing.
203
204 2013-10-13  Andreas Kling  <akling@apple.com>
205
206         Devirtualize RenderView::viewRect().
207         <https://webkit.org/b/122730>
208
209         Reviewed by Antti Koivisto.
210
211         There's no need for viewRect() to be a virtual RenderObject function.
212         The single call site that didn't already access it through RenderView
213         can just go via view().
214
215 2013-10-13  Andreas Kling  <akling@apple.com>
216
217         Move setPseudoStyle() to RenderImage (from RenderElement.)
218         <https://webkit.org/b/122726>
219
220         Reviewed by Antti Koivisto.
221
222         Only RenderImages ever use setPseudoStyle() so move it there and
223         remove the non-image codepath.
224
225 2013-10-13  Andreas Kling  <akling@apple.com>
226
227         CTTE: RenderSlider always has an HTMLInputElement.
228         <https://webkit.org/b/122728>
229
230         Reviewed by Anders Carlsson.
231
232         This renderer is never anonymous and always has a corresponding
233         HTMLInputElement. Tighten this up by having the constructor take
234         the element by reference, and override element() with a stronger
235         return type.
236
237 2013-10-13  Andreas Kling  <akling@apple.com>
238
239         Remove two unused AX functions for getting a FrameView*.
240         <https://webkit.org/b/122724>
241
242         Reviewed by Anders Carlsson.
243
244 2013-10-13  Antti Koivisto  <antti@apple.com>
245
246         Add traverseNextSkippingChildren to ElementIterators
247         https://bugs.webkit.org/show_bug.cgi?id=122727
248
249         Reviewed by Andreas Kling.
250
251         Also switch some code using ElementTraversal over to iterators.
252
253 2013-10-13  Antti Koivisto  <antti@apple.com>
254
255         Rename InlineBox::remove() to removeFromParent
256         https://bugs.webkit.org/show_bug.cgi?id=122725
257
258         Reviewed by Andreas Kling.
259
260         Also make it clear from the code that all InlineTextBoxes have behavesLikeText set.
261
262 2013-10-13  Antti Koivisto  <antti@apple.com>
263
264         Make absoluteQuads/Rects functions return Vectors
265         https://bugs.webkit.org/show_bug.cgi?id=122722
266
267         Reviewed by Andreas Kling.
268
269         * dom/Document.cpp:
270         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
271         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
272             
273             Take RenderStyle instead of RenderObject
274
275         * dom/Document.h:
276         * dom/Element.cpp:
277         (WebCore::Element::getClientRects):
278         (WebCore::Element::getBoundingClientRect):
279         * dom/Range.cpp:
280         (WebCore::Range::textRects):
281         (WebCore::Range::textQuads):
282         (WebCore::Range::getBorderAndTextQuads):
283             
284             Adapt to the changes.
285
286         * rendering/RenderObject.h:
287         
288             Removed unnecessary adjustFloatQuad/RectForAbsoluteZoom functions, inline code to
289             adjustFloatQuads/RectForScrollAndAbsoluteZoomAndFrameScale.
290
291         * rendering/RenderText.cpp:
292         (WebCore::RenderText::absoluteRects):
293         (WebCore::RenderText::absoluteRectsForRange):
294         (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
295         (WebCore::RenderText::absoluteQuads):
296         (WebCore::RenderText::absoluteQuadsForRange):
297         * rendering/RenderText.h:
298         * rendering/RenderTextLineBoxes.cpp:
299         (WebCore::RenderTextLineBoxes::absoluteRects):
300         (WebCore::RenderTextLineBoxes::absoluteRectsForRange):
301         (WebCore::RenderTextLineBoxes::absoluteQuads):
302         (WebCore::RenderTextLineBoxes::absoluteQuadsForRange):
303         * rendering/RenderTextLineBoxes.h:
304         
305             Use return value instead of an out-arg, except for the virtual versions.
306
307 2013-10-13  Andreas Kling  <akling@apple.com>
308
309         LiveNodeList: rootNode() and document() should return references.
310         <https://webkit.org/b/122720>
311
312         Reviewed by Antti Koivisto.
313
314         Tighten up this code a bit by having rootNode() and document()
315         return references. Also replaced some handwritten traversal
316         with a call to Node::lastDescendant().
317
318 2013-10-13  Andreas Kling  <akling@apple.com>
319
320         Document::createRenderTree() should assert that there is no arena.
321         <https://webkit.org/b/122723>
322
323         Reviewed by Antti Koivisto.
324
325         Calling createRenderTree() with a RenderArena already in place would
326         be a programming error.
327
328 2013-10-13  Andreas Kling  <akling@apple.com>
329
330         Remove dead ENABLE(CUSTOM_ELEMENTS) code.
331         <https://webkit.org/b/122721>
332
333         Reviewed by Antti Koivisto.
334
335         There are no ports building with this flag since April and the code
336         has bitrotted since. Remove it for now. If someone wants to resurrect
337         the feature someday, getting back to this point is trivial.
338
339 2013-10-12  Antti Koivisto  <antti@apple.com>
340
341         Move absoluteRects/Quads to RenderTextLineBoxes
342         https://bugs.webkit.org/show_bug.cgi?id=122706
343
344         Reviewed by Andreas Kling.
345
346         * rendering/RenderTextLineBoxes.cpp:
347         (WebCore::RenderTextLineBoxes::absoluteRects):
348         (WebCore::RenderTextLineBoxes::absoluteRectsForRange):
349         (WebCore::RenderTextLineBoxes::absoluteQuads):
350         (WebCore::RenderTextLineBoxes::absoluteQuadsForRange):
351         
352             These move.
353
354         (WebCore::RenderTextLineBoxes::selectionRectForRange):
355         (WebCore::RenderTextLineBoxes::setSelectionState):
356         
357             Also moved a few smaller functions.
358
359 2013-10-13  Andreas Kling  <akling@apple.com>
360
361         Remove dead code hiding behind ENABLE(TOUCH_EVENT_TRACKING).
362         <https://webkit.org/b/122719>
363
364         Reviewed by Antti Koivisto.
365
366         Nobody is building with this flag, and it has broken-looking code
367         behind it anyway. Nuke from orbit.
368
369 2013-10-13  Andreas Kling  <akling@apple.com>
370
371         RenderLayer: Check SVG bit instead of element namespace in isTransparent().
372         <https://webkit.org/b/118171>
373
374         Reviewed by Darin Adler.
375
376         Replace the (virtual) namespaceURI() check with an isSVGElement() bit check.
377
378         * rendering/RenderLayer.cpp:
379         (WebCore::RenderLayer::isTransparent):
380
381 2013-10-12  Darin Adler  <darin@apple.com>
382
383         Use nullptr in Document.cpp
384         https://bugs.webkit.org/show_bug.cgi?id=122715
385
386         Reviewed by Sam Weinig.
387
388         * dom/Document.cpp:
389         (WebCore::widgetForElement):
390         (WebCore::Document::Document):
391         (WebCore::Document::~Document):
392         (WebCore::Document::dropChildren):
393         (WebCore::Document::getElementByAccessKey):
394         (WebCore::Document::doctype):
395         (WebCore::Document::createElement):
396         (WebCore::Document::createElementNS):
397         (WebCore::Document::registerElement):
398         (WebCore::Document::createCDATASection):
399         (WebCore::Document::createProcessingInstruction):
400         (WebCore::Document::createEntityReference):
401         (WebCore::Document::importNode):
402         (WebCore::Document::adoptNode):
403         (WebCore::Document::webkitGetNamedFlows):
404         (WebCore::Document::elementFromPoint):
405         (WebCore::Document::caretRangeFromPoint):
406         (WebCore::Document::setTitle):
407         (WebCore::Document::removeTitle):
408         (WebCore::Document::view):
409         (WebCore::Document::page):
410         (WebCore::Document::settings):
411         (WebCore::Document::createNodeIterator):
412         (WebCore::Document::createTreeWalker):
413         (WebCore::Document::updateStyleIfNeeded):
414         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
415         (WebCore::Document::disconnectFromFrame):
416         (WebCore::Document::destroyRenderTree):
417         (WebCore::Document::existingAXObjectCache):
418         (WebCore::Document::axObjectCache):
419         (WebCore::Document::scriptableDocumentParser):
420         (WebCore::Document::body):
421         (WebCore::Document::head):
422         (WebCore::Document::processBaseElement):
423         (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
424         (WebCore::Document::cloneNode):
425         (WebCore::Document::styleResolverChanged):
426         (WebCore::Document::removeFocusedNodeOfSubtree):
427         (WebCore::Document::setFocusedElement):
428         (WebCore::Document::getWindowAttributeEventListener):
429         (WebCore::Document::createEvent):
430         (WebCore::Document::getOverrideStyle):
431         (WebCore::Document::ownerElement):
432         (WebCore::Document::setInPageCache):
433         (WebCore::Document::parentDocument):
434         (WebCore::Document::createAttributeNS):
435         (WebCore::Document::initSecurityContext):
436         (WebCore::Document::resetHiddenFocusElementTimer):
437         (WebCore::Document::getCSSCanvasContext):
438         (WebCore::Document::enqueuePopstateEvent):
439         (WebCore::Document::takeAnyMediaCanStartListener):
440         (WebCore::Document::requestFullScreenForElement):
441         (WebCore::Document::webkitExitFullscreen):
442         (WebCore::Document::webkitWillEnterFullScreenForElement):
443         (WebCore::Document::webkitDidExitFullScreenForElement):
444         (WebCore::Document::fullScreenRendererDestroyed):
445         (WebCore::Document::webkitPointerLockElement):
446         (WebCore::Document::seamlessParentIFrame):
447         (WebCore::Document::loader):
448         (WebCore::eventTargetElementForDocument):
449         (WebCore::nearestCommonHoverAncestor):
450         (WebCore::Document::ensureTemplateDocument):
451         Use nullptr in many places we were using 0.
452
453 2013-10-12  Darin Adler  <darin@apple.com>
454
455         Get rid of the toHTMLElement helper for casting FormAssociatedElement to HTMLElement
456         https://bugs.webkit.org/show_bug.cgi?id=122713
457
458         Reviewed by Sam Weinig.
459
460         Since we are using the function name toHTMLElement for casting to an HTMLElement
461         from a Node or Element, it's awkward to also use it for a quite different type of
462         type conversion on a FormAssociatedElement. We already have an asHTMLElement member
463         function, so lets use that.
464
465         * html/DOMFormData.cpp:
466         (WebCore::DOMFormData::DOMFormData): Use references instead of pointers, and
467         asHTMLElement instead of toHTMLElement.
468
469         * html/FormAssociatedElement.cpp: Made FormAttributeTargetObserver FINAL, made
470         its private inheritance explicit, made its constructor public so we can use it
471         with make_unique and got rid of its creation function. Also use reference instead
472         of a pointer.
473         (WebCore::FormAssociatedElement::FormAssociatedElement): Use nullptr.
474         (WebCore::FormAssociatedElement::~FormAssociatedElement): Ditto.
475         (WebCore::FormAssociatedElement::didMoveToNewDocument): Use asHTMLElement instead
476         of toHTMLElement and use a reference instead of a pointer.
477         (WebCore::FormAssociatedElement::insertedInto): Ditto.
478         (WebCore::FormAssociatedElement::removedFrom): Ditto.
479         (WebCore::FormAssociatedElement::formRemovedFromTree): Ditto.
480         (WebCore::FormAssociatedElement::resetFormOwner): Ditto.
481         (WebCore::FormAssociatedElement::formAttributeChanged): Ditto.
482         (WebCore::FormAssociatedElement::customError): Ditto.
483         (WebCore::FormAssociatedElement::resetFormAttributeTargetObserver): Use make_unique
484         instead of create here.
485         (WebCore::FormAssociatedElement::name): Use asHTMLElement.
486         (WebCore::FormAttributeTargetObserver::FormAttributeTargetObserver): Ditto.
487         (WebCore::FormAttributeTargetObserver::idTargetChanged): Updated since m_element is
488         now a reference.
489
490         * html/FormAssociatedElement.h: Removed some unneeded class declarations.
491         Made isFormAssociatedElement const. Use std::unique_ptr instead of OwnPtr.
492
493         * html/FormNamedItem.h: Made asHTMLElement return a reference, and overloaded it
494         for both const and non-const. Made isFormAssociatedElement const.
495
496         * html/HTMLFormControlElement.h: Updated for FormNamedItem changes. Removed an
497         unneeded class declaration.
498
499         * html/HTMLFormControlsCollection.cpp:
500         (WebCore::HTMLFormControlsCollection::virtualItemAfter): Use references, asHTMLElement,
501         and nullptr.
502         (WebCore::firstNamedItem): Ditto.
503         (WebCore::HTMLFormControlsCollection::namedItem): Ditto.
504         (WebCore::HTMLFormControlsCollection::updateNameCache): Ditto.
505
506         * html/HTMLFormElement.cpp:
507         (WebCore::HTMLFormElement::validateInteractively): Use asHTMLElement and references.
508         (WebCore::HTMLFormElement::getTextFieldValues): Ditto.
509         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Ditto.
510         (WebCore::HTMLFormElement::formElementIndex): Ditto.
511         (WebCore::HTMLFormElement::assertItemCanBeInPastNamesMap): Ditto.
512         (WebCore::HTMLFormElement::elementFromPastNamesMap): Ditto, and nullptr.
513
514         * html/HTMLImageElement.h: Updated for FormNamedItem changes.
515         * html/HTMLObjectElement.h: Ditto.
516
517         * loader/FormSubmission.cpp:
518         (WebCore::FormSubmission::create): Use asHTMLElement and references.
519
520 2013-10-12  Darin Adler  <darin@apple.com>
521
522         Use nullptr instead of 0 in TreeScope.cpp
523         https://bugs.webkit.org/show_bug.cgi?id=122711
524
525         Reviewed by Andreas Kling.
526
527         * dom/TreeScope.cpp:
528         (WebCore::TreeScope::TreeScope):
529         (WebCore::TreeScope::~TreeScope):
530         (WebCore::TreeScope::clearDocumentScope):
531         (WebCore::TreeScope::getElementById):
532         (WebCore::TreeScope::getAllElementsById):
533         (WebCore::TreeScope::getElementByName):
534         (WebCore::TreeScope::ancestorInThisScope):
535         (WebCore::TreeScope::getImageMap):
536         (WebCore::nodeFromPoint):
537         (WebCore::TreeScope::labelElementForId):
538         (WebCore::TreeScope::getSelection):
539         (WebCore::TreeScope::findAnchor):
540         (WebCore::focusedFrameOwnerElement):
541         (WebCore::TreeScope::focusedElement):
542         (WebCore::commonTreeScope):
543         Use a lot more nullptr, and also rewrite one while loop as a for loop.
544
545 2013-10-12  Darin Adler  <darin@apple.com>
546
547         Remove the not-much-used isShadowHost function from Element.h
548         https://bugs.webkit.org/show_bug.cgi?id=122710
549
550         Reviewed by Andreas Kling.
551
552         * dom/Element.h: Removed isShadowHost, which just checks if shadowRoot is null.
553
554         * page/FocusController.cpp:
555         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost): Added
556         individual assertions instead of just asserting isShadowHost.
557         (WebCore::FocusNavigationScope::focusNavigationScopeOwnedByIFrame): Broke an
558         assertion with && in it into two assertions.
559         (WebCore::hasCustomFocusLogic): Changed argument type to be Element& and take
560         a reference instead of a pointer.
561         (WebCore::isNonFocusableShadowHost): Made arguments references instead of pointers.
562         Replaced isShadowHost check with a direct check of whether shadowRoot returns null
563         or not, which seems nearly as clear.
564         (WebCore::isFocusableShadowHost): Ditto.
565         (WebCore::adjustedTabIndex): Ditto.
566         (WebCore::shouldVisit): Ditto.
567         (WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
568         Updated for changes above.
569         (WebCore::FocusController::advanceFocusInDocumentOrder): Ditto. Also some nullptr.
570         (WebCore::FocusController::findFocusableElementAcrossFocusScope): Ditto.
571         (WebCore::FocusController::findFocusableElementRecursively): Ditto.
572         (WebCore::FocusController::findElementWithExactTabIndex): Ditto.
573         (WebCore::nextElementWithGreaterTabIndex): Ditto.
574         (WebCore::previousElementWithLowerTabIndex): Ditto.
575         (WebCore::FocusController::nextFocusableElement): Ditto.
576         (WebCore::FocusController::previousFocusableElement): Ditto.
577
578 2013-10-12  Darin Adler  <darin@apple.com>
579
580         Move querySelector from Node to ContainerNode and use references instead of pointers
581         https://bugs.webkit.org/show_bug.cgi?id=122709
582
583         Reviewed by Anders Carlsson.
584
585         * dom/ContainerNode.cpp:
586         (WebCore::ContainerNode::querySelector): Moved here from Node. Pass a reference instead
587         of a pointer to SelectorQuery. Changed return types to RefPtr and raw pointer instead of
588         PassRefPtr.
589         (WebCore::ContainerNode::querySelectorAll): Ditto.
590         * dom/ContainerNode.h: Added the new functions.
591
592         * dom/Element.cpp:
593         (WebCore::Element::webkitMatchesSelector): Use && instead of an if statement and a reference rather than
594         a pointer.
595
596         * dom/Node.cpp: Sorted includes, removed SelectorQuery.h, removed the querySelector functions.
597         (WebCore::Node::ownerDocument): Use document instead of doc and nullptr instead of 0.
598         * dom/Node.h: Removed the querySelector functions.
599
600         * dom/SelectorQuery.cpp:
601         (WebCore::SelectorDataList::selectorMatches): Take references instead of pointers.
602         (WebCore::SelectorDataList::matches): Ditto.
603         (WebCore::SelectorDataList::queryAll): Return a RefPtr instead of PassRefPtr.
604         (WebCore::SelectorDataList::queryFirst): Ditto. Also use nullptr.
605         (WebCore::selectorForIdLookup): Take references instead of pointers.
606         (WebCore::isTreeScopeRoot): Ditto.
607         (WebCore::SelectorDataList::executeFastPathForIdSelector): Ditto.
608         (WebCore::isSingleTagNameSelector): Ditto.
609         (WebCore::elementsForLocalName): Ditto. Also use iterators instead of traversal.
610         (WebCore::anyElement): Ditto.
611         (WebCore::SelectorDataList::executeSingleTagNameSelectorData): Ditto.
612         (WebCore::isSingleClassNameSelector): Ditto.
613         (WebCore::SelectorDataList::executeSingleClassNameSelectorData): Ditto.
614         (WebCore::SelectorDataList::executeSingleSelectorData): Ditto.
615         (WebCore::SelectorDataList::executeSingleMultiSelectorData): Ditto.
616         (WebCore::SelectorDataList::execute): Ditto.
617         (WebCore::SelectorQueryCache::add): Ditto.
618
619         * dom/SelectorQuery.h: Update to use ContainerNode, references, and RefPtr and raw pointers
620         rather than PassRefPtr.
621
622         * dom/TreeScope.cpp:
623         (WebCore::TreeScope::getElementById): Use nullptr instead of 0.
624         (WebCore::TreeScope::getAllElementsById): Ditto.
625         (WebCore::TreeScope::getElementByName): Ditto.
626         (WebCore::TreeScope::ancestorInThisScope): Ditto.
627
628         * inspector/InspectorDOMAgent.cpp:
629         (WebCore::InspectorDOMAgent::assertNode): Use nullptr instead of 0.
630         (WebCore::InspectorDOMAgent::assertDocument): Ditto.
631         (WebCore::InspectorDOMAgent::assertElement): Ditto. Also use isElementNode instead of nodeType.
632         (WebCore::InspectorDOMAgent::assertEditableNode): Use nullptr instead of 0.
633         (WebCore::InspectorDOMAgent::assertEditableElement): Ditto.
634         (WebCore::InspectorDOMAgent::getDocument): Use document instead of doc.
635         (WebCore::InspectorDOMAgent::querySelector): Changed to pass a ContainerNode.
636         (WebCore::InspectorDOMAgent::querySelectorAll): Ditto.
637
638 2013-10-12  Darin Adler  <darin@apple.com>
639
640         Move code to find elements in slider shadow tree into RangeInputType class, since it creates that tree
641         https://bugs.webkit.org/show_bug.cgi?id=122708
642
643         Reviewed by Anders Carlsson.
644
645         * accessibility/AccessibilitySlider.cpp:
646         (WebCore::AccessibilitySliderThumb::elementRect): Use HTMLInputElement::sliderThumbElement
647         to find the thumb, rather than using the sliderThumbElementOf function.
648
649         * html/InputType.h: Use nullptr instead of 0. Tweak formatting a bit.
650
651         * html/RangeInputType.cpp:
652         (WebCore::RangeInputType::handleMouseDownEvent): Use typedSliderThumbElement function.
653         (WebCore::RangeInputType::handleTouchEvent): Ditto.
654         (WebCore::RangeInputType::createShadowSubtree): Fixed assertion to match the code below.
655         (WebCore::RangeInputType::sliderTrackElement): Moved next to the createShadowSubtree function
656         since it is finding an element in that subtree. Changed to do the work here instead of calling
657         a function in another file.
658         (WebCore::RangeInputType::typedSliderThumbElement): Added. Finds the slider thumb element,
659         and returns it as a reference with a specific type.
660         (WebCore::RangeInputType::sliderThumbElement): Changed to call typedSliderThumbElement, loosening
661         the type, and returning a pointer Changed to call typedSliderThumbElement, loosening
662         the type, and returning a pointer.
663         (WebCore::RangeInputType::minOrMaxAttributeChanged): Use typedSliderThumbElement.
664         (WebCore::RangeInputType::setValue): Ditto.
665         (WebCore::RangeInputType::listAttributeTargetChanged): Ditto.
666
667         * html/RangeInputType.h: Marked the class FINAL. Tweaked formatting a bit.
668         Added the typedSliderThumbElement function.
669
670         * html/shadow/SliderThumbElement.cpp:
671         (WebCore::SliderThumbElement::setPositionFromPoint): Call the HTMLInputElement::sliderTrackElement
672         function instead of having the input element's shadow subtree hierarchy hard-coded here.
673         (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Moved here from the header,
674         since it's a virtual function that won't be inlined.
675
676         * html/shadow/SliderThumbElement.h: Removed unneeded forward declarations. Made more virtual
677         functions private and added more OVERRIDE. Removed the toSliderThumbElement, sliderThumbElementOf,
678         and sliderTrackElementOf functions.
679
680         * rendering/RenderSlider.cpp:
681         (WebCore::RenderSlider::layout): Use HTMLInputElement::sliderThumbElement.
682         (WebCore::RenderSlider::inDragMode): Ditto.
683
684 2013-10-12  Darin Adler  <darin@apple.com>
685
686         Remove unneeded extra memory allocation and indirection for ValidityState
687         https://bugs.webkit.org/show_bug.cgi?id=122705
688
689         Reviewed by Anders Carlsson.
690
691         * CMakeLists.txt: Removed ValidityState.cpp.
692         * GNUmakefile.list.am: Ditto.
693         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
694         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
695         * WebCore.xcodeproj/project.pbxproj: Ditto.
696
697         * html/FormAssociatedElement.cpp: Removed ValidityState.h include and the
698         FormAssociatedElement::validity function. That function is now an inline
699         in the ValidityState.h header.
700
701         * html/FormAssociatedElement.h: Added badInput function, the only function
702         from the ValidityState interface that was not already present here. Removed
703         m_validityState.
704
705         * html/HTMLFormControlElement.cpp: Removed include of ValidityState.h.
706         (WebCore::HTMLFormControlElement::isValidFormControlElement): Use the valid
707         function directly instead of indirectly through the validity state.
708         (WebCore::HTMLFormControlElement::setNeedsValidityCheck): Ditto.
709
710         * html/ValidityState.cpp: Removed.
711
712         * html/ValidityState.h: Removed the body of the ValidityState class and
713         made it effectively a "typedef" for FormAssociatedElement. It's actually
714         a derived class that adds no members, which is not quite right but will
715         work just fine for this.
716         (WebCore::FormAssociatedElement::validity): Implemented; just returns the
717         FormAssociatedElement, which the bindings expose as a ValidityState.
718
719         * html/ValidityState.idl: Use SkipVTableValidation instead of
720         ImplementationLacksVTable because FormAssociatedElement does have a vtable.
721
722 2013-10-12  Darin Adler  <darin@apple.com>
723
724         Rename toParentMediaElement to parentMediaElement, since it's not a type cast
725         https://bugs.webkit.org/show_bug.cgi?id=122707
726
727         Reviewed by Eric Carlson.
728
729         * accessibility/AccessibilityMediaControls.cpp:
730         (WebCore::AccessibilityMediaControlsContainer::controllingVideoElement): Call the
731         function by its new name, and also remove unnecessary type casting.
732
733         * html/shadow/MediaControlElementTypes.cpp:
734         (WebCore::parentMediaElement): Renamed from toParentMediaElement. Changed to use
735         nullptr. Removed an unnecessary null check.
736
737         * html/shadow/MediaControlElementTypes.h: Renamed from toParentMediaElement.
738         Changed the argument to the RenderObject overload to be a reference rather than
739         a pointer since it doesn't handle null.
740
741         * html/shadow/MediaControlElements.cpp:
742         (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
743         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
744         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
745         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
746         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
747         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
748         (WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation):
749         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
750         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
751         Updated to use the new name. Also use nullptr.
752
753         * html/shadow/MediaControlsBlackBerry.cpp:
754         (WebCore::MediaControlFullscreenFullscreenButtonElement::defaultEventHandler):
755         Updated to use the new name.
756
757         * platform/blackberry/RenderThemeBlackBerry.cpp:
758         (WebCore::determineFullScreenMultiplier):
759         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
760         (WebCore::RenderThemeBlackBerry::paintMediaPlayButton):
761         (WebCore::RenderThemeBlackBerry::paintMediaRewindButton):
762         (WebCore::RenderThemeBlackBerry::paintMediaMuteButton):
763         (WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton):
764         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
765         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
766         Updated to use the new name.
767
768         * platform/efl/RenderThemeEfl.cpp:
769         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
770         Updated to use the new name.
771
772         * platform/gtk/RenderThemeGtk.cpp:
773         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
774         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
775         Updated to use the new name.
776
777         * rendering/RenderMediaControls.cpp:
778         (WebCore::RenderMediaControls::paintMediaControlsPart):
779         Call the function by its new name and with a reference instead of a pointer.
780
781 2013-10-12  Antti Koivisto  <antti@apple.com>
782
783         Move positionForPoint to RenderTextLineBoxes
784         https://bugs.webkit.org/show_bug.cgi?id=122703
785
786         Reviewed by Andreas Kling.
787
788 2013-10-12  Andreas Kling  <akling@apple.com>
789
790         Remove unused ScrollingCoordinator hooks.
791         <https://webkit.org/b/122701>
792
793         Reviewed by Anders Carlsson.
794
795         Remove leftover ScrollingCoordinator hooks that were only used
796         by the Chromium port.
797
798 2013-10-12  Zan Dobersek  <zdobersek@igalia.com>
799
800         [Soup] The NeverDestroyed<std::unique_ptr<NetworkStorageSession>> variable in defaultSession() should be static
801         https://bugs.webkit.org/show_bug.cgi?id=122700
802
803         Reviewed by Anders Carlsson.
804
805         * platform/network/soup/NetworkStorageSessionSoup.cpp:
806         (WebCore::defaultSession): The NeverDestroyed variable should be static to avoid its reinitialization every time
807         the function is called. This was exposed by r157337 and should fix the subsequent crashes.
808
809 2013-10-12  Antti Koivisto  <antti@apple.com>
810
811         Move line dirtying code to RenderTextLineBoxes
812         https://bugs.webkit.org/show_bug.cgi?id=122699
813
814         Reviewed by Andreas Kling.
815
816         * rendering/RenderTextLineBoxes.cpp:
817         (WebCore::RenderTextLineBoxes::removeAllFromParent):
818         
819             Also moved the removal loop.
820
821         (WebCore::RenderTextLineBoxes::dirtyAll):
822         (WebCore::RenderTextLineBoxes::dirtyRange):
823
824 2013-10-12  Antti Koivisto  <antti@apple.com>
825
826         Move more code to RenderTextLineBoxes
827         https://bugs.webkit.org/show_bug.cgi?id=122697
828
829         Reviewed by Andreas Kling.
830
831         * rendering/RenderTextLineBoxes.cpp:
832         (WebCore::RenderTextLineBoxes::boundingBox):
833         (WebCore::RenderTextLineBoxes::visualOverflowBoundingBox):
834         (WebCore::RenderTextLineBoxes::hasRenderedText):
835         (WebCore::RenderTextLineBoxes::caretMinOffset):
836         (WebCore::RenderTextLineBoxes::caretMaxOffset):
837         
838             Moved these.
839
840 2013-10-12  Alexey Proskuryakov  <ap@apple.com>
841
842         Add a feature define for SubtleCrypto
843         https://bugs.webkit.org/show_bug.cgi?id=122683
844
845         Reviewed by Anders Carlsson.
846
847         * Configurations/FeatureDefines.xcconfig:
848
849 2013-10-12  Andreas Kling  <akling@apple.com>
850
851         Generate tighter isFooElement() functions for HTML elements.
852         <https://webkit.org/b/122696>
853
854         Reviewed by Antti Koivisto.
855
856         Specialize HTML element type checking helpers to only compare the
857         localName and not the fully qualified tag name.
858
859 2013-09-27  Jessica Pease  <jessica_n_pease@apple.com>
860
861         Replace static cast ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION
862         https://bugs.webkit.org/show_bug.cgi?id=120803
863
864         Reviewed by Andreas Kling.
865
866         No new tests because we're just changing assertions.
867
868         * accessibility/AccessibilityMockObject.h:
869         (WebCore::toAccessibilityMockObject):
870         * bindings/js/JSCanvasRenderingContextCustom.cpp:
871         (WebCore::toJS):
872         * bindings/js/ScheduledAction.cpp:
873         (WebCore::ScheduledAction::execute):
874         * css/CSSGradientValue.cpp:
875         (WebCore::CSSGradientValue::image):
876         * css/DeprecatedStyleBuilder.cpp:
877         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
878         * dom/Element.cpp:
879         (WebCore::Element::elementRareData):
880         (WebCore::Element::synchronizeAttribute):
881         * dom/FocusEvent.h:
882         (WebCore::toFocusEvent):
883         * dom/MouseEvent.h:
884         (WebCore::toMouseEvent):
885         * dom/Node.cpp:
886         (WebCore::Node::rareData):
887         * dom/StyledElement.cpp:
888         (WebCore::StyledElement::ensureMutableInlineStyle):
889         * dom/TouchEvent.h:
890         (WebCore::toTouchEvent):
891         * editing/CompositeEditCommand.h:
892         (WebCore::toCompositeEditCommand):
893         * html/HTMLObjectElement.cpp:
894         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
895         * html/track/AudioTrack.h:
896         (WebCore::toAudioTrack):
897         * html/track/TextTrack.h:
898         (WebCore::toTextTrack):
899         * html/track/VideoTrack.h:
900         (WebCore::toVideoTrack):
901         * inspector/InspectorCSSAgent.cpp:
902         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
903         * loader/cache/CachedResourceClientWalker.h:
904         (WebCore::CachedResourceClientWalker::next):
905         * page/FrameView.h:
906         (WebCore::toFrameView):
907         * rendering/InlineBox.cpp:
908         (WebCore::InlineBox::root):
909         * rendering/RenderBlockLineLayout.cpp:
910         (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
911         * rendering/svg/SVGPathData.cpp:
912         (WebCore::updatePathFromEllipseElement):
913         (WebCore::updatePathFromLineElement):
914         (WebCore::updatePathFromPolygonElement):
915         (WebCore::updatePathFromPolylineElement):
916         * workers/WorkerMessagingProxy.cpp:
917         (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
918         * xml/XMLHttpRequest.cpp:
919         (WebCore::XMLHttpRequest::document):
920
921 2013-09-06  Jessica Pease  <jessica_n_pease@apple.com>
922
923         Replace bounds checking ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION
924         https://bugs.webkit.org/show_bug.cgi?id=120893
925
926         Reviewed by Darin Adler.
927
928         * Modules/indexeddb/IDBKeyPath.cpp:
929         (WebCore::IDBKeyPathLexer::lex):
930         * Modules/indexeddb/IDBLevelDBCoding.cpp:
931         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
932         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
933         (WebCore::cssPropertyIDForJSCSSPropertyName):
934         * css/CSSFontSelector.cpp:
935         (WebCore::compareFontFaces):
936         * css/CSSParser.cpp:
937         (WebCore::CSSParser::rewriteSpecifiers):
938         * html/HTMLCollection.cpp:
939         (WebCore::traverseMatchingElementsForwardToOffset):
940         (WebCore::LiveNodeListBase::traverseChildNodeListForwardToOffset):
941         (WebCore::HTMLCollection::traverseForwardToOffset):
942         * html/HTMLFontElement.cpp:
943         (WebCore::parseFontSize):
944         * html/parser/HTMLParserIdioms.cpp:
945         (WebCore::parseHTMLIntegerInternal):
946         (WebCore::parseHTMLNonNegativeIntegerInternal):
947         * inspector/InspectorStyleSheet.h:
948         (WebCore::InspectorStyleProperty::setRawTextFromStyleDeclaration):
949         * platform/graphics/StringTruncator.cpp:
950         (WebCore::centerTruncateToBuffer):
951         (WebCore::rightTruncateToBuffer):
952         (WebCore::truncateString):
953         * platform/graphics/TextRun.h:
954         (WebCore::TextRun::subRun):
955         * platform/text/BidiRunList.h:
956         (WebCore::::reverseRuns):
957         * rendering/svg/SVGInlineTextBox.cpp:
958         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
959         (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
960         * rendering/svg/SVGTextChunkBuilder.cpp:
961         (WebCore::SVGTextChunkBuilder::buildTextChunks):
962         * rendering/svg/SVGTextLayoutEngine.cpp:
963         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
964         * rendering/svg/SVGTextQuery.cpp:
965         (WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
966         * svg/SVGAnimationElement.cpp:
967         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
968         * svg/SVGPathByteStreamSource.h:
969         (WebCore::SVGPathByteStreamSource::readType):
970
971 2013-10-12  Antti Koivisto  <antti@apple.com>
972
973         Factor line box code from RenderText to a class
974         https://bugs.webkit.org/show_bug.cgi?id=122694
975
976         Reviewed by Andreas Kling.
977
978         Create RenderTextLineBoxes and move some line box specific code there.
979
980 2013-10-12  Antti Koivisto  <antti@apple.com>
981
982         Replace RenderText::renderedTextLength with hasRenderedText
983         https://bugs.webkit.org/show_bug.cgi?id=122693
984
985         Reviewed by Andreas Kling.
986
987 2013-10-12  Darin Adler  <darin@apple.com>
988
989         Use unique_ptr instead of delete in a few places
990         https://bugs.webkit.org/show_bug.cgi?id=122639
991
992         Reviewed by Anders Carlsson.
993
994         * Modules/webdatabase/DatabaseBackendBase.cpp:
995         (WebCore::guidToDatabaseMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
996         (WebCore::guidForOriginAndName): Ditto.
997         (WebCore::DatabaseBackendBase::DatabaseBackendBase): Removed unneeded initialization
998         of m_guid, which is set in the body of the constructor explicitly anyway. Use emptyString.
999         Use unique_ptr for the values in the map. Use the add idiom instead of the get/set idiom.
1000         (WebCore::DatabaseBackendBase::closeDatabase): Use the find/remove idiom instead of the
1001         get/remove idiom.
1002         (WebCore::DatabaseBackendBase::performOpenAndVerify): Use auto here to avoid having to
1003         use the map type by name.
1004
1005         * loader/cache/CachedFont.cpp:
1006         (WebCore::CachedFont::CachedFont): Don't initialize m_fontData to 0; unique_ptr will do that.
1007         (WebCore::CachedFont::~CachedFont): Don't delete m_fontData. unique_ptr will do that.
1008         (WebCore::CachedFont::ensureCustomFontData): Add a get.
1009         (WebCore::CachedFont::allClientsRemoved): Don't delete m_fontData. Use nullptr instead of 0.
1010         * loader/cache/CachedFont.h: Changed m_fontData to a unique_ptr.
1011
1012         * platform/graphics/BitmapImage.cpp:
1013         (WebCore::BitmapImage::BitmapImage): Don't initialize m_frameTimer to 0; unique_ptr will do that.
1014         (WebCore::BitmapImage::startAnimation): Use make_unique to create the timer.
1015         (WebCore::BitmapImage::stopAnimation): Don't delete m_frameTimer. Use nullptr instead of 0.
1016         * platform/graphics/BitmapImage.h: Changed m_FrameTimer to a unique_ptr.
1017         * platform/graphics/cg/BitmapImageCG.cpp:
1018         (WebCore::BitmapImage::BitmapImage): Don't initialize m_frameTimer to 0; unique_ptr will do that.
1019
1020         * platform/graphics/mac/FontCustomPlatformData.cpp:
1021         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Don't call CGFontRelease on m_cgFont.
1022         (WebCore::FontCustomPlatformData::fontPlatformData): Use get on m_cgFont.
1023         (WebCore::createFontCustomPlatformData): Use nullptr instead of 0, and make_unique instead of new.
1024         * platform/graphics/mac/FontCustomPlatformData.h: Chnaged m_cgFont to be a RetainPtr, and the
1025         return value from createFontCustomPlatformData to be a unique_ptr.
1026
1027         * platform/graphics/blackberry/FontCustomPlatformData.h:
1028         * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp:
1029         (WebCore::createFontCustomPlatformData):
1030         * platform/graphics/cairo/BitmapImageCairo.cpp:
1031         (WebCore::BitmapImage::BitmapImage):
1032         * platform/graphics/cairo/FontCustomPlatformData.h:
1033         * platform/graphics/cg/BitmapImageCG.cpp:
1034         (WebCore::BitmapImage::BitmapImage):
1035         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
1036         (WebCore::createFontCustomPlatformData):
1037         * platform/graphics/win/FontCustomPlatformData.cpp:
1038         (WebCore::createFontCustomPlatformData):
1039         * platform/graphics/win/FontCustomPlatformData.h:
1040         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1041         (WebCore::createFontCustomPlatformData):
1042         * platform/graphics/wince/FontCustomPlatformData.cpp:
1043         (WebCore::createFontCustomPlatformData):
1044         * platform/graphics/wince/FontCustomPlatformData.h:
1045         Same thing on all the other platforms.
1046
1047         * platform/network/NetworkStorageSession.h: Changed return value of createPrivateBrowsingSession
1048         to a unique_ptr, and made constructors public.
1049
1050         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
1051         (WebCore::NetworkStorageSession::createPrivateBrowsingSession): Use make_unique.
1052
1053         * platform/network/soup/NetworkStorageSessionSoup.cpp:
1054         (WebCore::defaultSession):
1055         (WebCore::NetworkStorageSession::defaultStorageSession):
1056         (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
1057         (WebCore::NetworkStorageSession::switchToNewTestingSession):
1058         Same thing on all the other platforms.
1059
1060 2013-10-11  Andreas Kling  <akling@apple.com>
1061
1062         Make LayoutState not arena-allocated.
1063         <https://webkit.org/b/122649>
1064
1065         Reviewed by Antti Koivisto.
1066
1067         Let RenderView own a singly-linked chain of LayoutState objects
1068         managed by unique_ptr.
1069
1070 2013-10-10  Andreas Kling  <akling@apple.com>
1071
1072         Make RenderLayer not arena-allocated.
1073         <https://webkit.org/b/87523>
1074
1075         Reviewed by Antti Koivisto.
1076
1077         Let RenderLayerModelObject store its RenderLayer in a unique_ptr.
1078         Layers are relatively low-volume objects and this looks neutral
1079         on our performance tests.
1080
1081         Re-landing this since the original commit exposed a problem with
1082         the destruction order. This pattern:
1083
1084             m_someRenderer->destroy();
1085             m_someRenderer = nullptr;
1086
1087         ..is different from what we get with unique_ptr, which clears
1088         the pointer storage before calling the destructor.
1089         I believe that the new order is strictly better as it removes
1090         one path to accessing an object that is undergoing destruction.
1091
1092         The exposed bug was in RLC::fixedRootBackgroundLayerChanged()
1093         where we were dereferencing the RenderView's layer() without
1094         checking, despite it being called below ~RenderLayer.
1095
1096 2013-10-11  Zoltan Horvath  <zoltan@webkit.org>
1097
1098         Move firstPositiveWidth/adjustLogicalLineTop functions where they're actually used
1099         https://bugs.webkit.org/show_bug.cgi?id=122685
1100
1101         Reviewed by Darin Adler.
1102
1103         I'm working on the refactoring of RenderBlockLineLayout, progress tracked under bug #121261. For the better readability, I moved
1104         firstPositiveWidth and adjustLogicalLineTop functions above pushShapeContentOverflowBelowTheContentBox, where these're actually used.
1105
1106         No new tests, no behavior change.
1107
1108         * rendering/RenderBlockLineLayout.cpp:
1109         (WebCore::firstPositiveWidth):
1110         (WebCore::adjustLogicalLineTop):
1111
1112 2013-10-11  Ryosuke Niwa  <rniwa@webkit.org>
1113
1114         Extract an iterator/resolver class from calculateAdjustedNodes
1115         https://bugs.webkit.org/show_bug.cgi?id=122687
1116
1117         Reviewed by Darin Adler.
1118
1119         Extracted EventRelatedNodeResolver out of calculateAdjustedNodes and replaced calls to calculateAdjustedNodes
1120         in updateTouchListsInEventPath and setRelatedTarget by the use of this newly added class.
1121
1122         * dom/EventContext.h: Added some helper functions to TouchEventContext so that updateTouchListsInEventPath
1123         could obtain respective TouchList* without having to hard-code the name.
1124         * dom/EventDispatcher.cpp:
1125         (WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Added.
1126         (WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost): Extracted from calculateAdjustedNodes.
1127         (WebCore::EventPath::updateTouchListsInEventPath): Updated to use EventRelatedNodeResolver. Also made this
1128         a member function of EventPath.
1129         (WebCore::EventPath::updateTouchLists): Removed local Vectors to TouchList now that updateTouchListsInEventPath
1130         can obtain TouchList* on demand.
1131         (WebCore::EventPath::setRelatedTarget): Upsed to use EventRelatedNodeResolver.
1132
1133 2013-10-11  Darin Adler  <darin@apple.com>
1134
1135         Change most call sites to call ICU directly instead of through WTF::Unicode
1136         https://bugs.webkit.org/show_bug.cgi?id=122635
1137
1138         Reviewed by Alexey Proskuryakov.
1139
1140         * Modules/indexeddb/IDBKeyPath.cpp:
1141         (isIdentifierStartCharacter): Use U_GET_GC_MASK instead of WTF::Unicode::category.
1142         (isIdentifierCharacter): Ditto.
1143
1144         * css/CSSParser.cpp:
1145         (WebCore::makeLower): Use u_tolower instead of WTF::Unicode::toLower.
1146         Also assert the character fits in a UChar.
1147
1148         * dom/Document.cpp:
1149         (WebCore::isValidNameStart): Use U_GET_GC_MASK instead of WTF::Unicode::category,
1150         and u_getIntPropertyValue instead of WTF::Unicode::decompositionType.
1151         (WebCore::isValidNamePart): Ditto.
1152         (WebCore::canonicalizedTitle): Ditto.
1153
1154         * editing/Editor.cpp:
1155         (WebCore::Editor::insertTextWithoutSendingTextEvent): Use u_isPunct instead of
1156         WTF::Unicode::isPunct.
1157
1158         * editing/TextIterator.cpp:
1159         (WebCore::SearchBuffer::append): Use u_strFoldCase instead of WTF::Unicode::foldCase.
1160
1161         * html/HTMLElement.cpp:
1162         (WebCore::HTMLElement::directionality): Use UCharDirection instead of
1163         WTF::Unicode::Direction.
1164
1165         * html/HTMLSelectElement.cpp:
1166         (WebCore::HTMLSelectElement::defaultEventHandler): Use u_isprint instead of
1167         WTF::Unicode::isPrintableChar.
1168
1169         * html/TypeAhead.cpp:
1170         (WebCore::stripLeadingWhiteSpace): Use u_charDirection instead of
1171         WTF::Unicode::direction.
1172
1173         * html/track/TextTrackCue.cpp:
1174         (WebCore::isCueParagraphSeparator): Use u_charType instead of
1175         WTF::Unicode::category.
1176         (WebCore::TextTrackCue::determineTextDirection): Use u_charDirection instead of
1177         WTF::Unicode::direction.
1178
1179         * page/ContextMenuController.cpp:
1180         (WebCore::selectionContainsPossibleWord): Use U_GET_GC_MASK instead of
1181         WTF::Unicode::category.
1182         * platform/graphics/Font.cpp:
1183         (WebCore::Font::canReceiveTextEmphasis): Ditto.
1184
1185         * platform/graphics/FontGlyphs.cpp:
1186         (WebCore::FontGlyphs::glyphDataAndPageForCharacter): Use u_toupper instead of
1187         WTF::Unicode::toUpper. Use u_charMirror instead of WTF::Unicode::mirroredChar.
1188
1189         * platform/graphics/GraphicsContext.cpp:
1190         (WebCore::TextRunIterator::direction): Use u_charDirection instead of
1191         WTF::Unicode::direction.
1192
1193         * platform/graphics/SVGGlyph.cpp:
1194         (WebCore::charactersWithArabicForm): Use ublock_getCode instead of
1195         WTF::Unicode::isArabicChar.
1196
1197         * platform/graphics/SurrogatePairAwareTextIterator.cpp:
1198         (WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks): Use
1199         u_getCombiningClass instead of WTF::Unicode::combiningClass.
1200
1201         * platform/graphics/WidthIterator.cpp:
1202         (WebCore::WidthIterator::advanceInternal): Use u_toupper instead of
1203         WTF::Unicode::toUpper.
1204
1205         * platform/graphics/mac/ComplexTextController.cpp:
1206         (WebCore::ComplexTextController::collectComplexTextRuns): Added some
1207         assertions about the user of u_toupper and tweaked coding style a bit.
1208
1209         * platform/text/BidiContext.cpp:
1210         (WebCore::BidiContext::createUncached): Use UCharDirection instead of
1211         WTF::Unicode::Direction.
1212         (WebCore::BidiContext::create): Ditto.
1213         (WebCore::copyContextAndRebaselineLevel): Ditto.
1214         * platform/text/BidiContext.h:
1215         (WebCore::BidiContext::dir): Ditto.
1216         (WebCore::BidiContext::BidiContext): Ditto.
1217         * platform/text/BidiResolver.h:
1218         (WebCore::BidiStatus::BidiStatus): Ditto.
1219         (WebCore::BidiEmbedding::BidiEmbedding): Ditto.
1220         (WebCore::BidiEmbedding::direction): Ditto.
1221         (WebCore::BidiCharacterRun::BidiCharacterRun): Ditto.
1222         (WebCore::BidiResolver::BidiResolver): Ditto.
1223         (WebCore::BidiResolver::setLastDir): Ditto.
1224         (WebCore::BidiResolver::setLastStrongDir): Ditto.
1225         (WebCore::BidiResolver::setEorDir): Ditto.
1226         (WebCore::BidiResolver::dir): Ditto.
1227         (WebCore::BidiResolver::setDir): Ditto.
1228         (WebCore::BidiResolver::appendRun): Ditto.
1229         (WebCore::BidiResolver::embed): Ditto.
1230         (WebCore::BidiResolver::checkDirectionInLowerRaiseEmbeddingLevel): Ditto.
1231         (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Ditto.
1232         (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Ditto.
1233         (WebCore::BidiResolver::commitExplicitEmbedding): Ditto.
1234         (WebCore::BidiResolver::updateStatusLastFromCurrentDirection): Ditto.
1235         (WebCore::BidiResolver::createBidiRunsForLine): Ditto.
1236
1237         * platform/text/SegmentedString.h:
1238         (WebCore::SegmentedString::advanceAndASSERTIgnoringCase): Use u_foldCase
1239         instead of WTF::Unicode::foldCase.
1240
1241         * platform/text/TextBoundaries.cpp:
1242         (WebCore::findNextWordFromIndex): Use u_isalnum instead of
1243         WTF::Unicode::isAlphanumeric.
1244
1245         * platform/text/TextBoundaries.h:
1246         (WebCore::requiresContextForWordBoundary): Use u_getIntPropertyValue directly
1247         instead of WTF::Unicode::requiresComplexContextForWordBreaking.
1248
1249         * platform/text/mac/TextBoundaries.mm: Removed explicit use of WTF::Unicode,
1250         which was unneeded and also will no longer compile.
1251
1252         * rendering/BidiRun.h:
1253         (WebCore::BidiRun::BidiRun): Use UCharDirection instead of WTF::Unicode::Direction.
1254         * rendering/InlineFlowBox.h: Ditto.
1255         * rendering/InlineIterator.h:
1256         (WebCore::embedCharFromDirection): Ditto.
1257         (WebCore::notifyObserverWillExitObject): Ditto.
1258         (WebCore::InlineIterator::direction): Ditto.
1259         (WebCore::IsolateTracker::embed): Ditto.
1260         (WebCore::InlineBidiResolver::appendRun): Ditto.
1261
1262         * rendering/RenderBlock.cpp:
1263         (WebCore::isPunctuationForFirstLetter): Use U_GET_GC_MASK instead of
1264         WTF::Unicode::category.
1265
1266         * rendering/RenderBlockLineLayout.cpp:
1267         (WebCore::determineDirectionality): Use u_charDirection instead of
1268         WTF::Unicode::direction.
1269         (WebCore::RenderBlockFlow::handleTrailingSpaces): Ditto.
1270         (WebCore::statusWithDirection): Ditto.
1271         (WebCore::LineBreaker::nextSegmentBreak): Use U_GET_GC_MASK instead of
1272         WTF::Unicode::category.
1273
1274         * rendering/RenderListMarker.cpp:
1275         (WebCore::RenderListMarker::paint): Use u_charDirection instead of
1276         WTF::Unicode::direction.
1277
1278         * rendering/RenderMenuList.cpp:
1279         (WebCore::RenderMenuList::adjustInnerStyle): Use UCharDirection instead of
1280         WTF::Unicode::Direction.
1281
1282         * rendering/RenderText.cpp:
1283         (WebCore::makeCapitalized): Use u_totile instead of WTF::Unicode::toTitleCase.
1284         Also added a comment about the fact that we need to use u_strToTitle instead.
1285
1286         * rendering/RootInlineBox.cpp:
1287         (WebCore::RootInlineBox::lineBreakBidiStatus): Use UCharDirection instead of
1288         WTF::Unicode::Direction.
1289
1290         * svg/SVGFontData.cpp:
1291         (WebCore::SVGFontData::createStringWithMirroredCharacters): Use u_charMirror
1292         instead of WTF::Unicode::mirroredChar.
1293
1294         * xml/XPathParser.cpp:
1295         (WebCore::XPath::charCat): Use U_GET_GC_MASK instead of WTF::Unicode::category.
1296
1297         * platform/graphics/win/UniscribeController.cpp:
1298         (WebCore::UniscribeController::advance):
1299         * platform/win/PopupMenuWin.cpp:
1300         (WebCore::PopupMenuWin::paint):
1301         * platform/win/WebCoreTextRenderer.cpp:
1302         (WebCore::isOneLeftToRightRun):
1303         More of the same for Windows.
1304
1305 2013-10-11  Ryosuke Niwa  <rniwa@webkit.org>
1306
1307         Dramatically simplify calculateAdjustedNodes
1308         https://bugs.webkit.org/show_bug.cgi?id=122680
1309
1310         Reviewed by Antti Koivisto.
1311
1312         Without insertion points, we never have to worry about entering a shadow DOM we've already climbed out of.
1313         Deleted the logic to deal with insertion points in calculateAdjustedNodes accordingly.
1314
1315         * dom/EventDispatcher.cpp:
1316         (WebCore::EventPath::EventPath):
1317         (WebCore::calculateAdjustedNodes):
1318         (WebCore::updateTouchListsInEventPath):
1319         (WebCore::EventPath::updateTouchLists):
1320         (WebCore::EventPath::setRelatedTarget):
1321
1322 2013-10-11  Roger Fong  <roger_fong@apple.com>
1323
1324         [Windows] Fix for fast/xpath test regressions caused by r157205.
1325         https://bugs.webkit.org/show_bug.cgi?id=122658.
1326
1327         Reviewed by Darin Adler.
1328
1329         * xml/XPathStep.h:
1330         (WebCore::XPath::Step::NodeTest::NodeTest):
1331         (WebCore::XPath::Step::NodeTest::operator=):
1332         We were incorrectly setting the predicate list to null instead of the predicate list of the NodeTest being passed in.
1333
1334 2013-10-11  Zoltan Horvath  <zoltan@webkit.org>
1335
1336         [CSS Shapes] Use the floatingObject's logical coordinates to determine its size in computeLogicalLocationForFloat
1337         https://bugs.webkit.org/show_bug.cgi?id=122663
1338
1339         Reviewed by David Hyatt.
1340
1341         Covered by existing float tests in fast/shapes/shape-inside.
1342         I'll add additional tests in bug #122664.
1343
1344         * rendering/RenderBlockFlow.cpp:
1345         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
1346
1347 2013-10-11  Anders Carlsson  <andersca@apple.com>
1348
1349         Remove gesture event support from WebCore
1350         https://bugs.webkit.org/show_bug.cgi?id=122650
1351
1352         Reviewed by Ryosuke Niwa.
1353
1354         * CMakeLists.txt:
1355         * GNUmakefile.list.am:
1356         * WebCore.exp.in:
1357         * WebCore.xcodeproj/project.pbxproj:
1358         * dom/GestureEvent.cpp: Removed.
1359         * dom/GestureEvent.h: Removed.
1360         * dom/Node.cpp:
1361         * dom/Node.h:
1362         * page/EventHandler.cpp:
1363         (WebCore::EventHandler::EventHandler):
1364         (WebCore::EventHandler::clear):
1365         (WebCore::EventHandler::sendContextMenuEventForKey):
1366         * page/EventHandler.h:
1367         * platform/PlatformGestureEvent.h: Removed.
1368         * platform/Scrollbar.cpp:
1369         * platform/Scrollbar.h:
1370         * platform/mac/PlatformEventFactoryMac.h:
1371         * platform/mac/PlatformEventFactoryMac.mm:
1372
1373 2013-10-11  Tim Horton  <timothy_horton@apple.com>
1374
1375         Remove some dead code from PlatformCALayer*
1376         https://bugs.webkit.org/show_bug.cgi?id=122641
1377
1378         Reviewed by Anders Carlsson.
1379
1380         Remove some unused getters from PlatformCALayer and its implementations.
1381
1382         No new tests, just removing dead code.
1383
1384         * platform/graphics/ca/PlatformCALayer.h:
1385         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1386         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1387
1388 2013-10-11  Adam Roben  <aroben@webkit.org>
1389
1390         Confusing CGImageRef memory management in ImageBuffer::copyImage
1391         https://bugs.webkit.org/show_bug.cgi?id=122605
1392
1393         BitmapImage::create was adopting the CGImage passed into it, which
1394         resulted in some strange contortions in ImageBuffer::copyImage that
1395         made it look like it was leaking CGImages, when in fact it was just
1396         relying on BitmapImage to adopt the extra references.
1397
1398         BitmapImage::create now retains the passed-in CGImage, and I updated
1399         the two callers to it to expect that (one here, one in WebKit2). I
1400         also changed ImageBuffer::copyNativeImage to return a RetainPtr to
1401         reduce the number of adoptCF()s needed and make it harder to make
1402         programming mistakes.
1403
1404         Reviewed by Simon Fraser.
1405
1406         No new tests because this is just a code cleanup.
1407
1408         * platform/graphics/ImageBuffer.h: Changed copyNativeImage to return a
1409         RetainPtr<CGImageRef.
1410
1411         * platform/graphics/cg/BitmapImageCG.cpp:
1412         (WebCore::BitmapImage::BitmapImage): Adopt the passed-in CGImage,
1413         since we're taking ownership of it. (We release it in
1414         FrameData::clear.)
1415
1416         * platform/graphics/cg/ImageBufferCG.cpp:
1417         (WebCore::ImageBuffer::copyImage): Updated for copyNativeImage's new
1418         return type and to take into account BitmapImage::create's new
1419         retaining semantics. This makes this function not have to be so clever
1420         about retain counts.
1421
1422         (WebCore::ImageBuffer::copyNativeImage): Changed to return a
1423         RetainPtr<CGImageRef>.
1424
1425         (WebCore::ImageBuffer::draw):
1426         (WebCore::ImageBuffer::clip):
1427         (WebCore::ImageBuffer::putByteArray):
1428         (WebCore::ImageBuffer::toDataURL):
1429         Updated for changes to copyNativeImage.
1430
1431 2013-10-11  Bear Travis  <betravis@adobe.com>
1432
1433         [CSS Shapes] Shape-Image-Threshold should be animatable
1434         https://bugs.webkit.org/show_bug.cgi?id=122622
1435
1436         Reviewed by Darin Adler.
1437
1438         Make the shape-image-threshold property respond to dynamic changes
1439         made through JS or CSS animations. Responding to changes made to
1440         shape-image-threshold is handled in RenderBox::updateShapeOutsideInfoAfterStyleChange,
1441         while CSSPropertyAnimation.cpp adds the property to the list of
1442         animatable properties.
1443
1444         Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-image-threshold.html
1445                fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html
1446
1447         * page/animation/CSSPropertyAnimation.cpp:
1448         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add
1449         shape-image-threshold to the list of animatable properties.
1450         * rendering/RenderBox.cpp:
1451         (WebCore::RenderBox::styleDidChange): updateShapeOutsideInfoAfterStyleChange
1452         needs to take two RenderStyle arguments to compare multiple shape properties,
1453         rather than just the shape-outside property.
1454         (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Compare
1455         shape-image-threshold values to see if they changed, and invalidate the layout
1456         if necessary.
1457         * rendering/RenderBox.h:
1458
1459 2013-10-11  Brent Fulgham  <bfulgham@apple.com>
1460
1461         Unreviewed gardening. Remove a Windows work-around that is not needed.
1462
1463         * dom/Range.cpp:
1464         (WebCore::rangeOfContents): Move implementation back to source file.
1465         * dom/Range.h: Remove inline I added to work around a compiler bug.
1466
1467 2013-10-11  Commit Queue  <commit-queue@webkit.org>
1468
1469         Unreviewed, rolling out r157297.
1470         http://trac.webkit.org/changeset/157297
1471         https://bugs.webkit.org/show_bug.cgi?id=122651
1472
1473         Caused crashes on multiple platform/mac-wk2/tiled-drawing
1474         tests (Requested by ap on #webkit).
1475
1476         * rendering/RenderLayer.cpp:
1477         (WebCore::RenderLayer::operator new):
1478         (WebCore::RenderLayer::operator delete):
1479         (WebCore::RenderLayer::destroy):
1480         * rendering/RenderLayer.h:
1481         * rendering/RenderLayerModelObject.cpp:
1482         (WebCore::RenderLayerModelObject::RenderLayerModelObject):
1483         (WebCore::RenderLayerModelObject::destroyLayer):
1484         (WebCore::RenderLayerModelObject::ensureLayer):
1485         * rendering/RenderLayerModelObject.h:
1486         (WebCore::RenderLayerModelObject::layer):
1487
1488 2013-10-11  Darin Adler  <darin@apple.com>
1489
1490         Fix build.
1491
1492         * html/HTMLElement.cpp:
1493         (WebCore::HTMLElement::translate): Do a const_cast when creating the
1494         lineage, since it doesn't yet work with const pointers.
1495
1496 2013-10-11  Darin Adler  <darin@apple.com>
1497
1498         Do a bit of optimization and cleanup in the HTMLElement class
1499         https://bugs.webkit.org/show_bug.cgi?id=122640
1500
1501         Reviewed by Andreas Kling.
1502
1503         * html/HTMLElement.cpp:
1504         (WebCore::unicodeBidiAttributeForDirAuto): Take a reference.
1505         (WebCore::HTMLElement::collectStyleForPresentationAttribute): Pass one.
1506         (WebCore::mergeWithNextTextNode): Take a reference to a Text node instead
1507         of a PassRefPtr to a Node. Also removed unnecessary check of parentNode.
1508         Also update to new calling convention for mergeWithNextTextNode.
1509         (WebCore::HTMLElement::setOuterHTML): Use parentElement instead of
1510         parentNode, since Antti says that's the future, and either will work here.
1511         Also use nullptr.
1512         (WebCore::HTMLElement::textToFragment): Fix indentation and use nullptr.
1513         (WebCore::HTMLElement::setOuterText): Use a RefPtr for the parent here,
1514         since otherwise there is no guarantee it survives. Also use nullptr and
1515         update to new calling convention for mergeWithNextTextNode.
1516         (WebCore::HTMLElement::insertAdjacent): Use nullptr.
1517         (WebCore::HTMLElement::insertAdjacentElement): Use nullptr.
1518         (WebCore::contextElementForInsertion): Use nullptr.
1519         (WebCore::HTMLElement::contentEditable): Use ASCIILiteral.
1520         (WebCore::HTMLElement::setContentEditable): Use AtomicString::ConstructFromLiteral.
1521         (WebCore::HTMLElement::draggable): Use fastGetAttribute.
1522         (WebCore::HTMLElement::setDraggable): Use AtomicString::ConstructFromLiteral.
1523         (WebCore::HTMLElement::setSpellcheck): Use AtomicString::ConstructFromLiteral.
1524         (WebCore::HTMLElement::click): Use nullptr.
1525         (WebCore::HTMLElement::accessKeyAction): Use nullptr.
1526         (WebCore::HTMLElement::title): Use fastGetAttribute.
1527         (WebCore::HTMLElement::translateAttributeMode): Use fastGetAttribute, isNull,
1528         and isEmpty.
1529         (WebCore::HTMLElement::translate): Use parentElement and toHTMLElement.
1530         Use early-continue style instead of nesting the whole loop body inside an if.
1531         (WebCore::setHasDirAutoFlagRecursively): Use nullptr.
1532         (WebCore::HTMLElement::hasDirectionAuto): Use isNull.
1533         (WebCore::HTMLElement::directionality): Use nullptr.
1534         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged): Use nullptr.
1535         (WebCore::HTMLElement::addHTMLLengthToStyle): Use longer variable names.
1536
1537         * html/HTMLTableCellElement.cpp:
1538         (WebCore::HTMLTableCellElement::abbr): Use fastGetAttribute.
1539         (WebCore::HTMLTableCellElement::axis): Ditto.
1540         (WebCore::HTMLTableCellElement::headers): Ditto.
1541         (WebCore::HTMLTableCellElement::scope): Ditto.
1542         * html/HTMLTableColElement.cpp:
1543         (WebCore::HTMLTableColElement::width): Ditto.
1544
1545 2013-10-10  Darin Adler  <darin@apple.com>
1546
1547         Use after free in WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded
1548         https://bugs.webkit.org/show_bug.cgi?id=121033
1549
1550         Reviewed by Dean Jackson.
1551
1552         For safe iteration, use a set rather than a vector, and remove the clients from
1553         the set if they are removed during iteration.
1554
1555         Test: fast/animation/request-animation-frame-remove-client.html
1556
1557         * platform/graphics/DisplayRefreshMonitor.cpp:
1558         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor): Initialize the
1559         m_clientsToBeNotified pointer to null.
1560         (WebCore::DisplayRefreshMonitor::removeClient): If there is a m_clientsToBeNotified
1561         set, remove from it as well as the real m_clients set.
1562         (WebCore::DisplayRefreshMonitor::displayDidRefresh): Use a HashSet instead of a
1563         vector for the copy of the clients set we iterate.
1564
1565         * platform/graphics/DisplayRefreshMonitor.h: Moved some of the BlackBerry-specific
1566         part of this out of the header. Added a new HashSet pointer, m_clientsToBeNotified,
1567         to be used to remove clients during the notification process. Also added a FIXME.
1568
1569         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Moved the
1570         DisplayAnimationClient class in here.
1571
1572 2013-10-10  Dean Jackson  <dino@apple.com>
1573
1574         Use after free in WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded
1575         http://webkit.org/b/121033
1576
1577         Reviewed by Darin Adler.
1578
1579         Add an ASSERT to detect if an animation client will be removed
1580         during the callback dispatch.
1581
1582         Test: fast/animation/request-animation-frame-remove-client.html
1583
1584         * platform/graphics/DisplayRefreshMonitor.cpp:
1585         (WebCore::DisplayRefreshMonitor::displayDidRefresh):
1586
1587 2013-10-11  Andreas Kling  <akling@apple.com>
1588
1589         Make RenderLayer not arena-allocated.
1590         <https://webkit.org/b/87523>
1591
1592         Reviewed by Antti Koivisto.
1593
1594         Let RenderLayerModelObject store its RenderLayer in a unique_ptr.
1595         Layers are relatively low-volume objects and this looks neutral
1596         on our performance tests.
1597
1598 2013-10-11  Zalan Bujtas  <zalan@apple.com>
1599
1600         REGRESSION (r155607): Javascript site does not load visually on panerabread.com
1601         https://bugs.webkit.org/show_bug.cgi?id=122461
1602
1603         Reviewed by Simon Fraser.
1604         
1605         Do not modify the composited layer backing's internal layer structure directly 
1606         when the clipping behaviour changes.
1607         
1608         When we directly create/destroy RenderLayerBacking::m_ancestorClippingLayer to 
1609         reflect the new clipping state, other, depending layers need updating. In order to
1610         not to corrupt the internal hierarchy, mark the compositing layers dirty and let
1611         the normal updating mechanism take care of creating/destroying the ancestor layers.
1612
1613         Existing tests are extended.
1614
1615         * rendering/RenderLayer.cpp:
1616         (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
1617         (WebCore::RenderLayer::styleChanged):
1618         * rendering/RenderLayer.h:
1619         * rendering/RenderLayerBacking.h:
1620
1621 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
1622
1623         Make EventPath private to EventDispatcher.cpp
1624         https://bugs.webkit.org/show_bug.cgi?id=122638
1625
1626         Reviewed by Darin Adler.
1627
1628         Move the declaration of EventPath into EventDispatcher.cpp since EventPath is only used in this file.
1629         Also make EventDispatcher a namespace since it is never instantiated since r157250.
1630
1631         * dom/EventDispatcher.cpp:
1632         (WebCore::EventPath::isEmpty):
1633         (WebCore::EventPath::size):
1634         (WebCore::EventPath::contextAt):
1635         (WebCore::EventPath::lastContextIfExists):
1636         * dom/EventDispatcher.h:
1637         * inspector/InspectorInstrumentation.h:
1638         (WebCore::InspectorInstrumentation::willDispatchEvent):
1639
1640 2013-10-10  Santosh Mahto  <santosh.ma@samsung.com>
1641
1642         contentEditable with "position:relative" paragraphs is buggy
1643         https://bugs.webkit.org/show_bug.cgi?id=33950
1644
1645         Reviewed by Darin Adler.
1646
1647         When paragraph is positioned(relative/absolute/fixed) then deleting
1648         that paragraph cause wrong merging of other(below) paragraphs. This is
1649         happening because positioned element is treated as special element and
1650         on deletion complete paragraph element is removed. The ranges become
1651         paragraph. This issue happens when all the content of special element
1652         are deleted. So the merging of paragraph is avoided in this scenario.
1653
1654         Test: editing/deleting/deleting-relative-positioned-special-element.html
1655
1656         * editing/DeleteSelectionCommand.cpp:
1657         (WebCore::DeleteSelectionCommand::initializeStartEnd):Avoid merging
1658         block when special candidate are included in deletion range
1659
1660 2013-10-10  Brendan Long  <b.long@cablelabs.com>
1661
1662         Track controls show metadata and chapter tracks
1663         https://bugs.webkit.org/show_bug.cgi?id=122468
1664
1665         Reviewed by Darin Adler.
1666
1667         Test: media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html
1668
1669         * page/CaptionUserPreferences.cpp:
1670         (WebCore::CaptionUserPreferences::sortedTrackListForMenu): Only show captions, descriptions and subtitles in the track controls.
1671
1672 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
1673
1674         EventContext should be used only in EventDispatcher.cpp
1675         https://bugs.webkit.org/show_bug.cgi?id=122631
1676
1677         Reviewed by Anders Carlsson.
1678
1679         Merged WindowEventContext into EventDispatcher. Moved the code to avoid dispatching load event on
1680         window into dispatchEventInDOM so that WindowEventContext's constructor doesn't need Event.
1681
1682         Also replaced DOMWindow, Node, and EventPath arguments to InspectorInstrumentation::willDispatchEvent
1683         by a single boolean indicating whether window, the origin, or the event path has an event listener.
1684
1685         * CMakeLists.txt:
1686         * GNUmakefile.list.am:
1687         * WebCore.vcxproj/WebCore.vcxproj:
1688         * WebCore.vcxproj/WebCore.vcxproj.filters:
1689         * WebCore.xcodeproj/project.pbxproj:
1690         * dom/DOMAllInOne.cpp:
1691         * dom/EventDispatcher.cpp:
1692         (WebCore::WindowEventContext::window): Moved from WindowEventContext.
1693         (WebCore::WindowEventContext::target): Ditto.
1694         (WebCore::WindowEventContext::WindowEventContext): Ditto; removed the code to avoid dispatching load
1695         event on window since that's checked in dispatchEventInDOM now.
1696         (WebCore::WindowEventContext::handleLocalEvents): Ditto.
1697         (WebCore::dispatchEventInDOM): Avoid calling handleLocalEvent on a load event with WindowEventContext.
1698         (WebCore::EventDispatcher::dispatchEvent): Pass a boolean to indicate whether window, the origin, or
1699         the event path contains any event listener to InspectorInstrumentation::willDispatchEvent to hide
1700         EventPath from the inspector code.
1701         * dom/EventDispatcher.h:
1702         * dom/Node.cpp:
1703         * dom/Node.h:
1704         * dom/WindowEventContext.cpp: Removed.
1705         * dom/WindowEventContext.h: Removed.
1706         * inspector/InspectorDOMAgent.cpp:
1707         * inspector/InspectorInstrumentation.cpp:
1708         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
1709         * inspector/InspectorInstrumentation.h:
1710         (WebCore::InspectorInstrumentation::willDispatchEvent):
1711
1712 2013-10-10  Darin Adler  <darin@apple.com>
1713
1714         REGRESSION (r157205?): Leaks in XPath
1715         https://bugs.webkit.org/show_bug.cgi?id=122609
1716
1717         Reviewed by Andreas Kling.
1718
1719         * xml/XPathGrammar.y: Fixed warnings by adding missing "$$ = $1" to various rules.
1720         Added local unique_ptr for NodeTest and ArgumentList in three rules, so they
1721         won't be leaked.
1722
1723 2013-10-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1724
1725         Add toSVGColor|Paint() to cleanup static_cast<>, and use it 
1726         https://bugs.webkit.org/show_bug.cgi?id=122630
1727
1728         Reviewed by Andreas Kling.
1729
1730         SVGColor and SVGPaint can't use CSS_VALUE_TYPE_CASTS(), this cl adds
1731         toSVGColor() and toSVGPaint() manually. Those functions will help to
1732         detect bad type cast.
1733
1734         * css/CSSValue.cpp:
1735         (WebCore::CSSValue::cssText):
1736         (WebCore::CSSValue::destroy):
1737         (WebCore::CSSValue::cloneForCSSOM):
1738         * css/SVGCSSStyleSelector.cpp:
1739         (WebCore::StyleResolver::applySVGProperty):
1740         * svg/SVGColor.h:
1741         (WebCore::toSVGColor):
1742         * svg/SVGPaint.h:
1743         (WebCore::toSVGPaint):
1744
1745 2013-10-10  Andreas Kling  <akling@apple.com>
1746
1747         Kill WebCore::BindingState.
1748         <https://webkit.org/b/122606>
1749
1750         Reviewed by Darin Adler.
1751
1752         Just use JSC::ExecState directly instead.
1753
1754 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
1755
1756         Remove EventRetargeter.h/cpp
1757         https://bugs.webkit.org/show_bug.cgi?id=122625
1758
1759         Reviewed by Anders Carlsson.
1760
1761         Merged the remaining contents of EventRetargeter.h and EventRetargter.cpp into EventDispatcher.cpp.
1762
1763         * CMakeLists.txt:
1764         * GNUmakefile.list.am:
1765         * Modules/indieui/UIRequestEvent.cpp:
1766         * WebCore.xcodeproj/project.pbxproj:
1767         * dom/DOMAllInOne.cpp:
1768         * dom/Event.cpp:
1769         * dom/Event.h:
1770         * dom/EventDispatcher.cpp:
1771         (WebCore::eventTargetRespectingTargetRules):
1772         (WebCore::shouldEventCrossShadowBoundary):
1773         (WebCore::nodeOrHostIfPseudoElement):
1774         (WebCore::EventPath::EventPath):
1775         (WebCore::buildRelatedNodeMap):
1776         (WebCore::addRelatedNodeForUnmapedTreeScopes):
1777         (WebCore::calculateAdjustedNodes):
1778         (WebCore::updateTouchListsInEventPath):
1779         (WebCore::EventPath::updateTouchLists):
1780         (WebCore::EventPath::setRelatedTarget):
1781         * dom/EventRetargeter.cpp: Removed.
1782         * dom/EventRetargeter.h: Removed.
1783         * dom/FocusEvent.cpp:
1784         * dom/GestureEvent.h:
1785         * dom/KeyboardEvent.h:
1786         * dom/MouseEvent.cpp:
1787         * dom/MouseEvent.h:
1788         * dom/TouchEvent.cpp:
1789         * dom/UIEvent.cpp:
1790         * dom/WheelEvent.cpp:
1791
1792 2013-10-10  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1793
1794         Making the base implementation of isAudioStreamSource, in MediaStreamSource, return the correct value
1795         https://bugs.webkit.org/show_bug.cgi?id=122612
1796
1797         Reviewed by Jer Noble.
1798
1799         There is no reason for this implementation, in the base class, to always return false
1800         if we already have the information about the type of the source.
1801
1802         No new tests needed.
1803
1804         * Modules/webaudio/MediaStreamAudioSource.h:
1805         * platform/mediastream/MediaStreamSource.h:
1806         (WebCore::MediaStreamSource::isAudioStreamSource):
1807
1808 2013-10-10  Timothy Hatcher  <timothy@apple.com>
1809
1810         Web Inspector: Remove the old front-end from WebKit.
1811
1812         https://bugs.webkit.org/show_bug.cgi?id=122295
1813
1814         * inspector/front-end/AceTextEditor.js: Removed.
1815         * inspector/front-end/AdvancedSearchController.js: Removed.
1816         * inspector/front-end/ApplicationCacheItemsView.js: Removed.
1817         * inspector/front-end/ApplicationCacheModel.js: Removed.
1818         * inspector/front-end/AuditCategories.js: Removed.
1819         * inspector/front-end/AuditController.js: Removed.
1820         * inspector/front-end/AuditFormatters.js: Removed.
1821         * inspector/front-end/AuditLauncherView.js: Removed.
1822         * inspector/front-end/AuditResultView.js: Removed.
1823         * inspector/front-end/AuditRules.js: Removed.
1824         * inspector/front-end/AuditsPanel.js: Removed.
1825         * inspector/front-end/BottomUpProfileDataGridTree.js: Removed.
1826         * inspector/front-end/BreakpointManager.js: Removed.
1827         * inspector/front-end/BreakpointsSidebarPane.js: Removed.
1828         * inspector/front-end/CPUProfileView.js: Removed.
1829         * inspector/front-end/CSSMetadata.js: Removed.
1830         * inspector/front-end/CSSNamedFlowCollectionsView.js: Removed.
1831         * inspector/front-end/CSSNamedFlowView.js: Removed.
1832         * inspector/front-end/CSSSelectorProfileView.js: Removed.
1833         * inspector/front-end/CSSStyleModel.js: Removed.
1834         * inspector/front-end/CallStackSidebarPane.js: Removed.
1835         * inspector/front-end/CanvasProfileView.js: Removed.
1836         * inspector/front-end/Checkbox.js: Removed.
1837         * inspector/front-end/CodeMirrorTextEditor.js: Removed.
1838         * inspector/front-end/Color.js: Removed.
1839         * inspector/front-end/CompilerScriptMapping.js: Removed.
1840         * inspector/front-end/ConsoleMessage.js: Removed.
1841         * inspector/front-end/ConsoleModel.js: Removed.
1842         * inspector/front-end/ConsolePanel.js: Removed.
1843         * inspector/front-end/ConsoleView.js: Removed.
1844         * inspector/front-end/ContentProvider.js: Removed.
1845         * inspector/front-end/ContentProviderBasedProjectDelegate.js: Removed.
1846         * inspector/front-end/ContentProviders.js: Removed.
1847         * inspector/front-end/ContextMenu.js: Removed.
1848         * inspector/front-end/CookieItemsView.js: Removed.
1849         * inspector/front-end/CookieParser.js: Removed.
1850         * inspector/front-end/CookiesTable.js: Removed.
1851         * inspector/front-end/DOMAgent.js: Removed.
1852         * inspector/front-end/DOMBreakpointsSidebarPane.js: Removed.
1853         * inspector/front-end/DOMCountersGraph.js: Removed.
1854         * inspector/front-end/DOMExtension.js: Removed.
1855         * inspector/front-end/DOMPresentationUtils.js: Removed.
1856         * inspector/front-end/DOMStorage.js: Removed.
1857         * inspector/front-end/DOMStorageItemsView.js: Removed.
1858         * inspector/front-end/DOMSyntaxHighlighter.js: Removed.
1859         * inspector/front-end/DataGrid.js: Removed.
1860         * inspector/front-end/Database.js: Removed.
1861         * inspector/front-end/DatabaseQueryView.js: Removed.
1862         * inspector/front-end/DatabaseTableView.js: Removed.
1863         * inspector/front-end/DebuggerModel.js: Removed.
1864         * inspector/front-end/DebuggerScriptMapping.js: Removed.
1865         * inspector/front-end/DefaultScriptMapping.js: Removed.
1866         * inspector/front-end/DefaultTextEditor.js: Removed.
1867         * inspector/front-end/Dialog.js: Removed.
1868         * inspector/front-end/DirectoryContentView.js: Removed.
1869         * inspector/front-end/DockController.js: Removed.
1870         * inspector/front-end/Drawer.js: Removed.
1871         * inspector/front-end/ElementsPanel.js: Removed.
1872         * inspector/front-end/ElementsPanelDescriptor.js: Removed.
1873         * inspector/front-end/ElementsTreeOutline.js: Removed.
1874         * inspector/front-end/EmptyView.js: Removed.
1875         * inspector/front-end/EventListenersSidebarPane.js: Removed.
1876         * inspector/front-end/ExtensionAPI.js: Removed.
1877         * inspector/front-end/ExtensionAuditCategory.js: Removed.
1878         * inspector/front-end/ExtensionPanel.js: Removed.
1879         * inspector/front-end/ExtensionRegistryStub.js: Removed.
1880         * inspector/front-end/ExtensionServer.js: Removed.
1881         * inspector/front-end/ExtensionView.js: Removed.
1882         * inspector/front-end/FileContentView.js: Removed.
1883         * inspector/front-end/FileManager.js: Removed.
1884         * inspector/front-end/FileMapping.js: Removed.
1885         * inspector/front-end/FileSystemMapping.js: Removed.
1886         * inspector/front-end/FileSystemModel.js: Removed.
1887         * inspector/front-end/FileSystemProjectDelegate.js: Removed.
1888         * inspector/front-end/FileSystemView.js: Removed.
1889         * inspector/front-end/FileUtils.js: Removed.
1890         * inspector/front-end/FilteredItemSelectionDialog.js: Removed.
1891         * inspector/front-end/FlameChart.js: Removed.
1892         * inspector/front-end/FontView.js: Removed.
1893         * inspector/front-end/GoToLineDialog.js: Removed.
1894         * inspector/front-end/HAREntry.js: Removed.
1895         * inspector/front-end/HandlerRegistry.js: Removed.
1896         * inspector/front-end/HeapSnapshot.js: Removed.
1897         * inspector/front-end/HeapSnapshotDataGrids.js: Removed.
1898         * inspector/front-end/HeapSnapshotGridNodes.js: Removed.
1899         * inspector/front-end/HeapSnapshotLoader.js: Removed.
1900         * inspector/front-end/HeapSnapshotProxy.js: Removed.
1901         * inspector/front-end/HeapSnapshotView.js: Removed.
1902         * inspector/front-end/HeapSnapshotWorker.js: Removed.
1903         * inspector/front-end/HeapSnapshotWorkerDispatcher.js: Removed.
1904         * inspector/front-end/HelpScreen.js: Removed.
1905         * inspector/front-end/ImageView.js: Removed.
1906         * inspector/front-end/Images/addIcon.png: Removed.
1907         * inspector/front-end/Images/applicationCache.png: Removed.
1908         * inspector/front-end/Images/back.png: Removed.
1909         * inspector/front-end/Images/breakpointBorder.png: Removed.
1910         * inspector/front-end/Images/breakpointConditionalBorder.png: Removed.
1911         * inspector/front-end/Images/breakpointConditionalCounterBorder.png: Removed.
1912         * inspector/front-end/Images/breakpointCounterBorder.png: Removed.
1913         * inspector/front-end/Images/checker.png: Removed.
1914         * inspector/front-end/Images/closeButtons.png: Removed.
1915         * inspector/front-end/Images/cookie.png: Removed.
1916         * inspector/front-end/Images/database.png: Removed.
1917         * inspector/front-end/Images/databaseTable.png: Removed.
1918         * inspector/front-end/Images/debuggerContinue.png: Removed.
1919         * inspector/front-end/Images/debuggerPause.png: Removed.
1920         * inspector/front-end/Images/debuggerStepInto.png: Removed.
1921         * inspector/front-end/Images/debuggerStepOut.png: Removed.
1922         * inspector/front-end/Images/debuggerStepOver.png: Removed.
1923         * inspector/front-end/Images/deleteIcon.png: Removed.
1924         * inspector/front-end/Images/disclosureTriangleSmallDown.png: Removed.
1925         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Removed.
1926         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Removed.
1927         * inspector/front-end/Images/disclosureTriangleSmallRight.png: Removed.
1928         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Removed.
1929         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Removed.
1930         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Removed.
1931         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Removed.
1932         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Removed.
1933         * inspector/front-end/Images/domain.png: Removed.
1934         * inspector/front-end/Images/errorIcon.png: Removed.
1935         * inspector/front-end/Images/errorMediumIcon.png: Removed.
1936         * inspector/front-end/Images/errorRedDot.png: Removed.
1937         * inspector/front-end/Images/fileSystem.png: Removed.
1938         * inspector/front-end/Images/forward.png: Removed.
1939         * inspector/front-end/Images/frame.png: Removed.
1940         * inspector/front-end/Images/glossyHeader.png: Removed.
1941         * inspector/front-end/Images/glossyHeaderPressed.png: Removed.
1942         * inspector/front-end/Images/glossyHeaderSelected.png: Removed.
1943         * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Removed.
1944         * inspector/front-end/Images/goArrow.png: Removed.
1945         * inspector/front-end/Images/graphLabelCalloutLeft.png: Removed.
1946         * inspector/front-end/Images/graphLabelCalloutRight.png: Removed.
1947         * inspector/front-end/Images/indexedDB.png: Removed.
1948         * inspector/front-end/Images/indexedDBIndex.png: Removed.
1949         * inspector/front-end/Images/indexedDBObjectStore.png: Removed.
1950         * inspector/front-end/Images/localStorage.png: Removed.
1951         * inspector/front-end/Images/namedFlowOverflow.png: Removed.
1952         * inspector/front-end/Images/navigatorShowHideButton.png: Removed.
1953         * inspector/front-end/Images/paneAddButtons.png: Removed.
1954         * inspector/front-end/Images/paneBottomGrow.png: Removed.
1955         * inspector/front-end/Images/paneBottomGrowActive.png: Removed.
1956         * inspector/front-end/Images/paneElementStateButtons.png: Removed.
1957         * inspector/front-end/Images/paneFilterButtons.png: Removed.
1958         * inspector/front-end/Images/paneGrowHandleLine.png: Removed.
1959         * inspector/front-end/Images/paneRefreshButtons.png: Removed.
1960         * inspector/front-end/Images/paneSettingsButtons.png: Removed.
1961         * inspector/front-end/Images/popoverArrows.png: Removed.
1962         * inspector/front-end/Images/popoverBackground.png: Removed.
1963         * inspector/front-end/Images/profileGroupIcon.png: Removed.
1964         * inspector/front-end/Images/profileIcon.png: Removed.
1965         * inspector/front-end/Images/profileSmallIcon.png: Removed.
1966         * inspector/front-end/Images/profilesSilhouette.png: Removed.
1967         * inspector/front-end/Images/programCounterBorder.png: Removed.
1968         * inspector/front-end/Images/radioDot.png: Removed.
1969         * inspector/front-end/Images/regionEmpty.png: Removed.
1970         * inspector/front-end/Images/regionFit.png: Removed.
1971         * inspector/front-end/Images/regionOverset.png: Removed.
1972         * inspector/front-end/Images/resourceCSSIcon.png: Removed.
1973         * inspector/front-end/Images/resourceDocumentIcon.png: Removed.
1974         * inspector/front-end/Images/resourceDocumentIconSmall.png: Removed.
1975         * inspector/front-end/Images/resourceJSIcon.png: Removed.
1976         * inspector/front-end/Images/resourcePlainIcon.png: Removed.
1977         * inspector/front-end/Images/resourcePlainIconSmall.png: Removed.
1978         * inspector/front-end/Images/resourcesSizeGraphIcon.png: Removed.
1979         * inspector/front-end/Images/resourcesTimeGraphIcon.png: Removed.
1980         * inspector/front-end/Images/scriptsSilhouette.png: Removed.
1981         * inspector/front-end/Images/searchNext.png: Removed.
1982         * inspector/front-end/Images/searchPrev.png: Removed.
1983         * inspector/front-end/Images/searchSmallBlue.png: Removed.
1984         * inspector/front-end/Images/searchSmallBrightBlue.png: Removed.
1985         * inspector/front-end/Images/searchSmallGray.png: Removed.
1986         * inspector/front-end/Images/searchSmallWhite.png: Removed.
1987         * inspector/front-end/Images/segment.png: Removed.
1988         * inspector/front-end/Images/segmentEnd.png: Removed.
1989         * inspector/front-end/Images/segmentHover.png: Removed.
1990         * inspector/front-end/Images/segmentHoverEnd.png: Removed.
1991         * inspector/front-end/Images/segmentSelected.png: Removed.
1992         * inspector/front-end/Images/segmentSelectedEnd.png: Removed.
1993         * inspector/front-end/Images/sessionStorage.png: Removed.
1994         * inspector/front-end/Images/spinner.gif: Removed.
1995         * inspector/front-end/Images/spinnerActive.gif: Removed.
1996         * inspector/front-end/Images/spinnerActiveSelected.gif: Removed.
1997         * inspector/front-end/Images/spinnerInactive.gif: Removed.
1998         * inspector/front-end/Images/spinnerInactiveSelected.gif: Removed.
1999         * inspector/front-end/Images/splitviewDimple.png: Removed.
2000         * inspector/front-end/Images/splitviewDividerBackground.png: Removed.
2001         * inspector/front-end/Images/statusbarButtonGlyphs.png: Removed.
2002         * inspector/front-end/Images/statusbarButtonGlyphs2x.png: Removed.
2003         * inspector/front-end/Images/statusbarResizerHorizontal.png: Removed.
2004         * inspector/front-end/Images/statusbarResizerVertical.png: Removed.
2005         * inspector/front-end/Images/successGreenDot.png: Removed.
2006         * inspector/front-end/Images/thumbActiveHoriz.png: Removed.
2007         * inspector/front-end/Images/thumbActiveVert.png: Removed.
2008         * inspector/front-end/Images/thumbHoriz.png: Removed.
2009         * inspector/front-end/Images/thumbHoverHoriz.png: Removed.
2010         * inspector/front-end/Images/thumbHoverVert.png: Removed.
2011         * inspector/front-end/Images/thumbVert.png: Removed.
2012         * inspector/front-end/Images/tickMark.png: Removed.
2013         * inspector/front-end/Images/timelineHollowPillBlue.png: Removed.
2014         * inspector/front-end/Images/timelineHollowPillGray.png: Removed.
2015         * inspector/front-end/Images/timelineHollowPillGreen.png: Removed.
2016         * inspector/front-end/Images/timelineHollowPillOrange.png: Removed.
2017         * inspector/front-end/Images/timelineHollowPillPurple.png: Removed.
2018         * inspector/front-end/Images/timelineHollowPillRed.png: Removed.
2019         * inspector/front-end/Images/timelineHollowPillYellow.png: Removed.
2020         * inspector/front-end/Images/timelinePillBlue.png: Removed.
2021         * inspector/front-end/Images/timelinePillGray.png: Removed.
2022         * inspector/front-end/Images/timelinePillGreen.png: Removed.
2023         * inspector/front-end/Images/timelinePillOrange.png: Removed.
2024         * inspector/front-end/Images/timelinePillPurple.png: Removed.
2025         * inspector/front-end/Images/timelinePillRed.png: Removed.
2026         * inspector/front-end/Images/timelinePillYellow.png: Removed.
2027         * inspector/front-end/Images/toolbarIcons.png: Removed.
2028         * inspector/front-end/Images/toolbarIconsSmall.png: Removed.
2029         * inspector/front-end/Images/toolbarItemSelected.png: Removed.
2030         * inspector/front-end/Images/trackHoriz.png: Removed.
2031         * inspector/front-end/Images/trackVert.png: Removed.
2032         * inspector/front-end/Images/treeDownTriangleBlack.png: Removed.
2033         * inspector/front-end/Images/treeDownTriangleWhite.png: Removed.
2034         * inspector/front-end/Images/treeRightTriangleBlack.png: Removed.
2035         * inspector/front-end/Images/treeRightTriangleWhite.png: Removed.
2036         * inspector/front-end/Images/treeUpTriangleBlack.png: Removed.
2037         * inspector/front-end/Images/treeUpTriangleWhite.png: Removed.
2038         * inspector/front-end/Images/userInputIcon.png: Removed.
2039         * inspector/front-end/Images/userInputPreviousIcon.png: Removed.
2040         * inspector/front-end/Images/userInputResultIcon.png: Removed.
2041         * inspector/front-end/Images/warningIcon.png: Removed.
2042         * inspector/front-end/Images/warningMediumIcon.png: Removed.
2043         * inspector/front-end/Images/warningOrangeDot.png: Removed.
2044         * inspector/front-end/Images/warningsErrors.png: Removed.
2045         * inspector/front-end/IndexedDBModel.js: Removed.
2046         * inspector/front-end/IndexedDBViews.js: Removed.
2047         * inspector/front-end/InspectElementModeController.js: Removed.
2048         * inspector/front-end/InspectorBackend.js: Removed.
2049         * inspector/front-end/InspectorBackendCommands.qrc: Removed.
2050         * inspector/front-end/InspectorFrontendAPI.js: Removed.
2051         * inspector/front-end/InspectorFrontendHostStub.js: Removed.
2052         * inspector/front-end/InspectorView.js: Removed.
2053         * inspector/front-end/IsolatedFileSystem.js: Removed.
2054         * inspector/front-end/IsolatedFileSystemManager.js: Removed.
2055         * inspector/front-end/JSHeapSnapshot.js: Removed.
2056         * inspector/front-end/JavaScriptFormatter.js: Removed.
2057         * inspector/front-end/JavaScriptSourceFrame.js: Removed.
2058         * inspector/front-end/KeyboardShortcut.js: Removed.
2059         * inspector/front-end/Linkifier.js: Removed.
2060         * inspector/front-end/LiveEditSupport.js: Removed.
2061         * inspector/front-end/MemoryStatistics.js: Removed.
2062         * inspector/front-end/MetricsSidebarPane.js: Removed.
2063         * inspector/front-end/NativeBreakpointsSidebarPane.js: Removed.
2064         * inspector/front-end/NativeHeapSnapshot.js: Removed.
2065         * inspector/front-end/NativeMemoryGraph.js: Removed.
2066         * inspector/front-end/NavigatorOverlayController.js: Removed.
2067         * inspector/front-end/NavigatorView.js: Removed.
2068         * inspector/front-end/NetworkItemView.js: Removed.
2069         * inspector/front-end/NetworkLog.js: Removed.
2070         * inspector/front-end/NetworkManager.js: Removed.
2071         * inspector/front-end/NetworkPanel.js: Removed.
2072         * inspector/front-end/NetworkPanelDescriptor.js: Removed.
2073         * inspector/front-end/NetworkRequest.js: Removed.
2074         * inspector/front-end/NetworkUISourceCodeProvider.js: Removed.
2075         * inspector/front-end/Object.js: Removed.
2076         * inspector/front-end/ObjectPopoverHelper.js: Removed.
2077         * inspector/front-end/ObjectPropertiesSection.js: Removed.
2078         * inspector/front-end/OverridesView.js: Removed.
2079         * inspector/front-end/OverviewGrid.js: Removed.
2080         * inspector/front-end/Panel.js: Removed.
2081         * inspector/front-end/PanelEnablerView.js: Removed.
2082         * inspector/front-end/ParsedURL.js: Removed.
2083         * inspector/front-end/Placard.js: Removed.
2084         * inspector/front-end/Popover.js: Removed.
2085         * inspector/front-end/PresentationConsoleMessageHelper.js: Removed.
2086         * inspector/front-end/ProfileDataGridTree.js: Removed.
2087         * inspector/front-end/ProfileLauncherView.js: Removed.
2088         * inspector/front-end/ProfilesPanel.js: Removed.
2089         * inspector/front-end/ProfilesPanelDescriptor.js: Removed.
2090         * inspector/front-end/Progress.js: Removed.
2091         * inspector/front-end/ProgressIndicator.js: Removed.
2092         * inspector/front-end/PropertiesSection.js: Removed.
2093         * inspector/front-end/PropertiesSidebarPane.js: Removed.
2094         * inspector/front-end/RawSourceCode.js: Removed.
2095         * inspector/front-end/RemoteObject.js: Removed.
2096         * inspector/front-end/RequestCookiesView.js: Removed.
2097         * inspector/front-end/RequestHTMLView.js: Removed.
2098         * inspector/front-end/RequestHeadersView.js: Removed.
2099         * inspector/front-end/RequestJSONView.js: Removed.
2100         * inspector/front-end/RequestPreviewView.js: Removed.
2101         * inspector/front-end/RequestResponseView.js: Removed.
2102         * inspector/front-end/RequestTimingView.js: Removed.
2103         * inspector/front-end/RequestView.js: Removed.
2104         * inspector/front-end/Resource.js: Removed.
2105         * inspector/front-end/ResourceScriptMapping.js: Removed.
2106         * inspector/front-end/ResourceTreeModel.js: Removed.
2107         * inspector/front-end/ResourceType.js: Removed.
2108         * inspector/front-end/ResourceUtils.js: Removed.
2109         * inspector/front-end/ResourceView.js: Removed.
2110         * inspector/front-end/ResourceWebSocketFrameView.js: Removed.
2111         * inspector/front-end/ResourcesPanel.js: Removed.
2112         * inspector/front-end/RevisionHistoryView.js: Removed.
2113         * inspector/front-end/RuntimeModel.js: Removed.
2114         * inspector/front-end/SASSSourceMapping.js: Removed.
2115         * inspector/front-end/ScopeChainSidebarPane.js: Removed.
2116         * inspector/front-end/Script.js: Removed.
2117         * inspector/front-end/ScriptFormatter.js: Removed.
2118         * inspector/front-end/ScriptFormatterWorker.js: Removed.
2119         * inspector/front-end/ScriptSnippetModel.js: Removed.
2120         * inspector/front-end/ScriptsNavigator.js: Removed.
2121         * inspector/front-end/ScriptsPanel.js: Removed.
2122         * inspector/front-end/ScriptsPanelDescriptor.js: Removed.
2123         * inspector/front-end/ScriptsSearchScope.js: Removed.
2124         * inspector/front-end/SearchController.js: Removed.
2125         * inspector/front-end/Section.js: Removed.
2126         * inspector/front-end/Settings.js: Removed.
2127         * inspector/front-end/SettingsScreen.js: Removed.
2128         * inspector/front-end/ShortcutsScreen.js: Removed.
2129         * inspector/front-end/ShowMoreDataGridNode.js: Removed.
2130         * inspector/front-end/SidebarOverlay.js: Removed.
2131         * inspector/front-end/SidebarPane.js: Removed.
2132         * inspector/front-end/SidebarTreeElement.js: Removed.
2133         * inspector/front-end/SidebarView.js: Removed.
2134         * inspector/front-end/SimpleWorkspaceProvider.js: Removed.
2135         * inspector/front-end/SnippetJavaScriptSourceFrame.js: Removed.
2136         * inspector/front-end/SnippetStorage.js: Removed.
2137         * inspector/front-end/SoftContextMenu.js: Removed.
2138         * inspector/front-end/SourceCSSTokenizer.js: Removed.
2139         * inspector/front-end/SourceCSSTokenizer.re2js: Removed.
2140         * inspector/front-end/SourceFrame.js: Removed.
2141         * inspector/front-end/SourceHTMLTokenizer.js: Removed.
2142         * inspector/front-end/SourceHTMLTokenizer.re2js: Removed.
2143         * inspector/front-end/SourceJavaScriptTokenizer.js: Removed.
2144         * inspector/front-end/SourceJavaScriptTokenizer.re2js: Removed.
2145         * inspector/front-end/SourceMap.js: Removed.
2146         * inspector/front-end/SourceMapping.js: Removed.
2147         * inspector/front-end/SourceTokenizer.js: Removed.
2148         * inspector/front-end/Spectrum.js: Removed.
2149         * inspector/front-end/SplitView.js: Removed.
2150         * inspector/front-end/StatusBarButton.js: Removed.
2151         * inspector/front-end/StyleSheetOutlineDialog.js: Removed.
2152         * inspector/front-end/StylesSidebarPane.js: Removed.
2153         * inspector/front-end/StylesSourceMapping.js: Removed.
2154         * inspector/front-end/SuggestBox.js: Removed.
2155         * inspector/front-end/TabbedEditorContainer.js: Removed.
2156         * inspector/front-end/TabbedPane.js: Removed.
2157         * inspector/front-end/TestController.js: Removed.
2158         * inspector/front-end/TextEditor.js: Removed.
2159         * inspector/front-end/TextEditorHighlighter.js: Removed.
2160         * inspector/front-end/TextEditorModel.js: Removed.
2161         * inspector/front-end/TextPrompt.js: Removed.
2162         * inspector/front-end/TextUtils.js: Removed.
2163         * inspector/front-end/TimelineFrameController.js: Removed.
2164         * inspector/front-end/TimelineGrid.js: Removed.
2165         * inspector/front-end/TimelineManager.js: Removed.
2166         * inspector/front-end/TimelineModel.js: Removed.
2167         * inspector/front-end/TimelineOverviewPane.js: Removed.
2168         * inspector/front-end/TimelinePanel.js: Removed.
2169         * inspector/front-end/TimelinePanelDescriptor.js: Removed.
2170         * inspector/front-end/TimelinePresentationModel.js: Removed.
2171         * inspector/front-end/Toolbar.js: Removed.
2172         * inspector/front-end/TopDownProfileDataGridTree.js: Removed.
2173         * inspector/front-end/UISourceCode.js: Removed.
2174         * inspector/front-end/UISourceCodeFrame.js: Removed.
2175         * inspector/front-end/UIString.js: Removed.
2176         * inspector/front-end/UIUtils.js: Removed.
2177         * inspector/front-end/UglifyJS/parse-js.js: Removed.
2178         * inspector/front-end/UserAgentSupport.js: Removed.
2179         * inspector/front-end/UserMetrics.js: Removed.
2180         * inspector/front-end/View.js: Removed.
2181         * inspector/front-end/ViewportControl.js: Removed.
2182         * inspector/front-end/WatchExpressionsSidebarPane.js: Removed.
2183         * inspector/front-end/WebKit.qrc: Removed.
2184         * inspector/front-end/WorkerManager.js: Removed.
2185         * inspector/front-end/WorkersSidebarPane.js: Removed.
2186         * inspector/front-end/Workspace.js: Removed.
2187         * inspector/front-end/ace/LICENSE.txt: Removed.
2188         * inspector/front-end/ace/ace.js: Removed.
2189         * inspector/front-end/ace/acedevtools.css: Removed.
2190         * inspector/front-end/ace/mode_css.js: Removed.
2191         * inspector/front-end/ace/mode_html.js: Removed.
2192         * inspector/front-end/ace/mode_javascript.js: Removed.
2193         * inspector/front-end/ace/theme_textmate.js: Removed.
2194         * inspector/front-end/auditsPanel.css: Removed.
2195         * inspector/front-end/breadcrumbList.css: Removed.
2196         * inspector/front-end/breakpointsList.css: Removed.
2197         * inspector/front-end/buildSystemOnly.js: Removed.
2198         * inspector/front-end/canvasProfiler.css: Removed.
2199         * inspector/front-end/cm/LICENSE: Removed.
2200         * inspector/front-end/cm/closebrackets.js: Removed.
2201         * inspector/front-end/cm/cmdevtools.css: Removed.
2202         * inspector/front-end/cm/codemirror.css: Removed.
2203         * inspector/front-end/cm/codemirror.js: Removed.
2204         * inspector/front-end/cm/css.js: Removed.
2205         * inspector/front-end/cm/htmlmixed.js: Removed.
2206         * inspector/front-end/cm/javascript.js: Removed.
2207         * inspector/front-end/cm/matchbrackets.js: Removed.
2208         * inspector/front-end/cm/xml.js: Removed.
2209         * inspector/front-end/cssNamedFlows.css: Removed.
2210         * inspector/front-end/dataGrid.css: Removed.
2211         * inspector/front-end/dialog.css: Removed.
2212         * inspector/front-end/elementsPanel.css: Removed.
2213         * inspector/front-end/externs.js: Removed.
2214         * inspector/front-end/filteredItemSelectionDialog.css: Removed.
2215         * inspector/front-end/flameChart.css: Removed.
2216         * inspector/front-end/heapProfiler.css: Removed.
2217         * inspector/front-end/helpScreen.css: Removed.
2218         * inspector/front-end/indexedDBViews.css: Removed.
2219         * inspector/front-end/inspector.css: Removed.
2220         * inspector/front-end/inspector.html: Removed.
2221         * inspector/front-end/inspector.js: Removed.
2222         * inspector/front-end/inspectorCommon.css: Removed.
2223         * inspector/front-end/inspectorSyntaxHighlight.css: Removed.
2224         * inspector/front-end/jsdifflib.js: Removed.
2225         * inspector/front-end/navigatorView.css: Removed.
2226         * inspector/front-end/networkLogView.css: Removed.
2227         * inspector/front-end/networkPanel.css: Removed.
2228         * inspector/front-end/panelEnablerView.css: Removed.
2229         * inspector/front-end/popover.css: Removed.
2230         * inspector/front-end/profilesPanel.css: Removed.
2231         * inspector/front-end/resourceView.css: Removed.
2232         * inspector/front-end/resourcesPanel.css: Removed.
2233         * inspector/front-end/revisionHistory.css: Removed.
2234         * inspector/front-end/scriptsPanel.css: Removed.
2235         * inspector/front-end/sidebarPane.css: Removed.
2236         * inspector/front-end/spectrum.css: Removed.
2237         * inspector/front-end/splitView.css: Removed.
2238         * inspector/front-end/tabbedPane.css: Removed.
2239         * inspector/front-end/test-runner.html: Removed.
2240         * inspector/front-end/textEditor.css: Removed.
2241         * inspector/front-end/textPrompt.css: Removed.
2242         * inspector/front-end/timelinePanel.css: Removed.
2243         * inspector/front-end/treeoutline.js: Removed.
2244         * inspector/front-end/utilities.js: Removed.
2245
2246 2013-10-10  Marcelo Morais  <m.morais@samsung.com>
2247
2248         Web Inspector: Remove the old front-end from WebKit
2249         https://bugs.webkit.org/show_bug.cgi?id=122295
2250
2251         Reviewed by Timothy Hatcher.
2252
2253         Updating the project files to remove all references from the old 
2254         inspector front-end.
2255
2256         * WebCore.vcxproj/WebCore.vcxproj: Removed the references for the old
2257         inspector front-end.
2258         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2259         * WebCore.xcodeproj/project.pbxproj: Ditto.
2260         * inspector/compile-front-end.py: Removed.
2261
2262 2013-10-10  Ryuan Choi  <ryuan.choi@samsung.com>
2263
2264         Unreviewed build fix with ENABLE_DEVICE_ORIENTATION after r157215
2265
2266         Now, impl() return reference instead of a pointer.
2267
2268         * bindings/js/JSDeviceMotionEventCustom.cpp:
2269         (WebCore::JSDeviceMotionEvent::acceleration):
2270         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
2271         (WebCore::JSDeviceMotionEvent::rotationRate):
2272         (WebCore::JSDeviceMotionEvent::interval):
2273         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
2274         * bindings/js/JSDeviceOrientationEventCustom.cpp:
2275         (WebCore::JSDeviceOrientationEvent::alpha):
2276         (WebCore::JSDeviceOrientationEvent::beta):
2277         (WebCore::JSDeviceOrientationEvent::gamma):
2278         (WebCore::JSDeviceOrientationEvent::absolute):
2279         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
2280
2281 2013-10-10  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2282
2283         [MediaStream API] update MediaStream object to match spec
2284         https://bugs.webkit.org/show_bug.cgi?id=121939
2285
2286         Reviewed by Jer Noble.
2287
2288         Test: fast/mediastream/MediaStream-clone.html
2289
2290         * Modules/mediastream/MediaStream.cpp:
2291         (WebCore::MediaStream::MediaStream):
2292         (WebCore::MediaStream::ended):
2293         (WebCore::MediaStream::clone):
2294         (WebCore::MediaStream::cloneMediaStreamTrackVector):
2295         (WebCore::MediaStream::contextDestroyed):
2296         (WebCore::MediaStream::scheduledEventTimerFired):
2297         * Modules/mediastream/MediaStream.h:
2298         * Modules/mediastream/MediaStream.idl:
2299
2300 2013-10-10  Beth Dakin  <bdakin@apple.com>
2301
2302         Calling setUsePresentationValue on MountainLion results in unrecognized selector 
2303         warnings
2304         https://bugs.webkit.org/show_bug.cgi?id=122624
2305
2306         Reviewed by Tim Horton.
2307
2308         Only call setUsePresentationValue if the scrollbar supports updates on a secondary 
2309         thread.
2310         * platform/mac/ScrollAnimatorMac.mm:
2311         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2312
2313 2013-10-10  Seokju Kwon  <seokju@webkit.org>
2314
2315         Unreviewed build fix after r157250
2316
2317         * dom/EventDispatcher.cpp:
2318         (WebCore::EventDispatcher::dispatchEvent):
2319
2320 2013-10-10  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2321
2322         Create MediaStream object with ended attribute set if all tracks that are being used on its creation are ended
2323         https://bugs.webkit.org/show_bug.cgi?id=122358
2324
2325         Reviewed by Jer Noble.
2326
2327         Spec tells that if all tracks that belongs to a new MediaStream object being created are ended,
2328         then the ended attribute of this MediaStream must be set to true.
2329         http://www.w3.org/TR/mediacapture-streams/#widl-MediaStream-ended
2330
2331         Since there is no port supporting MediaStream yet, we are skipping this test for now.
2332
2333         Test: fast/mediastream/MediaStream-construct-with-ended-tracks.html
2334
2335         * Modules/mediastream/MediaStream.cpp:
2336         (WebCore::createFromSourceVectors):
2337         (WebCore::MediaStream::create):
2338         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2339         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
2340         * platform/mediastream/MediaStreamDescriptor.cpp:
2341         (WebCore::MediaStreamDescriptor::create):
2342         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
2343         * platform/mediastream/MediaStreamDescriptor.h:
2344         * platform/mock/MockMediaStreamCenter.cpp:
2345         (WebCore::MockMediaStreamCenter::createMediaStream):
2346
2347 2013-10-10  Andy Estes  <aestes@apple.com>
2348
2349         Add SPI for telling WebKit to prefer pictograph glyphs over monochrome ones
2350         https://bugs.webkit.org/show_bug.cgi?id=122608
2351
2352         Reviewed by Dan Bernstein.
2353
2354         Based on patches by Dan Bernstein.
2355
2356         Test: fonts/font-fallback-prefers-pictographs.html
2357
2358         Created a mechanism to append a font to the end of a font's fallback
2359         list, before the system fallback list. This mechanism is used when
2360         Settings::fontFallbackPrefersPictographs() is true to insert a
2361         pictograph font ahead of a monochrome one from the system fallback list.
2362
2363         * WebCore.exp.in: Moved
2364         __ZN7WebCore8Settings33setFontFallbackPrefersPictographsEb outside of
2365         an iOS platform guard.
2366         * css/CSSFontSelector.cpp:
2367         (WebCore::CSSFontSelector::fallbackFontDataCount): Retuned 1 if
2368         pictograph fonts are preferred.
2369         (WebCore::CSSFontSelector::getFallbackFontData): Returned the
2370         pictograph font's FontData if it is preferred.
2371         * css/CSSFontSelector.h:
2372         * page/Settings.cpp:
2373         (WebCore::Settings::Settings): Initialized
2374         m_fontFallbackPrefersPictographs to false.
2375         (WebCore::Settings::setFontFallbackPrefersPictographs): Set
2376         m_fontFallbackPrefersPictographs and called
2377         Page::setNeedsRecalcStyleInAllFrames().
2378         * page/Settings.h:
2379         (WebCore::Settings::fontFallbackPrefersPictographs):
2380         * platform/graphics/FontGlyphs.cpp:
2381         (WebCore::FontGlyphs::realizeFontDataAt): Realized the selector's
2382         fallback font if necessary.
2383         * platform/graphics/FontSelector.h:
2384         * style/StyleResolveTree.cpp:
2385         (WebCore::Style::resolveTree): Removed iOS platform guards.
2386         * testing/InternalSettings.cpp:
2387         (WebCore::InternalSettings::setFontFallbackPrefersPictographs): Set the
2388         corresponding WebCore::Setting.
2389         * testing/InternalSettings.h: Defined an internal setting for the test.
2390         * testing/InternalSettings.idl: Ditto.
2391
2392 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
2393
2394         Remove unused attribute in CoordinatedTile class
2395         https://bugs.webkit.org/show_bug.cgi?id=122619
2396
2397         Reviewed by Noam Rosenthal.
2398
2399         No new tests, covered by existing ones.
2400
2401         * platform/graphics/texmap/coordinated/CoordinatedTile.h: Remove
2402         m_localBuffer.
2403
2404 2013-10-10  Beth Dakin  <bdakin@apple.com>
2405
2406         Scrollbars are updated on the main thread rather than the scrolling thread 
2407         (causing scroll bars not to appear/update quickly in some cases)
2408         https://bugs.webkit.org/show_bug.cgi?id=122585
2409         -and corresponding-
2410         <rdar://problem/10710775>
2411
2412         Reviewed by Simon Fraser.
2413
2414         This patch does a few things in order to allow scrollbars to be updated on the 
2415         scrolling thread:
2416
2417         1. This patch adds the ability to know if the lower-level APIs necessary to get 
2418         this to work right are available, AND if the content is actually capable of taking 
2419         advantage of this feature. This is currently implemented as 
2420         Scrollbar::supportsUpdateOnSecondaryThread() which makes use of a new 
2421         ScrollableArea function called updatesScrollLayerPositionOnMainThread()
2422         
2423         2. To update on the scrolling thread, the scrolling tree needs to know about the 
2424         ScrollbarPainters.
2425         
2426         3. Once it knows about them, it should update the presentation value whenever the 
2427         layer position changes.
2428         
2429         4. Presentation value is basically the same thing as double value. There is a bit 
2430         of code we maintain currently to compute that. This patch moves that code to a 
2431         static function on ScrollableArea that can be called from both the main thread and 
2432         the scrolling thread.
2433         
2434         5. ScrollbarPainter API needs to know about the layers we have created for the 
2435         vertical and horizontal scrollbars, then they will use those layers and the 
2436         presentation value that we set on the scrolling thread to move the layers around.
2437
2438         This is part of #1 above. 
2439         * page/FrameView.cpp:
2440         (WebCore::FrameView::updatesScrollLayerPositionOnMainThread):
2441         * page/FrameView.h:
2442
2443         This is part of #2. ScrollingStateScrollingNodes now have vertical and horizontal 
2444         ScrollbarPainters for Mac only.
2445         * page/scrolling/ScrollingStateScrollingNode.cpp:
2446         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
2447         * page/scrolling/ScrollingStateScrollingNode.h:
2448         (WebCore::ScrollingStateScrollingNode::verticalScrollbarPainter):
2449         (WebCore::ScrollingStateScrollingNode::horizontalScrollbarPainter):
2450
2451         Also part of #2. Make sure to set the ScrollbarPainters for scrolling nodes when 
2452         appropriate.
2453         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2454         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2455         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
2456
2457         Implement this function that was just stubbed out before. This is part of #5 in 
2458         that is will allow the ScrollbarPainter API to know about any layer changes. 
2459         (WebCore::ScrollingCoordinatorMac::scrollableAreaScrollbarLayerDidChange):
2460
2461         Back to #2, making sure we properly set the ScrollbarPainters to send over to the 
2462         scrolling thread.
2463         (WebCore::ScrollingCoordinatorMac::setScrollbarPaintersForNode):
2464         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2465         (WebCore::ScrollingStateScrollingNode::setScrollbarPainters):
2466
2467         This code achieves #3. It uses new ScrollbarPainter API to adjust the position of 
2468         the scrollbars from the scrolling thread.
2469         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2470         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2471         (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
2472         (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
2473         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
2474
2475         This is for #5. ScrollbarPainter needs to know about our scrollbar layers.
2476         * platform/ScrollAnimator.h:
2477         (WebCore::ScrollAnimator::verticalScrollbarLayerDidChange):
2478         (WebCore::ScrollAnimator::horizontalScrollbarLayerDidChange):
2479         * platform/ScrollableArea.cpp:
2480         (WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
2481         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
2482
2483         This is for #4. This code computes the scrollbar’s value and current overhang 
2484         amount.
2485         (WebCore::ScrollableArea::computeScrollbarValueAndOverhang):
2486         * platform/ScrollableArea.h:
2487         (WebCore::ScrollableArea::layerForHorizontalScrollbar):
2488         (WebCore::ScrollableArea::layerForVerticalScrollbar):
2489         (WebCore::ScrollableArea::layerForScrolling):
2490
2491         This is for #1. We need to know if we have the ability to update scrollbars on a 
2492         different thread. We can do that only on certain versions of the OS, only when 
2493         threaded scrolling is enabled, and only when the current page is actually using 
2494         the scrolling thread to scroll.
2495         * platform/Scrollbar.cpp:
2496         (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
2497         * platform/Scrollbar.h:
2498         * platform/ScrollbarThemeClient.h:
2499
2500         New ScrollbarPainter APIs.
2501         * platform/mac/NSScrollerImpDetails.h:
2502
2503         This is for #5, letting the ScrollbarPainter API  know about the layers.
2504         * platform/mac/ScrollAnimatorMac.h:
2505         * platform/mac/ScrollAnimatorMac.mm:
2506         (-[WebScrollbarPainterDelegate layer]):
2507         (-[WebScrollbarPainterDelegate convertRectToLayer:]):
2508         (-[WebScrollbarPainterDelegate shouldUseLayerPerPartForScrollerImp:]):
2509
2510         Before we kick off a scroll animation, set the current painting characteristics so 
2511         they are up-to-date in case we are scrolling on the scrolling thread.
2512         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2513         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2514         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2515         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2516         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2517         (WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
2518         (WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
2519
2520         Only paint the scrollbars through ScrollbarThemeMac if they are NOT being updated 
2521         by the scrolling thread.
2522         * platform/mac/ScrollbarThemeMac.h:
2523         * platform/mac/ScrollbarThemeMac.mm:
2524         (WebCore::ScrollbarThemeMac::setCurrentPaintCharacteristics):
2525         (WebCore::scrollbarPainterPaint):
2526         (WebCore::ScrollbarThemeMac::paint):
2527
2528         Back to #1.
2529         * rendering/RenderLayer.cpp:
2530         (WebCore::RenderLayer::updatesScrollLayerPositionOnMainThread):
2531         * rendering/RenderLayer.h:
2532         * rendering/RenderLayerCompositor.cpp:
2533         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2534         * rendering/RenderListBox.h:
2535
2536 2013-10-10  Brent Fulgham  <bfulgham@apple.com>
2537
2538         [Win] Unreviewed build fix after r157228
2539
2540         The changes in r157228 trigger a bug in VS2010. This patch works around the compiler bug
2541         to allow this platform to build.
2542
2543         * dom/Range.cpp: Move implementation to header file.
2544         * dom/Range.h: Inline the method.
2545         * page/DOMWindow.cpp:
2546         (WebCore::DOMWindow::open): Add stub method (with pointer arguments) to call the real
2547         method with references.
2548         * page/DOMWindow.h: Declare stub method taking pointer arguments to avoid compiler bug.
2549         * testing/Internals.cpp:
2550         (WebCore::Internals::openDummyInspectorFrontend): Use work-around method when building under
2551         the buggy version of Visual Studio.
2552
2553 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
2554
2555         Make all functions of EventDispatcher static
2556         https://bugs.webkit.org/show_bug.cgi?id=122591
2557
2558         Reviewed by Antti Koivisto.
2559
2560         Now that EventDispatchMediator is gone, we don't have to have an EventDispatcher object.
2561         Turn EventDispatcher into an empty class with a bunch of static functions.
2562
2563         We can convert it to a namespace or whatever later.
2564
2565         * dom/EventDispatcher.cpp:
2566         (WebCore::EventDispatcher::dispatchSimulatedClick):
2567         (WebCore::EventDispatcher::dispatchEvent):
2568         * dom/EventDispatcher.h:
2569
2570 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
2571
2572         Convert some OwnPtr/PassOwnPtr in CoordinatedGraphics code to std::unique_ptr's
2573         https://bugs.webkit.org/show_bug.cgi?id=122614
2574
2575         Reviewed by Anders Carlsson.
2576
2577         No new tests, covered by existing ones.
2578
2579         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2580         (WebCore::CompositingCoordinator::paintToSurface):
2581         (WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
2582         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
2583         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2584         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
2585         (WebCore::CoordinatedGraphicsLayer::createBackingStore):
2586         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
2587         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
2588         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2589         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2590         (WebCore::CoordinatedGraphicsScene::createLayer):
2591         (WebCore::CoordinatedGraphicsScene::deleteLayer):
2592         (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
2593         (WebCore::CoordinatedGraphicsScene::purgeGLResources):
2594         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2595         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp:
2596         (WebCore::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface):
2597         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h:
2598         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
2599         (WebCore::UpdateAtlas::buildLayoutIfNeeded):
2600         (WebCore::UpdateAtlas::didSwapBuffers):
2601         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
2602         (WebCore::UpdateAtlas::isInUse):
2603
2604 2013-10-10  Roger Fong  <roger_fong@apple.com>
2605
2606         Validate uniform input when setting texture sampler uniforms.
2607         https://bugs.webkit.org/show_bug.cgi?id=122610.
2608
2609         Reviewed by Dean Jackson.
2610
2611         Covered by Khronos Conformance Suite 1.0.2.
2612         Specifically, conformance/uniforms/uniform-samplers-test.html.
2613
2614         * html/canvas/WebGLRenderingContext.cpp:
2615         (WebCore::WebGLRenderingContext::uniform1i):
2616         (WebCore::WebGLRenderingContext::uniform1iv):
2617
2618 2013-10-10  Roger Fong  <roger_fong@apple.com>
2619
2620         Store uniform type information in WebGLUniformationLocation.
2621         https://bugs.webkit.org/show_bug.cgi?id=122607.
2622
2623         Reviewed by Dean Jackson.
2624
2625         Covered by Khronos Conformance Suite 1.0.2.
2626
2627         * html/canvas/WebGLRenderingContext.cpp:
2628         (WebCore::WebGLRenderingContext::getUniform):
2629         (WebCore::WebGLRenderingContext::getUniformLocation):
2630         * html/canvas/WebGLUniformLocation.cpp:
2631         (WebCore::WebGLUniformLocation::create):
2632         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
2633         (WebCore::WebGLUniformLocation::type):
2634         * html/canvas/WebGLUniformLocation.h:
2635
2636 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
2637
2638         REGRESSION(r157203): WebKit crashes after dispatching gesture event
2639         https://bugs.webkit.org/show_bug.cgi?id=122615
2640
2641         Reviewed by Anders Carlsson.
2642
2643         Don't release the event until the end of the function where we call member functions on it.
2644
2645         * dom/Node.cpp:
2646         (WebCore::Node::dispatchGestureEvent):
2647
2648 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
2649
2650         Move the rest of EventRetargeter functions to EventPath
2651         https://bugs.webkit.org/show_bug.cgi?id=122586
2652
2653         Reviewed by Andreas Kling.
2654
2655         Moved the rest of EventRetargeter functiosn either static local or EventPath member functions.
2656
2657         * dom/EventDispatcher.cpp:
2658         (WebCore::EventDispatcher::dispatchScopedEvent):
2659         (WebCore::EventDispatcher::dispatch):
2660         (WebCore::EventDispatcher::dispatchEventPostProcess):
2661         * dom/EventDispatcher.h:
2662         * dom/EventRetargeter.cpp:
2663         (WebCore::EventPath::EventPath):
2664         (WebCore::calculateAdjustedNodes): Made static local. Also takes const EventPath and returns the size
2665         to which EventPath should be shrunk; this allows us to remove EventPath::shrink.
2666         (WebCore::updateTouchListsInEventPath): Moved and renamed from EventRetargeter::adjustTouchList.
2667         (WebCore::EventPath::updateTouchLists): Moved and renamed from EventRetargeter::adjustForTouchEvent.
2668         (WebCore::EventPath::setRelatedTarget): Moved.
2669         * dom/EventRetargeter.h:
2670         (WebCore::eventTargetRespectingTargetRules): Renamed from EventRetargeter::eventTargetRespectingTargetRules.
2671
2672 2013-10-10  Mark Rowe  <mrowe@apple.com>
2673
2674         <rdar://problem/13341666> WebKit should always build against an SDK.
2675
2676         Have all projects default to building against the OS X Internal SDK for the Production
2677         configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
2678         to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
2679
2680         Reviewed by Dan Bernstein.
2681
2682
2683         * Configurations/Base.xcconfig:
2684         * Configurations/DebugRelease.xcconfig:
2685
2686 2013-10-10  Hans Muller  <hmuller@adobe.com>
2687
2688         [CSS Shapes] clampToUnsigned() should return unsigned, not int
2689         https://bugs.webkit.org/show_bug.cgi?id=122601
2690
2691         Reviewed by Andreas Kling.
2692
2693         Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned.
2694         No new tests since this is just an internal refactoring of existing code.
2695
2696         * rendering/shapes/RasterShape.cpp:
2697         (WebCore::RasterShape::marginIntervals): Use the redefined clampToUnsigned method.
2698
2699 2013-10-10  Bem Jones-Bey  <bjonesbe@adobe.com>
2700
2701         [CSS Shapes] New positioning model: Shape cropped to margin box
2702         https://bugs.webkit.org/show_bug.cgi?id=118092
2703
2704         Reviewed by Alexandru Chiculita.
2705
2706         Clip the shape to the margin box when it extends out the left or right
2707         edges. Also added a few local variables to make the code easier to
2708         read.
2709
2710         Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html
2711                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html
2712                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html
2713                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html
2714
2715         * rendering/shapes/ShapeOutsideInfo.cpp:
2716         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
2717
2718 2013-10-10  Daniel Bates  <dabates@apple.com>
2719
2720         Avoid resizing the internal buffer of SharedBuffer when creating a PurgeableBuffer
2721         https://bugs.webkit.org/show_bug.cgi?id=122516
2722
2723         Reviewed by Darin Adler.
2724
2725         Currently when we create a PurgeableBuffer from a SharedBuffer we may
2726         resize the internal buffer of the SharedBuffer so that it can fit the
2727         concatenated contents of all of its segments before copying this
2728         internal buffer to the internal buffer of the PurgeableBuffer. Instead,
2729         we can avoid resizing the internal buffer of SharedBuffer by allocating
2730         a PurgeableBuffer and then copying the internal buffer of SharedBuffer
2731         and its segments directly into it.
2732
2733         * platform/PurgeableBuffer.h:
2734         (WebCore::PurgeableBuffer::createUninitialized): Add inline implementation
2735         when building with ENABLE_PURGEABLE_MEMORY disabled.
2736         * platform/SharedBuffer.cpp:
2737         (WebCore::SharedBuffer::createPurgeableBuffer): Implemented in terms of
2738         SharedBuffer::{copyBufferAndClear, createUninitialized}().
2739         (WebCore::SharedBuffer::copyBufferAndClear): Added.
2740         (WebCore::SharedBuffer::buffer): Moved logic to copy segments/data array to
2741         SharedBuffer::copyBufferAndClear() and modified this function to use it.
2742         * platform/SharedBuffer.h:
2743         * platform/cf/SharedBufferCF.cpp:
2744         (WebCore::SharedBuffer::copyBufferAndClear): Renamed; formerly called SharedBuffer::copyDataArrayAndClear.
2745         * platform/mac/PurgeableBufferMac.cpp:
2746         (WebCore::allocatePurgeableBuffer): Added.
2747         (WebCore::PurgeableBuffer::createUninitialized): Added.
2748         (WebCore::PurgeableBuffer::create): Moved logic to allocate a purgeable buffer into
2749         PurgeableBuffer::createUninitialized() and modified this function to use it.
2750
2751 2013-10-09  Chris Fleizach  <cfleizach@apple.com>
2752
2753         AX: VoiceOver speaking too much when group elements with tabindex=-1 are used
2754         https://bugs.webkit.org/show_bug.cgi?id=122574
2755
2756         Reviewed by Mario Sanchez Prada.
2757
2758         Tests: accessibility/negative-tabindex-does-not-expose-label.html
2759
2760         Elements that expose tabindex=-1 are being identified as generic focusable elements for accessibility.
2761         Which among other things, determines whether to create an accessible name for the object. 
2762         This has the negative effect of causing VoiceOver to speak way too much information when navigating inside
2763         a <div> with this attribute.
2764
2765         * accessibility/AccessibilityNodeObject.cpp:
2766         (WebCore::AccessibilityNodeObject::visibleText):
2767         (WebCore::AccessibilityNodeObject::title):
2768
2769 2013-10-10  Andreas Kling  <akling@apple.com>
2770
2771         Remove custom finalizer for Node JS wrappers.
2772         <https://webkit.org/b/122603>
2773
2774         Reviewed by Geoff Garen.
2775
2776         Node can just use the auto-generated finalizer, the custom one was
2777         identical to what the generator would output.
2778
2779 2013-10-10  Andreas Kling  <akling@apple.com>
2780
2781         CTTE: activeDOMWindow() and firstDOMWindow() should return references.
2782         <https://webkit.org/b/122598>
2783
2784         Reviewed by Anders Carlsson.
2785
2786         Now that wrappers vend references to their WebCore objects, follow
2787         up and make these two return references as well.
2788
2789 2013-10-10  Mario Sanchez Prada  <mario.prada@samsung.com>
2790
2791         [ATK] Missing checks in returnIfWebKitAccessibleIsInvalid
2792         https://bugs.webkit.org/show_bug.cgi?id=122600
2793
2794         Reviewed by Chris Fleizach.
2795
2796         Check that the AccessibilityObject associated to the ATK wrapper
2797         is not NULL and contains a valid reference to the document before
2798         calling AccessibilityObject::updateBackingStore().
2799
2800         * accessibility/atk/WebKitAccessibleUtil.h: Add extra checks.
2801
2802 2013-10-10  Andreas Kling  <akling@apple.com>
2803
2804         Clean up JSDOMWindowShell a little.
2805         <https://webkit.org/b/122599>
2806
2807         Reviewed by Anders Carlsson.
2808
2809         - Have impl() return a DOMWindow& instead of a pointer.
2810         - Store the DOMWrapperWorld in a Ref instead of a RefPtr.
2811         - Reuse TRY_TO_UNWRAP_WITH_INTERFACE in EventTarget bindings.
2812
2813 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
2814
2815         Make XPathGrammar.y bison3-friendly again after r157205
2816         https://bugs.webkit.org/show_bug.cgi?id=122595
2817
2818         Reviewed by Anders Carlsson.
2819
2820         No new tests, build fix.
2821
2822         * xml/XPathGrammar.y: Replace YYLEX_PARAM with %lex-param, as the
2823         former was removed in bison3.
2824
2825 2013-10-10  Andreas Kling  <akling@apple.com>
2826
2827         SVGUseElement: Use iterative traversal to find disallowed elements.
2828         <https://webkit.org/b/122596>
2829
2830         Reviewed by Antti Koivisto.
2831
2832         Rewrote subtreeContainsDisallowedElement() in SVGUseElement.cpp to
2833         use iterative traversal with descendantsOfType<Element> instead of
2834         recursing through the tree.
2835
2836 2013-10-10  Andreas Kling  <akling@apple.com>
2837
2838         Move RenderObject::layout() to RenderElement.
2839         <https://webkit.org/b/122537>
2840
2841         Reviewed by Antti Koivisto.
2842
2843         RenderText will ASSERT_NOT_REACHED() in its layout(), so move this
2844         to RenderElement. This allows us to use the fast firstChild()
2845         instead of virtual dispatch.
2846
2847         The needsLayout() bit remains on RenderObject for now. Moving that
2848         to RenderElement is a far more involved change.
2849
2850 2013-10-10  Chris Fleizach  <cfleizach@apple.com>
2851
2852         AX: Crash at WebCore::accessibleNameForNode when visiting Facebook
2853         https://bugs.webkit.org/show_bug.cgi?id=122572
2854
2855         Reviewed by Mario Sanchez Prada.
2856
2857         Test: accessibility/aria-labeled-with-hidden-node.html
2858
2859         Handle the case where aria-labelledby references a non-rendered node.
2860
2861         * accessibility/AccessibilityNodeObject.cpp:
2862         (WebCore::accessibleNameForNode):
2863
2864 2013-10-10  Zan Dobersek  <zdobersek@igalia.com>
2865
2866         REGRESSION(r157210): Crashes in WebCore::ScopedEventQueue::dispatchEvent for platforms using GCC
2867         https://bugs.webkit.org/show_bug.cgi?id=122592
2868
2869         Reviewed by Gustavo Noronha Silva.
2870
2871         * dom/ScopedEventQueue.cpp:
2872         (WebCore::ScopedEventQueue::dispatchEvent): When calling EventDispatcher::dispatchEvent(), the GCC-compiled code
2873         first creates a copy of the PassRefPtr<Event> object that's being passed into the method call. The copy will be used
2874         in that method while the original is left with a null pointer. Only after that is the original queried for its pointer
2875         while trying to get the Event's target, resulting in a crash due to calling the Event::target() on a null pointer.
2876         To avoid it, pass a naked Event pointer to the method call. This will create a new PassRefPtr object without nullifying
2877         the original one.
2878
2879 2013-10-10  Andreas Kling  <akling@apple.com>
2880
2881         Use more Element iterators in SVG code.
2882         <http://webkit.org/b/121127>
2883
2884         Reviewed by Antti Koivisto.
2885
2886         Use childrenOfType to iterate over only SVGElement (or even more
2887         specific) children in a bunch of places.
2888
2889         Also auto-generate type helpers for SVGElement and SVGStopElement.
2890
2891 2013-10-10  Andreas Kling  <akling@apple.com>
2892
2893         JS DOM wrappers' impl() functions should return references.
2894         <https://webkit.org/b/122497>
2895
2896         Reviewed by Antti Koivisto.
2897
2898         JS DOM wrappers always have a corresponding WebCore object during
2899         their lifetime, so make impl() return a reference.
2900
2901 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
2902
2903         Fix debug build after r157210
2904         https://bugs.webkit.org/show_bug.cgi?id=122593
2905
2906         Reviewed by Andreas Kling.
2907
2908         No new tests, build fix.
2909
2910         * dom/EventContext.cpp:
2911         (WebCore::TouchEventContext::handleLocalEvents): Fix ASSERT, now that
2912         event is a reference instead of a pointer.
2913
2914 2013-10-10  Andreas Kling  <akling@apple.com>
2915
2916         Tighten some renderer access in Document.
2917         <https://webkit.org/b/121865>
2918
2919         Reviewed by Antti Koivisto.
2920
2921         A bit of Node/Element and RenderObject/RenderElement tightening.
2922
2923 2013-10-08  Andreas Kling  <akling@apple.com>
2924
2925         rangeOfContents() should take a Node&.
2926         <https://webkit.org/b/122438>
2927
2928         Reviewed by Darin Adler.
2929
2930         All callers of rangeOfContents() either have a Node& already,
2931         or do some kind of null-checking before calling it.
2932
2933 2013-10-08  Sergio Villar Senin  <svillar@igalia.com>
2934
2935         [CSS Grid Layout] Implement support for grid-template
2936         https://bugs.webkit.org/show_bug.cgi?id=103313
2937
2938         Reviewed by Dean Jackson.
2939
2940         Based on Blink r153427, r155199 and r155712 by <jchaffraix@chromium.org>
2941
2942         Test: fast/css-grid-layout/grid-template-get-set.html
2943
2944         Recognize, parse, store and return properly the value of
2945         grid-template. It required some extra parsing code because the
2946         specs mandates to check that the defined grid areas are indeed
2947         rectangular. Named grid areas are still not fully supported, will
2948         be done in a follow up patch.
2949
2950         As validating involves building the grid areas a new CSSValue was
2951         added to hold the computed value. Note that we have to track the
2952         explicit size of the named grid areas as the named grid areas
2953         (".") are not tracked in our HashMap of grid areas.
2954
2955         This change also involves moving GridCoordinate and GridSpan to a
2956         separate file in order to share the code that describes the grid
2957         area coordinates.
2958
2959         * CMakeLists.txt: Added new files to the build.
2960         * GNUmakefile.list.am: Ditto.
2961         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2962         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2963         * WebCore.xcodeproj/project.pbxproj: Ditto.
2964         * css/CSSComputedStyleDeclaration.cpp:
2965         (WebCore::ComputedStyleExtractor::propertyValue):
2966         * css/CSSGridTemplateValue.cpp: Added.
2967         (WebCore::CSSGridTemplateValue::CSSGridTemplateValue):
2968         (WebCore::stringForPosition):
2969         (WebCore::CSSGridTemplateValue::customCSSText):
2970         * css/CSSGridTemplateValue.h: Added.
2971         (WebCore::CSSGridTemplateValue::create):
2972         (WebCore::CSSGridTemplateValue::~CSSGridTemplateValue):
2973         (WebCore::CSSGridTemplateValue::gridAreaMap):
2974         (WebCore::CSSGridTemplateValue::rowCount):
2975         (WebCore::CSSGridTemplateValue::columnCount):
2976         (WebCore::toCSSGridTemplateValue):
2977         * css/CSSParser.cpp:
2978         (WebCore::CSSParser::parseValue):
2979         (WebCore::CSSParser::parseGridTemplate): create the grid areas and
2980         validate that they define rectangular sections.
2981         * css/CSSParser.h:
2982         * css/CSSPropertyNames.in: Added -webkit-grid-template.
2983         * css/CSSValue.cpp:
2984         (WebCore::CSSValue::equals): add support for the new CSSGridTemplateValue.
2985         (WebCore::CSSValue::cssText): Ditto.
2986         (WebCore::CSSValue::destroy): Ditto.
2987         * css/CSSValue.h:
2988         (WebCore::CSSValue::isGridTemplateValue):
2989         * css/StyleResolver.cpp:
2990         (WebCore::StyleResolver::applyProperty):
2991         * rendering/RenderGrid.cpp:
2992         (WebCore::RenderGrid::cachedGridCoordinate): Replaced RenderGrid::GridSpan by WebCore::GridSpan.
2993         (WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition): Ditto.
2994         (WebCore::RenderGrid::resolveGridPositionsFromStyle): Ditto.
2995         (WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition): Ditto.
2996         (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition): Ditto.
2997         (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition): Ditto.
2998         (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Ditto.
2999         * rendering/RenderGrid.h: Took GridSpan and GridCoordinate out.
3000         * rendering/style/GridCoordinate.h: Added.
3001         (WebCore::GridSpan::create):
3002         (WebCore::GridSpan::GridSpan):
3003         (WebCore::GridSpan::operator==):
3004         (WebCore::GridCoordinate::GridCoordinate):
3005         (WebCore::GridCoordinate::operator==):
3006         (WebCore::GridCoordinate::operator!=):
3007         * rendering/style/RenderStyle.h:
3008         * rendering/style/StyleGridData.cpp:
3009         (WebCore::StyleGridData::StyleGridData):
3010         * rendering/style/StyleGridData.h:
3011         (WebCore::StyleGridData::operator==):
3012
3013 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
3014
3015         Make EventDispatcher::dispatch comprehensible
3016         https://bugs.webkit.org/show_bug.cgi?id=122588
3017
3018         Reviewed by Andreas Kling.
3019
3020         Merged EventDispatcher::dispatchEventAtCapturing, EventDispatcher::dispatchEventAtTarget,
3021         EventDispatcher::dispatchEventAtBubbling, and EventDispatcher::dispatchEventPostProcess into EventDispatcher::dispatch,
3022         and extracted static local callDefaultEventHandlersInTheBubblingOrder and dispatchEventInDOM out of it.
3023
3024         Also made handleLocalEvents of subclasses of EventContext and Node take Event& instead of Event*.
3025
3026         * dom/EventContext.cpp: The following functions now take Event& instead of Event*.
3027         (WebCore::EventContext::handleLocalEvents):
3028         (WebCore::MouseOrFocusEventContext::handleLocalEvents):
3029         (WebCore::TouchEventContext::handleLocalEvents):
3030         * dom/EventContext.h:
3031
3032         * dom/EventDispatcher.cpp:
3033         (WebCore::callDefaultEventHandlersInTheBubblingOrder): Extracted from EventDispatcher::dispatchEventPostProcess,
3034         which is now merged into EventDispatcher::dispatch.
3035         (WebCore::dispatchEventInDOM): Extracted out of EventDispatcher::dispatch, EventDispatcher::dispatchEventAtCapturing,
3036         EventDispatcher::dispatchEventAtTarget and EventDispatcher::dispatchEventAtBubbling. This function is responsible for
3037         dispatching the event for capturing, at the target, and then bubbling through the event path chain.
3038         (WebCore::EventDispatcher::dispatch): EventDispatcher::dispatchEventPostProcess got merged into this. The calls to
3039         dispatchEventAtCapturing, dispatchEventAtTarget, and dispatchEventAtBubbling are replaced by a single call to
3040         dispatchEventInDOM.
3041         * dom/EventDispatcher.h:
3042
3043         * dom/FocusEvent.h:
3044         (WebCore::toFocusEvent): Added the version that takes a reference.
3045         * dom/MouseEvent.h:
3046         (WebCore::toMouseEvent): Ditto.
3047         * dom/TouchEvent.h:
3048         (WebCore::toTouchEvent): Ditto.
3049         * dom/Node.cpp:
3050         (WebCore::Node::handleLocalEvents): Now takes Event& instead of Event*.
3051         * dom/Node.h:
3052         * dom/WindowEventContext.cpp:
3053         (WebCore::WindowEventContext::handleLocalEvents): Ditto.
3054         * dom/WindowEventContext.h:
3055         * html/HTMLFormElement.cpp:
3056         (WebCore::HTMLFormElement::handleLocalEvents): Ditto.
3057         * html/HTMLFormElement.h:
3058
3059 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
3060
3061         Another build fix after r157204.
3062
3063         * dom/EventDispatcher.cpp:
3064         (WebCore::EventDispatcher::dispatch):
3065
3066 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
3067
3068         Build fix after r157204.
3069
3070         * dom/EventDispatcher.cpp:
3071         (WebCore::EventDispatcher::dispatch):
3072
3073 2013-10-07  Darin Adler  <darin@apple.com>
3074
3075         Use unique_ptr instead of deleteAllValues in XPath
3076         https://bugs.webkit.org/show_bug.cgi?id=121082
3077
3078         Reviewed by Anders Carlsson.
3079
3080         * dom/Attr.h: Made the namespaceURI function public so it can be called by
3081         code in XPath. Since the class is FINAL, calls won't do virtual dispatch.
3082
3083         * xml/XPathExpression.cpp:
3084         (WebCore::XPathExpression::XPathExpression): Added. Use std::move.
3085         (WebCore::XPathExpression::createExpression): Use the new Parser::parseStatement
3086         and more std::move.
3087         (WebCore::XPathExpression::~XPathExpression): Removed now-unneeded delete.
3088         * xml/XPathExpression.h: Removed unused create function. Use std::unique_ptr.
3089
3090         * xml/XPathExpressionNode.cpp:
3091         (WebCore::XPath::Expression::evaluationContext): Use NeverDestroyed instead of
3092         DEFINE_STATIC_LOCAL.
3093         (WebCore::XPath::Expression::setSubexpressions): Added. Used to set all the
3094         subexpressions at once rather than adding one at a time.
3095
3096         * xml/XPathExpressionNode.h: Use plain unsigned instead of unsigned long.
3097         Eliminated the ParseNode class, used only by the parser to delete objects,
3098         which we now do with %destructor. Made more functions protected. Fixed the
3099         capitalization of the word "subexpression". Made m_subexpressions be a Vector
3100         of std::unique_ptr.
3101
3102         * xml/XPathFunctions.cpp: Marked all the classes FINAL and all their virtual
3103         functions OVERRIDE. Reduced some of the boilerplate.
3104         (WebCore::XPath::Function::setArguments): Passed in the name so we don't have
3105         to store the function names in all the function objects.
3106         (WebCore::XPath::FunId::evaluate): Use std::move instead of Value::adopt.
3107         (WebCore::XPath::FunLocalName::evaluate): Use emptyString instead of "".
3108         (WebCore::XPath::FunNamespaceURI::evaluate): Ditto.
3109         (WebCore::XPath::FunName::evaluate): Ditto.
3110         (WebCore::XPath::FunSubstringBefore::evaluate): Ditto.
3111         (WebCore::XPath::FunSubstringAfter::evaluate): Ditto.
3112         (WebCore::XPath::FunSubstring::evaluate): Ditto.
3113         (WebCore::XPath::FunLang::evaluate): Use Value(false) so we can make the
3114         constructor that takes a boolean explicit.
3115         (WebCore::XPath::FunFalse::evaluate): Ditto.
3116         (WebCore::XPath::populateFunctionMap): Changed idiom slightly to match other
3117         maps we set up.
3118         (WebCore::XPath::Function::create): Refactored createFunction into three
3119         member functions of this name.
3120
3121         * xml/XPathFunctions.h: Made all the Function members private or protected
3122         except for Function::create.
3123
3124         * xml/XPathGrammar.y: Changed the parser to use a reference instead of
3125         a pointer, and to pass the reference through to yylex as well. Break up
3126         the union into pieces and add %destructor as needed to make sure everything
3127         gets deallocated if parsing fails. Added a new top level rule "Top" so that
3128         we would not try to set the parse result multiple times during parsing.
3129         Call setParseResult instead of setting m_topExpr directly. Use std::unique_ptr
3130         to adopt pointers from the union. Removed all the register/unregister calls
3131         that used to be used to manage storage. Also changed the four different node
3132         types to be separate tokens instead of using string matching at this level
3133         for them.
3134
3135         * xml/XPathNodeSet.cpp:
3136         (WebCore::XPath::NodeSet::sort): Removed const_cast since m_isSorted and
3137         m_nodes are now both marked mutable. Also set m_isSorted after sorting; this
3138         was an oversight that hurt performance before.
3139         (WebCore::XPath::NodeSet::traversalSort): Ditto.
3140         (WebCore::XPath::NodeSet::firstNode): Use nullptr.
3141         (WebCore::XPath::NodeSet::anyNode): Ditto.
3142
3143         * xml/XPathNodeSet.h: Removed unneeded extra includes. Removed the
3144         WTF_MAKE_FAST_ALLOCATED for NodeSet since we never allocate these on the heap.
3145         Added a constructor that takes a single node. Deleted the swap function, since
3146         we now move instead of swap. Deleted the append function that takes a raw Node*,
3147         since calling the PassRefPtr<Node> overload does the same thing. Removed the
3148         unused reverse function. Marked both m_isSorted and m_nodes mutable so the
3149         sort function can be const.
3150
3151         * xml/XPathParser.cpp: Moved the Token struct in here instead of the header.
3152         (WebCore::XPath::populateAxisNamesMap):Renamed to match our normal naming scheme,
3153         and changed to use add instead of set, use WTF_ARRAY_LENGTH, and not use a typedef.
3154         (WebCore::XPath::parseAxisName): Related style changes, including renaming to
3155         better reflect the way this works with a boolean.
3156         (WebCore::XPath::Parser::nextTokenInternal): Updated to call parseAxisName,
3157         and to produce four separate tokens for the four node type functions.
3158         (WebCore::XPath::Parser::nextToken): Renamed local variable.
3159         (WebCore::XPath::Parser::Parser): Made this a real constructor that takes arguments
3160         and initializes all the fields. Deleted the unneeded reset function.
3161         (WebCore::XPath::Parser::lex): Changed to take an argument of an appropriate type
3162         instead of casting from void*. Also changed the string code to leak a StringImpl,
3163         which is now what the grammar code expects.
3164         (WebCore::XPath::Parser::expandQualifiedName): Renamed from expandQName. Changed
3165         to set m_sawNamespaceError instead of relying on code in the grammar to do it.
3166         (WebCore::XPath::Parser::parseStatement): Removed most of the code in this function.
3167         Changed to a much simpler model. Also made this a static member function so it
3168         takes care of creating the parser itself and does not need to call reset. Also
3169         changed return value to be a std::unique_ptr to make ownership more clear.
3170
3171         * xml/XPathParser.h: Added a declaration of YYSTYPE. Removed unneeded forward
3172         declarations and moved Token into the cpp file. Deleted most public functions,
3173         leaving only parseStatement, the entry point, and the three functions needed by
3174         the grammar, lex, expandQualifiedName, and setParseResult.
3175
3176         * xml/XPathPath.cpp:
3177         (WebCore::XPath::Filter::Filter): Move in the arguments instead of copying them.
3178         (WebCore::XPath::Filter::evaluate): Updated for name and type changes.
3179         (WebCore::XPath::LocationPath::LocationPath): Ditto.
3180         (WebCore::XPath::LocationPath::evaluate): Ditto. Also use std::move instead of
3181         Value::adopt and instead of swap.
3182         (WebCore::XPath::LocationPath::appendStep): Changed to take ownership of a
3183         unique_ptr.
3184         (WebCore::XPath::LocationPath::prependStep): Ditto. Renamed from insertFirstStep.
3185         (WebCore::XPath::Path::Path): Move in the arguments.
3186
3187         * xml/XPathPath.h: Removed unneeded includes. Changed arugument types to use
3188         std::unique_ptr to pass ownership in. Added override to all virtual functions.
3189         Changed data members to use std::unique_ptr.
3190
3191         * xml/XPathPredicate.cpp:
3192         (WebCore::XPath::StringExpression::StringExpression): Use move.
3193         (WebCore::XPath::Negative::Negative): Added.
3194         (WebCore::XPath::Negative::evaluate): Updated for name changes.
3195         (WebCore::XPath::NumericOp::NumericOp): Use move.
3196         (WebCore::XPath::NumericOp::evaluate): Tweak formatting.
3197         (WebCore::XPath::EqTestOp::EqTestOp): Use move.
3198         (WebCore::XPath::EqTestOp::evaluate): Updated for name changes.
3199         (WebCore::XPath::LogicalOp::LogicalOp): Use move.
3200         (WebCore::XPath::LogicalOp::shortCircuitOn): Made shorter.
3201         (WebCore::XPath::LogicalOp::evaluate): Updated for name changes.
3202         (WebCore::XPath::Union::Union): Added.
3203         (WebCore::XPath::Union::evaluate): Updated for name changes.
3204         (WebCore::XPath::evaluatePredicate): Updated for name changes, to use
3205         ASCIILiteral, and to be a free function that takes an expression.
3206         (WebCore::XPath::predicateIsContextPositionSensitive): Added.
3207         Replaces the Predicate::isContextPositionSensitive function.
3208
3209         * xml/XPathPredicate.h: Made all the classes FINAL and added a lot of OVERRIDE.
3210         Added a constructor for Negative and Union. Got rid of the Predicate class and
3211         instead provided two functions that operate on an Expression.
3212
3213         * xml/XPathStep.cpp:
3214         (WebCore::XPath::Step::Step): Use move instea dof copying.
3215         (WebCore::XPath::Step::~Step): Removed calls to deleteAllValues.
3216         (WebCore::XPath::Step::optimize): Use move instead of swap and copy. Also
3217         operate directly on the data members of the node test instead of using functions
3218         that just return references to those data members.
3219         (WebCore::XPath::optimizeStepPair): Use references instead of pointers, move
3220         instead of swap, and early return instead of nested if statements.
3221         (WebCore::XPath::Step::predicatesAreContextListInsensitive): Use references.
3222         (WebCore::XPath::Step::evaluate): Use references instead of pointers and move
3223         instead of swap.
3224         (WebCore::XPath::nodeMatchesBasicTest): Use references instead of pointers and
3225         more specific types when possible.
3226         (WebCore::XPath::nodeMatches): Ditto.
3227         (WebCore::XPath::Step::nodesInAxis): Use references instead of pointers. Added
3228         braces to match style. Use words instead of letters for local variable names.
3229
3230         * xml/XPathStep.h: Make almost everything in NodeTest private since callers
3231         just set these up and Step is what actually uses them. Changed the predicate
3232         vectors to be vectors of Predicate instead of Predicate*, since a Predicate
3233         is just a wrapper around a single std::unique_ptr<Expression>. Changed to use
3234         move instead of copy when making a Step and to use references instead of pointers.
3235
3236         * xml/XPathValue.cpp: Use std::numeric_limits explicitly instead of using using.
3237         Got rid of Value::adopt.
3238         (WebCore::XPath::Value::toNodeSet): Use NeverDestroyed instead of DEFINE_STATE_LOCAL.
3239         Updated for name changes.
3240         (WebCore::XPath::Value::modifiableNodeSet): Ditto.
3241         (WebCore::XPath::Value::toBoolean): Ditto.
3242         (WebCore::XPath::Value::toNumber): Ditto.
3243         (WebCore::XPath::Value::toString): Ditto. Use ASCIILiteral.
3244
3245         * xml/XPathValue.h: Moved ValueData class inside the Value class and renamed
3246         it Value::Data. Removed fancy trick that avoids turning pointers into bool, and
3247         just take the risk. Made many, but not all, of the Value constructors explicit
3248         since we normally are explicit at call sites. Removed unneeded unsigned long
3249         overload of the constructor. Changed the NodeSet version of the constructor to
3250         use std::move and use that instead of AdoptTag.
3251
3252 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
3253
3254         Build fix. Add back the missing call to EventRetargeter::adjustForTouchEvent.
3255
3256         * dom/EventDispatcher.cpp:
3257         (WebCore::EventDispatcher::dispatch):
3258
3259 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
3260
3261         EventDispatchMediator is goner
3262         https://bugs.webkit.org/show_bug.cgi?id=122581
3263
3264         Reviewed by Antti Koivisto.
3265
3266         Killed the death.
3267
3268         * CMakeLists.txt:
3269         * GNUmakefile.list.am:
3270         * WebCore.vcxproj/WebCore.vcxproj:
3271         * WebCore.vcxproj/WebCore.vcxproj.filters:
3272         * WebCore.xcodeproj/project.pbxproj:
3273         * dom/DOMAllInOne.cpp:
3274         * dom/Element.cpp:
3275         (WebCore::Element::dispatchWheelEvent):
3276         (WebCore::Element::dispatchKeyEvent):
3277         (WebCore::Element::dispatchFocusEvent):
3278         (WebCore::Element::dispatchBlurEvent):
3279         * dom/EventDispatchMediator.cpp: Removed.
3280         * dom/EventDispatchMediator.h: Removed.
3281         * dom/EventDispatcher.cpp:
3282