Web Inspector: Remove the old front-end from WebKit
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-10  Marcelo Morais  <m.morais@samsung.com>
2
3         Web Inspector: Remove the old front-end from WebKit
4         https://bugs.webkit.org/show_bug.cgi?id=122295
5
6         Reviewed by Timothy Hatcher.
7
8         Updating the project files to remove all references from the old 
9         inspector front-end.
10
11         * WebCore.vcxproj/WebCore.vcxproj: Removed the references for the old
12         inspector front-end.
13         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
14         * WebCore.xcodeproj/project.pbxproj: Ditto.
15         * inspector/compile-front-end.py: Removed.
16
17 2013-10-10  Ryuan Choi  <ryuan.choi@samsung.com>
18
19         Unreviewed build fix with ENABLE_DEVICE_ORIENTATION after r157215
20
21         Now, impl() return reference instead of a pointer.
22
23         * bindings/js/JSDeviceMotionEventCustom.cpp:
24         (WebCore::JSDeviceMotionEvent::acceleration):
25         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
26         (WebCore::JSDeviceMotionEvent::rotationRate):
27         (WebCore::JSDeviceMotionEvent::interval):
28         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
29         * bindings/js/JSDeviceOrientationEventCustom.cpp:
30         (WebCore::JSDeviceOrientationEvent::alpha):
31         (WebCore::JSDeviceOrientationEvent::beta):
32         (WebCore::JSDeviceOrientationEvent::gamma):
33         (WebCore::JSDeviceOrientationEvent::absolute):
34         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
35
36 2013-10-10  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
37
38         [MediaStream API] update MediaStream object to match spec
39         https://bugs.webkit.org/show_bug.cgi?id=121939
40
41         Reviewed by Jer Noble.
42
43         Test: fast/mediastream/MediaStream-clone.html
44
45         * Modules/mediastream/MediaStream.cpp:
46         (WebCore::MediaStream::MediaStream):
47         (WebCore::MediaStream::ended):
48         (WebCore::MediaStream::clone):
49         (WebCore::MediaStream::cloneMediaStreamTrackVector):
50         (WebCore::MediaStream::contextDestroyed):
51         (WebCore::MediaStream::scheduledEventTimerFired):
52         * Modules/mediastream/MediaStream.h:
53         * Modules/mediastream/MediaStream.idl:
54
55 2013-10-10  Beth Dakin  <bdakin@apple.com>
56
57         Calling setUsePresentationValue on MountainLion results in unrecognized selector 
58         warnings
59         https://bugs.webkit.org/show_bug.cgi?id=122624
60
61         Reviewed by Tim Horton.
62
63         Only call setUsePresentationValue if the scrollbar supports updates on a secondary 
64         thread.
65         * platform/mac/ScrollAnimatorMac.mm:
66         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
67
68 2013-10-10  Seokju Kwon  <seokju@webkit.org>
69
70         Unreviewed build fix after r157250
71
72         * dom/EventDispatcher.cpp:
73         (WebCore::EventDispatcher::dispatchEvent):
74
75 2013-10-10  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
76
77         Create MediaStream object with ended attribute set if all tracks that are being used on its creation are ended
78         https://bugs.webkit.org/show_bug.cgi?id=122358
79
80         Reviewed by Jer Noble.
81
82         Spec tells that if all tracks that belongs to a new MediaStream object being created are ended,
83         then the ended attribute of this MediaStream must be set to true.
84         http://www.w3.org/TR/mediacapture-streams/#widl-MediaStream-ended
85
86         Since there is no port supporting MediaStream yet, we are skipping this test for now.
87
88         Test: fast/mediastream/MediaStream-construct-with-ended-tracks.html
89
90         * Modules/mediastream/MediaStream.cpp:
91         (WebCore::createFromSourceVectors):
92         (WebCore::MediaStream::create):
93         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
94         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
95         * platform/mediastream/MediaStreamDescriptor.cpp:
96         (WebCore::MediaStreamDescriptor::create):
97         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
98         * platform/mediastream/MediaStreamDescriptor.h:
99         * platform/mock/MockMediaStreamCenter.cpp:
100         (WebCore::MockMediaStreamCenter::createMediaStream):
101
102 2013-10-10  Andy Estes  <aestes@apple.com>
103
104         Add SPI for telling WebKit to prefer pictograph glyphs over monochrome ones
105         https://bugs.webkit.org/show_bug.cgi?id=122608
106
107         Reviewed by Dan Bernstein.
108
109         Based on patches by Dan Bernstein.
110
111         Test: fonts/font-fallback-prefers-pictographs.html
112
113         Created a mechanism to append a font to the end of a font's fallback
114         list, before the system fallback list. This mechanism is used when
115         Settings::fontFallbackPrefersPictographs() is true to insert a
116         pictograph font ahead of a monochrome one from the system fallback list.
117
118         * WebCore.exp.in: Moved
119         __ZN7WebCore8Settings33setFontFallbackPrefersPictographsEb outside of
120         an iOS platform guard.
121         * css/CSSFontSelector.cpp:
122         (WebCore::CSSFontSelector::fallbackFontDataCount): Retuned 1 if
123         pictograph fonts are preferred.
124         (WebCore::CSSFontSelector::getFallbackFontData): Returned the
125         pictograph font's FontData if it is preferred.
126         * css/CSSFontSelector.h:
127         * page/Settings.cpp:
128         (WebCore::Settings::Settings): Initialized
129         m_fontFallbackPrefersPictographs to false.
130         (WebCore::Settings::setFontFallbackPrefersPictographs): Set
131         m_fontFallbackPrefersPictographs and called
132         Page::setNeedsRecalcStyleInAllFrames().
133         * page/Settings.h:
134         (WebCore::Settings::fontFallbackPrefersPictographs):
135         * platform/graphics/FontGlyphs.cpp:
136         (WebCore::FontGlyphs::realizeFontDataAt): Realized the selector's
137         fallback font if necessary.
138         * platform/graphics/FontSelector.h:
139         * style/StyleResolveTree.cpp:
140         (WebCore::Style::resolveTree): Removed iOS platform guards.
141         * testing/InternalSettings.cpp:
142         (WebCore::InternalSettings::setFontFallbackPrefersPictographs): Set the
143         corresponding WebCore::Setting.
144         * testing/InternalSettings.h: Defined an internal setting for the test.
145         * testing/InternalSettings.idl: Ditto.
146
147 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
148
149         Remove unused attribute in CoordinatedTile class
150         https://bugs.webkit.org/show_bug.cgi?id=122619
151
152         Reviewed by Noam Rosenthal.
153
154         No new tests, covered by existing ones.
155
156         * platform/graphics/texmap/coordinated/CoordinatedTile.h: Remove
157         m_localBuffer.
158
159 2013-10-10  Beth Dakin  <bdakin@apple.com>
160
161         Scrollbars are updated on the main thread rather than the scrolling thread 
162         (causing scroll bars not to appear/update quickly in some cases)
163         https://bugs.webkit.org/show_bug.cgi?id=122585
164         -and corresponding-
165         <rdar://problem/10710775>
166
167         Reviewed by Simon Fraser.
168
169         This patch does a few things in order to allow scrollbars to be updated on the 
170         scrolling thread:
171
172         1. This patch adds the ability to know if the lower-level APIs necessary to get 
173         this to work right are available, AND if the content is actually capable of taking 
174         advantage of this feature. This is currently implemented as 
175         Scrollbar::supportsUpdateOnSecondaryThread() which makes use of a new 
176         ScrollableArea function called updatesScrollLayerPositionOnMainThread()
177         
178         2. To update on the scrolling thread, the scrolling tree needs to know about the 
179         ScrollbarPainters.
180         
181         3. Once it knows about them, it should update the presentation value whenever the 
182         layer position changes.
183         
184         4. Presentation value is basically the same thing as double value. There is a bit 
185         of code we maintain currently to compute that. This patch moves that code to a 
186         static function on ScrollableArea that can be called from both the main thread and 
187         the scrolling thread.
188         
189         5. ScrollbarPainter API needs to know about the layers we have created for the 
190         vertical and horizontal scrollbars, then they will use those layers and the 
191         presentation value that we set on the scrolling thread to move the layers around.
192
193         This is part of #1 above. 
194         * page/FrameView.cpp:
195         (WebCore::FrameView::updatesScrollLayerPositionOnMainThread):
196         * page/FrameView.h:
197
198         This is part of #2. ScrollingStateScrollingNodes now have vertical and horizontal 
199         ScrollbarPainters for Mac only.
200         * page/scrolling/ScrollingStateScrollingNode.cpp:
201         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
202         * page/scrolling/ScrollingStateScrollingNode.h:
203         (WebCore::ScrollingStateScrollingNode::verticalScrollbarPainter):
204         (WebCore::ScrollingStateScrollingNode::horizontalScrollbarPainter):
205
206         Also part of #2. Make sure to set the ScrollbarPainters for scrolling nodes when 
207         appropriate.
208         * page/scrolling/mac/ScrollingCoordinatorMac.h:
209         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
210         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
211
212         Implement this function that was just stubbed out before. This is part of #5 in 
213         that is will allow the ScrollbarPainter API to know about any layer changes. 
214         (WebCore::ScrollingCoordinatorMac::scrollableAreaScrollbarLayerDidChange):
215
216         Back to #2, making sure we properly set the ScrollbarPainters to send over to the 
217         scrolling thread.
218         (WebCore::ScrollingCoordinatorMac::setScrollbarPaintersForNode):
219         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
220         (WebCore::ScrollingStateScrollingNode::setScrollbarPainters):
221
222         This code achieves #3. It uses new ScrollbarPainter API to adjust the position of 
223         the scrollbars from the scrolling thread.
224         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
225         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
226         (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
227         (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
228         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
229
230         This is for #5. ScrollbarPainter needs to know about our scrollbar layers.
231         * platform/ScrollAnimator.h:
232         (WebCore::ScrollAnimator::verticalScrollbarLayerDidChange):
233         (WebCore::ScrollAnimator::horizontalScrollbarLayerDidChange):
234         * platform/ScrollableArea.cpp:
235         (WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
236         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
237
238         This is for #4. This code computes the scrollbar’s value and current overhang 
239         amount.
240         (WebCore::ScrollableArea::computeScrollbarValueAndOverhang):
241         * platform/ScrollableArea.h:
242         (WebCore::ScrollableArea::layerForHorizontalScrollbar):
243         (WebCore::ScrollableArea::layerForVerticalScrollbar):
244         (WebCore::ScrollableArea::layerForScrolling):
245
246         This is for #1. We need to know if we have the ability to update scrollbars on a 
247         different thread. We can do that only on certain versions of the OS, only when 
248         threaded scrolling is enabled, and only when the current page is actually using 
249         the scrolling thread to scroll.
250         * platform/Scrollbar.cpp:
251         (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
252         * platform/Scrollbar.h:
253         * platform/ScrollbarThemeClient.h:
254
255         New ScrollbarPainter APIs.
256         * platform/mac/NSScrollerImpDetails.h:
257
258         This is for #5, letting the ScrollbarPainter API  know about the layers.
259         * platform/mac/ScrollAnimatorMac.h:
260         * platform/mac/ScrollAnimatorMac.mm:
261         (-[WebScrollbarPainterDelegate layer]):
262         (-[WebScrollbarPainterDelegate convertRectToLayer:]):
263         (-[WebScrollbarPainterDelegate shouldUseLayerPerPartForScrollerImp:]):
264
265         Before we kick off a scroll animation, set the current painting characteristics so 
266         they are up-to-date in case we are scrolling on the scrolling thread.
267         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
268         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
269         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
270         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
271         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
272         (WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
273         (WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
274
275         Only paint the scrollbars through ScrollbarThemeMac if they are NOT being updated 
276         by the scrolling thread.
277         * platform/mac/ScrollbarThemeMac.h:
278         * platform/mac/ScrollbarThemeMac.mm:
279         (WebCore::ScrollbarThemeMac::setCurrentPaintCharacteristics):
280         (WebCore::scrollbarPainterPaint):
281         (WebCore::ScrollbarThemeMac::paint):
282
283         Back to #1.
284         * rendering/RenderLayer.cpp:
285         (WebCore::RenderLayer::updatesScrollLayerPositionOnMainThread):
286         * rendering/RenderLayer.h:
287         * rendering/RenderLayerCompositor.cpp:
288         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
289         * rendering/RenderListBox.h:
290
291 2013-10-10  Brent Fulgham  <bfulgham@apple.com>
292
293         [Win] Unreviewed build fix after r157228
294
295         The changes in r157228 trigger a bug in VS2010. This patch works around the compiler bug
296         to allow this platform to build.
297
298         * dom/Range.cpp: Move implementation to header file.
299         * dom/Range.h: Inline the method.
300         * page/DOMWindow.cpp:
301         (WebCore::DOMWindow::open): Add stub method (with pointer arguments) to call the real
302         method with references.
303         * page/DOMWindow.h: Declare stub method taking pointer arguments to avoid compiler bug.
304         * testing/Internals.cpp:
305         (WebCore::Internals::openDummyInspectorFrontend): Use work-around method when building under
306         the buggy version of Visual Studio.
307
308 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
309
310         Make all functions of EventDispatcher static
311         https://bugs.webkit.org/show_bug.cgi?id=122591
312
313         Reviewed by Antti Koivisto.
314
315         Now that EventDispatchMediator is gone, we don't have to have an EventDispatcher object.
316         Turn EventDispatcher into an empty class with a bunch of static functions.
317
318         We can convert it to a namespace or whatever later.
319
320         * dom/EventDispatcher.cpp:
321         (WebCore::EventDispatcher::dispatchSimulatedClick):
322         (WebCore::EventDispatcher::dispatchEvent):
323         * dom/EventDispatcher.h:
324
325 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
326
327         Convert some OwnPtr/PassOwnPtr in CoordinatedGraphics code to std::unique_ptr's
328         https://bugs.webkit.org/show_bug.cgi?id=122614
329
330         Reviewed by Anders Carlsson.
331
332         No new tests, covered by existing ones.
333
334         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
335         (WebCore::CompositingCoordinator::paintToSurface):
336         (WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
337         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
338         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
339         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
340         (WebCore::CoordinatedGraphicsLayer::createBackingStore):
341         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
342         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
343         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
344         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
345         (WebCore::CoordinatedGraphicsScene::createLayer):
346         (WebCore::CoordinatedGraphicsScene::deleteLayer):
347         (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
348         (WebCore::CoordinatedGraphicsScene::purgeGLResources):
349         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
350         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp:
351         (WebCore::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface):
352         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h:
353         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
354         (WebCore::UpdateAtlas::buildLayoutIfNeeded):
355         (WebCore::UpdateAtlas::didSwapBuffers):
356         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
357         (WebCore::UpdateAtlas::isInUse):
358
359 2013-10-10  Roger Fong  <roger_fong@apple.com>
360
361         Validate uniform input when setting texture sampler uniforms.
362         https://bugs.webkit.org/show_bug.cgi?id=122610.
363
364         Reviewed by Dean Jackson.
365
366         Covered by Khronos Conformance Suite 1.0.2.
367         Specifically, conformance/uniforms/uniform-samplers-test.html.
368
369         * html/canvas/WebGLRenderingContext.cpp:
370         (WebCore::WebGLRenderingContext::uniform1i):
371         (WebCore::WebGLRenderingContext::uniform1iv):
372
373 2013-10-10  Roger Fong  <roger_fong@apple.com>
374
375         Store uniform type information in WebGLUniformationLocation.
376         https://bugs.webkit.org/show_bug.cgi?id=122607.
377
378         Reviewed by Dean Jackson.
379
380         Covered by Khronos Conformance Suite 1.0.2.
381
382         * html/canvas/WebGLRenderingContext.cpp:
383         (WebCore::WebGLRenderingContext::getUniform):
384         (WebCore::WebGLRenderingContext::getUniformLocation):
385         * html/canvas/WebGLUniformLocation.cpp:
386         (WebCore::WebGLUniformLocation::create):
387         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
388         (WebCore::WebGLUniformLocation::type):
389         * html/canvas/WebGLUniformLocation.h:
390
391 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
392
393         REGRESSION(r157203): WebKit crashes after dispatching gesture event
394         https://bugs.webkit.org/show_bug.cgi?id=122615
395
396         Reviewed by Anders Carlsson.
397
398         Don't release the event until the end of the function where we call member functions on it.
399
400         * dom/Node.cpp:
401         (WebCore::Node::dispatchGestureEvent):
402
403 2013-10-10  Ryosuke Niwa  <rniwa@webkit.org>
404
405         Move the rest of EventRetargeter functions to EventPath
406         https://bugs.webkit.org/show_bug.cgi?id=122586
407
408         Reviewed by Andreas Kling.
409
410         Moved the rest of EventRetargeter functiosn either static local or EventPath member functions.
411
412         * dom/EventDispatcher.cpp:
413         (WebCore::EventDispatcher::dispatchScopedEvent):
414         (WebCore::EventDispatcher::dispatch):
415         (WebCore::EventDispatcher::dispatchEventPostProcess):
416         * dom/EventDispatcher.h:
417         * dom/EventRetargeter.cpp:
418         (WebCore::EventPath::EventPath):
419         (WebCore::calculateAdjustedNodes): Made static local. Also takes const EventPath and returns the size
420         to which EventPath should be shrunk; this allows us to remove EventPath::shrink.
421         (WebCore::updateTouchListsInEventPath): Moved and renamed from EventRetargeter::adjustTouchList.
422         (WebCore::EventPath::updateTouchLists): Moved and renamed from EventRetargeter::adjustForTouchEvent.
423         (WebCore::EventPath::setRelatedTarget): Moved.
424         * dom/EventRetargeter.h:
425         (WebCore::eventTargetRespectingTargetRules): Renamed from EventRetargeter::eventTargetRespectingTargetRules.
426
427 2013-10-10  Mark Rowe  <mrowe@apple.com>
428
429         <rdar://problem/13341666> WebKit should always build against an SDK.
430
431         Have all projects default to building against the OS X Internal SDK for the Production
432         configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
433         to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.
434
435         Reviewed by Dan Bernstein.
436
437
438         * Configurations/Base.xcconfig:
439         * Configurations/DebugRelease.xcconfig:
440
441 2013-10-10  Hans Muller  <hmuller@adobe.com>
442
443         [CSS Shapes] clampToUnsigned() should return unsigned, not int
444         https://bugs.webkit.org/show_bug.cgi?id=122601
445
446         Reviewed by Andreas Kling.
447
448         Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned.
449         No new tests since this is just an internal refactoring of existing code.
450
451         * rendering/shapes/RasterShape.cpp:
452         (WebCore::RasterShape::marginIntervals): Use the redefined clampToUnsigned method.
453
454 2013-10-10  Bem Jones-Bey  <bjonesbe@adobe.com>
455
456         [CSS Shapes] New positioning model: Shape cropped to margin box
457         https://bugs.webkit.org/show_bug.cgi?id=118092
458
459         Reviewed by Alexandru Chiculita.
460
461         Clip the shape to the margin box when it extends out the left or right
462         edges. Also added a few local variables to make the code easier to
463         read.
464
465         Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html
466                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html
467                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html
468                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html
469
470         * rendering/shapes/ShapeOutsideInfo.cpp:
471         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
472
473 2013-10-10  Daniel Bates  <dabates@apple.com>
474
475         Avoid resizing the internal buffer of SharedBuffer when creating a PurgeableBuffer
476         https://bugs.webkit.org/show_bug.cgi?id=122516
477
478         Reviewed by Darin Adler.
479
480         Currently when we create a PurgeableBuffer from a SharedBuffer we may
481         resize the internal buffer of the SharedBuffer so that it can fit the
482         concatenated contents of all of its segments before copying this
483         internal buffer to the internal buffer of the PurgeableBuffer. Instead,
484         we can avoid resizing the internal buffer of SharedBuffer by allocating
485         a PurgeableBuffer and then copying the internal buffer of SharedBuffer
486         and its segments directly into it.
487
488         * platform/PurgeableBuffer.h:
489         (WebCore::PurgeableBuffer::createUninitialized): Add inline implementation
490         when building with ENABLE_PURGEABLE_MEMORY disabled.
491         * platform/SharedBuffer.cpp:
492         (WebCore::SharedBuffer::createPurgeableBuffer): Implemented in terms of
493         SharedBuffer::{copyBufferAndClear, createUninitialized}().
494         (WebCore::SharedBuffer::copyBufferAndClear): Added.
495         (WebCore::SharedBuffer::buffer): Moved logic to copy segments/data array to
496         SharedBuffer::copyBufferAndClear() and modified this function to use it.
497         * platform/SharedBuffer.h:
498         * platform/cf/SharedBufferCF.cpp:
499         (WebCore::SharedBuffer::copyBufferAndClear): Renamed; formerly called SharedBuffer::copyDataArrayAndClear.
500         * platform/mac/PurgeableBufferMac.cpp:
501         (WebCore::allocatePurgeableBuffer): Added.
502         (WebCore::PurgeableBuffer::createUninitialized): Added.
503         (WebCore::PurgeableBuffer::create): Moved logic to allocate a purgeable buffer into
504         PurgeableBuffer::createUninitialized() and modified this function to use it.
505
506 2013-10-09  Chris Fleizach  <cfleizach@apple.com>
507
508         AX: VoiceOver speaking too much when group elements with tabindex=-1 are used
509         https://bugs.webkit.org/show_bug.cgi?id=122574
510
511         Reviewed by Mario Sanchez Prada.
512
513         Tests: accessibility/negative-tabindex-does-not-expose-label.html
514
515         Elements that expose tabindex=-1 are being identified as generic focusable elements for accessibility.
516         Which among other things, determines whether to create an accessible name for the object. 
517         This has the negative effect of causing VoiceOver to speak way too much information when navigating inside
518         a <div> with this attribute.
519
520         * accessibility/AccessibilityNodeObject.cpp:
521         (WebCore::AccessibilityNodeObject::visibleText):
522         (WebCore::AccessibilityNodeObject::title):
523
524 2013-10-10  Andreas Kling  <akling@apple.com>
525
526         Remove custom finalizer for Node JS wrappers.
527         <https://webkit.org/b/122603>
528
529         Reviewed by Geoff Garen.
530
531         Node can just use the auto-generated finalizer, the custom one was
532         identical to what the generator would output.
533
534 2013-10-10  Andreas Kling  <akling@apple.com>
535
536         CTTE: activeDOMWindow() and firstDOMWindow() should return references.
537         <https://webkit.org/b/122598>
538
539         Reviewed by Anders Carlsson.
540
541         Now that wrappers vend references to their WebCore objects, follow
542         up and make these two return references as well.
543
544 2013-10-10  Mario Sanchez Prada  <mario.prada@samsung.com>
545
546         [ATK] Missing checks in returnIfWebKitAccessibleIsInvalid
547         https://bugs.webkit.org/show_bug.cgi?id=122600
548
549         Reviewed by Chris Fleizach.
550
551         Check that the AccessibilityObject associated to the ATK wrapper
552         is not NULL and contains a valid reference to the document before
553         calling AccessibilityObject::updateBackingStore().
554
555         * accessibility/atk/WebKitAccessibleUtil.h: Add extra checks.
556
557 2013-10-10  Andreas Kling  <akling@apple.com>
558
559         Clean up JSDOMWindowShell a little.
560         <https://webkit.org/b/122599>
561
562         Reviewed by Anders Carlsson.
563
564         - Have impl() return a DOMWindow& instead of a pointer.
565         - Store the DOMWrapperWorld in a Ref instead of a RefPtr.
566         - Reuse TRY_TO_UNWRAP_WITH_INTERFACE in EventTarget bindings.
567
568 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
569
570         Make XPathGrammar.y bison3-friendly again after r157205
571         https://bugs.webkit.org/show_bug.cgi?id=122595
572
573         Reviewed by Anders Carlsson.
574
575         No new tests, build fix.
576
577         * xml/XPathGrammar.y: Replace YYLEX_PARAM with %lex-param, as the
578         former was removed in bison3.
579
580 2013-10-10  Andreas Kling  <akling@apple.com>
581
582         SVGUseElement: Use iterative traversal to find disallowed elements.
583         <https://webkit.org/b/122596>
584
585         Reviewed by Antti Koivisto.
586
587         Rewrote subtreeContainsDisallowedElement() in SVGUseElement.cpp to
588         use iterative traversal with descendantsOfType<Element> instead of
589         recursing through the tree.
590
591 2013-10-10  Andreas Kling  <akling@apple.com>
592
593         Move RenderObject::layout() to RenderElement.
594         <https://webkit.org/b/122537>
595
596         Reviewed by Antti Koivisto.
597
598         RenderText will ASSERT_NOT_REACHED() in its layout(), so move this
599         to RenderElement. This allows us to use the fast firstChild()
600         instead of virtual dispatch.
601
602         The needsLayout() bit remains on RenderObject for now. Moving that
603         to RenderElement is a far more involved change.
604
605 2013-10-10  Chris Fleizach  <cfleizach@apple.com>
606
607         AX: Crash at WebCore::accessibleNameForNode when visiting Facebook
608         https://bugs.webkit.org/show_bug.cgi?id=122572
609
610         Reviewed by Mario Sanchez Prada.
611
612         Test: accessibility/aria-labeled-with-hidden-node.html
613
614         Handle the case where aria-labelledby references a non-rendered node.
615
616         * accessibility/AccessibilityNodeObject.cpp:
617         (WebCore::accessibleNameForNode):
618
619 2013-10-10  Zan Dobersek  <zdobersek@igalia.com>
620
621         REGRESSION(r157210): Crashes in WebCore::ScopedEventQueue::dispatchEvent for platforms using GCC
622         https://bugs.webkit.org/show_bug.cgi?id=122592
623
624         Reviewed by Gustavo Noronha Silva.
625
626         * dom/ScopedEventQueue.cpp:
627         (WebCore::ScopedEventQueue::dispatchEvent): When calling EventDispatcher::dispatchEvent(), the GCC-compiled code
628         first creates a copy of the PassRefPtr<Event> object that's being passed into the method call. The copy will be used
629         in that method while the original is left with a null pointer. Only after that is the original queried for its pointer
630         while trying to get the Event's target, resulting in a crash due to calling the Event::target() on a null pointer.
631         To avoid it, pass a naked Event pointer to the method call. This will create a new PassRefPtr object without nullifying
632         the original one.
633
634 2013-10-10  Andreas Kling  <akling@apple.com>
635
636         Use more Element iterators in SVG code.
637         <http://webkit.org/b/121127>
638
639         Reviewed by Antti Koivisto.
640
641         Use childrenOfType to iterate over only SVGElement (or even more
642         specific) children in a bunch of places.
643
644         Also auto-generate type helpers for SVGElement and SVGStopElement.
645
646 2013-10-10  Andreas Kling  <akling@apple.com>
647
648         JS DOM wrappers' impl() functions should return references.
649         <https://webkit.org/b/122497>
650
651         Reviewed by Antti Koivisto.
652
653         JS DOM wrappers always have a corresponding WebCore object during
654         their lifetime, so make impl() return a reference.
655
656 2013-10-10  Sergio Correia  <sergio.correia@openbossa.org>
657
658         Fix debug build after r157210
659         https://bugs.webkit.org/show_bug.cgi?id=122593
660
661         Reviewed by Andreas Kling.
662
663         No new tests, build fix.
664
665         * dom/EventContext.cpp:
666         (WebCore::TouchEventContext::handleLocalEvents): Fix ASSERT, now that
667         event is a reference instead of a pointer.
668
669 2013-10-10  Andreas Kling  <akling@apple.com>
670
671         Tighten some renderer access in Document.
672         <https://webkit.org/b/121865>
673
674         Reviewed by Antti Koivisto.
675
676         A bit of Node/Element and RenderObject/RenderElement tightening.
677
678 2013-10-08  Andreas Kling  <akling@apple.com>
679
680         rangeOfContents() should take a Node&.
681         <https://webkit.org/b/122438>
682
683         Reviewed by Darin Adler.
684
685         All callers of rangeOfContents() either have a Node& already,
686         or do some kind of null-checking before calling it.
687
688 2013-10-08  Sergio Villar Senin  <svillar@igalia.com>
689
690         [CSS Grid Layout] Implement support for grid-template
691         https://bugs.webkit.org/show_bug.cgi?id=103313
692
693         Reviewed by Dean Jackson.
694
695         Based on Blink r153427, r155199 and r155712 by <jchaffraix@chromium.org>
696
697         Test: fast/css-grid-layout/grid-template-get-set.html
698
699         Recognize, parse, store and return properly the value of
700         grid-template. It required some extra parsing code because the
701         specs mandates to check that the defined grid areas are indeed
702         rectangular. Named grid areas are still not fully supported, will
703         be done in a follow up patch.
704
705         As validating involves building the grid areas a new CSSValue was
706         added to hold the computed value. Note that we have to track the
707         explicit size of the named grid areas as the named grid areas
708         (".") are not tracked in our HashMap of grid areas.
709
710         This change also involves moving GridCoordinate and GridSpan to a
711         separate file in order to share the code that describes the grid
712         area coordinates.
713
714         * CMakeLists.txt: Added new files to the build.
715         * GNUmakefile.list.am: Ditto.
716         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
717         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
718         * WebCore.xcodeproj/project.pbxproj: Ditto.
719         * css/CSSComputedStyleDeclaration.cpp:
720         (WebCore::ComputedStyleExtractor::propertyValue):
721         * css/CSSGridTemplateValue.cpp: Added.
722         (WebCore::CSSGridTemplateValue::CSSGridTemplateValue):
723         (WebCore::stringForPosition):
724         (WebCore::CSSGridTemplateValue::customCSSText):
725         * css/CSSGridTemplateValue.h: Added.
726         (WebCore::CSSGridTemplateValue::create):
727         (WebCore::CSSGridTemplateValue::~CSSGridTemplateValue):
728         (WebCore::CSSGridTemplateValue::gridAreaMap):
729         (WebCore::CSSGridTemplateValue::rowCount):
730         (WebCore::CSSGridTemplateValue::columnCount):
731         (WebCore::toCSSGridTemplateValue):
732         * css/CSSParser.cpp:
733         (WebCore::CSSParser::parseValue):
734         (WebCore::CSSParser::parseGridTemplate): create the grid areas and
735         validate that they define rectangular sections.
736         * css/CSSParser.h:
737         * css/CSSPropertyNames.in: Added -webkit-grid-template.
738         * css/CSSValue.cpp:
739         (WebCore::CSSValue::equals): add support for the new CSSGridTemplateValue.
740         (WebCore::CSSValue::cssText): Ditto.
741         (WebCore::CSSValue::destroy): Ditto.
742         * css/CSSValue.h:
743         (WebCore::CSSValue::isGridTemplateValue):
744         * css/StyleResolver.cpp:
745         (WebCore::StyleResolver::applyProperty):
746         * rendering/RenderGrid.cpp:
747         (WebCore::RenderGrid::cachedGridCoordinate): Replaced RenderGrid::GridSpan by WebCore::GridSpan.
748         (WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition): Ditto.
749         (WebCore::RenderGrid::resolveGridPositionsFromStyle): Ditto.
750         (WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition): Ditto.
751         (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition): Ditto.
752         (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition): Ditto.
753         (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Ditto.
754         * rendering/RenderGrid.h: Took GridSpan and GridCoordinate out.
755         * rendering/style/GridCoordinate.h: Added.
756         (WebCore::GridSpan::create):
757         (WebCore::GridSpan::GridSpan):
758         (WebCore::GridSpan::operator==):
759         (WebCore::GridCoordinate::GridCoordinate):
760         (WebCore::GridCoordinate::operator==):
761         (WebCore::GridCoordinate::operator!=):
762         * rendering/style/RenderStyle.h:
763         * rendering/style/StyleGridData.cpp:
764         (WebCore::StyleGridData::StyleGridData):
765         * rendering/style/StyleGridData.h:
766         (WebCore::StyleGridData::operator==):
767
768 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
769
770         Make EventDispatcher::dispatch comprehensible
771         https://bugs.webkit.org/show_bug.cgi?id=122588
772
773         Reviewed by Andreas Kling.
774
775         Merged EventDispatcher::dispatchEventAtCapturing, EventDispatcher::dispatchEventAtTarget,
776         EventDispatcher::dispatchEventAtBubbling, and EventDispatcher::dispatchEventPostProcess into EventDispatcher::dispatch,
777         and extracted static local callDefaultEventHandlersInTheBubblingOrder and dispatchEventInDOM out of it.
778
779         Also made handleLocalEvents of subclasses of EventContext and Node take Event& instead of Event*.
780
781         * dom/EventContext.cpp: The following functions now take Event& instead of Event*.
782         (WebCore::EventContext::handleLocalEvents):
783         (WebCore::MouseOrFocusEventContext::handleLocalEvents):
784         (WebCore::TouchEventContext::handleLocalEvents):
785         * dom/EventContext.h:
786
787         * dom/EventDispatcher.cpp:
788         (WebCore::callDefaultEventHandlersInTheBubblingOrder): Extracted from EventDispatcher::dispatchEventPostProcess,
789         which is now merged into EventDispatcher::dispatch.
790         (WebCore::dispatchEventInDOM): Extracted out of EventDispatcher::dispatch, EventDispatcher::dispatchEventAtCapturing,
791         EventDispatcher::dispatchEventAtTarget and EventDispatcher::dispatchEventAtBubbling. This function is responsible for
792         dispatching the event for capturing, at the target, and then bubbling through the event path chain.
793         (WebCore::EventDispatcher::dispatch): EventDispatcher::dispatchEventPostProcess got merged into this. The calls to
794         dispatchEventAtCapturing, dispatchEventAtTarget, and dispatchEventAtBubbling are replaced by a single call to
795         dispatchEventInDOM.
796         * dom/EventDispatcher.h:
797
798         * dom/FocusEvent.h:
799         (WebCore::toFocusEvent): Added the version that takes a reference.
800         * dom/MouseEvent.h:
801         (WebCore::toMouseEvent): Ditto.
802         * dom/TouchEvent.h:
803         (WebCore::toTouchEvent): Ditto.
804         * dom/Node.cpp:
805         (WebCore::Node::handleLocalEvents): Now takes Event& instead of Event*.
806         * dom/Node.h:
807         * dom/WindowEventContext.cpp:
808         (WebCore::WindowEventContext::handleLocalEvents): Ditto.
809         * dom/WindowEventContext.h:
810         * html/HTMLFormElement.cpp:
811         (WebCore::HTMLFormElement::handleLocalEvents): Ditto.
812         * html/HTMLFormElement.h:
813
814 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
815
816         Another build fix after r157204.
817
818         * dom/EventDispatcher.cpp:
819         (WebCore::EventDispatcher::dispatch):
820
821 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
822
823         Build fix after r157204.
824
825         * dom/EventDispatcher.cpp:
826         (WebCore::EventDispatcher::dispatch):
827
828 2013-10-07  Darin Adler  <darin@apple.com>
829
830         Use unique_ptr instead of deleteAllValues in XPath
831         https://bugs.webkit.org/show_bug.cgi?id=121082
832
833         Reviewed by Anders Carlsson.
834
835         * dom/Attr.h: Made the namespaceURI function public so it can be called by
836         code in XPath. Since the class is FINAL, calls won't do virtual dispatch.
837
838         * xml/XPathExpression.cpp:
839         (WebCore::XPathExpression::XPathExpression): Added. Use std::move.
840         (WebCore::XPathExpression::createExpression): Use the new Parser::parseStatement
841         and more std::move.
842         (WebCore::XPathExpression::~XPathExpression): Removed now-unneeded delete.
843         * xml/XPathExpression.h: Removed unused create function. Use std::unique_ptr.
844
845         * xml/XPathExpressionNode.cpp:
846         (WebCore::XPath::Expression::evaluationContext): Use NeverDestroyed instead of
847         DEFINE_STATIC_LOCAL.
848         (WebCore::XPath::Expression::setSubexpressions): Added. Used to set all the
849         subexpressions at once rather than adding one at a time.
850
851         * xml/XPathExpressionNode.h: Use plain unsigned instead of unsigned long.
852         Eliminated the ParseNode class, used only by the parser to delete objects,
853         which we now do with %destructor. Made more functions protected. Fixed the
854         capitalization of the word "subexpression". Made m_subexpressions be a Vector
855         of std::unique_ptr.
856
857         * xml/XPathFunctions.cpp: Marked all the classes FINAL and all their virtual
858         functions OVERRIDE. Reduced some of the boilerplate.
859         (WebCore::XPath::Function::setArguments): Passed in the name so we don't have
860         to store the function names in all the function objects.
861         (WebCore::XPath::FunId::evaluate): Use std::move instead of Value::adopt.
862         (WebCore::XPath::FunLocalName::evaluate): Use emptyString instead of "".
863         (WebCore::XPath::FunNamespaceURI::evaluate): Ditto.
864         (WebCore::XPath::FunName::evaluate): Ditto.
865         (WebCore::XPath::FunSubstringBefore::evaluate): Ditto.
866         (WebCore::XPath::FunSubstringAfter::evaluate): Ditto.
867         (WebCore::XPath::FunSubstring::evaluate): Ditto.
868         (WebCore::XPath::FunLang::evaluate): Use Value(false) so we can make the
869         constructor that takes a boolean explicit.
870         (WebCore::XPath::FunFalse::evaluate): Ditto.
871         (WebCore::XPath::populateFunctionMap): Changed idiom slightly to match other
872         maps we set up.
873         (WebCore::XPath::Function::create): Refactored createFunction into three
874         member functions of this name.
875
876         * xml/XPathFunctions.h: Made all the Function members private or protected
877         except for Function::create.
878
879         * xml/XPathGrammar.y: Changed the parser to use a reference instead of
880         a pointer, and to pass the reference through to yylex as well. Break up
881         the union into pieces and add %destructor as needed to make sure everything
882         gets deallocated if parsing fails. Added a new top level rule "Top" so that
883         we would not try to set the parse result multiple times during parsing.
884         Call setParseResult instead of setting m_topExpr directly. Use std::unique_ptr
885         to adopt pointers from the union. Removed all the register/unregister calls
886         that used to be used to manage storage. Also changed the four different node
887         types to be separate tokens instead of using string matching at this level
888         for them.
889
890         * xml/XPathNodeSet.cpp:
891         (WebCore::XPath::NodeSet::sort): Removed const_cast since m_isSorted and
892         m_nodes are now both marked mutable. Also set m_isSorted after sorting; this
893         was an oversight that hurt performance before.
894         (WebCore::XPath::NodeSet::traversalSort): Ditto.
895         (WebCore::XPath::NodeSet::firstNode): Use nullptr.
896         (WebCore::XPath::NodeSet::anyNode): Ditto.
897
898         * xml/XPathNodeSet.h: Removed unneeded extra includes. Removed the
899         WTF_MAKE_FAST_ALLOCATED for NodeSet since we never allocate these on the heap.
900         Added a constructor that takes a single node. Deleted the swap function, since
901         we now move instead of swap. Deleted the append function that takes a raw Node*,
902         since calling the PassRefPtr<Node> overload does the same thing. Removed the
903         unused reverse function. Marked both m_isSorted and m_nodes mutable so the
904         sort function can be const.
905
906         * xml/XPathParser.cpp: Moved the Token struct in here instead of the header.
907         (WebCore::XPath::populateAxisNamesMap):Renamed to match our normal naming scheme,
908         and changed to use add instead of set, use WTF_ARRAY_LENGTH, and not use a typedef.
909         (WebCore::XPath::parseAxisName): Related style changes, including renaming to
910         better reflect the way this works with a boolean.
911         (WebCore::XPath::Parser::nextTokenInternal): Updated to call parseAxisName,
912         and to produce four separate tokens for the four node type functions.
913         (WebCore::XPath::Parser::nextToken): Renamed local variable.
914         (WebCore::XPath::Parser::Parser): Made this a real constructor that takes arguments
915         and initializes all the fields. Deleted the unneeded reset function.
916         (WebCore::XPath::Parser::lex): Changed to take an argument of an appropriate type
917         instead of casting from void*. Also changed the string code to leak a StringImpl,
918         which is now what the grammar code expects.
919         (WebCore::XPath::Parser::expandQualifiedName): Renamed from expandQName. Changed
920         to set m_sawNamespaceError instead of relying on code in the grammar to do it.
921         (WebCore::XPath::Parser::parseStatement): Removed most of the code in this function.
922         Changed to a much simpler model. Also made this a static member function so it
923         takes care of creating the parser itself and does not need to call reset. Also
924         changed return value to be a std::unique_ptr to make ownership more clear.
925
926         * xml/XPathParser.h: Added a declaration of YYSTYPE. Removed unneeded forward
927         declarations and moved Token into the cpp file. Deleted most public functions,
928         leaving only parseStatement, the entry point, and the three functions needed by
929         the grammar, lex, expandQualifiedName, and setParseResult.
930
931         * xml/XPathPath.cpp:
932         (WebCore::XPath::Filter::Filter): Move in the arguments instead of copying them.
933         (WebCore::XPath::Filter::evaluate): Updated for name and type changes.
934         (WebCore::XPath::LocationPath::LocationPath): Ditto.
935         (WebCore::XPath::LocationPath::evaluate): Ditto. Also use std::move instead of
936         Value::adopt and instead of swap.
937         (WebCore::XPath::LocationPath::appendStep): Changed to take ownership of a
938         unique_ptr.
939         (WebCore::XPath::LocationPath::prependStep): Ditto. Renamed from insertFirstStep.
940         (WebCore::XPath::Path::Path): Move in the arguments.
941
942         * xml/XPathPath.h: Removed unneeded includes. Changed arugument types to use
943         std::unique_ptr to pass ownership in. Added override to all virtual functions.
944         Changed data members to use std::unique_ptr.
945
946         * xml/XPathPredicate.cpp:
947         (WebCore::XPath::StringExpression::StringExpression): Use move.
948         (WebCore::XPath::Negative::Negative): Added.
949         (WebCore::XPath::Negative::evaluate): Updated for name changes.
950         (WebCore::XPath::NumericOp::NumericOp): Use move.
951         (WebCore::XPath::NumericOp::evaluate): Tweak formatting.
952         (WebCore::XPath::EqTestOp::EqTestOp): Use move.
953         (WebCore::XPath::EqTestOp::evaluate): Updated for name changes.
954         (WebCore::XPath::LogicalOp::LogicalOp): Use move.
955         (WebCore::XPath::LogicalOp::shortCircuitOn): Made shorter.
956         (WebCore::XPath::LogicalOp::evaluate): Updated for name changes.
957         (WebCore::XPath::Union::Union): Added.
958         (WebCore::XPath::Union::evaluate): Updated for name changes.
959         (WebCore::XPath::evaluatePredicate): Updated for name changes, to use
960         ASCIILiteral, and to be a free function that takes an expression.
961         (WebCore::XPath::predicateIsContextPositionSensitive): Added.
962         Replaces the Predicate::isContextPositionSensitive function.
963
964         * xml/XPathPredicate.h: Made all the classes FINAL and added a lot of OVERRIDE.
965         Added a constructor for Negative and Union. Got rid of the Predicate class and
966         instead provided two functions that operate on an Expression.
967
968         * xml/XPathStep.cpp:
969         (WebCore::XPath::Step::Step): Use move instea dof copying.
970         (WebCore::XPath::Step::~Step): Removed calls to deleteAllValues.
971         (WebCore::XPath::Step::optimize): Use move instead of swap and copy. Also
972         operate directly on the data members of the node test instead of using functions
973         that just return references to those data members.
974         (WebCore::XPath::optimizeStepPair): Use references instead of pointers, move
975         instead of swap, and early return instead of nested if statements.
976         (WebCore::XPath::Step::predicatesAreContextListInsensitive): Use references.
977         (WebCore::XPath::Step::evaluate): Use references instead of pointers and move
978         instead of swap.
979         (WebCore::XPath::nodeMatchesBasicTest): Use references instead of pointers and
980         more specific types when possible.
981         (WebCore::XPath::nodeMatches): Ditto.
982         (WebCore::XPath::Step::nodesInAxis): Use references instead of pointers. Added
983         braces to match style. Use words instead of letters for local variable names.
984
985         * xml/XPathStep.h: Make almost everything in NodeTest private since callers
986         just set these up and Step is what actually uses them. Changed the predicate
987         vectors to be vectors of Predicate instead of Predicate*, since a Predicate
988         is just a wrapper around a single std::unique_ptr<Expression>. Changed to use
989         move instead of copy when making a Step and to use references instead of pointers.
990
991         * xml/XPathValue.cpp: Use std::numeric_limits explicitly instead of using using.
992         Got rid of Value::adopt.
993         (WebCore::XPath::Value::toNodeSet): Use NeverDestroyed instead of DEFINE_STATE_LOCAL.
994         Updated for name changes.
995         (WebCore::XPath::Value::modifiableNodeSet): Ditto.
996         (WebCore::XPath::Value::toBoolean): Ditto.
997         (WebCore::XPath::Value::toNumber): Ditto.
998         (WebCore::XPath::Value::toString): Ditto. Use ASCIILiteral.
999
1000         * xml/XPathValue.h: Moved ValueData class inside the Value class and renamed
1001         it Value::Data. Removed fancy trick that avoids turning pointers into bool, and
1002         just take the risk. Made many, but not all, of the Value constructors explicit
1003         since we normally are explicit at call sites. Removed unneeded unsigned long
1004         overload of the constructor. Changed the NodeSet version of the constructor to
1005         use std::move and use that instead of AdoptTag.
1006
1007 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
1008
1009         Build fix. Add back the missing call to EventRetargeter::adjustForTouchEvent.
1010
1011         * dom/EventDispatcher.cpp:
1012         (WebCore::EventDispatcher::dispatch):
1013
1014 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
1015
1016         EventDispatchMediator is goner
1017         https://bugs.webkit.org/show_bug.cgi?id=122581
1018
1019         Reviewed by Antti Koivisto.
1020
1021         Killed the death.
1022
1023         * CMakeLists.txt:
1024         * GNUmakefile.list.am:
1025         * WebCore.vcxproj/WebCore.vcxproj:
1026         * WebCore.vcxproj/WebCore.vcxproj.filters:
1027         * WebCore.xcodeproj/project.pbxproj:
1028         * dom/DOMAllInOne.cpp:
1029         * dom/Element.cpp:
1030         (WebCore::Element::dispatchWheelEvent):
1031         (WebCore::Element::dispatchKeyEvent):
1032         (WebCore::Element::dispatchFocusEvent):
1033         (WebCore::Element::dispatchBlurEvent):
1034         * dom/EventDispatchMediator.cpp: Removed.
1035         * dom/EventDispatchMediator.h: Removed.
1036         * dom/EventDispatcher.cpp:
1037         (WebCore::EventDispatcher::dispatchEvent):
1038         (WebCore::EventDispatcher::dispatchScopedEvent):
1039         * dom/EventDispatcher.h:
1040         * dom/KeyboardEvent.h:
1041         * dom/MouseEvent.h:
1042         * dom/Node.cpp:
1043         (WebCore::Node::dispatchScopedEvent):
1044         (WebCore::Node::dispatchEvent):
1045         (WebCore::Node::dispatchGestureEvent):
1046         (WebCore::Node::dispatchTouchEvent):
1047         (WebCore::Node::dispatchUIRequestEvent):
1048         * dom/Node.h:
1049         * dom/ScopedEventQueue.cpp:
1050         (WebCore::ScopedEventQueue::~ScopedEventQueue):
1051         (WebCore::ScopedEventQueue::enqueueEvent):
1052         (WebCore::ScopedEventQueue::dispatchAllEvents):
1053         (WebCore::ScopedEventQueue::dispatchEvent):
1054         * dom/ScopedEventQueue.h:
1055         * dom/TouchEvent.cpp:
1056         * dom/TouchEvent.h:
1057         * dom/UIEvent.h:
1058         * dom/WheelEvent.h:
1059
1060 2013-10-09  Andreas Kling  <akling@apple.com>
1061
1062         Kill some RenderObject::firstChildSlow/lastChildSlow usage.
1063         <https://webkit.org/b/122582>
1064
1065         Reviewed by Antti Koivisto.
1066
1067         Use tighter typing in some random places to flush out unnecessary use
1068         of virtual first/last child getters on RenderObject.
1069
1070         There are more of these opportunities, but I left them untouched to
1071         avoid snowballing this patch.
1072
1073 2013-10-09  Simon Fraser  <simon.fraser@apple.com>
1074
1075         Fix some bad paths in the Xcode project
1076         https://bugs.webkit.org/show_bug.cgi?id=122583
1077
1078         Reviewed by Mark Rowe.
1079
1080         Fix paths for some storage quota-related files, and remove
1081         reference to mediaControlsQuickTime.css which was removed in r156546.
1082
1083         * WebCore.xcodeproj/project.pbxproj:
1084
1085 2013-10-09  Alexandru Chiculita  <achicu@adobe.com>
1086
1087         Web Inspector: [CSS Regions] Display the correct fragment boxes for content inside flow threads
1088         https://bugs.webkit.org/show_bug.cgi?id=122291
1089
1090         Reviewed by Timothy Hatcher.
1091
1092         Tests: inspector/elements/highlight-regions-flow-horiz-bt.html
1093                inspector/elements/highlight-regions-flow-transform-horiz-bt.html
1094                inspector/elements/highlight-regions-flow-transform-vert-lr.html
1095                inspector/elements/highlight-regions-flow-transform-vert-rl.html
1096                inspector/elements/highlight-regions-flow-transform.html
1097                inspector/elements/highlight-regions-flow-vert-lr.html
1098                inspector/elements/highlight-regions-flow-vert-rl.html
1099                inspector/elements/highlight-regions-flow.html
1100
1101         Nodes inside a RenderFlowThread can be split across multiple regions. This patch adds the required
1102         code to compute "fragments" for each region. Each fragment will display its own label.
1103
1104         There are a couple of changes:
1105         1. The node highlight object now has a "scroll" property to hold the main view's scroll offset.
1106         2. There's a "fragment" array to get a list of quads for each renderer fragment. Renderers outside 
1107         RenderFlowThreads will just have one fragment.
1108         3. ElementInfo now has two more properties: "regionFlowInfo" (renamed from former flowInfo) and "contentFlowInfo".
1109         If the renderer is a RenderRegion it will have a regionFlowInfo. If the renderer is inside a RenderFlowThread
1110         then it will have a "contentFlowInfo".
1111
1112         * inspector/InspectorOverlay.cpp:
1113         (WebCore::InspectorOverlay::getHighlight): It should now take a "region" parameter to customize the output for a specific
1114         containing region.
1115         (WebCore::buildObjectForHighlight):
1116         (WebCore::buildObjectForCSSRegionContentClip): We need to know how to clip the fragments inside regions.
1117         (WebCore::buildObjectForRendererFragments): Extracted code from buildObjectForHighlight and added
1118         the new regions lookup code.
1119         (WebCore::buildObjectForElementInfo): Extracted from buildObjectForHighlight.
1120         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
1121         (WebCore::InspectorOverlay::drawQuadHighlight):
1122         * inspector/InspectorOverlayPage.css: There can be multiple labels on screen at once, so I've
1123         created the #element-title-template element that we clone for each label. .element-title-container is now
1124         holding all the .element-title elements, so that we can remove them all at once.
1125         (.element-title-container):
1126         (.element-title):
1127         (#element-title-template):
1128         (.tag-name):
1129         (.node-id):
1130         (.class-name):
1131         * inspector/InspectorOverlayPage.html:
1132         * inspector/InspectorOverlayPage.js:
1133         (reset):
1134         (_toggleOptionalValue):
1135         (_createElementTitle): Creates an element populated with data read from elementInfo.
1136         (_drawElementTitle): Added code to create more labels for multiple fragments.
1137         (_drawRegionsHighlight):
1138         (_drawFragmentHighlight):
1139         (drawNodeHighlight): Consolidated the scroll property into a canvas.transform.
1140
1141 2013-10-09  Simon Fraser  <simon.fraser@apple.com>
1142
1143         Layout assertion failure in WebCore::RenderView::paint
1144         https://bugs.webkit.org/show_bug.cgi?id=121925
1145
1146         Reviewed by Tim Horton.
1147
1148         This fixes the assertion seen when running WK2 API tests.
1149         
1150         If RenderLayerCompositor::flushPendingLayerChanges() was called before
1151         the root layer was attached, it would set m_shouldFlushOnReattach
1152         to do the flush later, after attaching (bypassing the runloop observer
1153         that updated layout if necessary).
1154         
1155         This could cause us to get to a CA commit without having updated
1156         layout, hence the assertion.
1157         
1158         Fix by having attachRootLayer() schedule a layer flush, rather than doing
1159         one right away.
1160
1161         * rendering/RenderLayerCompositor.cpp:
1162         (WebCore::RenderLayerCompositor::attachRootLayer):
1163
1164 2013-10-09  Bem Jones-Bey  <bjonesbe@adobe.com>
1165
1166         Move float logical location/dimension methods to RenderBlockFlow
1167         https://bugs.webkit.org/show_bug.cgi?id=122282
1168
1169         Reviewed by David Hyatt.
1170
1171         I recently moved the logical location and dimension methods from
1172         RenderBlock to FloatingObject. This made it so that the methods needed
1173         to take in the horizontal writing mode of the FloatingObject's
1174         container in order to do their thing. When looking into how to fix
1175         this, I came to understand why RenderBlock has methods to determine
1176         the logical location and dimensions of its children, when the children
1177         themselves have those methods: the methods on RenderBlock are for
1178         determining the logical value in the writing mode of that RenderBlock,
1179         and the method on the child is for determining the logical value in
1180         the writing mode of the child.
1181
1182         Since the floating object list has moved from RenderBlock to
1183         RenderBlockFlow, this change moves the logical dimension methods from
1184         FloatingObject to RenderBlockFlow.
1185
1186         No new tests, no new behavior.
1187
1188         * rendering/FloatingObjects.cpp:
1189         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
1190         (WebCore::FloatingObjects::FloatingObjects):
1191         (WebCore::::updateOffsetIfNeeded):
1192         (WebCore::::collectIfNeeded):
1193         (WebCore::::getHeightRemaining):
1194         * rendering/FloatingObjects.h:
1195         * rendering/LineWidth.cpp:
1196         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1197         * rendering/RenderBlockFlow.cpp:
1198         (WebCore::RenderBlockFlow::clearFloats):
1199         (WebCore::RenderBlockFlow::repaintOverhangingFloats):
1200         (WebCore::RenderBlockFlow::insertFloatingObject):
1201         (WebCore::RenderBlockFlow::removeFloatingObject):
1202         (WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
1203         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
1204         (WebCore::RenderBlockFlow::positionNewFloats):
1205         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
1206         (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
1207         (WebCore::RenderBlockFlow::addOverhangingFloats):
1208         (WebCore::RenderBlockFlow::hasOverhangingFloat):
1209         (WebCore::RenderBlockFlow::addIntrudingFloats):
1210         * rendering/RenderBlockFlow.h:
1211         (WebCore::RenderBlockFlow::logicalTopForFloat):
1212         (WebCore::RenderBlockFlow::logicalBottomForFloat):
1213         (WebCore::RenderBlockFlow::logicalLeftForFloat):
1214         (WebCore::RenderBlockFlow::logicalRightForFloat):
1215         (WebCore::RenderBlockFlow::logicalWidthForFloat):
1216         (WebCore::RenderBlockFlow::logicalHeightForFloat):
1217         (WebCore::RenderBlockFlow::logicalSizeForFloat):
1218         (WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat):
1219         (WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat):
1220         (WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat):
1221         (WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat):
1222         (WebCore::RenderBlockFlow::setLogicalTopForFloat):
1223         (WebCore::RenderBlockFlow::setLogicalLeftForFloat):
1224         (WebCore::RenderBlockFlow::setLogicalHeightForFloat):
1225         (WebCore::RenderBlockFlow::setLogicalWidthForFloat):
1226         * rendering/RenderBlockLineLayout.cpp:
1227         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
1228         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
1229         (WebCore::updateSegmentsForShapes):
1230         (WebCore::LineBreaker::nextSegmentBreak):
1231         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
1232         * rendering/shapes/ShapeOutsideInfo.cpp:
1233         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
1234         * rendering/shapes/ShapeOutsideInfo.h:
1235
1236 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
1237
1238         Remove MouseEventDispatchMediator
1239         https://bugs.webkit.org/show_bug.cgi?id=122580
1240
1241         Reviewed by Antti Koivisto.
1242
1243         Removed. Will remove EventDispatchMediator next.
1244
1245         * dom/Element.cpp:
1246         (WebCore::Element::dispatchMouseEvent):
1247         * dom/MouseEvent.cpp:
1248         * dom/MouseEvent.h:
1249         * dom/Node.cpp:
1250         (WebCore::Node::dispatchEvent):
1251         (WebCore::Node::dispatchTouchEvent):
1252
1253 2013-10-09  Ryosuke Niwa  <rniwa@webkit.org>
1254
1255         Remove all subclasses of EventDispatchMediator except MouseEventDispatchMediator
1256         https://bugs.webkit.org/show_bug.cgi?id=122579
1257
1258         Reviewed by Antti Koivisto.
1259
1260         Removed UIRequestEventDispatchMediator, GestureEventDispatchMediator, KeyboardEventDispatchMediator,
1261         and WheelEventDispatchMediator. Moved the code in the respective mediateAndDispatchEvent functions
1262         to their respective dispatch*Event functions in Node.cpp and Element.cpp.
1263
1264         * Modules/indieui/UIRequestEvent.cpp:
1265         (WebCore::UIRequestEvent::eventInterface):
1266         * Modules/indieui/UIRequestEvent.h:
1267         * dom/Element.cpp:
1268         (WebCore::deltaMode):
1269         (WebCore::Element::dispatchWheelEvent):
1270         (WebCore::Element::dispatchKeyEvent):
1271         * dom/GestureEvent.cpp:
1272         * dom/GestureEvent.h:
1273         * dom/KeyboardEvent.cpp:
1274         * dom/KeyboardEvent.h:
1275         * dom/Node.cpp:
1276         (WebCore::Node::dispatchGestureEvent):
1277         (WebCore::Node::dispatchUIRequestEvent):
1278         * dom/WheelEvent.cpp:
1279         * dom/WheelEvent.h:
1280
1281 2013-10-09  Bem Jones-Bey  <bjonesbe@adobe.com>
1282
1283         [CSS Shapes] Lines that don't intersect shape-outside should ignore both left and right margins
1284         https://bugs.webkit.org/show_bug.cgi?id=122570
1285
1286         Reviewed by Alexandru Chiculita.
1287
1288         Due to an oversight, the left margin on left floats and the right
1289         margin on right floats was having an effect on lines that did not
1290         intersect the shape (but did intersect the margin box of the float).
1291         By the spec, lines that do not intersect the shape should act as if
1292         the float isn't there, so those margins should have no effect on
1293         those lines. This patch fixes this.
1294
1295         No new tests, it is covered by the existing tests now that they have
1296         been fixed to have the proper behavior.
1297
1298         * rendering/shapes/ShapeOutsideInfo.cpp:
1299         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
1300
1301 2013-10-09  Bem Jones-Bey  <bjonesbe@adobe.com>
1302
1303         [CSS Shapes] Clip shape-outside to the bottom of the margin box
1304         https://bugs.webkit.org/show_bug.cgi?id=122562
1305
1306         Reviewed by Alexandru Chiculita.
1307
1308         The spec says that a shape-outside shape must be clipped to the
1309         margin box. This implements clipping the bottom of the shape to the
1310         bottom of the margin box.
1311
1312         Test: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html
1313               csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html
1314               csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html
1315               csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html
1316
1317         * rendering/RenderBlockFlow.cpp:
1318         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
1319
1320 2013-10-09  Sergio Correia  <sergio.correia@openbossa.org>
1321
1322         [CoordinatedGraphics] ASSERTION FAILED: !m_flushingLayers (after r156291)
1323         https://bugs.webkit.org/show_bug.cgi?id=122016
1324
1325         Reviewed by Noam Rosenthal.
1326
1327         To prevent calling scheduleLayerFlush() inside flushCompositingState(),
1328         we now only call m_client->notifyFlushRequired() - which will trigger
1329         scheduleLayerFlush() - if we are not already flushing layer changes.
1330
1331         No new tests, covered by existing ones.
1332
1333         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1334         (WebCore::CompositingCoordinator::notifyFlushRequired): Check if we
1335         are already flushing layer changes before calling notifyFlushRequired.
1336         (WebCore::CompositingCoordinator::sizeDidChange): Use notifyFlushRequired()
1337         from CompositingCoordinator instead of calling the one from m_client
1338         directly.
1339         (WebCore::CompositingCoordinator::createGraphicsLayer): Ditto.
1340         (WebCore::CompositingCoordinator::detachLayer): Ditto.
1341         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1342         (WebCore::CoordinatedGraphicsLayer::notifyFlushRequired): Added helper
1343         to check whether we are flushing layer changes before calling client()'s
1344         notifyFlushRequired(). It returns a boolean indicating whether it
1345         called the client's method.
1346         (WebCore::CoordinatedGraphicsLayer::didChangeLayerState): Use the
1347         notifyFlushRequired() helper.
1348         (WebCore::CoordinatedGraphicsLayer::didChangeAnimations): Ditto.
1349         (WebCore::CoordinatedGraphicsLayer::didChangeChildren): Ditto.
1350         (WebCore::CoordinatedGraphicsLayer::didChangeFilters): Ditto.
1351         (WebCore::CoordinatedGraphicsLayer::didChangeImageBacking): Ditto.
1352         (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay): Ditto.
1353         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas): Ditto.
1354         (WebCore::CoordinatedGraphicsLayer::flushCompositingState): Ditto.
1355         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):Ditto.
1356         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1357         Declaration of the notifyFlushRequired() helper.
1358
1359 2013-10-09  Chris Fleizach  <cfleizach@apple.com>
1360
1361         AX: VoiceOver double speaks all items in <li> nodes
1362         https://bugs.webkit.org/show_bug.cgi?id=122564
1363
1364         Reviewed by Brent Fulgham.
1365
1366         Test: platform/mac/accessibility/native-list-item-should-not-expose-label.html
1367
1368         * accessibility/AccessibilityNodeObject.cpp:
1369         (WebCore::AccessibilityNodeObject::visibleText):
1370
1371 2013-10-09  Sergio Correia  <sergio.correia@openbossa.org>
1372
1373         CoordinatedGraphics: Fix integer rounding when computing pixel alignment
1374         https://bugs.webkit.org/show_bug.cgi?id=122565
1375
1376         Reviewed by Noam Rosenthal.
1377
1378         Replace roundedIntRect call in computePixelAlignment() with enclosingIntRect,
1379         so that very small rectangles (after content scaling) don't appear to be empty,
1380         creating a crash later.
1381
1382         Test: transforms/3d/general/rotate-45-degrees-long-inner-text-in-dt.html
1383
1384         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1385         (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
1386
1387 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1388
1389         Rename EventRetargeter::adjustForRelatedTarget to EventPath::setRelatedTarget
1390         https://bugs.webkit.org/show_bug.cgi?id=122539
1391
1392         Reviewed by Darin Adler.
1393
1394         Renamed EventRetargeter::adjustForRelatedTarget to EventPath::setRelatedTarget and got rid of
1395         EventDispatchMediators for focus events. We set the related target inside EventDispatcher's
1396         dispatch via Event::relatedTarget, which is now virtual and overridden by mouse/focus events.
1397
1398         * dom/Element.cpp: The following functions no longer use FocusEventDispatchMediators.
1399         (WebCore::Element::dispatchFocusInEvent):
1400         (WebCore::Element::dispatchFocusOutEvent):
1401         (WebCore::Element::dispatchFocusEvent):
1402         (WebCore::Element::dispatchBlurEvent):
1403
1404         * dom/Event.h:
1405         (WebCore::Event::relatedTarget): Added as a virtual function.
1406
1407         * dom/EventDispatcher.cpp:
1408         (WebCore::EventDispatcher::dispatchEvent): Cache Event*.
1409         (WebCore::EventDispatcher::dispatch): Call setRelatedTargetToPath at the beginning to update
1410         related targets in the path.
1411
1412         * dom/EventDispatcher.h:
1413
1414         * dom/EventRetargeter.cpp:
1415         (WebCore::EventPath::EventPath): Initialize m_origin, used in EventPath::setRelatedTarget.
1416         (WebCore::EventRetargeter::adjustTouchList):
1417         (WebCore::EventPath::setRelatedTarget): Renamed from EventRetargeter::adjustForRelatedTarget.
1418         Delegated the nullity checks to callers by taking references instead of pointers.
1419         (WebCore::EventRetargeter::calculateAdjustedNodes):
1420
1421         * dom/EventRetargeter.h: Removed AdjustedNodes typedef. It's just a Vector of RefPtr<Node>.
1422
1423         * dom/FocusEvent.cpp: Removed FocusEventDispatchMediators for focus events.
1424         * dom/FocusEvent.h:
1425
1426         * dom/MouseEvent.cpp:
1427         (WebCore::MouseEvent::toElement): Cache the related target now that relatedTarget() is virtual.
1428         (WebCore::MouseEvent::fromElement): Ditto.
1429         (WebCore::MouseEventDispatchMediator::mediateAndDispatchEvent): No longer sets the related
1430         targets since that's done in EventDispatcher::dispatch now.
1431
1432         * dom/MouseEvent.h:
1433
1434         * dom/Node.cpp: Removed obnoxious Node::dispatchScopedEventDispatchMediator.
1435         (WebCore::Node::dispatchScopedEvent):
1436         * dom/Node.h:
1437
1438         * html/shadow/MediaControlElements.cpp:
1439         (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Cache the related
1440         target in a local variable now that relatedTarget() is virtual.
1441
1442 2013-10-09  Chris Fleizach  <cfleizach@apple.com>
1443
1444         AX: VoiceOver does not speak aria-expanded state on iOS
1445         https://bugs.webkit.org/show_bug.cgi?id=122540
1446
1447         Expose aria-pressed state for iOS.
1448
1449         Reviewed by Mario Sanchez Prada.
1450
1451         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1452         (-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):
1453
1454 2013-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1455
1456         Unreviewed. Update GObject DOM symbols file after r157163.
1457
1458         * bindings/gobject/webkitdom.symbols:
1459
1460 2013-10-08  Anders Carlsson  <andersca@apple.com>
1461
1462         Remove RunLoopMac.mm
1463         https://bugs.webkit.org/show_bug.cgi?id=122527
1464
1465         Reviewed by Antti Koivisto.
1466
1467         RunLoop::setUseApplicationRunLoopOnMainRunLoop() is no longer used, so we can just use the run() and stop()
1468         implementations from RunLoopCF.
1469
1470         * WebCore.exp.in:
1471         * WebCore.xcodeproj/project.pbxproj:
1472         * platform/RunLoop.cpp:
1473         * platform/RunLoop.h:
1474         * platform/cf/RunLoopCF.cpp:
1475         (WebCore::RunLoop::stop):
1476         * platform/mac/RunLoopMac.mm: Removed.
1477
1478 2013-10-09  Mario Sanchez Prada  <mario.prada@samsung.com>
1479
1480         [ATK] Implement new API in AtkText: atk_text_get_string_at_offset()
1481         https://bugs.webkit.org/show_bug.cgi?id=120638
1482
1483         Reviewed by Gustavo Noronha Silva.
1484
1485         Implemented new atk_text_get_string_at_offset() API, introduced in
1486         ATK 2.9.4 to simplify how text at a given offset is retrieved.
1487
1488         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1489         (webkitAccessibleTextGetStringAtOffset): New function implementing
1490         the new API, which basically translates calls to the new API to
1491         calls to the old API using 'at' positions and START boundaries.
1492         (webkitAccessibleTextInterfaceInit): Hook the new function.
1493
1494 2013-10-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1495
1496         [GTK] mouse wheel events are not considered to be mouse events
1497         https://bugs.webkit.org/show_bug.cgi?id=120648
1498
1499         Reviewed by Gustavo Noronha Silva.
1500
1501         Expose WheelEvent in the GObject DOM bindings API.
1502
1503         * bindings/gobject/GNUmakefile.am: Add new files to compilation.
1504         * bindings/gobject/WebKitDOMPrivate.cpp:
1505         (WebKit::wrap): Create a WebKitDOMWheelEvent when the given Event
1506         is a WheelEvent.
1507
1508 2013-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1509
1510         Unreviewed. Fix EFL buildbreak since r157152.
1511
1512         * dom/EventRetargeter.cpp:
1513         (WebCore::EventRetargeter::adjustForTouchEvent):
1514
1515 2013-10-08  Alex Christensen  <achristensen@webkit.org>
1516
1517         Improved WinLauncher.
1518         https://bugs.webkit.org/show_bug.cgi?id=122536
1519
1520         Reviewed by Brent Fulgham.
1521
1522         * platform/network/curl/ResourceHandleManager.cpp:
1523         (WebCore::cookieJarPath):
1524         Put cookies.dat into the AppData directory on Windows.
1525
1526 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1527
1528         Remove the code erroneously in the previous commit.
1529
1530         * dom/EventDispatcher.h:
1531         (WebCore::EventPath::contextAt):
1532
1533 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1534
1535         Turn EventPath into a real class
1536         https://bugs.webkit.org/show_bug.cgi?id=122533
1537
1538         Reviewed by Antti Koivisto.
1539
1540         Turned EventPath into a real class and made EventRetargeter::calculateEventPath its constructor.
1541         We can turn a lot of functions in EventRetargeter.cpp member functions of EventPath since many
1542         of them manipulate EventPath in one way or another.
1543
1544         * dom/EventContext.h:
1545         (WebCore::toMouseOrFocusEventContext):
1546         (WebCore::toTouchEventContext):
1547         * dom/EventDispatcher.cpp:
1548         (WebCore::EventDispatcher::EventDispatcher):
1549         (WebCore::EventDispatcher::dispatchEventAtCapturing):
1550         (WebCore::EventDispatcher::dispatchEventAtTarget):
1551         (WebCore::EventDispatcher::dispatchEventAtBubbling):
1552         (WebCore::EventDispatcher::dispatchEventPostProcess):
1553         (WebCore::EventDispatcher::topEventContext):
1554         (WebCore::EventPath::hasEventListeners):
1555         * dom/EventDispatcher.h:
1556         (WebCore::EventPath::isEmpty):
1557         (WebCore::EventPath::size):
1558         (WebCore::EventPath::item):
1559         (WebCore::EventPath::targetRespectingTargetRules):
1560         (WebCore::EventPath::shrink):
1561         (WebCore::EventPath::lastContextIfExists):
1562         * dom/EventRetargeter.cpp:
1563         (WebCore::EventPath::EventPath):
1564         (WebCore::EventRetargeter::adjustForTouchEvent):
1565         (WebCore::EventRetargeter::adjustForRelatedTarget):
1566         (WebCore::EventRetargeter::calculateAdjustedNodes):
1567         * dom/EventRetargeter.h:
1568         * inspector/InspectorInstrumentation.cpp:
1569         (WebCore::eventHasListeners):
1570         * inspector/InspectorInstrumentation.h:
1571
1572 2013-10-08  Alex Christensen  <achristensen@webkit.org>
1573
1574         Enabled all necessary files for Win64 build.
1575         https://bugs.webkit.org/show_bug.cgi?id=122530
1576
1577         Reviewed by Brent Fulgham.
1578
1579         * WebCore.vcxproj/WebCore.vcxproj:
1580         Enabled MediaPlayerPrivateFullscreenWindow and
1581         RenderLayerModelObject to be built in Win64 build.
1582
1583 2013-10-07  Sam Weinig  <sam@webkit.org>
1584
1585         Consolidate findString functions
1586         https://bugs.webkit.org/show_bug.cgi?id=122480
1587
1588         Reviewed by Darin Adler.
1589
1590         * editing/Editor.cpp:
1591         * editing/Editor.h:
1592         * editing/EditorCommand.cpp:
1593         (WebCore::executeFindString):
1594         * page/DOMWindow.cpp:
1595         (WebCore::DOMWindow::find):
1596         * page/Page.cpp:
1597         * page/Page.h:
1598         Fix a long standing FIXME.
1599
1600 2013-10-08  Bem Jones-Bey  <bjonesbe@adobe.com>
1601
1602         Move m_floatingObjects to RenderBlockFlow from RenderBlock
1603         https://bugs.webkit.org/show_bug.cgi?id=122512
1604
1605         Reviewed by David Hyatt.
1606
1607         Floats are part of block flow, not every RenderBlock can contain
1608         floars. This change makes it so that RenderBlock no longer can contain
1609         floats, only RenderBlockFlow can.
1610
1611         This also moves a bunch of line layout stuff over to RenderBlockFlow,
1612         but makes no effort to move all of line layout, as all of that is
1613         destined to move out of both RenderBlockFlow and RenderBlock into its
1614         own class.
1615
1616         No new tests, no behavior change.
1617
1618         * rendering/InlineIterator.h:
1619         (WebCore::InlineBidiResolver::appendRun):
1620         * rendering/LineWidth.cpp:
1621         (WebCore::LineWidth::LineWidth):
1622         * rendering/LineWidth.h:
1623         * rendering/RenderBlock.cpp:
1624         (WebCore::RenderBlock::styleWillChange):
1625         (WebCore::RenderBlock::styleDidChange):
1626         (WebCore::RenderBlock::splitFlow):
1627         (WebCore::RenderBlock::deleteLineBoxTree):
1628         (WebCore::RenderBlock::removeChild):
1629         (WebCore::RenderBlock::computeOverflow):
1630         (WebCore::RenderBlock::selectionGaps):
1631         (WebCore::RenderBlock::adjustForBorderFit):
1632         * rendering/RenderBlock.h:
1633         (WebCore::RenderBlock::containsFloats):
1634         (WebCore::RenderBlock::shouldSkipCreatingRunsForObject):
1635         (WebCore::RenderBlock::addOverflowFromFloats):
1636         (WebCore::RenderBlock::logicalRightFloatOffsetForLine):
1637         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine):
1638         (WebCore::RenderBlock::moveAllChildrenOnRemovalTo):
1639         (WebCore::RenderBlock::paintFloats):
1640         (WebCore::RenderBlock::hitTestFloats):
1641         (WebCore::RenderBlock::clipOutFloatingObjects):
1642         * rendering/RenderBlockFlow.cpp:
1643         (WebCore::RenderBlockFlow::clearFloats):
1644         (WebCore::RenderBlockFlow::layoutBlock):
1645         (WebCore::RenderBlockFlow::layoutBlockChild):
1646         (WebCore::RenderBlockFlow::collapseMargins):
1647         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
1648         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
1649         (WebCore::RenderBlockFlow::containsFloat):
1650         (WebCore::RenderBlockFlow::styleDidChange):
1651         (WebCore::RenderBlockFlow::styleWillChange):
1652         (WebCore::RenderBlockFlow::deleteLineBoxTree):
1653         (WebCore::RenderBlockFlow::moveAllChildrenOnRemovalTo):
1654         (WebCore::RenderBlockFlow::addOverflowFromFloats):
1655         (WebCore::RenderBlockFlow::computeOverflow):
1656         (WebCore::RenderBlockFlow::repaintOverhangingFloats):
1657         (WebCore::RenderBlockFlow::paintFloats):
1658         (WebCore::RenderBlockFlow::clipOutFloatingObjects):
1659         (WebCore::RenderBlockFlow::createFloatingObjects):
1660         (WebCore::RenderBlockFlow::removeFloatingObjects):
1661         (WebCore::RenderBlockFlow::insertFloatingObject):
1662         (WebCore::RenderBlockFlow::removeFloatingObject):
1663         (WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
1664         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
1665         (WebCore::RenderBlockFlow::positionNewFloats):
1666         (WebCore::RenderBlockFlow::newLine):
1667         (WebCore::RenderBlockFlow::logicalLeftFloatOffsetForLine):
1668         (WebCore::RenderBlockFlow::logicalRightFloatOffsetForLine):
1669         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
1670         (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
1671         (WebCore::RenderBlockFlow::addOverhangingFloats):
1672         (WebCore::RenderBlockFlow::hasOverhangingFloat):
1673         (WebCore::RenderBlockFlow::addIntrudingFloats):
1674         (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
1675         (WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
1676         (WebCore::RenderBlockFlow::getClearDelta):
1677         (WebCore::RenderBlockFlow::hitTestFloats):
1678         (WebCore::RenderBlockFlow::adjustForBorderFit):
1679         * rendering/RenderBlockFlow.h:
1680         (WebCore::RenderBlockFlow::hasOverhangingFloats):
1681         * rendering/RenderBlockLineLayout.cpp:
1682         (WebCore::LineBreaker::LineBreaker):
1683         (WebCore::RenderBlockFlow::appendRunsForObject):
1684         (WebCore::RenderBlockFlow::createLineBoxes):
1685         (WebCore::RenderBlockFlow::constructLine):
1686         (WebCore::RenderBlockFlow::setMarginsForRubyRun):
1687         (WebCore::updateLogicalInlinePositions):
1688         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
1689         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
1690         (WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
1691         (WebCore::setStaticPositions):
1692         (WebCore::RenderBlockFlow::handleTrailingSpaces):
1693         (WebCore::RenderBlockFlow::appendFloatingObjectToLastLine):
1694         (WebCore::constructBidiRunsForLine):
1695         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
1696         (WebCore::RenderBlockFlow::layoutRunsAndFloats):
1697         (WebCore::RenderBlockFlow::restartLayoutRunsAndFloatsInRange):
1698         (WebCore::pushShapeContentOverflowBelowTheContentBox):
1699         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLine):
1700         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
1701         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
1702         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
1703         (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
1704         (WebCore::RenderBlockFlow::repaintDirtyFloats):
1705         (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
1706         (WebCore::RenderBlockFlow::determineStartPosition):
1707         (WebCore::RenderBlockFlow::determineEndPosition):
1708         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
1709         (WebCore::RenderBlockFlow::matchedEndLine):
1710         (WebCore::shouldSkipWhitespaceAfterStartObject):
1711         (WebCore::updateSegmentsForShapes):
1712         (WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
1713         (WebCore::RenderBlockFlow::checkLinesForTextOverflow):
1714         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
1715         * rendering/RenderBox.cpp:
1716         (WebCore::RenderBox::outermostBlockContainingFloatingObject):
1717         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1718         * rendering/RenderBox.h:
1719         * rendering/RenderBoxModelObject.cpp:
1720         (WebCore::RenderBoxModelObject::moveChildrenTo):
1721         * rendering/RenderInline.cpp:
1722         (WebCore::RenderInline::splitFlow):
1723
1724 2013-10-08  Dean Jackson  <dino@apple.com>
1725
1726         Support unprefixed WebGL context creation
1727         https://bugs.webkit.org/show_bug.cgi?id=122523
1728         <rdar://problem/15179463>
1729
1730         Reviewed by Simon Fraser.
1731
1732         Add support for the unprefixed "webgl" canvas context type.
1733
1734         Test: fast/canvas/webgl/unprefixed-context.html
1735
1736         * html/HTMLCanvasElement.cpp:
1737         (WebCore::HTMLCanvasElement::is3dType):
1738         * inspector/InjectedScriptCanvasModuleSource.js:
1739
1740 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1741
1742         Rename EventDispatchMediator::dispatchEvent to mediateAndDispatchEvent
1743         https://bugs.webkit.org/show_bug.cgi?id=122522
1744
1745         Reviewed by Darin Adler.
1746
1747         Renamed EventDispatchMediator::dispatchEvent to EventDispatchMediator::mediateAndDispatchEvent
1748         to make the future refactoring easier.
1749
1750         * Modules/indieui/UIRequestEvent.cpp:
1751         (WebCore::UIRequestEventDispatchMediator::mediateAndDispatchEvent):
1752         * Modules/indieui/UIRequestEvent.h:
1753         * dom/EventDispatchMediator.cpp:
1754         (WebCore::EventDispatchMediator::mediateAndDispatchEvent):
1755         * dom/EventDispatchMediator.h:
1756         * dom/EventDispatcher.cpp:
1757         (WebCore::EventDispatcher::dispatchEvent):
1758         * dom/FocusEvent.cpp:
1759         (WebCore::FocusEventDispatchMediator::mediateAndDispatchEvent):
1760         (WebCore::BlurEventDispatchMediator::mediateAndDispatchEvent):
1761         (WebCore::FocusInEventDispatchMediator::mediateAndDispatchEvent):
1762         (WebCore::FocusOutEventDispatchMediator::mediateAndDispatchEvent):
1763         * dom/FocusEvent.h:
1764         * dom/GestureEvent.cpp:
1765         (WebCore::GestureEventDispatchMediator::mediateAndDispatchEvent):
1766         * dom/GestureEvent.h:
1767         * dom/KeyboardEvent.cpp:
1768         (WebCore::KeyboardEventDispatchMediator::mediateAndDispatchEvent):
1769         * dom/KeyboardEvent.h:
1770         * dom/MouseEvent.cpp:
1771         (WebCore::MouseEventDispatchMediator::mediateAndDispatchEvent):
1772         * dom/MouseEvent.h:
1773         * dom/TouchEvent.cpp:
1774         (WebCore::TouchEventDispatchMediator::mediateAndDispatchEvent):
1775         * dom/TouchEvent.h:
1776         * dom/WheelEvent.cpp:
1777         (WebCore::WheelEventDispatchMediator::mediateAndDispatchEvent):
1778         * dom/WheelEvent.h:
1779
1780 2013-10-08  Brent Fulgham  <bfulgham@apple.com>
1781
1782         [MathML] Use of floating point floor/ceil on LayoutUnits seems wrong
1783         https://bugs.webkit.org/show_bug.cgi?id=122367
1784
1785         Reviewed by Darin Adler.
1786
1787         * rendering/mathml/RenderMathMLOperator.cpp:
1788         (WebCore::RenderMathMLOperator::paintCharacter): Use member methods to compute
1789         correct floor/ceil values for LayoutUnits.
1790
1791 2013-10-07  Dean Jackson  <dino@apple.com>
1792
1793         Video -> pixel buffer output should not manage color spaces
1794         https://bugs.webkit.org/show_bug.cgi?id=122486
1795
1796         Reviewed by Tim Horton.
1797
1798         On Mac, when we draw a video into a canvas or WebGL, the
1799         output of the video should not be color managed. Instead, leave it
1800         as DeviceRGB so that it matches other colors in those elements.
1801         We'll hopefully solve this properly soon - making everything sRGB.
1802
1803         Test: media/video-canvas-drawing-output.html
1804
1805         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1806         (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Pass on
1807         a CGImageRef via CGImageCreateCopyWithColorSpace rather than the raw data.
1808         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Tell CoreImage
1809         to allocate a pixel buffer that is unmanaged.
1810
1811 2013-10-08  Lauro Neto  <lauro.neto@openbossa.org>
1812
1813         [MediaStream] Fix segfault in initializeMockSources()
1814         https://bugs.webkit.org/show_bug.cgi?id=122517
1815
1816         Reviewed by Darin Adler.
1817
1818         Calling release() and a member function on the same RefPtr
1819         as arguments to a function can lead to segfaults if the release
1820         call is evaluated first.
1821
1822         * platform/mock/MockMediaStreamCenter.cpp:
1823         (WebCore::initializeMockSources):
1824
1825 2013-10-08  Mihnea Ovidenie  <mihnea@adobe.com>
1826
1827         [CSSRegions] Regions with overflow: hidden should paint over positioned sibling
1828         https://bugs.webkit.org/show_bug.cgi?id=122389
1829
1830         Reviewed by Alexandru Chiculita.
1831
1832         As a follow-up from https://bugs.webkit.org/show_bug.cgi?id=122321, a region should not
1833         be a normal flow layer when it has overflow clip. Change existing test by adding overflow:hidden
1834         to the region element.
1835
1836         * rendering/RenderLayer.cpp:
1837         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1838
1839 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1840
1841         Simplify the loop in EventRetargeter::calculateEventPath
1842         https://bugs.webkit.org/show_bug.cgi?id=122500
1843
1844         Reviewed by Antti Koivisto.
1845
1846         Replaced the convoluted loop by two nested loops to make semantics clear.
1847
1848         * dom/EventRetargeter.cpp:
1849         (WebCore::EventRetargeter::calculateEventPath):
1850
1851 2013-10-08  ChangSeok Oh  <changseok.oh@collabora.com>
1852
1853         [GTK] Leak: GdkEvent retured by gtk_get_current_event is not freed.
1854         https://bugs.webkit.org/show_bug.cgi?id=122506
1855
1856         Reviewed by Gustavo Noronha Silva.
1857
1858         Gdk event returned by gtk_get_current_event should be freed after using it.
1859
1860         No functionality changed.
1861
1862         * platform/gtk/PopupMenuGtk.cpp:
1863         (WebCore::PopupMenuGtk::show):
1864
1865 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1866
1867         Use references in EventRetargeter::calculateEventPath and EventRetargeter::eventTargetRespectingTargetRules
1868         https://bugs.webkit.org/show_bug.cgi?id=122494
1869
1870         Reviewed by Antti Koivisto.
1871
1872         Use referenecs instead of pointers in ventRetargeter's calculateEventPath and eventTargetRespectingTargetRules.
1873         Also replace Vector<EventTarget*, 32> targetStack by a single pointer since we only append an item to
1874         the vector when it's empty and we always use the last item.
1875
1876         * dom/EventDispatcher.cpp:
1877         (WebCore::EventDispatcher::EventDispatcher):
1878         (WebCore::EventDispatcher::dispatchScopedEvent):
1879         (WebCore::EventDispatcher::dispatch):
1880         (WebCore::EventDispatcher::dispatchEventPostProcess):
1881         * dom/EventDispatcher.h:
1882         * dom/EventRetargeter.cpp:
1883         (WebCore::EventRetargeter::calculateEventPath):
1884         * dom/EventRetargeter.h:
1885         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
1886         * dom/Node.cpp:
1887         (WebCore::Node::dispatchScopedEventDispatchMediator):
1888
1889 2013-10-08  Mihnea Ovidenie  <mihnea@adobe.com>
1890
1891         [CSSRegions] Computed z-Index should return 0 instead of auto for a region
1892         https://bugs.webkit.org/show_bug.cgi?id=122405
1893
1894         Reviewed by David Hyatt.
1895
1896         Test: fast/regions/layers/region-zIndex-computedStyle.html
1897
1898         Adjust the z-index value for a region. Also, since a box with a z-Index
1899         that is non-auto receives a layer, i removed the requiresLayer override
1900         in RenderRegion and RenderMultiColumnSet.
1901
1902         * css/StyleResolver.cpp:
1903         (WebCore::StyleResolver::adjustRenderStyle):
1904         * rendering/RenderMultiColumnSet.cpp:
1905         * rendering/RenderMultiColumnSet.h:
1906         * rendering/RenderRegion.cpp:
1907         * rendering/RenderRegion.h:
1908         * rendering/style/RenderStyle.h:
1909
1910 2013-10-08  Andrei Bucur  <abucur@adobe.com>
1911
1912         [CSS Regions] Widows don't work if the first line in a region is aligned with the top of the region
1913         https://bugs.webkit.org/show_bug.cgi?id=122450
1914
1915         Reviewed by David Hyatt.
1916
1917         The patch adds a new function updateRegionForLine that updates the containing region for a line and the
1918         flag used to determine if it's the first line in that region. This is necessary because the code in
1919         adjustLinePositionForPagination is not sufficient to determine when an unforced break occurs and the line
1920         being positioned is the first one in the fragmentation container or not.
1921
1922         Test: fast/regions/regions-widows-float-top-aligned.html
1923
1924         * rendering/RenderBlockFlow.cpp:
1925         (WebCore::RenderBlockFlow::adjustLinePositionForPagination): Added FIXME comment.
1926         * rendering/RenderBlockFlow.h:
1927         * rendering/RenderBlockLineLayout.cpp:
1928         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1929         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1930         (WebCore::RenderBlock::determineStartPosition):
1931         (WebCore::RenderBlockFlow::updateRegionForLine): New function used to update the containing region and
1932         the first line flag.
1933
1934 2013-10-08  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1935
1936         Get EFL and GTK compiling with media stream enabled
1937         https://bugs.webkit.org/show_bug.cgi?id=122505
1938
1939         Reviewed by Philippe Normand.
1940
1941         After r157068
1942
1943         No new tests needed.
1944
1945         * GNUmakefile.list.am:
1946         * UseJSC.cmake:
1947
1948 2013-10-08  Hurnjoo Lee  <hurnjoo.lee@samsung.com>
1949
1950         Composited layer that painted into composited ancestor is not repainted after moving
1951         https://bugs.webkit.org/show_bug.cgi?id=114655
1952
1953         Reviewed by Simon Fraser.
1954
1955         Test: compositing/repaint/absolute-painted-into-composited-ancestor.html
1956
1957         Composited layers are currently skipping repainting after layout,
1958         if the repaint status is not NeedsFullRepaint. However, in case layers
1959         were painted into composited ancestor, they need to repaint.
1960
1961         * rendering/RenderLayer.cpp:
1962         (WebCore::RenderLayer::shouldRepaintAfterLayout):
1963
1964 2013-10-08  Zalan Bujtas  <zalan@apple.com>
1965
1966         Unreviewed. Rollout of r156536. ~5% regression in inline layout performance.
1967
1968         * rendering/LineWidth.cpp:
1969         * rendering/LineWidth.h:
1970         (WebCore::LineWidth::addUncommittedWidth):
1971         * rendering/RenderBlockLineLayout.cpp:
1972         (WebCore::LineBreaker::nextSegmentBreak):
1973
1974 2013-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1975
1976         Use toCSSFooValue() instead of using static_cast<const CSSFooValue*>
1977         https://bugs.webkit.org/show_bug.cgi?id=122491
1978
1979         Reviewed by Andreas Kling.
1980
1981         static_cast<const CSSFooValue*> wasn't cleanup. So, we need to use toCSSFooValue() for it.
1982         To use toCSSValue() will help to detect bad type-cast.
1983
1984         Besides static_cast<const WebKitCSSFooValue*> helper functions need to be added to support this use.
1985
1986         No new tests, no behavior change.
1987
1988         * css/CSSComputedStyleDeclaration.cpp:
1989         (WebCore::ComputedStyleExtractor::propertyMatches):
1990         * css/CSSImageGeneratorValue.cpp:
1991         (WebCore::CSSImageGeneratorValue::isFixedSize):
1992         (WebCore::CSSImageGeneratorValue::isPending):
1993         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
1994         * css/CSSValue.cpp:
1995         (WebCore::CSSValue::isImplicitInitialValue):
1996         (WebCore::CSSValue::addSubresourceStyleURLs):
1997         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
1998         (WebCore::CSSValue::equals):
1999         (WebCore::CSSValue::cssText):
2000         (WebCore::CSSValue::serializeResolvingVariables):
2001         (WebCore::CSSValue::cloneForCSSOM):
2002         * css/StylePropertySet.cpp:
2003         (WebCore::StylePropertySet::PropertyReference::cssName):
2004         * css/WebKitCSSSVGDocumentValue.h:
2005         (WebCore::toWebKitCSSSVGDocumentValue):
2006         * css/WebKitCSSTransformValue.h:
2007         (WebCore::toWebKitCSSTransformValue):
2008
2009 2013-10-08  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2010
2011         Get MediaStreamCenterGStreamer compiling again
2012         https://bugs.webkit.org/show_bug.cgi?id=122482
2013
2014         Reviewed by Eric Carlson.
2015
2016         r157068 was including a nonexistent header
2017
2018         No new tests needed.
2019
2020         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
2021
2022 2013-10-08  Mario Sanchez Prada  <mario.prada@samsung.com>
2023
2024         [ATK] Expose state of aria-invalid as ATK_STATE_INVALID_ENTRY
2025         https://bugs.webkit.org/show_bug.cgi?id=122104
2026
2027         Reviewed by Chris Fleizach.
2028
2029         Map invalid state of an AccessibilityObject to the proper AtkState.
2030
2031         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2032         (setAtkStateSetFromCoreObject): Add the mapping.
2033
2034 2013-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2035
2036
2037         [GTK] media/video-src-blob.html
2038         https://bugs.webkit.org/show_bug.cgi?id=102586
2039
2040         Reviewed by Martin Robinson.
2041
2042         Add support for loading videos using blob URLs.
2043
2044         Fixes media/video-src-blob.html.
2045
2046         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2047         (webKitWebSrcStart): Use BufferData buffering policy for blob
2048         URLs.
2049         (webKitWebSrcGetProtocols): Add blob to the list of supported
2050         protocols.
2051         (webKitWebSrcSetUri): Consider blob URLs as valid.
2052
2053 2013-10-07  Ryosuke Niwa  <rniwa@webkit.org>
2054
2055         EventDispatchBehavior is unnecessary
2056         https://bugs.webkit.org/show_bug.cgi?id=122483
2057
2058         Reviewed by Andreas Kling.
2059
2060         Removed EventDispatchBehavior and changed the return type of determineDispatchBehavior to bool.
2061         Also renamed it to shouldEventCrossShadowBoundary to reflect the semantics more clear.
2062
2063         * dom/EventRetargeter.cpp:
2064         (WebCore::shouldEventCrossShadowBoundary):
2065         (WebCore::EventRetargeter::calculateEventPath):
2066         * dom/EventRetargeter.h:
2067
2068 2013-10-07  Ryosuke Niwa  <rniwa@webkit.org>
2069
2070         Make buildRelatedNodeMap and findRelatedNode static to EventRetargeter.cpp
2071         https://bugs.webkit.org/show_bug.cgi?id=122477
2072
2073         Reviewed by Antti Koivisto.
2074
2075         Make EventRetargeter::buildRelatedNodeMap and EventRetargeter::findRelatedNode static local functions
2076         in EventRetargeter.cpp since they're only called in EventRetargeter::calculateAdjustedNodes and don't
2077         depend on any oher member function or variable (EventRetarger doesn't have any member variables).
2078
2079         Also get rid of Vector local variables in both functions as they're redundant.
2080
2081         * dom/EventRetargeter.cpp:
2082         (WebCore::buildRelatedNodeMap): Moved. Replaced Vector<Node*, 32> relatedNodeStack by a single pointer
2083         since the only time we add an item to this Vector is when it's empty, and we always use or remove the
2084         last item.
2085         (WebCore::addRelatedNodeForUnmapedTreeScopes): Renamed from EventRetargeter::findRelatedNode. Removed
2086         Vector<TreeScope*, 32> parentTreeScopes since it only contains the ancestor tree scopes of scope up to
2087         a tree scope already in relatedNodeMap. We could simply remember this tree scope and re-traverse the
2088         ancestor tree scopes in the second loop.
2089         (WebCore::EventRetargeter::calculateAdjustedNodes):
2090         * dom/EventRetargeter.h:
2091
2092 2013-10-07  Andreas Kling  <akling@apple.com>
2093
2094         CTTE: EditCommand always has a Document.
2095         <https://webkit.org/b/122473>
2096
2097         Reviewed by Anders Carlsson.
2098
2099         Store a Ref<Document> in EditComment since it's never null.
2100
2101         Since Ref enforces more const consistency than RefPtr, I had to make
2102         document() and frame() non-const here. Only a single method depended
2103         on the old half-const behavior.
2104
2105 2013-10-07  Anders Carlsson  <andersca@apple.com>
2106
2107         Update test again.
2108
2109         * bindings/scripts/test/JS/JSTestCallback.cpp:
2110         (WebCore::JSTestCallback::~JSTestCallback):
2111
2112 2013-10-07  Commit Queue  <commit-queue@webkit.org>
2113
2114         Unreviewed, rolling out r157061.
2115         http://trac.webkit.org/changeset/157061
2116         https://bugs.webkit.org/show_bug.cgi?id=122479
2117
2118         Broke worker tests (Requested by andersca on #webkit).
2119
2120         * Modules/webdatabase/Database.cpp:
2121         (WebCore::DerefContextTask::create):
2122         (WebCore::DerefContextTask::DerefContextTask):
2123         (WebCore::Database::~Database):
2124         (WebCore::DeliverPendingCallbackTask::create):
2125         (WebCore::DeliverPendingCallbackTask::performTask):
2126         (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
2127         (WebCore::Database::scheduleTransactionCallback):
2128         * Modules/webdatabase/DatabaseManager.cpp:
2129         (WebCore::DatabaseCreationCallbackTask::create):
2130         (WebCore::DatabaseCreationCallbackTask::performTask):
2131         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
2132         (WebCore::DatabaseManager::openDatabase):
2133         * Modules/webdatabase/SQLCallbackWrapper.h:
2134         (WebCore::SQLCallbackWrapper::clear):
2135         (WebCore::SQLCallbackWrapper::SafeReleaseTask::create):
2136         (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask):
2137         (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask):
2138         (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
2139         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2140         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
2141         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2142         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2143         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create):
2144         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask):
2145         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask):
2146         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2147         * bindings/js/JSCallbackData.h:
2148         (WebCore::DeleteCallbackDataTask::create):
2149         (WebCore::DeleteCallbackDataTask::performTask):
2150         (WebCore::DeleteCallbackDataTask::isCleanupTask):
2151         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
2152         * bindings/js/JSDOMGlobalObjectTask.h:
2153         * bindings/js/JSDOMWindowBase.cpp:
2154         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
2155         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2156         (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
2157         * bindings/scripts/CodeGeneratorJS.pm:
2158         (GenerateCallbackImplementation):
2159         * dom/CrossThreadTask.h:
2160         (WebCore::CrossThreadTask1::create):
2161         (WebCore::CrossThreadTask1::performTask):
2162         (WebCore::CrossThreadTask2::create):
2163         (WebCore::CrossThreadTask2::performTask):
2164         (WebCore::CrossThreadTask3::create):
2165         (WebCore::CrossThreadTask3::performTask):
2166         (WebCore::CrossThreadTask4::create):
2167         (WebCore::CrossThreadTask4::performTask):
2168         (WebCore::CrossThreadTask5::create):
2169         (WebCore::CrossThreadTask5::performTask):
2170         (WebCore::CrossThreadTask6::create):
2171         (WebCore::CrossThreadTask6::performTask):
2172         (WebCore::CrossThreadTask7::create):
2173         (WebCore::CrossThreadTask7::performTask):
2174         (WebCore::CrossThreadTask8::create):
2175         (WebCore::CrossThreadTask8::performTask):
2176         (WebCore::createCallbackTask):
2177         * dom/Document.cpp:
2178         (WebCore::Document::addConsoleMessage):
2179         (WebCore::Document::addMessage):
2180         (WebCore::PerformTaskContext::PerformTaskContext):
2181         (WebCore::Document::postTask):
2182         (WebCore::Document::pendingTasksTimerFired):
2183         * dom/Document.h:
2184         * dom/ScriptExecutionContext.cpp:
2185         (WebCore::ProcessMessagesSoonTask::create):
2186         (WebCore::ProcessMessagesSoonTask::performTask):
2187         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
2188         * dom/ScriptExecutionContext.h:
2189         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
2190         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
2191         * dom/StringCallback.cpp:
2192         (WebCore::StringCallback::scheduleCallback):
2193         * loader/appcache/ApplicationCacheGroup.cpp:
2194         (WebCore::CallCacheListenerTask::create):
2195         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
2196         (WebCore::ApplicationCacheGroup::postListenerTask):
2197         * workers/DefaultSharedWorkerRepository.cpp:
2198         (WebCore::SharedWorkerProxy::postTaskToLoader):
2199         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
2200         (WebCore::SharedWorkerConnectTask::create):
2201         (WebCore::SharedWorkerConnectTask::performTask):
2202         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
2203         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
2204         * workers/WorkerEventQueue.cpp:
2205         (WebCore::WorkerEventQueue::enqueueEvent):
2206         * workers/WorkerGlobalScope.cpp:
2207         (WebCore::WorkerGlobalScope::close):
2208         (WebCore::WorkerGlobalScope::postTask):
2209         (WebCore::WorkerGlobalScope::addConsoleMessage):
2210         (WebCore::WorkerGlobalScope::addMessage):
2211         * workers/WorkerGlobalScope.h:
2212         * workers/WorkerLoaderProxy.h:
2213         * workers/WorkerMessagingProxy.cpp:
2214         (WebCore::MessageWorkerGlobalScopeTask::create):
2215         (WebCore::MessageWorkerGlobalScopeTask::performTask):
2216         (WebCore::MessageWorkerTask::create):
2217         (WebCore::MessageWorkerTask::performTask):
2218         (WebCore::WorkerExceptionTask::create):
2219         (WebCore::WorkerExceptionTask::performTask):
2220         (WebCore::WorkerGlobalScopeDestroyedTask::create):
2221         (WebCore::WorkerGlobalScopeDestroyedTask::performTask):
2222         (WebCore::WorkerTerminateTask::create):
2223         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
2224         (WebCore::WorkerTerminateTask::performTask):
2225         (WebCore::WorkerThreadActivityReportTask::create):
2226         (WebCore::WorkerThreadActivityReportTask::performTask):
2227         (WebCore::PostMessageToPageInspectorTask::create):
2228         (WebCore::PostMessageToPageInspectorTask::performTask):
2229         (WebCore::NotifyNetworkStateChangeTask::create):
2230         (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask):
2231         (WebCore::NotifyNetworkStateChangeTask::performTask):
2232         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2233         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
2234         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
2235         (WebCore::WorkerMessagingProxy::postTaskToLoader):
2236         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
2237         (WebCore::WorkerMessagingProxy::workerThreadCreated):
2238         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
2239         (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
2240         (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
2241         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
2242         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
2243         (WebCore::WorkerMessagingProxy::reportPendingActivity):
2244         * workers/WorkerMessagingProxy.h:
2245         * workers/WorkerRunLoop.cpp:
2246         (WebCore::WorkerRunLoop::postTask):
2247         (WebCore::WorkerRunLoop::postTaskAndTerminate):
2248         (WebCore::WorkerRunLoop::postTaskForMode):
2249         (WebCore::WorkerRunLoop::Task::create):
2250         (WebCore::WorkerRunLoop::Task::Task):
2251         * workers/WorkerRunLoop.h:
2252         * workers/WorkerThread.cpp:
2253         (WebCore::WorkerThreadShutdownFinishTask::create):
2254         (WebCore::WorkerThreadShutdownFinishTask::performTask):
2255         (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask):
2256         (WebCore::WorkerThreadShutdownStartTask::performTask):
2257         (WebCore::WorkerThread::stop):
2258         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
2259
2260 2013-10-07  Darin Adler  <darin@apple.com>
2261
2262         Make Vector::insert work for move-only types
2263         https://bugs.webkit.org/show_bug.cgi?id=122429
2264
2265         Reviewed by Anders Carlsson.
2266
2267         * history/HistoryItem.cpp:
2268         (WebCore::HistoryItem::padDailyCountsForNewVisit): Call insertVector.
2269         Also added some inline capacity, which should make this faster.
2270
2271 2013-10-07  Anders Carlsson  <andersca@apple.com>
2272
2273         Update test results.
2274
2275         * bindings/scripts/test/JS/JSTestCallback.cpp:
2276         (WebCore::JSTestCallback::~JSTestCallback):
2277
2278 2013-10-04  Ojan Vafai  <ojan@chromium.org> and Martin Robinson  <mrobinson@igalia.com>
2279
2280         [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
2281         https://bugs.webkit.org/show_bug.cgi?id=121416
2282
2283         Reviewed by David Hyatt.
2284
2285         Tests: mathml/presentation/mo-minus.html
2286                mathml/presentation/mo-stacked-glyphs.html
2287                mathml/presentation/mo-stretchy-vertical-bar.html
2288                mathml/very-large-stretchy-operators.html
2289
2290         MathML stretched operators by both modifying the width of the operator
2291         and adding children to the operator node in the render tree.
2292
2293         Instead we make the operator width equal to the widest glyph possible that we use
2294         to represent the operator.  Additionally instead of rendering stretchy glyphs via
2295         stacked operator pieces in separate render tree nodes, keep only one node for the
2296         glyph, and use a custom paint method to paint the stacked representation.
2297
2298         With this patch, rendering seems roughly equivalent on Mac and markedly better
2299         on Linux.
2300
2301         * css/mathml.css:
2302         Not sure what this line-height:0 was here for, but it caused bugs with the new code
2303
2304         * mathml/MathMLTextElement.cpp:
2305         (WebCore::MathMLTextElement::attach):
2306         (WebCore):
2307         (WebCore::MathMLTextElement::childrenChanged):
2308         Need to update the anonymous render tree below <mo> elements when their
2309         children change or when the renderer is first attached.
2310
2311         * mathml/MathMLTextElement.h:
2312         (MathMLTextElement):
2313         * rendering/mathml/RenderMathMLBlock.cpp:
2314         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
2315         * rendering/mathml/RenderMathMLBlock.h:
2316         Now that the preferred width doesn't depend on the height, we don't
2317         need to override computePreferredLogicalWidths at all.
2318
2319         * rendering/mathml/RenderMathMLFenced.cpp:
2320         (WebCore::RenderMathMLFenced::makeFences):
2321         (WebCore::RenderMathMLFenced::styleDidChange):
2322         Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
2323
2324         * rendering/mathml/RenderMathMLOperator.cpp:
2325         (WebCore::RenderMathMLOperator::expandedStretchHeight):
2326         Store the non-expanded stretch height so that we can detect when the height
2327         actually changed.
2328
2329         (WebCore::RenderMathMLOperator::stretchToHeight):
2330         Only update the style on the anonymous render tree since this is called
2331         from RenderMathMLRow::layout
2332
2333         (WebCore::RenderMathMLOperator::styleDidChange):
2334         (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
2335         (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
2336         (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
2337         and we want the width of the operator to be the advance instead of the tight bounding width.
2338         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
2339         we can use to render this operator.
2340         (WebCore::RenderMathMLOperator::computeLogicalHeight): Return the stretched operator height, if appropriate.
2341         (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
2342         version of the glyph.
2343         (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
2344         is the character used for stretching operations.
2345         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
2346         of glyph pieces for stretching characters.
2347         (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
2348         the child if we are using the stretchy style.
2349         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
2350         (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
2351         stretchy glyph.
2352         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
2353         features of the stretchy glyph.
2354         (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
2355         * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
2356
2357 2013-10-07  Eric Carlson  <eric.carlson@apple.com>
2358
2359         [MediaStream API] update MediaStreamTrack object to match spec
2360         https://bugs.webkit.org/show_bug.cgi?id=121940
2361
2362         Reviewed by Jer Noble.
2363
2364         No new tests, existing test updated.
2365
2366         Add new source files to the project:
2367         * CMakeLists.txt:
2368         * DerivedSources.make:
2369         * GNUmakefile.list.am:
2370         * WebCore.xcodeproj/project.pbxproj:
2371
2372         New capability dictionary objects:
2373         * Modules/mediastream/AllAudioCapabilities.h: Added.
2374         * Modules/mediastream/AllAudioCapabilities.idl: Added.
2375         * Modules/mediastream/AllVideoCapabilities.h: Added.
2376         * Modules/mediastream/AllVideoCapabilities.idl: Added.
2377
2378         * Modules/mediastream/AudioStreamTrack.cpp:
2379         (WebCore::AudioStreamTrack::create): New version that takes a MediaStreamTrack*.
2380         * Modules/mediastream/AudioStreamTrack.h:
2381
2382         New object for a capability range:
2383         * Modules/mediastream/CapabilityRange.cpp: Added.
2384         * Modules/mediastream/CapabilityRange.h: Added.
2385         * Modules/mediastream/CapabilityRange.idl: Added.
2386
2387         * Modules/mediastream/MediaConstraintsImpl.h: Make initialize() public.
2388
2389         New object for the current states for a media source.
2390         * Modules/mediastream/MediaSourceStates.cpp: Added.
2391         * Modules/mediastream/MediaSourceStates.h: Added.
2392         * Modules/mediastream/MediaSourceStates.idl: Added.
2393
2394         Don't call the media stream center to notify it when the state of other
2395         objects change.
2396         * Modules/mediastream/MediaStream.cpp:
2397         (WebCore::processTrack): Remove the stream source duplication hack.
2398         (WebCore::createFromSourceVectors): 
2399         (WebCore::MediaStream::MediaStream):
2400         (WebCore::MediaStream::addTrack):
2401         (WebCore::MediaStream::removeTrack):
2402         * Modules/mediastream/MediaStream.h:
2403
2404         New object for the capabilities of a source.
2405         * Modules/mediastream/MediaStreamCapabilities.cpp: Added.
2406         * Modules/mediastream/MediaStreamCapabilities.h: Added.
2407         * Modules/mediastream/MediaStreamCapabilities.idl: Added.
2408
2409         Update interface to match spec.
2410         * Modules/mediastream/MediaStreamTrack.cpp:
2411         (WebCore::MediaStreamTrack::MediaStreamTrack): Define a copy constructor to use in clone().
2412         (WebCore::MediaStreamTrack::setSource): Call removeObserver if the track already has a source.
2413             Initialize m_muted from new source's muted state.
2414         (WebCore::MediaStreamTrack::id): Allow source to provide ID as the spec suggests.
2415         (WebCore::MediaStreamTrack::setEnabled): Add some spec text to clarify logic. Always call
2416             source->setEnabled, it can figure out if nothing needs to be done.
2417         (WebCore::MediaStreamTrack::muted): Don't call the stream center when muted changes, the
2418             source can take care of notifying interested parties.
2419         (WebCore::MediaStreamTrack::readonly): New.
2420         (WebCore::MediaStreamTrack::remote): New.
2421         (WebCore::MediaStreamTrack::constraints): New. 
2422         (WebCore::MediaStreamTrack::states): New.
2423         (WebCore::MediaStreamTrack::capabilities): New.
2424         (WebCore::MediaStreamTrack::applyConstraints): New.
2425         (WebCore::MediaStreamTrack::clone): New.
2426         (WebCore::MediaStreamTrack::stopProducingData): New.
2427         (WebCore::MediaStreamTrack::sourceStateChanged): Renamed from sourceChangedState.
2428         (WebCore::MediaStreamTrack::sourceMutedChanged): New.
2429         (WebCore::MediaStreamTrack::sourceEnabledChanged): New.
2430         (WebCore::MediaStreamTrack::configureTrackRendering): New.
2431         (WebCore::MediaStreamTrack::stopped): New. 
2432         (WebCore::MediaStreamTrack::stop): Call stopProducingData.
2433         (WebCore::MediaStreamTrack::scheduleEventDispatch): New.
2434         (WebCore::MediaStreamTrack::dispatchQueuedEvents): New.
2435         * Modules/mediastream/MediaStreamTrack.h:
2436         * Modules/mediastream/MediaStreamTrack.idl:
2437
2438         * Modules/mediastream/MediaTrackConstraint.cpp: Added.
2439         * Modules/mediastream/MediaTrackConstraint.h: Added.
2440         * Modules/mediastream/MediaTrackConstraint.idl: Added.
2441
2442         // Add empty classes/IDL for track constraint objects.
2443         * Modules/mediastream/MediaTrackConstraintSet.cpp: Added.
2444         * Modules/mediastream/MediaTrackConstraintSet.h: Added.
2445         * Modules/mediastream/MediaTrackConstraintSet.idl: Added.
2446         * Modules/mediastream/MediaTrackConstraints.cpp: Added.
2447         * Modules/mediastream/MediaTrackConstraints.h: Added.
2448         * Modules/mediastream/MediaTrackConstraints.idl: Added.
2449
2450         * Modules/mediastream/UserMediaRequest.cpp:
2451         (WebCore::UserMediaRequest::callSuccessHandler): Don't call the stream center, the
2452             stream can take care of notifying interested parties.
2453
2454         // Add a constructor and create() that take a MediaStreamTrack*.
2455         * Modules/mediastream/VideoStreamTrack.cpp:
2456         (WebCore::VideoStreamTrack::create): 
2457         (WebCore::VideoStreamTrack::VideoStreamTrack):
2458         * Modules/mediastream/VideoStreamTrack.h:
2459
2460         // Create a MediaStreamSource subclass for WebAudio
2461         * Modules/webaudio/AudioContext.cpp:
2462         (WebCore::AudioContext::createMediaStreamSource): Call isAudioStreamSource instead
2463             of checking deviceID.
2464         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2465         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Create a
2466             MediaStreamAudioSource instead of a MediaStreamSource.
2467         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
2468         * Modules/webaudio/MediaStreamAudioSource.cpp: Added.
2469         * Modules/webaudio/MediaStreamAudioSource.h: Added.
2470         (WebCore::MediaStreamAudioSource::~MediaStreamAudioSource):
2471
2472         // Add new generated files.
2473         * bindings/js/JSMediaSourceStatesCustom.cpp: Added.
2474         * bindings/js/JSMediaStreamCapabilitiesCustom.cpp: Added.
2475
2476         * dom/EventNames.h: Defined 'overconstrained' event.
2477
2478         * platform/mediastream/MediaStreamCenter.h: Get rid of all of the methods nobody uses.
2479             It isn't clear that they are necessary, and we can add them back if/when we need them.
2480
2481         * platform/mediastream/MediaStreamDescriptor.cpp:
2482         (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor): Clear the all source streams.
2483         (WebCore::MediaStreamDescriptor::removeSource): Clear the source stream.
2484         * platform/mediastream/MediaStreamDescriptor.h:
2485
2486         // Make MediaStreamSource an abstract base class, and remove everyting WebAudio-specific
2487         //  to MediaStreamAudioSource. 
2488         * platform/mediastream/MediaStreamSource.cpp:
2489         (WebCore::MediaStreamSource::MediaStreamSource): Remove readyState and requiresConsumer
2490             parameters. Create new UUID for id if non was passed.
2491         (WebCore::MediaStreamSource::reset): Reset internal state to just-constructed. Used for testing.
2492         (WebCore::MediaStreamSource::setReadyState): sourceChangedState -> sourceStateChanged.
2493         (WebCore::MediaStreamSource::setStream): Remove the ASSERT that check for a source being
2494             added to a new stream. This is still a problem, but it is required for testing and will
2495             be fixed as a part of bug 121954.
2496         (WebCore::MediaStreamSource::setConstraints): Added.
2497         (WebCore::MediaStreamSource::setMuted): Notify observers when muted changes.
2498         (WebCore::MediaStreamSource::setEnabled): Notify observers when enabled changes.
2499         (WebCore::MediaStreamSource::readonly): New.
2500         (WebCore::MediaStreamSource::stop): New. Set state to Ended when all of the observers has
2501             stopped.
2502         * platform/mediastream/MediaStreamSource.h:
2503
2504         // Define platform versions of the Capabilities classes.
2505         * platform/mediastream/MediaStreamSourceCapabilities.h: Added.
2506
2507         // Update the non-functional platform stream centers for the API changes.
2508         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
2509         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
2510         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
2511         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
2512         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
2513         * platform/mediastream/mac/MediaStreamCenterMac.h:
2514
2515         // Update the Mock stream center for the API changes. Add a concrete mock MediaStreamSource
2516         //  subclass.
2517         * platform/mock/MockMediaStreamCenter.cpp:
2518         (WebCore::MockSource::MockSource): New, the mock media stream source.
2519         (WebCore::MockSource::~MockSource):
2520         (WebCore::MockSource::capabilities):
2521         (WebCore::MockSource::states):
2522         (WebCore::mockSourceMap):
2523         (WebCore::mockAudioSourceID):
2524         (WebCore::mockVideoSourceID):
2525         (WebCore::initializeMockSources): Create one audio and one video mock source.
2526         (WebCore::MockMediaStreamCenter::registerMockMediaStreamCenter): Call initializeMockSources.
2527         (WebCore::MockMediaStreamCenter::createMediaStream): Use the already allocated mock media
2528             sources.
2529         (WebCore::MockMediaStreamCenter::getMediaStreamTrackSources): Ditto.
2530         * platform/mock/MockMediaStreamCenter.h:
2531
2532 2013-10-07  Andreas Kling  <akling@apple.com>
2533
2534         CTTE: Live node lists always have an owner Node.
2535         <https://webkit.org/b/122470>
2536
2537         Reviewed by Anders Carlsson.
2538
2539         Make LiveNodeListBase::m_ownerNode a Ref<Node> instead of a RefPtr
2540         and have all constructors take Node&.
2541
2542 2013-10-07  Anders Carlsson  <andersca@apple.com>
2543
2544         Clean up ScriptExecutionContext::Task and subclasses
2545         https://bugs.webkit.org/show_bug.cgi?id=122469
2546
2547         Reviewed by Andreas Kling.
2548
2549         * Modules/webdatabase/Database.cpp:
2550         (WebCore::DerefContextTask::DerefContextTask):
2551         (WebCore::Database::~Database):
2552         (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
2553         (WebCore::Database::scheduleTransactionCallback):
2554         * Modules/webdatabase/DatabaseManager.cpp:
2555         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
2556         (WebCore::DatabaseManager::openDatabase):
2557         * Modules/webdatabase/SQLCallbackWrapper.h:
2558         (WebCore::SQLCallbackWrapper::clear):
2559         (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
2560         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2561         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
2562         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2563         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2564         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask):
2565         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2566         * bindings/js/JSCallbackData.h:
2567         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
2568         * bindings/js/JSDOMGlobalObjectTask.h:
2569         * bindings/js/JSDOMWindowBase.cpp:
2570         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
2571         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2572         (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
2573         * bindings/scripts/CodeGeneratorJS.pm:
2574         (GenerateCallbackImplementation):
2575         * dom/CrossThreadTask.h:
2576         (WebCore::createCallbackTask):
2577         * dom/Document.cpp:
2578         (WebCore::Document::addConsoleMessage):
2579         (WebCore::Document::addMessage):
2580         (WebCore::PerformTaskContext::PerformTaskContext):
2581         (WebCore::Document::postTask):
2582         (WebCore::Document::pendingTasksTimerFired):
2583         * dom/Document.h:
2584         * dom/ScriptExecutionContext.cpp:
2585         (WebCore::ProcessMessagesSoonTask::ProcessMessagesSoonTask):
2586         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
2587         * dom/ScriptExecutionContext.h:
2588         * dom/StringCallback.cpp:
2589         (WebCore::StringCallback::scheduleCallback):
2590         * loader/appcache/ApplicationCacheGroup.cpp:
2591         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
2592         (WebCore::ApplicationCacheGroup::postListenerTask):
2593         * workers/DefaultSharedWorkerRepository.cpp:
2594         (WebCore::SharedWorkerProxy::postTaskToLoader):
2595         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
2596         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
2597         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
2598         * workers/WorkerEventQueue.cpp:
2599         (WebCore::WorkerEventQueue::enqueueEvent):
2600         * workers/WorkerGlobalScope.cpp:
2601         (WebCore::WorkerGlobalScope::close):
2602         (WebCore::WorkerGlobalScope::postTask):
2603         (WebCore::WorkerGlobalScope::addConsoleMessage):
2604         (WebCore::WorkerGlobalScope::addMessage):
2605         * workers/WorkerGlobalScope.h:
2606         * workers/WorkerLoaderProxy.h:
2607         * workers/WorkerMessagingProxy.cpp:
2608         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2609         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
2610         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
2611         (WebCore::WorkerMessagingProxy::postTaskToLoader):
2612         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
2613         (WebCore::WorkerMessagingProxy::workerThreadCreated):
2614         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
2615         (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
2616         (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
2617         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
2618         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
2619         (WebCore::WorkerMessagingProxy::reportPendingActivity):
2620         * workers/WorkerMessagingProxy.h:
2621         * workers/WorkerRunLoop.cpp:
2622         (WebCore::WorkerRunLoop::postTask):
2623         (WebCore::WorkerRunLoop::postTaskAndTerminate):
2624         (WebCore::WorkerRunLoop::postTaskForMode):
2625         (WebCore::WorkerRunLoop::Task::Task):
2626         * workers/WorkerRunLoop.h:
2627         * workers/WorkerThread.cpp:
2628         (WebCore::WorkerThreadShutdownFinishTask::WorkerThreadShutdownFinishTask):
2629         (WebCore::WorkerThreadShutdownStartTask::performTask):
2630         (WebCore::WorkerThread::stop):
2631         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
2632
2633 2013-10-07  Sam Weinig  <sam@webkit.org>
2634
2635         CTTE: Use references in and around DragController
2636         https://bugs.webkit.org/show_bug.cgi?id=122427
2637
2638         Reviewed by Andreas Kling.
2639
2640         Use references to indicate non-nullness of DragController related
2641         objects.
2642
2643 2013-10-07  Tim Horton  <timothy_horton@apple.com>
2644
2645         Animated images are not restarted when page visibility changes
2646         https://bugs.webkit.org/show_bug.cgi?id=122464
2647         <rdar://problem/14293474>
2648
2649         Reviewed by Simon Fraser.
2650
2651         Always kickstart animated images when the page visibility changes,
2652         which can occur via window occlusion, and which is independent of in-window
2653         state, which we were previously using to advance animation.
2654
2655         No new tests; attempts to make a test have resulted only in a flaky, timing-dependent test.
2656
2657         * page/Frame.cpp:
2658         (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
2659         Move this call to resumeAnimatingImages() up to Page.
2660
2661         * page/FrameView.cpp:
2662         (WebCore::FrameView::setIsInWindow):
2663         Move this call to resumeAnimatingImages() up to Page.
2664
2665         * WebCore.exp.in
2666         * page/FrameView.h:
2667         * page/Page.h:
2668         Move resumeAnimatingImages() itself up to Page.
2669
2670         * page/Page.cpp:
2671         (WebCore::Page::setIsInWindow):
2672         Resume animated images when we move in-window.
2673
2674         (WebCore::Page::setVisibilityState):
2675         Resume animated images when we become visible.
2676         This is the one we were previously missing.
2677
2678         (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
2679         Resume animated images when we're told to.
2680
2681         (WebCore::Page::resumeAnimatingImages):
2682         Kickstart any animated images in all frames.
2683
2684 2013-10-07  Jer Noble  <jer.noble@apple.com>
2685
2686         [Mac] Drawing video into canvas doesn't work on the first attempt
2687         https://bugs.webkit.org/show_bug.cgi?id=122404
2688
2689         Reviewed by Eric Carlson.
2690
2691         Test: media/video-canvas-drawing.html
2692
2693         If creating and painting from an AVPlayerItemVideoOutput fails, fall back
2694         to the (much slower) AVAssetImageGenerator path. Make sure to revert to the
2695         AVPlayerItemVideoOutput path when that object begins to have available
2696         images, however.
2697
2698         To do so, remove the "__MAC_OS_X_VERSION_MIN_REQUIRED < 1080" check around
2699         the AVAssetImageGenerator code, and allow both the image generator and video
2700         output to exist simultaneously.
2701
2702         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2703         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2704         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer):
2705         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
2706         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyImageGenerator):
2707         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
2708         (WebCore::MediaPlayerPrivateAVFoundationObjC::videoOutputHasAvailableFrame):
2709         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
2710
2711 2013-10-07  Jer Noble  <jer.noble@apple.com>
2712
2713         URLMediaSource.idl and URLMediaStream.idl are wrong
2714         https://bugs.webkit.org/show_bug.cgi?id=122301
2715
2716         Reviewed by Philippe Normand.
2717
2718         Rename URLMediaSource and URLMediaStream to DOMURLMediaSource and DOMURLMediaStream,
2719         respectively.
2720
2721         Update the build files:
2722         * CMakeLists.txt: Rename URL -> DOMURL.
2723         * DerivedSources.make: Ditto.
2724         * GNUmakefile.list.am: Ditto.
2725         * WebCore.xcodeproj/project.pbxproj: Ditto.
2726
2727         Rename the .idl and implementation files:
2728         * Modules/mediasource/DOMURLMediaSource.cpp: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.cpp.
2729         (WebCore::DOMURLMediaSource::createObjectURL):
2730         * Modules/mediasource/DOMURLMediaSource.h: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.h.
2731         * Modules/mediasource/DOMURLMediaSource.idl: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.idl.
2732         * Modules/mediastream/DOMURLMediaStream.cpp: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.cpp.
2733         (WebCore::DOMURLMediaStream::createObjectURL):
2734         * Modules/mediastream/DOMURLMediaStream.h: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.h.
2735         * Modules/mediastream/DOMURLMediaStream.idl: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.idl.
2736
2737 2013-10-07  Philippe Normand  <pnormand@igalia.com>
2738
2739         Conditional support in bindings code generator for overloaded functions
2740         https://bugs.webkit.org/show_bug.cgi?id=122443
2741
2742         Reviewed by Darin Adler.
2743
2744         * bindings/scripts/CodeGeneratorJS.pm: 
2745         (GenerateOverloadedFunction): Generate conditional for overloaded
2746         function, if it's present in the idl.
2747         (GenerateImplementation): Close the last overloaded function
2748         conditional before generating the distpatch function.
2749         * bindings/scripts/test/JS/JSTestObj.cpp:
2750         (WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
2751         Rebaseline overloaded function tests.
2752
2753 2013-10-07  Tim Horton  <timothy_horton@apple.com>
2754
2755         -webkit-cross-fade paints SVGs at full opacity during cross-fade
2756         https://bugs.webkit.org/show_bug.cgi?id=122441
2757         <rdar://problem/13973162>
2758
2759         Reviewed by Simon Fraser.
2760
2761         Test: css3/images/cross-fade-svg-with-opacity.html
2762
2763         * platform/graphics/CrossfadeGeneratedImage.cpp:
2764         (WebCore::drawCrossfadeSubimage):
2765         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
2766         Factor the image painting out into a function.
2767         Conditionally use a transparency layer around painting if the image
2768         we're drawing is an SVG (SVGImage is the only Image subclass that will
2769         not respect the context's opacity).
2770
2771 2013-10-06  Anders Carlsson  <andersca@apple.com>
2772
2773         Add OVERRIDE and virtual where appropriate
2774         https://bugs.webkit.org/show_bug.cgi?id=122439
2775
2776         Reviewed by Antti Koivisto.
2777
2778         * Modules/encryptedmedia/MediaKeys.h:
2779         * Modules/webaudio/AnalyserNode.h:
2780         * Modules/webaudio/AudioBasicInspectorNode.h:
2781         * Modules/webaudio/AudioBasicProcessorNode.h:
2782         * Modules/webaudio/AudioBufferSourceNode.h:
2783         * Modules/webaudio/AudioContext.h:
2784         * Modules/webaudio/AudioDestinationNode.h:
2785         * Modules/webaudio/AudioProcessingEvent.h:
2786         * Modules/webaudio/BiquadDSPKernel.h:
2787         * Modules/webaudio/BiquadProcessor.h:
2788         * Modules/webaudio/ChannelMergerNode.h:
2789         * Modules/webaudio/ChannelSplitterNode.h:
2790         * Modules/webaudio/ConvolverNode.h:
2791         * Modules/webaudio/DelayDSPKernel.h:
2792         * Modules/webaudio/DelayProcessor.h:
2793         * Modules/webaudio/DynamicsCompressorNode.h:
2794         * Modules/webaudio/GainNode.h:
2795         * Modules/webaudio/MediaElementAudioSourceNode.h:
2796         * Modules/webaudio/OfflineAudioCompletionEvent.h:
2797         * Modules/webaudio/OfflineAudioDestinationNode.h:
2798         * Modules/webaudio/OscillatorNode.h:
2799         * Modules/webaudio/PannerNode.h:
2800         * Modules/webaudio/ScriptProcessorNode.h:
2801         * Modules/webaudio/WaveShaperProcessor.h:
2802         * accessibility/AccessibilityARIAGrid.h:
2803         * accessibility/AccessibilityARIAGridCell.h:
2804         * accessibility/AccessibilityARIAGridRow.h:
2805         * accessibility/AccessibilityImageMapLink.h:
2806         * accessibility/AccessibilityList.h:
2807         * accessibility/AccessibilityListBox.h:
2808         * accessibility/AccessibilityListBoxOption.h:
2809         * accessibility/AccessibilityMediaControls.h:
2810         * accessibility/AccessibilityMenuList.h:
2811         * accessibility/AccessibilityMenuListOption.h:
2812         * accessibility/AccessibilityMenuListPopup.h:
2813         * accessibility/AccessibilityMockObject.h:
2814         * accessibility/AccessibilityNodeObject.h:
2815         * accessibility/AccessibilityProgressIndicator.h:
2816         * accessibility/AccessibilityRenderObject.h:
2817         * accessibility/AccessibilitySVGRoot.h:
2818         * accessibility/AccessibilityScrollView.h:
2819         * accessibility/AccessibilityScrollbar.h:
2820         * accessibility/AccessibilitySlider.h:
2821         * accessibility/AccessibilitySpinButton.h:
2822         * accessibility/AccessibilityTable.h:
2823         * accessibility/AccessibilityTableCell.h:
2824         * accessibility/AccessibilityTableColumn.h:
2825         * accessibility/AccessibilityTableHeaderContainer.h:
2826         * accessibility/AccessibilityTableRow.h:
2827         * bindings/js/JSEventListener.h:
2828         * bindings/js/WebCoreTypedArrayController.h:
2829         * bridge/c/c_class.h:
2830         * bridge/c/c_instance.h:
2831         * bridge/c/c_runtime.h:
2832         * bridge/runtime_root.h:
2833         * css/CSSBasicShapes.h:
2834         * css/CSSComputedStyleDeclaration.h:
2835         * css/CSSStyleSheet.h:
2836         * dom/Attr.h:
2837         * dom/BeforeTextInsertedEvent.h:
2838         * dom/CDATASection.h:
2839         * dom/ChildNodeList.h:
2840         * dom/DatasetDOMStringMap.h:
2841         * dom/Document.h:
2842         * dom/DocumentEventQueue.h:
2843         * dom/DocumentFragment.h:
2844         * dom/Element.h:
2845         * dom/ErrorEvent.h:
2846         * dom/KeyboardEvent.h:
2847         * dom/Node.h:
2848         * dom/PageTransitionEvent.h:
2849         * dom/ProgressEvent.h:
2850         * dom/PseudoElement.h:
2851         * dom/ScriptExecutionContext.h:
2852         * dom/ShadowRoot.h:
2853         * dom/StyledElement.h:
2854         * dom/TagNodeList.h:
2855         * dom/Text.h:
2856         * dom/TextEvent.h:
2857         * dom/TransitionEvent.h:
2858         * dom/UIEvent.h:
2859         * dom/WebKitAnimationEvent.h:
2860         * dom/WebKitTransitionEvent.h:
2861         * editing/ApplyBlockElementCommand.h:
2862         * editing/ApplyStyleCommand.h:
2863         * editing/BreakBlockquoteCommand.h:
2864         * editing/CompositeEditCommand.h:
2865         * editing/SpellingCorrectionCommand.h:
2866         * fileapi/File.h:
2867         * fileapi/FileThreadTask.h:
2868         * history/BackForwardList.h:
2869         * html/BaseCheckableInputType.h:
2870         * html/HTMLAnchorElement.h:
2871         * html/HTMLAreaElement.h:
2872         * html/HTMLCanvasElement.h:
2873         * html/HTMLCollection.h:
2874         * html/HTMLElement.h:
2875         * html/HTMLFieldSetElement.h:
2876         * html/HTMLFormControlElement.h:
2877         * html/HTMLFormControlElementWithState.h:
2878         * html/HTMLFormElement.h:
2879         * html/HTMLFrameElementBase.h:
2880         * html/HTMLImageElement.h:
2881         * html/HTMLImageLoader.h:
2882         * html/HTMLInputElement.h:
2883         * html/HTMLLabelElement.h:
2884         * html/HTMLLegendElement.h:
2885         * html/HTMLMediaElement.h:
2886         * html/HTMLMeterElement.h:
2887         * html/HTMLOptGroupElement.h:
2888         * html/HTMLOptionElement.h:
2889         * html/HTMLPlugInElement.h:
2890         * html/HTMLPlugInImageElement.h:
2891         * html/HTMLProgressElement.h:
2892         * html/HTMLSelectElement.h:
2893         * html/HTMLTableElement.h:
2894         * html/HTMLTextAreaElement.h:
2895         * html/HTMLTextFormControlElement.h:
2896         * html/HTMLVideoElement.h:
2897         * html/canvas/CanvasRenderingContext2D.cpp:
2898         * html/shadow/MediaControlElementTypes.h:
2899         * html/shadow/MediaControlElements.h:
2900         * html/shadow/SpinButtonElement.h:
2901         * html/shadow/TextControlInnerElements.h:
2902         * html/track/AudioTrackList.h:
2903         * html/track/TextTrackList.h:
2904         * html/track/TrackListBase.h:
2905         * inspector/InspectorValues.h:
2906         * loader/EmptyClients.h:
2907         * loader/ImageLoader.h:
2908         * loader/ResourceLoader.h:
2909         * loader/SubresourceLoader.h:
2910         * loader/appcache/ApplicationCacheGroup.cpp:
2911         * loader/appcache/ApplicationCacheGroup.h:
2912         * loader/appcache/DOMApplicationCache.h:
2913         * loader/archive/cf/LegacyWebArchive.h:
2914         * loader/cache/CachedCSSStyleSheet.h:
2915         * loader/cache/CachedFont.h:
2916         * loader/cache/CachedFontClient.h:
2917         * loader/cache/CachedImageClient.h:
2918         * loader/cache/CachedSVGDocumentClient.h:
2919         * loader/cache/CachedStyleSheetClient.h:
2920         * loader/cache/CachedXSLStyleSheet.h:
2921         * page/Chrome.h:
2922         * page/DOMWindow.h:
2923         * page/FrameView.h:
2924         * page/animation/ImplicitAnimation.h:
2925         * platform/PODIntervalTree.h:
2926         * platform/PODRedBlackTree.h:
2927         * platform/ScrollView.h:
2928         * platform/Scrollbar.h:
2929         * platform/Timer.h:
2930         * platform/animation/TimingFunction.h:
2931         (WebCore::LinearTimingFunction::~LinearTimingFunction):
2932         (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
2933         (WebCore::StepsTimingFunction::~StepsTimingFunction):
2934         * platform/audio/AudioDSPKernelProcessor.h:
2935         * platform/audio/HRTFPanner.h:
2936         * platform/audio/mac/AudioDestinationMac.h:
2937         * platform/graphics/SimpleFontData.h:
2938         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
2939         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2940         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2941         * platform/graphics/filters/FilterOperation.h:
2942         * platform/network/ResourceHandle.h:
2943         * rendering/AutoTableLayout.h:
2944         * rendering/ClipPathOperation.h:
2945         * rendering/InlineFlowBox.h:
2946         * rendering/RenderBlock.h:
2947         * rendering/RenderBox.h:
2948         * rendering/RenderBoxModelObject.h:
2949         * rendering/RenderButton.h:
2950         * rendering/RenderFieldset.h:
2951         * rendering/RenderFileUploadControl.h:
2952         * rendering/RenderFlexibleBox.h:
2953         * rendering/RenderFlowThread.h:
2954         * rendering/RenderFullScreen.h:
2955         * rendering/RenderImage.h:
2956         * rendering/RenderLayer.h:
2957         * rendering/RenderLineBreak.h:
2958         * rendering/RenderListBox.h:
2959         * rendering/RenderListItem.h:
2960         * rendering/RenderListMarker.h:
2961         * rendering/RenderMenuList.h:
2962         * rendering/RenderMeter.h:
2963         * rendering/RenderObject.h:
2964         * rendering/RenderReplaced.h:
2965         * rendering/RenderSlider.h:
2966         * rendering/RenderTable.h:
2967         * rendering/RenderTableCell.h:
2968         * rendering/RenderText.h:
2969         * rendering/RenderTextControl.h:
2970         * rendering/RenderTextControlSingleLine.h:
2971         * rendering/RenderTextFragment.h:
2972         * rendering/RenderView.h:
2973         * rendering/RootInlineBox.h:
2974         * rendering/mathml/RenderMathMLBlock.h:
2975         * rendering/mathml/RenderMathMLFraction.h:
2976         * rendering/mathml/RenderMathMLOperator.h:
2977         * rendering/style/BasicShapes.h:
2978         * rendering/svg/RenderSVGModelObject.h:
2979         * rendering/svg/RenderSVGShape.h:
2980         * svg/SVGAnimatedBoolean.h:
2981         * svg/SVGAnimatedString.h:
2982         * svg/SVGAnimatedTransformList.h:
2983         * svg/SVGDocument.h:
2984         * svg/SVGElement.h:
2985         * svg/SVGElementInstance.h:
2986         * svg/SVGFontElement.h:
2987         * svg/SVGGElement.h:
2988         * svg/SVGGraphicsElement.h:
2989         * svg/SVGTransformable.h:
2990         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2991         * svg/properties/SVGAnimatedPropertyMacros.h:
2992         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
2993         * svg/properties/SVGListPropertyTearOff.h:
2994         * svg/properties/SVGPropertyTearOff.h:
2995         * workers/WorkerGlobalScope.h:
2996
2997 2013-10-07  Philippe Normand  <pnormand@igalia.com>
2998
2999         URLMediaStream is unguarded by ENABLE(MEDIA_STREAM)
3000         https://bugs.webkit.org/show_bug.cgi?id=122444
3001
3002         Reviewed by Martin Robinson.
3003
3004         * Modules/mediastream/URLMediaStream.cpp: Added missing
3005         conditional guards.
3006         * Modules/mediastream/URLMediaStream.h: Ditto.
3007
3008 2013-10-07  Philippe Normand  <pnormand@igalia.com>
3009
3010         [GTK] webkit_dom_html_style_element_{s,g}et_scoped was removed
3011         https://bugs.webkit.org/show_bug.cgi?id=122446
3012
3013         Reviewed by Martin Robinson.
3014
3015         Added skeleton functions warning of removed functionality for
3016         the <style scoped> GObject DOM binding.
3017
3018         * bindings/gobject/WebKitDOMCustom.cpp:
3019         * bindings/gobject/WebKitDOMCustom.h:
3020         * bindings/gobject/WebKitDOMCustom.symbols:
3021
3022 2013-10-07  Csaba Osztrogonác  <ossy@webkit.org>
3023
3024         Unreviewed buildfix for GCC 4.6.
3025
3026         Changed override to OVERRIDE and final to FINAL.
3027
3028         * page/PageSerializer.cpp:
3029         * workers/AbstractWorker.h:
3030         * workers/SharedWorker.h:
3031         * workers/Worker.h:
3032
3033 2013-10-07  Chris Fleizach  <cfleizach@apple.com>
3034
3035         AX: Facebook wrapped a file upload button in an unfocusable ARIA button, which doesn't work with AXPress.
3036         https://bugs.webkit.org/show_bug.cgi?id=122252
3037
3038         Reviewed by Mario Sanchez Prada.
3039
3040         When an author uses a control-type ARIA role (like button), but then hides a native control-type inside,
3041         AXPress needs to operate on the inside node if possible.
3042
3043         Test: accessibility/axpress-on-aria-button.html
3044
3045         * accessibility/AccessibilityNodeObject.cpp:
3046         (WebCore::isNodeActionElement):
3047         (WebCore::nativeActionElement):
3048         (WebCore::AccessibilityNodeObject::actionElement):
3049
3050 2013-10-07  Zan Dobersek  <zdobersek@igalia.com>
3051
3052         Unreviewed debug build fix for ports enabling the <template> element support.
3053
3054         * html/HTMLTagNames.in: Generate type helpers for the <template> element as they're required
3055         by the assertions in the Element type casts for HTMLTemplateElement.
3056
3057 2013-10-07  Ryuan Choi  <ryuan.choi@samsung.com>
3058
3059         [EFL] Build fix after r157002
3060         https://bugs.webkit.org/show_bug.cgi?id=122434
3061
3062         Reviewed by Sam Weinig.
3063
3064         * editing/markup.cpp: Changed override to OVERRIDE.
3065
3066 2013-10-04  Philippe Normand  <pnormand@igalia.com>
3067
3068         MediaStreamTrack can't be FINAL
3069         https://bugs.webkit.org/show_bug.cgi?id=122322
3070
3071         Reviewed by Darin Adler.
3072
3073         Marked the MediaStreamTrack subclasses as final.
3074
3075         * Modules/mediastream/AudioStreamTrack.h:
3076         * Modules/mediastream/MediaStreamTrack.h:
3077         * Modules/mediastream/VideoStreamTrack.h:
3078
3079 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3080
3081         Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
3082         https://bugs.webkit.org/show_bug.cgi?id=122408
3083
3084         Reviewed by Andreas Kling.
3085
3086         As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
3087         CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
3088         This will help to detect bad type cast.
3089
3090         No new tests, no behavior changes.
3091
3092         * css/CSSCursorImageValue.h:
3093         * css/CSSTimingFunctionValue.h:
3094         * css/CSSToStyleMap.cpp:
3095         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
3096         * css/CSSUnicodeRangeValue.h:
3097         * css/CSSValue.cpp:
3098         (WebCore::CSSValue::destroy):
3099         * css/DeprecatedStyleBuilder.cpp:
3100         (WebCore::ApplyPropertyCursor::applyValue):
3101         * css/StyleResolver.cpp:
3102         (WebCore::StyleResolver::styleImage):
3103         (WebCore::StyleResolver::styleShader):
3104         * rendering/style/StylePendingImage.h:
3105         (WebCore::StylePendingImage::cssCursorImageValue):
3106
3107 2013-10-06  Andreas Kling  <akling@apple.com>
3108
3109         Range constructors should take a Document&.
3110         <https://webkit.org/b/122435>
3111
3112         Reviewed by Sam Weinig.
3113
3114         Make all Range constructors take Document& instead of a PassRefPtr.
3115         This removes one null check at every call site.
3116
3117         Also use a Ref<Document> for storage in Range.
3118
3119 2013-10-06  Antti Koivisto  <antti@apple.com>
3120
3121         Factor text paint style computation out from InlineTextBox
3122         https://bugs.webkit.org/show_bug.cgi?id=122433
3123
3124         Reviewed by Andreas Kling.
3125
3126         Move it to TextPaintStyle.h/cpp. Other parts of the code may use it in the future.
3127
3128 2013-10-06  Darin Adler  <darin@apple.com>
3129
3130         [GTK] Get rid of use of deleteAllValues in GtkDragAndDropHelper
3131         https://bugs.webkit.org/show_bug.cgi?id=122417
3132
3133         Reviewed by Andreas Kling.
3134
3135         * platform/gtk/GtkDragAndDropHelper.cpp: Removed unneeded typedefs.
3136         (WebCore::GtkDragAndDropHelper::~GtkDragAndDropHelper): Removed call to
3137         deleteAllValues.
3138         (WebCore::GtkDragAndDropHelper::handleDragEnd): Use remove directly instead
3139         of using find then remove. I believe this fixes a storage leak.
3140         (WebCore::GtkDragAndDropHelper::handleGetDragData): Use get instead of find.
3141         (WebCore::GtkDragAndDropHelper::handleDragLeaveLater): Remove the explicit
3142         delete since remove will automatically delete.
3143         (WebCore::GtkDragAndDropHelper::handleDragLeave): Use get instead of find.
3144         (WebCore::GtkDragAndDropHelper::handleDragMotion): Use add instead of a
3145         combination of find and set. Also user nullptr instead of 0.
3146         (WebCore::GtkDragAndDropHelper::handleDragDataReceived): Use get instead of find.
3147         (WebCore::GtkDragAndDropHelper::handleDragDrop): Use get instead of find.
3148
3149         * platform/gtk/GtkDragAndDropHelper.h: Use nullptr instead of 0. Change value
3150         type of m_droppingContexts to be a std::unique_ptr.
3151
3152 2013-10-06  Andreas Kling  <akling@apple.com>
3153
3154         Windows build fix attempt.
3155
3156         * page/win/DragControllerWin.cpp:
3157         (WebCore::DragController::declareAndWriteDragImage):
3158
3159 2013-10-06  Antti Koivisto  <antti@apple.com>
3160
3161         Move paint() to RenderElement
3162         https://bugs.webkit.org/show_bug.cgi?id=122371
3163
3164         Reviewed by Darin Adler.
3165
3166         RenderText does not paint itself (text is painted by line boxes). We can move paint() down
3167         to RenderElement.
3168         
3169         This also requires some type tightening elsewhere in the code.
3170
3171 2013-10-06  Antti Koivisto  <antti@apple.com>
3172
3173         Don't try to dispatch resize events for SVG images
3174         https://bugs.webkit.org/show_bug.cgi?id=122410
3175
3176         Reviewed by Darin Adler.
3177
3178         Tested by avoiding assertion in svg/custom/large-image-pattern-crash.html
3179
3180         * page/FrameView.cpp:
3181         (WebCore::FrameView::sendResizeEventIfNeeded):
3182         
3183             Bail out for SVG images. They have scripting disabled so the event wouldn't do anything anyway.
3184             Use of FrameView mechanisms is just an implementation detail for SVG images, they are not
3185             meant to act like real frames.
3186
3187         * rendering/svg/RenderSVGResourcePattern.cpp:
3188         (WebCore::RenderSVGResourcePattern::createTileImage):
3189         
3190             Switch to Element iterator. This will take NoEventDispatchAssertion verifying the change.
3191
3192 2013-10-06  Andreas Kling  <akling@apple.com>
3193
3194         Element ancestor iterator should have a first() for convenience.
3195         <https://webkit.org/b/122425>
3196
3197         Reviewed by Antti Koivisto.
3198
3199         Added an easy way to get the first element ancestor of a certain type
3200         and put it to use in a few places.
3201
3202 2013-10-06  Andreas Kling  <akling@apple.com>
3203
3204         CTTE: FrameLoader::notifier() should return a reference.
3205         <https://webkit.org/b/122424>
3206
3207         Reviewed by Anders Carlsson.
3208
3209         It was just returning the address of an inline member, so we should
3210         use a reference instead. Also made the backpointer to Frame in
3211         ResourceLoadNotifier a reference.
3212
3213 2013-10-06  Andreas Kling  <akling@apple.com>
3214
3215         Avoid layout in window.scroll{Y,X} when at topmost/leftmost position.
3216         <https://webkit.org/b/122423>
3217
3218         Reviewed by Antti Koivisto.
3219
3220         Add a fast path for these properties to skip synchronous layout when
3221         we are just going to return 0 anyway.
3222
3223         * page/DOMWindow.cpp:
3224         (WebCore::DOMWindow::scrollX):
3225         (WebCore::DOMWindow::scrollY):
3226
3227 2013-10-06  Anders Carlsson  <andersca@apple.com>
3228
3229         Clean up ContentData
3230         https://bugs.webkit.org/show_bug.cgi?id=122421
3231
3232         Reviewed by Andreas Kling.
3233
3234         Replace uses of OwnPtr with std::unique_ptr and get rid of the ContentData::create overloads.
3235
3236         * css/StyleResolver.cpp:
3237         (WebCore::StyleResolver::applyProperty):
3238         * rendering/style/ContentData.cpp:
3239         (WebCore::ContentData::clone):
3240         * rendering/style/ContentData.h:
3241         (WebCore::ContentData::setNext):
3242         * rendering/style/RenderStyle.cpp:
3243         (WebCore::RenderStyle::appendContent):
3244         (WebCore::RenderStyle::setContent):
3245         * rendering/style/RenderStyle.h:
3246         * rendering/style/StyleRareNonInheritedData.h:
3247
3248 2013-10-06  Sam Weinig  <sam@webkit.org>
3249
3250         Be a bit shouty about final classes while we look into why the bots don't like it.
3251
3252         * dom/Comment.h:
3253         * dom/ProcessingInstruction.h:
3254         * editing/markup.cpp:
3255         * page/PageSerializer.cpp:
3256         * workers/SharedWorker.h:
3257         * workers/Worker.h:
3258
3259 2013-10-06  Sam Weinig  <sam@webkit.org>
3260
3261         Fix windows build.
3262
3263         * platform/win/ClipboardUtilitiesWin.cpp:
3264         (WebCore::fragmentFromCFHTML):
3265         (WebCore::fragmentFromHTML):
3266         * platform/win/PasteboardWin.cpp:
3267         (WebCore::Pasteboard::writeRangeToDataObject):
3268         (WebCore::Pasteboard::writeSelection):
3269
3270 2013-10-05  Sam Weinig  <sam@webkit.org>
3271
3272         CTTE: Thread references through markup.h
3273         https://bugs.webkit.org/show_bug.cgi?id=122403
3274
3275         Reviewed by Darin Adler and Andreas Kling.
3276
3277         Highlights:
3278         - Removed createFragmentFromMarkupWithContext(), it was unused.
3279         - Moved createFragmentFromNodes() into its one caller (in WebKit/mac)
3280         - Add a bunch more toFoo() overloads.
3281
3282 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
3283
3284         [WebIDL] Annotate IDL interfaces under Source/WebCore/Modules/ with the OperationsNotDeletable attribute
3285         https://bugs.webkit.org/show_bug.cgi?id=122281
3286
3287         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3288         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3289         doesn't have any effect, but will keep the operations not configurable after the generator is modified
3290         to preserve the original behavior. The attribute will be removed from each interface after checking
3291         conformity with other browsers (in terms of configurability of operations of that interface) and the
3292         WebKit's existing test suites.
3293
3294         This patch covers IDL interfaces under Source/WebCore/Modules/.
3295
3296         * Modules/battery/BatteryManager.idl:
3297         * Modules/encryptedmedia/MediaKeySession.idl:
3298         * Modules/encryptedmedia/MediaKeys.idl:
3299         * Modules/gamepad/GamepadList.idl:
3300         * Modules/geolocation/Geolocation.idl:
3301         * Modules/indexeddb/IDBCursor.idl:
3302         * Modules/indexeddb/IDBDatabase.idl:
3303         * Modules/indexeddb/IDBFactory.idl:
3304         * Modules/indexeddb/IDBIndex.idl:
3305         * Modules/indexeddb/IDBKeyRange.idl:
3306         * Modules/indexeddb/IDBObjectStore.idl:
3307         * Modules/indexeddb/IDBTransaction.idl:
3308         * Modules/indexeddb/IDBVersionChangeEvent.idl:
3309         * Modules/mediacontrols/MediaControlsHost.idl:
3310         * Modules/mediasource/MediaSource.idl:
3311         * Modules/mediasource/SourceBuffer.idl:
3312         * Modules/mediasource/SourceBufferList.idl:
3313         * Modules/mediasource/WebKitMediaSource.idl:
3314         * Modules/mediasource/WebKitSourceBuffer.idl:
3315         * Modules/mediasource/WebKitSourceBufferList.idl:
3316         * Modules/mediastream/MediaStream.idl:
3317         * Modules/mediastream/MediaStreamTrack.idl:
3318         * Modules/mediastream/RTCDTMFSender.idl:
3319         * Modules/mediastream/RTCDataChannel.idl:
3320         * Modules/mediastream/RTCPeerConnection.idl:
3321         * Modules/mediastream/RTCStatsReport.idl:
3322         * Modules/mediastream/RTCStatsResponse.idl:
3323         * Modules/networkinfo/NetworkInfoConnection.idl:
3324         * Modules/notifications/Notification.idl:
3325         * Modules/notifications/NotificationCenter.idl:
3326         * Modules/proximity/DeviceProximityEvent.idl:
3327         * Modules/quota/StorageInfo.idl:
3328         * Modules/quota/StorageQuota.idl:
3329         * Modules/speech/SpeechGrammarList.idl:
3330         * Modules/speech/SpeechRecognition.idl:
3331         * Modules/speech/SpeechRecognitionResult.idl:
3332         * Modules/speech/SpeechRecognitionResultList.idl:
3333         * Modules/speech/SpeechSynthesis.idl:
3334         * Modules/webaudio/AnalyserNode.idl:
3335         * Modules/webaudio/AudioBuffer.idl:
3336         * Modules/webaudio/AudioBufferSourceNode.idl:
3337         * Modules/webaudio/AudioContext.idl:
3338         * Modules/webaudio/AudioListener.idl:
3339         * Modules/webaudio/AudioNode.idl:
3340         * Modules/webaudio/AudioParam.idl:
3341         * Modules/webaudio/BiquadFilterNode.idl:
3342         * Modules/webaudio/OscillatorNode.idl:
3343         * Modules/webaudio/PannerNode.idl:
3344         * Modules/webdatabase/Database.idl:
3345         * Modules/webdatabase/DatabaseSync.idl:
3346         * Modules/webdatabase/SQLResultSetRowList.idl:
3347         * Modules/webdatabase/SQLTransaction.idl:
3348         * Modules/webdatabase/SQLTransactionSync.idl:
3349         * Modules/websockets/WebSocket.idl:
3350
3351 2013-10-06  Andreas Kling  <akling@apple.com>
3352
3353         Tighten AbstractWorker and subclasses a bit.
3354         <https://webkit.org/b/122402>
3355
3356         Reviewed by Darin Adler.
3357
3358         - Make the Worker and SharedWorker classes final.
3359         - Have constructors take ScriptExecutionContext by reference.
3360         - Remove unnecessary AbstractWorker::contextDestroyed() override.
3361         - Make eventTargetInterface() inline.
3362
3363         Inlining eventTargetInterface() is quite neat - since we only ever
3364         call this on tightly typed pointers from generated code, combining
3365         final and inline turns the virtual call into a compile-time constant.
3366
3367 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
3368
3369         [WebIDL] Annotate IDL interfaces under Source/WebCore/html/ with the OperationsNotDeletable attribute
3370         https://bugs.webkit.org/show_bug.cgi?id=122280
3371
3372         Reviewed by Darin Adler.
3373
3374         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3375         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3376         doesn't have any effect, but will keep the operations not configurable after the generator is modified
3377         to preserve the original behavior. The attribute will be removed from each interface after checking
3378         conformity with other browsers (in terms of configurability of operations of that interface) and the
3379         WebKit's existing test suites.
3380
3381         This patch covers IDL interfaces under Source/WebCore/html/.
3382
3383         * html/DOMFormData.idl:
3384         * html/DOMSettableTokenList.idl:
3385         * html/DOMTokenList.idl:
3386         * html/DOMURL.idl:
3387         * html/HTMLAllCollection.idl:
3388         * html/HTMLAnchorElement.idl:
3389         * html/HTMLButtonElement.idl:
3390         * html/HTMLCanvasElement.idl:
3391         * html/HTMLCollection.idl:
3392         * html/HTMLDocument.idl:
3393         * html/HTMLElement.idl:
3394         * html/HTMLEmbedElement.idl:
3395         * html/HTMLFieldSetElement.idl:
3396         * html/HTMLFormControlsCollection.idl:
3397         * html/HTMLFormElement.idl:
3398         * html/HTMLFrameElement.idl:
3399         * html/HTMLIFrameElement.idl:
3400         * html/HTMLInputElement.idl:
3401         * html/HTMLKeygenElement.idl:
3402         * html/HTMLMarqueeElement.idl:
3403         * html/HTMLMediaElement.idl:
3404         * html/HTMLObjectElement.idl:
3405         * html/HTMLOptionsCollection.idl:
3406         * html/HTMLOutputElement.idl:
3407         * html/HTMLSelectElement.idl:
3408         * html/HTMLTableElement.idl:
3409         * html/HTMLTableRowElement.idl:
3410         * html/HTMLTableSectionElement.idl:
3411         * html/HTMLTextAreaElement.idl:
3412         * html/HTMLVideoElement.idl:
3413         * html/MediaController.idl:
3414         * html/RadioNodeList.idl:
3415         * html/TimeRanges.idl:
3416         * html/canvas/CanvasGradient.idl:
3417         * html/canvas/CanvasRenderingContext2D.idl:
3418         * html/canvas/DOMPath.idl:
3419         * html/canvas/EXTDrawBuffers.idl:
3420         * html/canvas/OESVertexArrayObject.idl:
3421         * html/canvas/WebGLDebugShaders.idl:
3422         * html/canvas/WebGLLoseContext.idl:
3423         * html/canvas/WebGLRenderingContext.idl:
3424         * html/track/AudioTrackList.idl:
3425         * html/track/TextTrack.idl:
3426         * html/track/TextTrackCue.idl:
3427         * html/track/TextTrackCueList.idl:
3428         * html/track/TextTrackList.idl:
3429         * html/track/TextTrackRegionList.idl:
3430         * html/track/VideoTrackList.idl:
3431
3432 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
3433
3434         [WebIIDL] Annotate IDL interfaces under Source/WebCore/svg/ with the OperationsNotDeletable attribute
3435         https://bugs.webkit.org/show_bug.cgi?id=122279
3436