Move m_floatingObjects to RenderBlockFlow from RenderBlock
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-08  Bem Jones-Bey  <bjonesbe@adobe.com>
2
3         Move m_floatingObjects to RenderBlockFlow from RenderBlock
4         https://bugs.webkit.org/show_bug.cgi?id=122512
5
6         Reviewed by David Hyatt.
7
8         Floats are part of block flow, not every RenderBlock can contain
9         floars. This change makes it so that RenderBlock no longer can contain
10         floats, only RenderBlockFlow can.
11
12         This also moves a bunch of line layout stuff over to RenderBlockFlow,
13         but makes no effort to move all of line layout, as all of that is
14         destined to move out of both RenderBlockFlow and RenderBlock into its
15         own class.
16
17         No new tests, no behavior change.
18
19         * rendering/InlineIterator.h:
20         (WebCore::InlineBidiResolver::appendRun):
21         * rendering/LineWidth.cpp:
22         (WebCore::LineWidth::LineWidth):
23         * rendering/LineWidth.h:
24         * rendering/RenderBlock.cpp:
25         (WebCore::RenderBlock::styleWillChange):
26         (WebCore::RenderBlock::styleDidChange):
27         (WebCore::RenderBlock::splitFlow):
28         (WebCore::RenderBlock::deleteLineBoxTree):
29         (WebCore::RenderBlock::removeChild):
30         (WebCore::RenderBlock::computeOverflow):
31         (WebCore::RenderBlock::selectionGaps):
32         (WebCore::RenderBlock::adjustForBorderFit):
33         * rendering/RenderBlock.h:
34         (WebCore::RenderBlock::containsFloats):
35         (WebCore::RenderBlock::shouldSkipCreatingRunsForObject):
36         (WebCore::RenderBlock::addOverflowFromFloats):
37         (WebCore::RenderBlock::logicalRightFloatOffsetForLine):
38         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine):
39         (WebCore::RenderBlock::moveAllChildrenOnRemovalTo):
40         (WebCore::RenderBlock::paintFloats):
41         (WebCore::RenderBlock::hitTestFloats):
42         (WebCore::RenderBlock::clipOutFloatingObjects):
43         * rendering/RenderBlockFlow.cpp:
44         (WebCore::RenderBlockFlow::clearFloats):
45         (WebCore::RenderBlockFlow::layoutBlock):
46         (WebCore::RenderBlockFlow::layoutBlockChild):
47         (WebCore::RenderBlockFlow::collapseMargins):
48         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
49         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
50         (WebCore::RenderBlockFlow::containsFloat):
51         (WebCore::RenderBlockFlow::styleDidChange):
52         (WebCore::RenderBlockFlow::styleWillChange):
53         (WebCore::RenderBlockFlow::deleteLineBoxTree):
54         (WebCore::RenderBlockFlow::moveAllChildrenOnRemovalTo):
55         (WebCore::RenderBlockFlow::addOverflowFromFloats):
56         (WebCore::RenderBlockFlow::computeOverflow):
57         (WebCore::RenderBlockFlow::repaintOverhangingFloats):
58         (WebCore::RenderBlockFlow::paintFloats):
59         (WebCore::RenderBlockFlow::clipOutFloatingObjects):
60         (WebCore::RenderBlockFlow::createFloatingObjects):
61         (WebCore::RenderBlockFlow::removeFloatingObjects):
62         (WebCore::RenderBlockFlow::insertFloatingObject):
63         (WebCore::RenderBlockFlow::removeFloatingObject):
64         (WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
65         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
66         (WebCore::RenderBlockFlow::positionNewFloats):
67         (WebCore::RenderBlockFlow::newLine):
68         (WebCore::RenderBlockFlow::logicalLeftFloatOffsetForLine):
69         (WebCore::RenderBlockFlow::logicalRightFloatOffsetForLine):
70         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
71         (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
72         (WebCore::RenderBlockFlow::addOverhangingFloats):
73         (WebCore::RenderBlockFlow::hasOverhangingFloat):
74         (WebCore::RenderBlockFlow::addIntrudingFloats):
75         (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
76         (WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
77         (WebCore::RenderBlockFlow::getClearDelta):
78         (WebCore::RenderBlockFlow::hitTestFloats):
79         (WebCore::RenderBlockFlow::adjustForBorderFit):
80         * rendering/RenderBlockFlow.h:
81         (WebCore::RenderBlockFlow::hasOverhangingFloats):
82         * rendering/RenderBlockLineLayout.cpp:
83         (WebCore::LineBreaker::LineBreaker):
84         (WebCore::RenderBlockFlow::appendRunsForObject):
85         (WebCore::RenderBlockFlow::createLineBoxes):
86         (WebCore::RenderBlockFlow::constructLine):
87         (WebCore::RenderBlockFlow::setMarginsForRubyRun):
88         (WebCore::updateLogicalInlinePositions):
89         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
90         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
91         (WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
92         (WebCore::setStaticPositions):
93         (WebCore::RenderBlockFlow::handleTrailingSpaces):
94         (WebCore::RenderBlockFlow::appendFloatingObjectToLastLine):
95         (WebCore::constructBidiRunsForLine):
96         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
97         (WebCore::RenderBlockFlow::layoutRunsAndFloats):
98         (WebCore::RenderBlockFlow::restartLayoutRunsAndFloatsInRange):
99         (WebCore::pushShapeContentOverflowBelowTheContentBox):
100         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLine):
101         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
102         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
103         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
104         (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
105         (WebCore::RenderBlockFlow::repaintDirtyFloats):
106         (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
107         (WebCore::RenderBlockFlow::determineStartPosition):
108         (WebCore::RenderBlockFlow::determineEndPosition):
109         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
110         (WebCore::RenderBlockFlow::matchedEndLine):
111         (WebCore::shouldSkipWhitespaceAfterStartObject):
112         (WebCore::updateSegmentsForShapes):
113         (WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
114         (WebCore::RenderBlockFlow::checkLinesForTextOverflow):
115         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
116         * rendering/RenderBox.cpp:
117         (WebCore::RenderBox::outermostBlockContainingFloatingObject):
118         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
119         * rendering/RenderBox.h:
120         * rendering/RenderBoxModelObject.cpp:
121         (WebCore::RenderBoxModelObject::moveChildrenTo):
122         * rendering/RenderInline.cpp:
123         (WebCore::RenderInline::splitFlow):
124
125 2013-10-08  Dean Jackson  <dino@apple.com>
126
127         Support unprefixed WebGL context creation
128         https://bugs.webkit.org/show_bug.cgi?id=122523
129         <rdar://problem/15179463>
130
131         Reviewed by Simon Fraser.
132
133         Add support for the unprefixed "webgl" canvas context type.
134
135         Test: fast/canvas/webgl/unprefixed-context.html
136
137         * html/HTMLCanvasElement.cpp:
138         (WebCore::HTMLCanvasElement::is3dType):
139         * inspector/InjectedScriptCanvasModuleSource.js:
140
141 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
142
143         Rename EventDispatchMediator::dispatchEvent to mediateAndDispatchEvent
144         https://bugs.webkit.org/show_bug.cgi?id=122522
145
146         Reviewed by Darin Adler.
147
148         Renamed EventDispatchMediator::dispatchEvent to EventDispatchMediator::mediateAndDispatchEvent
149         to make the future refactoring easier.
150
151         * Modules/indieui/UIRequestEvent.cpp:
152         (WebCore::UIRequestEventDispatchMediator::mediateAndDispatchEvent):
153         * Modules/indieui/UIRequestEvent.h:
154         * dom/EventDispatchMediator.cpp:
155         (WebCore::EventDispatchMediator::mediateAndDispatchEvent):
156         * dom/EventDispatchMediator.h:
157         * dom/EventDispatcher.cpp:
158         (WebCore::EventDispatcher::dispatchEvent):
159         * dom/FocusEvent.cpp:
160         (WebCore::FocusEventDispatchMediator::mediateAndDispatchEvent):
161         (WebCore::BlurEventDispatchMediator::mediateAndDispatchEvent):
162         (WebCore::FocusInEventDispatchMediator::mediateAndDispatchEvent):
163         (WebCore::FocusOutEventDispatchMediator::mediateAndDispatchEvent):
164         * dom/FocusEvent.h:
165         * dom/GestureEvent.cpp:
166         (WebCore::GestureEventDispatchMediator::mediateAndDispatchEvent):
167         * dom/GestureEvent.h:
168         * dom/KeyboardEvent.cpp:
169         (WebCore::KeyboardEventDispatchMediator::mediateAndDispatchEvent):
170         * dom/KeyboardEvent.h:
171         * dom/MouseEvent.cpp:
172         (WebCore::MouseEventDispatchMediator::mediateAndDispatchEvent):
173         * dom/MouseEvent.h:
174         * dom/TouchEvent.cpp:
175         (WebCore::TouchEventDispatchMediator::mediateAndDispatchEvent):
176         * dom/TouchEvent.h:
177         * dom/WheelEvent.cpp:
178         (WebCore::WheelEventDispatchMediator::mediateAndDispatchEvent):
179         * dom/WheelEvent.h:
180
181 2013-10-08  Brent Fulgham  <bfulgham@apple.com>
182
183         [MathML] Use of floating point floor/ceil on LayoutUnits seems wrong
184         https://bugs.webkit.org/show_bug.cgi?id=122367
185
186         Reviewed by Darin Adler.
187
188         * rendering/mathml/RenderMathMLOperator.cpp:
189         (WebCore::RenderMathMLOperator::paintCharacter): Use member methods to compute
190         correct floor/ceil values for LayoutUnits.
191
192 2013-10-07  Dean Jackson  <dino@apple.com>
193
194         Video -> pixel buffer output should not manage color spaces
195         https://bugs.webkit.org/show_bug.cgi?id=122486
196
197         Reviewed by Tim Horton.
198
199         On Mac, when we draw a video into a canvas or WebGL, the
200         output of the video should not be color managed. Instead, leave it
201         as DeviceRGB so that it matches other colors in those elements.
202         We'll hopefully solve this properly soon - making everything sRGB.
203
204         Test: media/video-canvas-drawing-output.html
205
206         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
207         (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Pass on
208         a CGImageRef via CGImageCreateCopyWithColorSpace rather than the raw data.
209         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Tell CoreImage
210         to allocate a pixel buffer that is unmanaged.
211
212 2013-10-08  Lauro Neto  <lauro.neto@openbossa.org>
213
214         [MediaStream] Fix segfault in initializeMockSources()
215         https://bugs.webkit.org/show_bug.cgi?id=122517
216
217         Reviewed by Darin Adler.
218
219         Calling release() and a member function on the same RefPtr
220         as arguments to a function can lead to segfaults if the release
221         call is evaluated first.
222
223         * platform/mock/MockMediaStreamCenter.cpp:
224         (WebCore::initializeMockSources):
225
226 2013-10-08  Mihnea Ovidenie  <mihnea@adobe.com>
227
228         [CSSRegions] Regions with overflow: hidden should paint over positioned sibling
229         https://bugs.webkit.org/show_bug.cgi?id=122389
230
231         Reviewed by Alexandru Chiculita.
232
233         As a follow-up from https://bugs.webkit.org/show_bug.cgi?id=122321, a region should not
234         be a normal flow layer when it has overflow clip. Change existing test by adding overflow:hidden
235         to the region element.
236
237         * rendering/RenderLayer.cpp:
238         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
239
240 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
241
242         Simplify the loop in EventRetargeter::calculateEventPath
243         https://bugs.webkit.org/show_bug.cgi?id=122500
244
245         Reviewed by Antti Koivisto.
246
247         Replaced the convoluted loop by two nested loops to make semantics clear.
248
249         * dom/EventRetargeter.cpp:
250         (WebCore::EventRetargeter::calculateEventPath):
251
252 2013-10-08  ChangSeok Oh  <changseok.oh@collabora.com>
253
254         [GTK] Leak: GdkEvent retured by gtk_get_current_event is not freed.
255         https://bugs.webkit.org/show_bug.cgi?id=122506
256
257         Reviewed by Gustavo Noronha Silva.
258
259         Gdk event returned by gtk_get_current_event should be freed after using it.
260
261         No functionality changed.
262
263         * platform/gtk/PopupMenuGtk.cpp:
264         (WebCore::PopupMenuGtk::show):
265
266 2013-10-08  Ryosuke Niwa  <rniwa@webkit.org>
267
268         Use references in EventRetargeter::calculateEventPath and EventRetargeter::eventTargetRespectingTargetRules
269         https://bugs.webkit.org/show_bug.cgi?id=122494
270
271         Reviewed by Antti Koivisto.
272
273         Use referenecs instead of pointers in ventRetargeter's calculateEventPath and eventTargetRespectingTargetRules.
274         Also replace Vector<EventTarget*, 32> targetStack by a single pointer since we only append an item to
275         the vector when it's empty and we always use the last item.
276
277         * dom/EventDispatcher.cpp:
278         (WebCore::EventDispatcher::EventDispatcher):
279         (WebCore::EventDispatcher::dispatchScopedEvent):
280         (WebCore::EventDispatcher::dispatch):
281         (WebCore::EventDispatcher::dispatchEventPostProcess):
282         * dom/EventDispatcher.h:
283         * dom/EventRetargeter.cpp:
284         (WebCore::EventRetargeter::calculateEventPath):
285         * dom/EventRetargeter.h:
286         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
287         * dom/Node.cpp:
288         (WebCore::Node::dispatchScopedEventDispatchMediator):
289
290 2013-10-08  Mihnea Ovidenie  <mihnea@adobe.com>
291
292         [CSSRegions] Computed z-Index should return 0 instead of auto for a region
293         https://bugs.webkit.org/show_bug.cgi?id=122405
294
295         Reviewed by David Hyatt.
296
297         Test: fast/regions/layers/region-zIndex-computedStyle.html
298
299         Adjust the z-index value for a region. Also, since a box with a z-Index
300         that is non-auto receives a layer, i removed the requiresLayer override
301         in RenderRegion and RenderMultiColumnSet.
302
303         * css/StyleResolver.cpp:
304         (WebCore::StyleResolver::adjustRenderStyle):
305         * rendering/RenderMultiColumnSet.cpp:
306         * rendering/RenderMultiColumnSet.h:
307         * rendering/RenderRegion.cpp:
308         * rendering/RenderRegion.h:
309         * rendering/style/RenderStyle.h:
310
311 2013-10-08  Andrei Bucur  <abucur@adobe.com>
312
313         [CSS Regions] Widows don't work if the first line in a region is aligned with the top of the region
314         https://bugs.webkit.org/show_bug.cgi?id=122450
315
316         Reviewed by David Hyatt.
317
318         The patch adds a new function updateRegionForLine that updates the containing region for a line and the
319         flag used to determine if it's the first line in that region. This is necessary because the code in
320         adjustLinePositionForPagination is not sufficient to determine when an unforced break occurs and the line
321         being positioned is the first one in the fragmentation container or not.
322
323         Test: fast/regions/regions-widows-float-top-aligned.html
324
325         * rendering/RenderBlockFlow.cpp:
326         (WebCore::RenderBlockFlow::adjustLinePositionForPagination): Added FIXME comment.
327         * rendering/RenderBlockFlow.h:
328         * rendering/RenderBlockLineLayout.cpp:
329         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
330         (WebCore::RenderBlock::linkToEndLineIfNeeded):
331         (WebCore::RenderBlock::determineStartPosition):
332         (WebCore::RenderBlockFlow::updateRegionForLine): New function used to update the containing region and
333         the first line flag.
334
335 2013-10-08  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
336
337         Get EFL and GTK compiling with media stream enabled
338         https://bugs.webkit.org/show_bug.cgi?id=122505
339
340         Reviewed by Philippe Normand.
341
342         After r157068
343
344         No new tests needed.
345
346         * GNUmakefile.list.am:
347         * UseJSC.cmake:
348
349 2013-10-08  Hurnjoo Lee  <hurnjoo.lee@samsung.com>
350
351         Composited layer that painted into composited ancestor is not repainted after moving
352         https://bugs.webkit.org/show_bug.cgi?id=114655
353
354         Reviewed by Simon Fraser.
355
356         Test: compositing/repaint/absolute-painted-into-composited-ancestor.html
357
358         Composited layers are currently skipping repainting after layout,
359         if the repaint status is not NeedsFullRepaint. However, in case layers
360         were painted into composited ancestor, they need to repaint.
361
362         * rendering/RenderLayer.cpp:
363         (WebCore::RenderLayer::shouldRepaintAfterLayout):
364
365 2013-10-08  Zalan Bujtas  <zalan@apple.com>
366
367         Unreviewed. Rollout of r156536. ~5% regression in inline layout performance.
368
369         * rendering/LineWidth.cpp:
370         * rendering/LineWidth.h:
371         (WebCore::LineWidth::addUncommittedWidth):
372         * rendering/RenderBlockLineLayout.cpp:
373         (WebCore::LineBreaker::nextSegmentBreak):
374
375 2013-10-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
376
377         Use toCSSFooValue() instead of using static_cast<const CSSFooValue*>
378         https://bugs.webkit.org/show_bug.cgi?id=122491
379
380         Reviewed by Andreas Kling.
381
382         static_cast<const CSSFooValue*> wasn't cleanup. So, we need to use toCSSFooValue() for it.
383         To use toCSSValue() will help to detect bad type-cast.
384
385         Besides static_cast<const WebKitCSSFooValue*> helper functions need to be added to support this use.
386
387         No new tests, no behavior change.
388
389         * css/CSSComputedStyleDeclaration.cpp:
390         (WebCore::ComputedStyleExtractor::propertyMatches):
391         * css/CSSImageGeneratorValue.cpp:
392         (WebCore::CSSImageGeneratorValue::isFixedSize):
393         (WebCore::CSSImageGeneratorValue::isPending):
394         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
395         * css/CSSValue.cpp:
396         (WebCore::CSSValue::isImplicitInitialValue):
397         (WebCore::CSSValue::addSubresourceStyleURLs):
398         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
399         (WebCore::CSSValue::equals):
400         (WebCore::CSSValue::cssText):
401         (WebCore::CSSValue::serializeResolvingVariables):
402         (WebCore::CSSValue::cloneForCSSOM):
403         * css/StylePropertySet.cpp:
404         (WebCore::StylePropertySet::PropertyReference::cssName):
405         * css/WebKitCSSSVGDocumentValue.h:
406         (WebCore::toWebKitCSSSVGDocumentValue):
407         * css/WebKitCSSTransformValue.h:
408         (WebCore::toWebKitCSSTransformValue):
409
410 2013-10-08  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
411
412         Get MediaStreamCenterGStreamer compiling again
413         https://bugs.webkit.org/show_bug.cgi?id=122482
414
415         Reviewed by Eric Carlson.
416
417         r157068 was including a nonexistent header
418
419         No new tests needed.
420
421         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
422
423 2013-10-08  Mario Sanchez Prada  <mario.prada@samsung.com>
424
425         [ATK] Expose state of aria-invalid as ATK_STATE_INVALID_ENTRY
426         https://bugs.webkit.org/show_bug.cgi?id=122104
427
428         Reviewed by Chris Fleizach.
429
430         Map invalid state of an AccessibilityObject to the proper AtkState.
431
432         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
433         (setAtkStateSetFromCoreObject): Add the mapping.
434
435 2013-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
436
437
438         [GTK] media/video-src-blob.html
439         https://bugs.webkit.org/show_bug.cgi?id=102586
440
441         Reviewed by Martin Robinson.
442
443         Add support for loading videos using blob URLs.
444
445         Fixes media/video-src-blob.html.
446
447         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
448         (webKitWebSrcStart): Use BufferData buffering policy for blob
449         URLs.
450         (webKitWebSrcGetProtocols): Add blob to the list of supported
451         protocols.
452         (webKitWebSrcSetUri): Consider blob URLs as valid.
453
454 2013-10-07  Ryosuke Niwa  <rniwa@webkit.org>
455
456         EventDispatchBehavior is unnecessary
457         https://bugs.webkit.org/show_bug.cgi?id=122483
458
459         Reviewed by Andreas Kling.
460
461         Removed EventDispatchBehavior and changed the return type of determineDispatchBehavior to bool.
462         Also renamed it to shouldEventCrossShadowBoundary to reflect the semantics more clear.
463
464         * dom/EventRetargeter.cpp:
465         (WebCore::shouldEventCrossShadowBoundary):
466         (WebCore::EventRetargeter::calculateEventPath):
467         * dom/EventRetargeter.h:
468
469 2013-10-07  Ryosuke Niwa  <rniwa@webkit.org>
470
471         Make buildRelatedNodeMap and findRelatedNode static to EventRetargeter.cpp
472         https://bugs.webkit.org/show_bug.cgi?id=122477
473
474         Reviewed by Antti Koivisto.
475
476         Make EventRetargeter::buildRelatedNodeMap and EventRetargeter::findRelatedNode static local functions
477         in EventRetargeter.cpp since they're only called in EventRetargeter::calculateAdjustedNodes and don't
478         depend on any oher member function or variable (EventRetarger doesn't have any member variables).
479
480         Also get rid of Vector local variables in both functions as they're redundant.
481
482         * dom/EventRetargeter.cpp:
483         (WebCore::buildRelatedNodeMap): Moved. Replaced Vector<Node*, 32> relatedNodeStack by a single pointer
484         since the only time we add an item to this Vector is when it's empty, and we always use or remove the
485         last item.
486         (WebCore::addRelatedNodeForUnmapedTreeScopes): Renamed from EventRetargeter::findRelatedNode. Removed
487         Vector<TreeScope*, 32> parentTreeScopes since it only contains the ancestor tree scopes of scope up to
488         a tree scope already in relatedNodeMap. We could simply remember this tree scope and re-traverse the
489         ancestor tree scopes in the second loop.
490         (WebCore::EventRetargeter::calculateAdjustedNodes):
491         * dom/EventRetargeter.h:
492
493 2013-10-07  Andreas Kling  <akling@apple.com>
494
495         CTTE: EditCommand always has a Document.
496         <https://webkit.org/b/122473>
497
498         Reviewed by Anders Carlsson.
499
500         Store a Ref<Document> in EditComment since it's never null.
501
502         Since Ref enforces more const consistency than RefPtr, I had to make
503         document() and frame() non-const here. Only a single method depended
504         on the old half-const behavior.
505
506 2013-10-07  Anders Carlsson  <andersca@apple.com>
507
508         Update test again.
509
510         * bindings/scripts/test/JS/JSTestCallback.cpp:
511         (WebCore::JSTestCallback::~JSTestCallback):
512
513 2013-10-07  Commit Queue  <commit-queue@webkit.org>
514
515         Unreviewed, rolling out r157061.
516         http://trac.webkit.org/changeset/157061
517         https://bugs.webkit.org/show_bug.cgi?id=122479
518
519         Broke worker tests (Requested by andersca on #webkit).
520
521         * Modules/webdatabase/Database.cpp:
522         (WebCore::DerefContextTask::create):
523         (WebCore::DerefContextTask::DerefContextTask):
524         (WebCore::Database::~Database):
525         (WebCore::DeliverPendingCallbackTask::create):
526         (WebCore::DeliverPendingCallbackTask::performTask):
527         (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
528         (WebCore::Database::scheduleTransactionCallback):
529         * Modules/webdatabase/DatabaseManager.cpp:
530         (WebCore::DatabaseCreationCallbackTask::create):
531         (WebCore::DatabaseCreationCallbackTask::performTask):
532         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
533         (WebCore::DatabaseManager::openDatabase):
534         * Modules/webdatabase/SQLCallbackWrapper.h:
535         (WebCore::SQLCallbackWrapper::clear):
536         (WebCore::SQLCallbackWrapper::SafeReleaseTask::create):
537         (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask):
538         (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask):
539         (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
540         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
541         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
542         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
543         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
544         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create):
545         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask):
546         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask):
547         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
548         * bindings/js/JSCallbackData.h:
549         (WebCore::DeleteCallbackDataTask::create):
550         (WebCore::DeleteCallbackDataTask::performTask):
551         (WebCore::DeleteCallbackDataTask::isCleanupTask):
552         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
553         * bindings/js/JSDOMGlobalObjectTask.h:
554         * bindings/js/JSDOMWindowBase.cpp:
555         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
556         * bindings/js/JSWorkerGlobalScopeBase.cpp:
557         (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
558         * bindings/scripts/CodeGeneratorJS.pm:
559         (GenerateCallbackImplementation):
560         * dom/CrossThreadTask.h:
561         (WebCore::CrossThreadTask1::create):
562         (WebCore::CrossThreadTask1::performTask):
563         (WebCore::CrossThreadTask2::create):
564         (WebCore::CrossThreadTask2::performTask):
565         (WebCore::CrossThreadTask3::create):
566         (WebCore::CrossThreadTask3::performTask):
567         (WebCore::CrossThreadTask4::create):
568         (WebCore::CrossThreadTask4::performTask):
569         (WebCore::CrossThreadTask5::create):
570         (WebCore::CrossThreadTask5::performTask):
571         (WebCore::CrossThreadTask6::create):
572         (WebCore::CrossThreadTask6::performTask):
573         (WebCore::CrossThreadTask7::create):
574         (WebCore::CrossThreadTask7::performTask):
575         (WebCore::CrossThreadTask8::create):
576         (WebCore::CrossThreadTask8::performTask):
577         (WebCore::createCallbackTask):
578         * dom/Document.cpp:
579         (WebCore::Document::addConsoleMessage):
580         (WebCore::Document::addMessage):
581         (WebCore::PerformTaskContext::PerformTaskContext):
582         (WebCore::Document::postTask):
583         (WebCore::Document::pendingTasksTimerFired):
584         * dom/Document.h:
585         * dom/ScriptExecutionContext.cpp:
586         (WebCore::ProcessMessagesSoonTask::create):
587         (WebCore::ProcessMessagesSoonTask::performTask):
588         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
589         * dom/ScriptExecutionContext.h:
590         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
591         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
592         * dom/StringCallback.cpp:
593         (WebCore::StringCallback::scheduleCallback):
594         * loader/appcache/ApplicationCacheGroup.cpp:
595         (WebCore::CallCacheListenerTask::create):
596         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
597         (WebCore::ApplicationCacheGroup::postListenerTask):
598         * workers/DefaultSharedWorkerRepository.cpp:
599         (WebCore::SharedWorkerProxy::postTaskToLoader):
600         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
601         (WebCore::SharedWorkerConnectTask::create):
602         (WebCore::SharedWorkerConnectTask::performTask):
603         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
604         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
605         * workers/WorkerEventQueue.cpp:
606         (WebCore::WorkerEventQueue::enqueueEvent):
607         * workers/WorkerGlobalScope.cpp:
608         (WebCore::WorkerGlobalScope::close):
609         (WebCore::WorkerGlobalScope::postTask):
610         (WebCore::WorkerGlobalScope::addConsoleMessage):
611         (WebCore::WorkerGlobalScope::addMessage):
612         * workers/WorkerGlobalScope.h:
613         * workers/WorkerLoaderProxy.h:
614         * workers/WorkerMessagingProxy.cpp:
615         (WebCore::MessageWorkerGlobalScopeTask::create):
616         (WebCore::MessageWorkerGlobalScopeTask::performTask):
617         (WebCore::MessageWorkerTask::create):
618         (WebCore::MessageWorkerTask::performTask):
619         (WebCore::WorkerExceptionTask::create):
620         (WebCore::WorkerExceptionTask::performTask):
621         (WebCore::WorkerGlobalScopeDestroyedTask::create):
622         (WebCore::WorkerGlobalScopeDestroyedTask::performTask):
623         (WebCore::WorkerTerminateTask::create):
624         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
625         (WebCore::WorkerTerminateTask::performTask):
626         (WebCore::WorkerThreadActivityReportTask::create):
627         (WebCore::WorkerThreadActivityReportTask::performTask):
628         (WebCore::PostMessageToPageInspectorTask::create):
629         (WebCore::PostMessageToPageInspectorTask::performTask):
630         (WebCore::NotifyNetworkStateChangeTask::create):
631         (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask):
632         (WebCore::NotifyNetworkStateChangeTask::performTask):
633         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
634         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
635         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
636         (WebCore::WorkerMessagingProxy::postTaskToLoader):
637         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
638         (WebCore::WorkerMessagingProxy::workerThreadCreated):
639         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
640         (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
641         (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
642         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
643         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
644         (WebCore::WorkerMessagingProxy::reportPendingActivity):
645         * workers/WorkerMessagingProxy.h:
646         * workers/WorkerRunLoop.cpp:
647         (WebCore::WorkerRunLoop::postTask):
648         (WebCore::WorkerRunLoop::postTaskAndTerminate):
649         (WebCore::WorkerRunLoop::postTaskForMode):
650         (WebCore::WorkerRunLoop::Task::create):
651         (WebCore::WorkerRunLoop::Task::Task):
652         * workers/WorkerRunLoop.h:
653         * workers/WorkerThread.cpp:
654         (WebCore::WorkerThreadShutdownFinishTask::create):
655         (WebCore::WorkerThreadShutdownFinishTask::performTask):
656         (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask):
657         (WebCore::WorkerThreadShutdownStartTask::performTask):
658         (WebCore::WorkerThread::stop):
659         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
660
661 2013-10-07  Darin Adler  <darin@apple.com>
662
663         Make Vector::insert work for move-only types
664         https://bugs.webkit.org/show_bug.cgi?id=122429
665
666         Reviewed by Anders Carlsson.
667
668         * history/HistoryItem.cpp:
669         (WebCore::HistoryItem::padDailyCountsForNewVisit): Call insertVector.
670         Also added some inline capacity, which should make this faster.
671
672 2013-10-07  Anders Carlsson  <andersca@apple.com>
673
674         Update test results.
675
676         * bindings/scripts/test/JS/JSTestCallback.cpp:
677         (WebCore::JSTestCallback::~JSTestCallback):
678
679 2013-10-04  Ojan Vafai  <ojan@chromium.org> and Martin Robinson  <mrobinson@igalia.com>
680
681         [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
682         https://bugs.webkit.org/show_bug.cgi?id=121416
683
684         Reviewed by David Hyatt.
685
686         Tests: mathml/presentation/mo-minus.html
687                mathml/presentation/mo-stacked-glyphs.html
688                mathml/presentation/mo-stretchy-vertical-bar.html
689                mathml/very-large-stretchy-operators.html
690
691         MathML stretched operators by both modifying the width of the operator
692         and adding children to the operator node in the render tree.
693
694         Instead we make the operator width equal to the widest glyph possible that we use
695         to represent the operator.  Additionally instead of rendering stretchy glyphs via
696         stacked operator pieces in separate render tree nodes, keep only one node for the
697         glyph, and use a custom paint method to paint the stacked representation.
698
699         With this patch, rendering seems roughly equivalent on Mac and markedly better
700         on Linux.
701
702         * css/mathml.css:
703         Not sure what this line-height:0 was here for, but it caused bugs with the new code
704
705         * mathml/MathMLTextElement.cpp:
706         (WebCore::MathMLTextElement::attach):
707         (WebCore):
708         (WebCore::MathMLTextElement::childrenChanged):
709         Need to update the anonymous render tree below <mo> elements when their
710         children change or when the renderer is first attached.
711
712         * mathml/MathMLTextElement.h:
713         (MathMLTextElement):
714         * rendering/mathml/RenderMathMLBlock.cpp:
715         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
716         * rendering/mathml/RenderMathMLBlock.h:
717         Now that the preferred width doesn't depend on the height, we don't
718         need to override computePreferredLogicalWidths at all.
719
720         * rendering/mathml/RenderMathMLFenced.cpp:
721         (WebCore::RenderMathMLFenced::makeFences):
722         (WebCore::RenderMathMLFenced::styleDidChange):
723         Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
724
725         * rendering/mathml/RenderMathMLOperator.cpp:
726         (WebCore::RenderMathMLOperator::expandedStretchHeight):
727         Store the non-expanded stretch height so that we can detect when the height
728         actually changed.
729
730         (WebCore::RenderMathMLOperator::stretchToHeight):
731         Only update the style on the anonymous render tree since this is called
732         from RenderMathMLRow::layout
733
734         (WebCore::RenderMathMLOperator::styleDidChange):
735         (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
736         (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
737         (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
738         and we want the width of the operator to be the advance instead of the tight bounding width.
739         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
740         we can use to render this operator.
741         (WebCore::RenderMathMLOperator::computeLogicalHeight): Return the stretched operator height, if appropriate.
742         (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
743         version of the glyph.
744         (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
745         is the character used for stretching operations.
746         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
747         of glyph pieces for stretching characters.
748         (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
749         the child if we are using the stretchy style.
750         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
751         (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
752         stretchy glyph.
753         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
754         features of the stretchy glyph.
755         (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
756         * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
757
758 2013-10-07  Eric Carlson  <eric.carlson@apple.com>
759
760         [MediaStream API] update MediaStreamTrack object to match spec
761         https://bugs.webkit.org/show_bug.cgi?id=121940
762
763         Reviewed by Jer Noble.
764
765         No new tests, existing test updated.
766
767         Add new source files to the project:
768         * CMakeLists.txt:
769         * DerivedSources.make:
770         * GNUmakefile.list.am:
771         * WebCore.xcodeproj/project.pbxproj:
772
773         New capability dictionary objects:
774         * Modules/mediastream/AllAudioCapabilities.h: Added.
775         * Modules/mediastream/AllAudioCapabilities.idl: Added.
776         * Modules/mediastream/AllVideoCapabilities.h: Added.
777         * Modules/mediastream/AllVideoCapabilities.idl: Added.
778
779         * Modules/mediastream/AudioStreamTrack.cpp:
780         (WebCore::AudioStreamTrack::create): New version that takes a MediaStreamTrack*.
781         * Modules/mediastream/AudioStreamTrack.h:
782
783         New object for a capability range:
784         * Modules/mediastream/CapabilityRange.cpp: Added.
785         * Modules/mediastream/CapabilityRange.h: Added.
786         * Modules/mediastream/CapabilityRange.idl: Added.
787
788         * Modules/mediastream/MediaConstraintsImpl.h: Make initialize() public.
789
790         New object for the current states for a media source.
791         * Modules/mediastream/MediaSourceStates.cpp: Added.
792         * Modules/mediastream/MediaSourceStates.h: Added.
793         * Modules/mediastream/MediaSourceStates.idl: Added.
794
795         Don't call the media stream center to notify it when the state of other
796         objects change.
797         * Modules/mediastream/MediaStream.cpp:
798         (WebCore::processTrack): Remove the stream source duplication hack.
799         (WebCore::createFromSourceVectors): 
800         (WebCore::MediaStream::MediaStream):
801         (WebCore::MediaStream::addTrack):
802         (WebCore::MediaStream::removeTrack):
803         * Modules/mediastream/MediaStream.h:
804
805         New object for the capabilities of a source.
806         * Modules/mediastream/MediaStreamCapabilities.cpp: Added.
807         * Modules/mediastream/MediaStreamCapabilities.h: Added.
808         * Modules/mediastream/MediaStreamCapabilities.idl: Added.
809
810         Update interface to match spec.
811         * Modules/mediastream/MediaStreamTrack.cpp:
812         (WebCore::MediaStreamTrack::MediaStreamTrack): Define a copy constructor to use in clone().
813         (WebCore::MediaStreamTrack::setSource): Call removeObserver if the track already has a source.
814             Initialize m_muted from new source's muted state.
815         (WebCore::MediaStreamTrack::id): Allow source to provide ID as the spec suggests.
816         (WebCore::MediaStreamTrack::setEnabled): Add some spec text to clarify logic. Always call
817             source->setEnabled, it can figure out if nothing needs to be done.
818         (WebCore::MediaStreamTrack::muted): Don't call the stream center when muted changes, the
819             source can take care of notifying interested parties.
820         (WebCore::MediaStreamTrack::readonly): New.
821         (WebCore::MediaStreamTrack::remote): New.
822         (WebCore::MediaStreamTrack::constraints): New. 
823         (WebCore::MediaStreamTrack::states): New.
824         (WebCore::MediaStreamTrack::capabilities): New.
825         (WebCore::MediaStreamTrack::applyConstraints): New.
826         (WebCore::MediaStreamTrack::clone): New.
827         (WebCore::MediaStreamTrack::stopProducingData): New.
828         (WebCore::MediaStreamTrack::sourceStateChanged): Renamed from sourceChangedState.
829         (WebCore::MediaStreamTrack::sourceMutedChanged): New.
830         (WebCore::MediaStreamTrack::sourceEnabledChanged): New.
831         (WebCore::MediaStreamTrack::configureTrackRendering): New.
832         (WebCore::MediaStreamTrack::stopped): New. 
833         (WebCore::MediaStreamTrack::stop): Call stopProducingData.
834         (WebCore::MediaStreamTrack::scheduleEventDispatch): New.
835         (WebCore::MediaStreamTrack::dispatchQueuedEvents): New.
836         * Modules/mediastream/MediaStreamTrack.h:
837         * Modules/mediastream/MediaStreamTrack.idl:
838
839         * Modules/mediastream/MediaTrackConstraint.cpp: Added.
840         * Modules/mediastream/MediaTrackConstraint.h: Added.
841         * Modules/mediastream/MediaTrackConstraint.idl: Added.
842
843         // Add empty classes/IDL for track constraint objects.
844         * Modules/mediastream/MediaTrackConstraintSet.cpp: Added.
845         * Modules/mediastream/MediaTrackConstraintSet.h: Added.
846         * Modules/mediastream/MediaTrackConstraintSet.idl: Added.
847         * Modules/mediastream/MediaTrackConstraints.cpp: Added.
848         * Modules/mediastream/MediaTrackConstraints.h: Added.
849         * Modules/mediastream/MediaTrackConstraints.idl: Added.
850
851         * Modules/mediastream/UserMediaRequest.cpp:
852         (WebCore::UserMediaRequest::callSuccessHandler): Don't call the stream center, the
853             stream can take care of notifying interested parties.
854
855         // Add a constructor and create() that take a MediaStreamTrack*.
856         * Modules/mediastream/VideoStreamTrack.cpp:
857         (WebCore::VideoStreamTrack::create): 
858         (WebCore::VideoStreamTrack::VideoStreamTrack):
859         * Modules/mediastream/VideoStreamTrack.h:
860
861         // Create a MediaStreamSource subclass for WebAudio
862         * Modules/webaudio/AudioContext.cpp:
863         (WebCore::AudioContext::createMediaStreamSource): Call isAudioStreamSource instead
864             of checking deviceID.
865         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
866         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Create a
867             MediaStreamAudioSource instead of a MediaStreamSource.
868         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
869         * Modules/webaudio/MediaStreamAudioSource.cpp: Added.
870         * Modules/webaudio/MediaStreamAudioSource.h: Added.
871         (WebCore::MediaStreamAudioSource::~MediaStreamAudioSource):
872
873         // Add new generated files.
874         * bindings/js/JSMediaSourceStatesCustom.cpp: Added.
875         * bindings/js/JSMediaStreamCapabilitiesCustom.cpp: Added.
876
877         * dom/EventNames.h: Defined 'overconstrained' event.
878
879         * platform/mediastream/MediaStreamCenter.h: Get rid of all of the methods nobody uses.
880             It isn't clear that they are necessary, and we can add them back if/when we need them.
881
882         * platform/mediastream/MediaStreamDescriptor.cpp:
883         (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor): Clear the all source streams.
884         (WebCore::MediaStreamDescriptor::removeSource): Clear the source stream.
885         * platform/mediastream/MediaStreamDescriptor.h:
886
887         // Make MediaStreamSource an abstract base class, and remove everyting WebAudio-specific
888         //  to MediaStreamAudioSource. 
889         * platform/mediastream/MediaStreamSource.cpp:
890         (WebCore::MediaStreamSource::MediaStreamSource): Remove readyState and requiresConsumer
891             parameters. Create new UUID for id if non was passed.
892         (WebCore::MediaStreamSource::reset): Reset internal state to just-constructed. Used for testing.
893         (WebCore::MediaStreamSource::setReadyState): sourceChangedState -> sourceStateChanged.
894         (WebCore::MediaStreamSource::setStream): Remove the ASSERT that check for a source being
895             added to a new stream. This is still a problem, but it is required for testing and will
896             be fixed as a part of bug 121954.
897         (WebCore::MediaStreamSource::setConstraints): Added.
898         (WebCore::MediaStreamSource::setMuted): Notify observers when muted changes.
899         (WebCore::MediaStreamSource::setEnabled): Notify observers when enabled changes.
900         (WebCore::MediaStreamSource::readonly): New.
901         (WebCore::MediaStreamSource::stop): New. Set state to Ended when all of the observers has
902             stopped.
903         * platform/mediastream/MediaStreamSource.h:
904
905         // Define platform versions of the Capabilities classes.
906         * platform/mediastream/MediaStreamSourceCapabilities.h: Added.
907
908         // Update the non-functional platform stream centers for the API changes.
909         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
910         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
911         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
912         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
913         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
914         * platform/mediastream/mac/MediaStreamCenterMac.h:
915
916         // Update the Mock stream center for the API changes. Add a concrete mock MediaStreamSource
917         //  subclass.
918         * platform/mock/MockMediaStreamCenter.cpp:
919         (WebCore::MockSource::MockSource): New, the mock media stream source.
920         (WebCore::MockSource::~MockSource):
921         (WebCore::MockSource::capabilities):
922         (WebCore::MockSource::states):
923         (WebCore::mockSourceMap):
924         (WebCore::mockAudioSourceID):
925         (WebCore::mockVideoSourceID):
926         (WebCore::initializeMockSources): Create one audio and one video mock source.
927         (WebCore::MockMediaStreamCenter::registerMockMediaStreamCenter): Call initializeMockSources.
928         (WebCore::MockMediaStreamCenter::createMediaStream): Use the already allocated mock media
929             sources.
930         (WebCore::MockMediaStreamCenter::getMediaStreamTrackSources): Ditto.
931         * platform/mock/MockMediaStreamCenter.h:
932
933 2013-10-07  Andreas Kling  <akling@apple.com>
934
935         CTTE: Live node lists always have an owner Node.
936         <https://webkit.org/b/122470>
937
938         Reviewed by Anders Carlsson.
939
940         Make LiveNodeListBase::m_ownerNode a Ref<Node> instead of a RefPtr
941         and have all constructors take Node&.
942
943 2013-10-07  Anders Carlsson  <andersca@apple.com>
944
945         Clean up ScriptExecutionContext::Task and subclasses
946         https://bugs.webkit.org/show_bug.cgi?id=122469
947
948         Reviewed by Andreas Kling.
949
950         * Modules/webdatabase/Database.cpp:
951         (WebCore::DerefContextTask::DerefContextTask):
952         (WebCore::Database::~Database):
953         (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
954         (WebCore::Database::scheduleTransactionCallback):
955         * Modules/webdatabase/DatabaseManager.cpp:
956         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
957         (WebCore::DatabaseManager::openDatabase):
958         * Modules/webdatabase/SQLCallbackWrapper.h:
959         (WebCore::SQLCallbackWrapper::clear):
960         (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
961         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
962         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
963         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
964         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
965         (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask):
966         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
967         * bindings/js/JSCallbackData.h:
968         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
969         * bindings/js/JSDOMGlobalObjectTask.h:
970         * bindings/js/JSDOMWindowBase.cpp:
971         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
972         * bindings/js/JSWorkerGlobalScopeBase.cpp:
973         (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
974         * bindings/scripts/CodeGeneratorJS.pm:
975         (GenerateCallbackImplementation):
976         * dom/CrossThreadTask.h:
977         (WebCore::createCallbackTask):
978         * dom/Document.cpp:
979         (WebCore::Document::addConsoleMessage):
980         (WebCore::Document::addMessage):
981         (WebCore::PerformTaskContext::PerformTaskContext):
982         (WebCore::Document::postTask):
983         (WebCore::Document::pendingTasksTimerFired):
984         * dom/Document.h:
985         * dom/ScriptExecutionContext.cpp:
986         (WebCore::ProcessMessagesSoonTask::ProcessMessagesSoonTask):
987         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
988         * dom/ScriptExecutionContext.h:
989         * dom/StringCallback.cpp:
990         (WebCore::StringCallback::scheduleCallback):
991         * loader/appcache/ApplicationCacheGroup.cpp:
992         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
993         (WebCore::ApplicationCacheGroup::postListenerTask):
994         * workers/DefaultSharedWorkerRepository.cpp:
995         (WebCore::SharedWorkerProxy::postTaskToLoader):
996         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
997         (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
998         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
999         * workers/WorkerEventQueue.cpp:
1000         (WebCore::WorkerEventQueue::enqueueEvent):
1001         * workers/WorkerGlobalScope.cpp:
1002         (WebCore::WorkerGlobalScope::close):
1003         (WebCore::WorkerGlobalScope::postTask):
1004         (WebCore::WorkerGlobalScope::addConsoleMessage):
1005         (WebCore::WorkerGlobalScope::addMessage):
1006         * workers/WorkerGlobalScope.h:
1007         * workers/WorkerLoaderProxy.h:
1008         * workers/WorkerMessagingProxy.cpp:
1009         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1010         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
1011         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
1012         (WebCore::WorkerMessagingProxy::postTaskToLoader):
1013         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
1014         (WebCore::WorkerMessagingProxy::workerThreadCreated):
1015         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
1016         (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
1017         (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
1018         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
1019         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1020         (WebCore::WorkerMessagingProxy::reportPendingActivity):
1021         * workers/WorkerMessagingProxy.h:
1022         * workers/WorkerRunLoop.cpp:
1023         (WebCore::WorkerRunLoop::postTask):
1024         (WebCore::WorkerRunLoop::postTaskAndTerminate):
1025         (WebCore::WorkerRunLoop::postTaskForMode):
1026         (WebCore::WorkerRunLoop::Task::Task):
1027         * workers/WorkerRunLoop.h:
1028         * workers/WorkerThread.cpp:
1029         (WebCore::WorkerThreadShutdownFinishTask::WorkerThreadShutdownFinishTask):
1030         (WebCore::WorkerThreadShutdownStartTask::performTask):
1031         (WebCore::WorkerThread::stop):
1032         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
1033
1034 2013-10-07  Sam Weinig  <sam@webkit.org>
1035
1036         CTTE: Use references in and around DragController
1037         https://bugs.webkit.org/show_bug.cgi?id=122427
1038
1039         Reviewed by Andreas Kling.
1040
1041         Use references to indicate non-nullness of DragController related
1042         objects.
1043
1044 2013-10-07  Tim Horton  <timothy_horton@apple.com>
1045
1046         Animated images are not restarted when page visibility changes
1047         https://bugs.webkit.org/show_bug.cgi?id=122464
1048         <rdar://problem/14293474>
1049
1050         Reviewed by Simon Fraser.
1051
1052         Always kickstart animated images when the page visibility changes,
1053         which can occur via window occlusion, and which is independent of in-window
1054         state, which we were previously using to advance animation.
1055
1056         No new tests; attempts to make a test have resulted only in a flaky, timing-dependent test.
1057
1058         * page/Frame.cpp:
1059         (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
1060         Move this call to resumeAnimatingImages() up to Page.
1061
1062         * page/FrameView.cpp:
1063         (WebCore::FrameView::setIsInWindow):
1064         Move this call to resumeAnimatingImages() up to Page.
1065
1066         * WebCore.exp.in
1067         * page/FrameView.h:
1068         * page/Page.h:
1069         Move resumeAnimatingImages() itself up to Page.
1070
1071         * page/Page.cpp:
1072         (WebCore::Page::setIsInWindow):
1073         Resume animated images when we move in-window.
1074
1075         (WebCore::Page::setVisibilityState):
1076         Resume animated images when we become visible.
1077         This is the one we were previously missing.
1078
1079         (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
1080         Resume animated images when we're told to.
1081
1082         (WebCore::Page::resumeAnimatingImages):
1083         Kickstart any animated images in all frames.
1084
1085 2013-10-07  Jer Noble  <jer.noble@apple.com>
1086
1087         [Mac] Drawing video into canvas doesn't work on the first attempt
1088         https://bugs.webkit.org/show_bug.cgi?id=122404
1089
1090         Reviewed by Eric Carlson.
1091
1092         Test: media/video-canvas-drawing.html
1093
1094         If creating and painting from an AVPlayerItemVideoOutput fails, fall back
1095         to the (much slower) AVAssetImageGenerator path. Make sure to revert to the
1096         AVPlayerItemVideoOutput path when that object begins to have available
1097         images, however.
1098
1099         To do so, remove the "__MAC_OS_X_VERSION_MIN_REQUIRED < 1080" check around
1100         the AVAssetImageGenerator code, and allow both the image generator and video
1101         output to exist simultaneously.
1102
1103         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1104         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1105         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer):
1106         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
1107         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyImageGenerator):
1108         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
1109         (WebCore::MediaPlayerPrivateAVFoundationObjC::videoOutputHasAvailableFrame):
1110         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
1111
1112 2013-10-07  Jer Noble  <jer.noble@apple.com>
1113
1114         URLMediaSource.idl and URLMediaStream.idl are wrong
1115         https://bugs.webkit.org/show_bug.cgi?id=122301
1116
1117         Reviewed by Philippe Normand.
1118
1119         Rename URLMediaSource and URLMediaStream to DOMURLMediaSource and DOMURLMediaStream,
1120         respectively.
1121
1122         Update the build files:
1123         * CMakeLists.txt: Rename URL -> DOMURL.
1124         * DerivedSources.make: Ditto.
1125         * GNUmakefile.list.am: Ditto.
1126         * WebCore.xcodeproj/project.pbxproj: Ditto.
1127
1128         Rename the .idl and implementation files:
1129         * Modules/mediasource/DOMURLMediaSource.cpp: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.cpp.
1130         (WebCore::DOMURLMediaSource::createObjectURL):
1131         * Modules/mediasource/DOMURLMediaSource.h: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.h.
1132         * Modules/mediasource/DOMURLMediaSource.idl: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.idl.
1133         * Modules/mediastream/DOMURLMediaStream.cpp: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.cpp.
1134         (WebCore::DOMURLMediaStream::createObjectURL):
1135         * Modules/mediastream/DOMURLMediaStream.h: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.h.
1136         * Modules/mediastream/DOMURLMediaStream.idl: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.idl.
1137
1138 2013-10-07  Philippe Normand  <pnormand@igalia.com>
1139
1140         Conditional support in bindings code generator for overloaded functions
1141         https://bugs.webkit.org/show_bug.cgi?id=122443
1142
1143         Reviewed by Darin Adler.
1144
1145         * bindings/scripts/CodeGeneratorJS.pm: 
1146         (GenerateOverloadedFunction): Generate conditional for overloaded
1147         function, if it's present in the idl.
1148         (GenerateImplementation): Close the last overloaded function
1149         conditional before generating the distpatch function.
1150         * bindings/scripts/test/JS/JSTestObj.cpp:
1151         (WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
1152         Rebaseline overloaded function tests.
1153
1154 2013-10-07  Tim Horton  <timothy_horton@apple.com>
1155
1156         -webkit-cross-fade paints SVGs at full opacity during cross-fade
1157         https://bugs.webkit.org/show_bug.cgi?id=122441
1158         <rdar://problem/13973162>
1159
1160         Reviewed by Simon Fraser.
1161
1162         Test: css3/images/cross-fade-svg-with-opacity.html
1163
1164         * platform/graphics/CrossfadeGeneratedImage.cpp:
1165         (WebCore::drawCrossfadeSubimage):
1166         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
1167         Factor the image painting out into a function.
1168         Conditionally use a transparency layer around painting if the image
1169         we're drawing is an SVG (SVGImage is the only Image subclass that will
1170         not respect the context's opacity).
1171
1172 2013-10-06  Anders Carlsson  <andersca@apple.com>
1173
1174         Add OVERRIDE and virtual where appropriate
1175         https://bugs.webkit.org/show_bug.cgi?id=122439
1176
1177         Reviewed by Antti Koivisto.
1178
1179         * Modules/encryptedmedia/MediaKeys.h:
1180         * Modules/webaudio/AnalyserNode.h:
1181         * Modules/webaudio/AudioBasicInspectorNode.h:
1182         * Modules/webaudio/AudioBasicProcessorNode.h:
1183         * Modules/webaudio/AudioBufferSourceNode.h:
1184         * Modules/webaudio/AudioContext.h:
1185         * Modules/webaudio/AudioDestinationNode.h:
1186         * Modules/webaudio/AudioProcessingEvent.h:
1187         * Modules/webaudio/BiquadDSPKernel.h:
1188         * Modules/webaudio/BiquadProcessor.h:
1189         * Modules/webaudio/ChannelMergerNode.h:
1190         * Modules/webaudio/ChannelSplitterNode.h:
1191         * Modules/webaudio/ConvolverNode.h:
1192         * Modules/webaudio/DelayDSPKernel.h:
1193         * Modules/webaudio/DelayProcessor.h:
1194         * Modules/webaudio/DynamicsCompressorNode.h:
1195         * Modules/webaudio/GainNode.h:
1196         * Modules/webaudio/MediaElementAudioSourceNode.h:
1197         * Modules/webaudio/OfflineAudioCompletionEvent.h:
1198         * Modules/webaudio/OfflineAudioDestinationNode.h:
1199         * Modules/webaudio/OscillatorNode.h:
1200         * Modules/webaudio/PannerNode.h:
1201         * Modules/webaudio/ScriptProcessorNode.h:
1202         * Modules/webaudio/WaveShaperProcessor.h:
1203         * accessibility/AccessibilityARIAGrid.h:
1204         * accessibility/AccessibilityARIAGridCell.h:
1205         * accessibility/AccessibilityARIAGridRow.h:
1206         * accessibility/AccessibilityImageMapLink.h:
1207         * accessibility/AccessibilityList.h:
1208         * accessibility/AccessibilityListBox.h:
1209         * accessibility/AccessibilityListBoxOption.h:
1210         * accessibility/AccessibilityMediaControls.h:
1211         * accessibility/AccessibilityMenuList.h:
1212         * accessibility/AccessibilityMenuListOption.h:
1213         * accessibility/AccessibilityMenuListPopup.h:
1214         * accessibility/AccessibilityMockObject.h:
1215         * accessibility/AccessibilityNodeObject.h:
1216         * accessibility/AccessibilityProgressIndicator.h:
1217         * accessibility/AccessibilityRenderObject.h:
1218         * accessibility/AccessibilitySVGRoot.h:
1219         * accessibility/AccessibilityScrollView.h:
1220         * accessibility/AccessibilityScrollbar.h:
1221         * accessibility/AccessibilitySlider.h:
1222         * accessibility/AccessibilitySpinButton.h:
1223         * accessibility/AccessibilityTable.h:
1224         * accessibility/AccessibilityTableCell.h:
1225         * accessibility/AccessibilityTableColumn.h:
1226         * accessibility/AccessibilityTableHeaderContainer.h:
1227         * accessibility/AccessibilityTableRow.h:
1228         * bindings/js/JSEventListener.h:
1229         * bindings/js/WebCoreTypedArrayController.h:
1230         * bridge/c/c_class.h:
1231         * bridge/c/c_instance.h:
1232         * bridge/c/c_runtime.h:
1233         * bridge/runtime_root.h:
1234         * css/CSSBasicShapes.h:
1235         * css/CSSComputedStyleDeclaration.h:
1236         * css/CSSStyleSheet.h:
1237         * dom/Attr.h:
1238         * dom/BeforeTextInsertedEvent.h:
1239         * dom/CDATASection.h:
1240         * dom/ChildNodeList.h:
1241         * dom/DatasetDOMStringMap.h:
1242         * dom/Document.h:
1243         * dom/DocumentEventQueue.h:
1244         * dom/DocumentFragment.h:
1245         * dom/Element.h:
1246         * dom/ErrorEvent.h:
1247         * dom/KeyboardEvent.h:
1248         * dom/Node.h:
1249         * dom/PageTransitionEvent.h:
1250         * dom/ProgressEvent.h:
1251         * dom/PseudoElement.h:
1252         * dom/ScriptExecutionContext.h:
1253         * dom/ShadowRoot.h:
1254         * dom/StyledElement.h:
1255         * dom/TagNodeList.h:
1256         * dom/Text.h:
1257         * dom/TextEvent.h:
1258         * dom/TransitionEvent.h:
1259         * dom/UIEvent.h:
1260         * dom/WebKitAnimationEvent.h:
1261         * dom/WebKitTransitionEvent.h:
1262         * editing/ApplyBlockElementCommand.h:
1263         * editing/ApplyStyleCommand.h:
1264         * editing/BreakBlockquoteCommand.h:
1265         * editing/CompositeEditCommand.h:
1266         * editing/SpellingCorrectionCommand.h:
1267         * fileapi/File.h:
1268         * fileapi/FileThreadTask.h:
1269         * history/BackForwardList.h:
1270         * html/BaseCheckableInputType.h:
1271         * html/HTMLAnchorElement.h:
1272         * html/HTMLAreaElement.h:
1273         * html/HTMLCanvasElement.h:
1274         * html/HTMLCollection.h:
1275         * html/HTMLElement.h:
1276         * html/HTMLFieldSetElement.h:
1277         * html/HTMLFormControlElement.h:
1278         * html/HTMLFormControlElementWithState.h:
1279         * html/HTMLFormElement.h:
1280         * html/HTMLFrameElementBase.h:
1281         * html/HTMLImageElement.h:
1282         * html/HTMLImageLoader.h:
1283         * html/HTMLInputElement.h:
1284         * html/HTMLLabelElement.h:
1285         * html/HTMLLegendElement.h:
1286         * html/HTMLMediaElement.h:
1287         * html/HTMLMeterElement.h:
1288         * html/HTMLOptGroupElement.h:
1289         * html/HTMLOptionElement.h:
1290         * html/HTMLPlugInElement.h:
1291         * html/HTMLPlugInImageElement.h:
1292         * html/HTMLProgressElement.h:
1293         * html/HTMLSelectElement.h:
1294         * html/HTMLTableElement.h:
1295         * html/HTMLTextAreaElement.h:
1296         * html/HTMLTextFormControlElement.h:
1297         * html/HTMLVideoElement.h:
1298         * html/canvas/CanvasRenderingContext2D.cpp:
1299         * html/shadow/MediaControlElementTypes.h:
1300         * html/shadow/MediaControlElements.h:
1301         * html/shadow/SpinButtonElement.h:
1302         * html/shadow/TextControlInnerElements.h:
1303         * html/track/AudioTrackList.h:
1304         * html/track/TextTrackList.h:
1305         * html/track/TrackListBase.h:
1306         * inspector/InspectorValues.h:
1307         * loader/EmptyClients.h:
1308         * loader/ImageLoader.h:
1309         * loader/ResourceLoader.h:
1310         * loader/SubresourceLoader.h:
1311         * loader/appcache/ApplicationCacheGroup.cpp:
1312         * loader/appcache/ApplicationCacheGroup.h:
1313         * loader/appcache/DOMApplicationCache.h:
1314         * loader/archive/cf/LegacyWebArchive.h:
1315         * loader/cache/CachedCSSStyleSheet.h:
1316         * loader/cache/CachedFont.h:
1317         * loader/cache/CachedFontClient.h:
1318         * loader/cache/CachedImageClient.h:
1319         * loader/cache/CachedSVGDocumentClient.h:
1320         * loader/cache/CachedStyleSheetClient.h:
1321         * loader/cache/CachedXSLStyleSheet.h:
1322         * page/Chrome.h:
1323         * page/DOMWindow.h:
1324         * page/FrameView.h:
1325         * page/animation/ImplicitAnimation.h:
1326         * platform/PODIntervalTree.h:
1327         * platform/PODRedBlackTree.h:
1328         * platform/ScrollView.h:
1329         * platform/Scrollbar.h:
1330         * platform/Timer.h:
1331         * platform/animation/TimingFunction.h:
1332         (WebCore::LinearTimingFunction::~LinearTimingFunction):
1333         (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
1334         (WebCore::StepsTimingFunction::~StepsTimingFunction):
1335         * platform/audio/AudioDSPKernelProcessor.h:
1336         * platform/audio/HRTFPanner.h:
1337         * platform/audio/mac/AudioDestinationMac.h:
1338         * platform/graphics/SimpleFontData.h:
1339         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
1340         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1341         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1342         * platform/graphics/filters/FilterOperation.h:
1343         * platform/network/ResourceHandle.h:
1344         * rendering/AutoTableLayout.h:
1345         * rendering/ClipPathOperation.h:
1346         * rendering/InlineFlowBox.h:
1347         * rendering/RenderBlock.h:
1348         * rendering/RenderBox.h:
1349         * rendering/RenderBoxModelObject.h:
1350         * rendering/RenderButton.h:
1351         * rendering/RenderFieldset.h:
1352         * rendering/RenderFileUploadControl.h:
1353         * rendering/RenderFlexibleBox.h:
1354         * rendering/RenderFlowThread.h:
1355         * rendering/RenderFullScreen.h:
1356         * rendering/RenderImage.h:
1357         * rendering/RenderLayer.h:
1358         * rendering/RenderLineBreak.h:
1359         * rendering/RenderListBox.h:
1360         * rendering/RenderListItem.h:
1361         * rendering/RenderListMarker.h:
1362         * rendering/RenderMenuList.h:
1363         * rendering/RenderMeter.h:
1364         * rendering/RenderObject.h:
1365         * rendering/RenderReplaced.h:
1366         * rendering/RenderSlider.h:
1367         * rendering/RenderTable.h:
1368         * rendering/RenderTableCell.h:
1369         * rendering/RenderText.h:
1370         * rendering/RenderTextControl.h:
1371         * rendering/RenderTextControlSingleLine.h:
1372         * rendering/RenderTextFragment.h:
1373         * rendering/RenderView.h:
1374         * rendering/RootInlineBox.h:
1375         * rendering/mathml/RenderMathMLBlock.h:
1376         * rendering/mathml/RenderMathMLFraction.h:
1377         * rendering/mathml/RenderMathMLOperator.h:
1378         * rendering/style/BasicShapes.h:
1379         * rendering/svg/RenderSVGModelObject.h:
1380         * rendering/svg/RenderSVGShape.h:
1381         * svg/SVGAnimatedBoolean.h:
1382         * svg/SVGAnimatedString.h:
1383         * svg/SVGAnimatedTransformList.h:
1384         * svg/SVGDocument.h:
1385         * svg/SVGElement.h:
1386         * svg/SVGElementInstance.h:
1387         * svg/SVGFontElement.h:
1388         * svg/SVGGElement.h:
1389         * svg/SVGGraphicsElement.h:
1390         * svg/SVGTransformable.h:
1391         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1392         * svg/properties/SVGAnimatedPropertyMacros.h:
1393         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
1394         * svg/properties/SVGListPropertyTearOff.h:
1395         * svg/properties/SVGPropertyTearOff.h:
1396         * workers/WorkerGlobalScope.h:
1397
1398 2013-10-07  Philippe Normand  <pnormand@igalia.com>
1399
1400         URLMediaStream is unguarded by ENABLE(MEDIA_STREAM)
1401         https://bugs.webkit.org/show_bug.cgi?id=122444
1402
1403         Reviewed by Martin Robinson.
1404
1405         * Modules/mediastream/URLMediaStream.cpp: Added missing
1406         conditional guards.
1407         * Modules/mediastream/URLMediaStream.h: Ditto.
1408
1409 2013-10-07  Philippe Normand  <pnormand@igalia.com>
1410
1411         [GTK] webkit_dom_html_style_element_{s,g}et_scoped was removed
1412         https://bugs.webkit.org/show_bug.cgi?id=122446
1413
1414         Reviewed by Martin Robinson.
1415
1416         Added skeleton functions warning of removed functionality for
1417         the <style scoped> GObject DOM binding.
1418
1419         * bindings/gobject/WebKitDOMCustom.cpp:
1420         * bindings/gobject/WebKitDOMCustom.h:
1421         * bindings/gobject/WebKitDOMCustom.symbols:
1422
1423 2013-10-07  Csaba Osztrogon√°c  <ossy@webkit.org>
1424
1425         Unreviewed buildfix for GCC 4.6.
1426
1427         Changed override to OVERRIDE and final to FINAL.
1428
1429         * page/PageSerializer.cpp:
1430         * workers/AbstractWorker.h:
1431         * workers/SharedWorker.h:
1432         * workers/Worker.h:
1433
1434 2013-10-07  Chris Fleizach  <cfleizach@apple.com>
1435
1436         AX: Facebook wrapped a file upload button in an unfocusable ARIA button, which doesn't work with AXPress.
1437         https://bugs.webkit.org/show_bug.cgi?id=122252
1438
1439         Reviewed by Mario Sanchez Prada.
1440
1441         When an author uses a control-type ARIA role (like button), but then hides a native control-type inside,
1442         AXPress needs to operate on the inside node if possible.
1443
1444         Test: accessibility/axpress-on-aria-button.html
1445
1446         * accessibility/AccessibilityNodeObject.cpp:
1447         (WebCore::isNodeActionElement):
1448         (WebCore::nativeActionElement):
1449         (WebCore::AccessibilityNodeObject::actionElement):
1450
1451 2013-10-07  Zan Dobersek  <zdobersek@igalia.com>
1452
1453         Unreviewed debug build fix for ports enabling the <template> element support.
1454
1455         * html/HTMLTagNames.in: Generate type helpers for the <template> element as they're required
1456         by the assertions in the Element type casts for HTMLTemplateElement.
1457
1458 2013-10-07  Ryuan Choi  <ryuan.choi@samsung.com>
1459
1460         [EFL] Build fix after r157002
1461         https://bugs.webkit.org/show_bug.cgi?id=122434
1462
1463         Reviewed by Sam Weinig.
1464
1465         * editing/markup.cpp: Changed override to OVERRIDE.
1466
1467 2013-10-04  Philippe Normand  <pnormand@igalia.com>
1468
1469         MediaStreamTrack can't be FINAL
1470         https://bugs.webkit.org/show_bug.cgi?id=122322
1471
1472         Reviewed by Darin Adler.
1473
1474         Marked the MediaStreamTrack subclasses as final.
1475
1476         * Modules/mediastream/AudioStreamTrack.h:
1477         * Modules/mediastream/MediaStreamTrack.h:
1478         * Modules/mediastream/VideoStreamTrack.h:
1479
1480 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1481
1482         Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
1483         https://bugs.webkit.org/show_bug.cgi?id=122408
1484
1485         Reviewed by Andreas Kling.
1486
1487         As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
1488         CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
1489         This will help to detect bad type cast.
1490
1491         No new tests, no behavior changes.
1492
1493         * css/CSSCursorImageValue.h:
1494         * css/CSSTimingFunctionValue.h:
1495         * css/CSSToStyleMap.cpp:
1496         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1497         * css/CSSUnicodeRangeValue.h:
1498         * css/CSSValue.cpp:
1499         (WebCore::CSSValue::destroy):
1500         * css/DeprecatedStyleBuilder.cpp:
1501         (WebCore::ApplyPropertyCursor::applyValue):
1502         * css/StyleResolver.cpp:
1503         (WebCore::StyleResolver::styleImage):
1504         (WebCore::StyleResolver::styleShader):
1505         * rendering/style/StylePendingImage.h:
1506         (WebCore::StylePendingImage::cssCursorImageValue):
1507
1508 2013-10-06  Andreas Kling  <akling@apple.com>
1509
1510         Range constructors should take a Document&.
1511         <https://webkit.org/b/122435>
1512
1513         Reviewed by Sam Weinig.
1514
1515         Make all Range constructors take Document& instead of a PassRefPtr.
1516         This removes one null check at every call site.
1517
1518         Also use a Ref<Document> for storage in Range.
1519
1520 2013-10-06  Antti Koivisto  <antti@apple.com>
1521
1522         Factor text paint style computation out from InlineTextBox
1523         https://bugs.webkit.org/show_bug.cgi?id=122433
1524
1525         Reviewed by Andreas Kling.
1526
1527         Move it to TextPaintStyle.h/cpp. Other parts of the code may use it in the future.
1528
1529 2013-10-06  Darin Adler  <darin@apple.com>
1530
1531         [GTK] Get rid of use of deleteAllValues in GtkDragAndDropHelper
1532         https://bugs.webkit.org/show_bug.cgi?id=122417
1533
1534         Reviewed by Andreas Kling.
1535
1536         * platform/gtk/GtkDragAndDropHelper.cpp: Removed unneeded typedefs.
1537         (WebCore::GtkDragAndDropHelper::~GtkDragAndDropHelper): Removed call to
1538         deleteAllValues.
1539         (WebCore::GtkDragAndDropHelper::handleDragEnd): Use remove directly instead
1540         of using find then remove. I believe this fixes a storage leak.
1541         (WebCore::GtkDragAndDropHelper::handleGetDragData): Use get instead of find.
1542         (WebCore::GtkDragAndDropHelper::handleDragLeaveLater): Remove the explicit
1543         delete since remove will automatically delete.
1544         (WebCore::GtkDragAndDropHelper::handleDragLeave): Use get instead of find.
1545         (WebCore::GtkDragAndDropHelper::handleDragMotion): Use add instead of a
1546         combination of find and set. Also user nullptr instead of 0.
1547         (WebCore::GtkDragAndDropHelper::handleDragDataReceived): Use get instead of find.
1548         (WebCore::GtkDragAndDropHelper::handleDragDrop): Use get instead of find.
1549
1550         * platform/gtk/GtkDragAndDropHelper.h: Use nullptr instead of 0. Change value
1551         type of m_droppingContexts to be a std::unique_ptr.
1552
1553 2013-10-06  Andreas Kling  <akling@apple.com>
1554
1555         Windows build fix attempt.
1556
1557         * page/win/DragControllerWin.cpp:
1558         (WebCore::DragController::declareAndWriteDragImage):
1559
1560 2013-10-06  Antti Koivisto  <antti@apple.com>
1561
1562         Move paint() to RenderElement
1563         https://bugs.webkit.org/show_bug.cgi?id=122371
1564
1565         Reviewed by Darin Adler.
1566
1567         RenderText does not paint itself (text is painted by line boxes). We can move paint() down
1568         to RenderElement.
1569         
1570         This also requires some type tightening elsewhere in the code.
1571
1572 2013-10-06  Antti Koivisto  <antti@apple.com>
1573
1574         Don't try to dispatch resize events for SVG images
1575         https://bugs.webkit.org/show_bug.cgi?id=122410
1576
1577         Reviewed by Darin Adler.
1578
1579         Tested by avoiding assertion in svg/custom/large-image-pattern-crash.html
1580
1581         * page/FrameView.cpp:
1582         (WebCore::FrameView::sendResizeEventIfNeeded):
1583         
1584             Bail out for SVG images. They have scripting disabled so the event wouldn't do anything anyway.
1585             Use of FrameView mechanisms is just an implementation detail for SVG images, they are not
1586             meant to act like real frames.
1587
1588         * rendering/svg/RenderSVGResourcePattern.cpp:
1589         (WebCore::RenderSVGResourcePattern::createTileImage):
1590         
1591             Switch to Element iterator. This will take NoEventDispatchAssertion verifying the change.
1592
1593 2013-10-06  Andreas Kling  <akling@apple.com>
1594
1595         Element ancestor iterator should have a first() for convenience.
1596         <https://webkit.org/b/122425>
1597
1598         Reviewed by Antti Koivisto.
1599
1600         Added an easy way to get the first element ancestor of a certain type
1601         and put it to use in a few places.
1602
1603 2013-10-06  Andreas Kling  <akling@apple.com>
1604
1605         CTTE: FrameLoader::notifier() should return a reference.
1606         <https://webkit.org/b/122424>
1607
1608         Reviewed by Anders Carlsson.
1609
1610         It was just returning the address of an inline member, so we should
1611         use a reference instead. Also made the backpointer to Frame in
1612         ResourceLoadNotifier a reference.
1613
1614 2013-10-06  Andreas Kling  <akling@apple.com>
1615
1616         Avoid layout in window.scroll{Y,X} when at topmost/leftmost position.
1617         <https://webkit.org/b/122423>
1618
1619         Reviewed by Antti Koivisto.
1620
1621         Add a fast path for these properties to skip synchronous layout when
1622         we are just going to return 0 anyway.
1623
1624         * page/DOMWindow.cpp:
1625         (WebCore::DOMWindow::scrollX):
1626         (WebCore::DOMWindow::scrollY):
1627
1628 2013-10-06  Anders Carlsson  <andersca@apple.com>
1629
1630         Clean up ContentData
1631         https://bugs.webkit.org/show_bug.cgi?id=122421
1632
1633         Reviewed by Andreas Kling.
1634
1635         Replace uses of OwnPtr with std::unique_ptr and get rid of the ContentData::create overloads.
1636
1637         * css/StyleResolver.cpp:
1638         (WebCore::StyleResolver::applyProperty):
1639         * rendering/style/ContentData.cpp:
1640         (WebCore::ContentData::clone):
1641         * rendering/style/ContentData.h:
1642         (WebCore::ContentData::setNext):
1643         * rendering/style/RenderStyle.cpp:
1644         (WebCore::RenderStyle::appendContent):
1645         (WebCore::RenderStyle::setContent):
1646         * rendering/style/RenderStyle.h:
1647         * rendering/style/StyleRareNonInheritedData.h:
1648
1649 2013-10-06  Sam Weinig  <sam@webkit.org>
1650
1651         Be a bit shouty about final classes while we look into why the bots don't like it.
1652
1653         * dom/Comment.h:
1654         * dom/ProcessingInstruction.h:
1655         * editing/markup.cpp:
1656         * page/PageSerializer.cpp:
1657         * workers/SharedWorker.h:
1658         * workers/Worker.h:
1659
1660 2013-10-06  Sam Weinig  <sam@webkit.org>
1661
1662         Fix windows build.
1663
1664         * platform/win/ClipboardUtilitiesWin.cpp:
1665         (WebCore::fragmentFromCFHTML):
1666         (WebCore::fragmentFromHTML):
1667         * platform/win/PasteboardWin.cpp:
1668         (WebCore::Pasteboard::writeRangeToDataObject):
1669         (WebCore::Pasteboard::writeSelection):
1670
1671 2013-10-05  Sam Weinig  <sam@webkit.org>
1672
1673         CTTE: Thread references through markup.h
1674         https://bugs.webkit.org/show_bug.cgi?id=122403
1675
1676         Reviewed by Darin Adler and Andreas Kling.
1677
1678         Highlights:
1679         - Removed createFragmentFromMarkupWithContext(), it was unused.
1680         - Moved createFragmentFromNodes() into its one caller (in WebKit/mac)
1681         - Add a bunch more toFoo() overloads.
1682
1683 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
1684
1685         [WebIDL] Annotate IDL interfaces under Source/WebCore/Modules/ with the OperationsNotDeletable attribute
1686         https://bugs.webkit.org/show_bug.cgi?id=122281
1687
1688         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1689         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1690         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1691         to preserve the original behavior. The attribute will be removed from each interface after checking
1692         conformity with other browsers (in terms of configurability of operations of that interface) and the
1693         WebKit's existing test suites.
1694
1695         This patch covers IDL interfaces under Source/WebCore/Modules/.
1696
1697         * Modules/battery/BatteryManager.idl:
1698         * Modules/encryptedmedia/MediaKeySession.idl:
1699         * Modules/encryptedmedia/MediaKeys.idl:
1700         * Modules/gamepad/GamepadList.idl:
1701         * Modules/geolocation/Geolocation.idl:
1702         * Modules/indexeddb/IDBCursor.idl:
1703         * Modules/indexeddb/IDBDatabase.idl:
1704         * Modules/indexeddb/IDBFactory.idl:
1705         * Modules/indexeddb/IDBIndex.idl:
1706         * Modules/indexeddb/IDBKeyRange.idl:
1707         * Modules/indexeddb/IDBObjectStore.idl:
1708         * Modules/indexeddb/IDBTransaction.idl:
1709         * Modules/indexeddb/IDBVersionChangeEvent.idl:
1710         * Modules/mediacontrols/MediaControlsHost.idl:
1711         * Modules/mediasource/MediaSource.idl:
1712         * Modules/mediasource/SourceBuffer.idl:
1713         * Modules/mediasource/SourceBufferList.idl:
1714         * Modules/mediasource/WebKitMediaSource.idl:
1715         * Modules/mediasource/WebKitSourceBuffer.idl:
1716         * Modules/mediasource/WebKitSourceBufferList.idl:
1717         * Modules/mediastream/MediaStream.idl:
1718         * Modules/mediastream/MediaStreamTrack.idl:
1719         * Modules/mediastream/RTCDTMFSender.idl:
1720         * Modules/mediastream/RTCDataChannel.idl:
1721         * Modules/mediastream/RTCPeerConnection.idl:
1722         * Modules/mediastream/RTCStatsReport.idl:
1723         * Modules/mediastream/RTCStatsResponse.idl:
1724         * Modules/networkinfo/NetworkInfoConnection.idl:
1725         * Modules/notifications/Notification.idl:
1726         * Modules/notifications/NotificationCenter.idl:
1727         * Modules/proximity/DeviceProximityEvent.idl:
1728         * Modules/quota/StorageInfo.idl:
1729         * Modules/quota/StorageQuota.idl:
1730         * Modules/speech/SpeechGrammarList.idl:
1731         * Modules/speech/SpeechRecognition.idl:
1732         * Modules/speech/SpeechRecognitionResult.idl:
1733         * Modules/speech/SpeechRecognitionResultList.idl:
1734         * Modules/speech/SpeechSynthesis.idl:
1735         * Modules/webaudio/AnalyserNode.idl:
1736         * Modules/webaudio/AudioBuffer.idl:
1737         * Modules/webaudio/AudioBufferSourceNode.idl:
1738         * Modules/webaudio/AudioContext.idl:
1739         * Modules/webaudio/AudioListener.idl:
1740         * Modules/webaudio/AudioNode.idl:
1741         * Modules/webaudio/AudioParam.idl:
1742         * Modules/webaudio/BiquadFilterNode.idl:
1743         * Modules/webaudio/OscillatorNode.idl:
1744         * Modules/webaudio/PannerNode.idl:
1745         * Modules/webdatabase/Database.idl:
1746         * Modules/webdatabase/DatabaseSync.idl:
1747         * Modules/webdatabase/SQLResultSetRowList.idl:
1748         * Modules/webdatabase/SQLTransaction.idl:
1749         * Modules/webdatabase/SQLTransactionSync.idl:
1750         * Modules/websockets/WebSocket.idl:
1751
1752 2013-10-06  Andreas Kling  <akling@apple.com>
1753
1754         Tighten AbstractWorker and subclasses a bit.
1755         <https://webkit.org/b/122402>
1756
1757         Reviewed by Darin Adler.
1758
1759         - Make the Worker and SharedWorker classes final.
1760         - Have constructors take ScriptExecutionContext by reference.
1761         - Remove unnecessary AbstractWorker::contextDestroyed() override.
1762         - Make eventTargetInterface() inline.
1763
1764         Inlining eventTargetInterface() is quite neat - since we only ever
1765         call this on tightly typed pointers from generated code, combining
1766         final and inline turns the virtual call into a compile-time constant.
1767
1768 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
1769
1770         [WebIDL] Annotate IDL interfaces under Source/WebCore/html/ with the OperationsNotDeletable attribute
1771         https://bugs.webkit.org/show_bug.cgi?id=122280
1772
1773         Reviewed by Darin Adler.
1774
1775         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1776         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1777         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1778         to preserve the original behavior. The attribute will be removed from each interface after checking
1779         conformity with other browsers (in terms of configurability of operations of that interface) and the
1780         WebKit's existing test suites.
1781
1782         This patch covers IDL interfaces under Source/WebCore/html/.
1783
1784         * html/DOMFormData.idl:
1785         * html/DOMSettableTokenList.idl:
1786         * html/DOMTokenList.idl:
1787         * html/DOMURL.idl:
1788         * html/HTMLAllCollection.idl:
1789         * html/HTMLAnchorElement.idl:
1790         * html/HTMLButtonElement.idl:
1791         * html/HTMLCanvasElement.idl:
1792         * html/HTMLCollection.idl:
1793         * html/HTMLDocument.idl:
1794         * html/HTMLElement.idl:
1795         * html/HTMLEmbedElement.idl:
1796         * html/HTMLFieldSetElement.idl:
1797         * html/HTMLFormControlsCollection.idl:
1798         * html/HTMLFormElement.idl:
1799         * html/HTMLFrameElement.idl:
1800         * html/HTMLIFrameElement.idl:
1801         * html/HTMLInputElement.idl:
1802         * html/HTMLKeygenElement.idl:
1803         * html/HTMLMarqueeElement.idl:
1804         * html/HTMLMediaElement.idl:
1805         * html/HTMLObjectElement.idl:
1806         * html/HTMLOptionsCollection.idl:
1807         * html/HTMLOutputElement.idl:
1808         * html/HTMLSelectElement.idl:
1809         * html/HTMLTableElement.idl:
1810         * html/HTMLTableRowElement.idl:
1811         * html/HTMLTableSectionElement.idl:
1812         * html/HTMLTextAreaElement.idl:
1813         * html/HTMLVideoElement.idl:
1814         * html/MediaController.idl:
1815         * html/RadioNodeList.idl:
1816         * html/TimeRanges.idl:
1817         * html/canvas/CanvasGradient.idl:
1818         * html/canvas/CanvasRenderingContext2D.idl:
1819         * html/canvas/DOMPath.idl:
1820         * html/canvas/EXTDrawBuffers.idl:
1821         * html/canvas/OESVertexArrayObject.idl:
1822         * html/canvas/WebGLDebugShaders.idl:
1823         * html/canvas/WebGLLoseContext.idl:
1824         * html/canvas/WebGLRenderingContext.idl:
1825         * html/track/AudioTrackList.idl:
1826         * html/track/TextTrack.idl:
1827         * html/track/TextTrackCue.idl:
1828         * html/track/TextTrackCueList.idl:
1829         * html/track/TextTrackList.idl:
1830         * html/track/TextTrackRegionList.idl:
1831         * html/track/VideoTrackList.idl:
1832
1833 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
1834
1835         [WebIIDL] Annotate IDL interfaces under Source/WebCore/svg/ with the OperationsNotDeletable attribute
1836         https://bugs.webkit.org/show_bug.cgi?id=122279
1837
1838         Reviewed by Darin Adler.
1839
1840         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1841         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1842         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1843         to preserve the original behavior. The attribute will be removed from each interface after checking
1844         conformity with other browsers (in terms of configurability of operations of that interface) and the
1845         WebKit's existing test suites.
1846
1847         This patch covers IDL interfaces under Source/WebCore/svg/.
1848
1849         * svg/SVGAngle.idl:
1850         * svg/SVGAnimationElement.idl:
1851         * svg/SVGColor.idl:
1852         * svg/SVGCursorElement.idl:
1853         * svg/SVGDocument.idl:
1854         * svg/SVGElement.idl:
1855         * svg/SVGElementInstanceList.idl:
1856         * svg/SVGException.idl:
1857         * svg/SVGFEDropShadowElement.idl:
1858         * svg/SVGFEGaussianBlurElement.idl:
1859         * svg/SVGFEMorphologyElement.idl:
1860         * svg/SVGFilterElement.idl:
1861         * svg/SVGGraphicsElement.idl:
1862         * svg/SVGLength.idl:
1863         * svg/SVGLengthList.idl:
1864         * svg/SVGMarkerElement.idl:
1865         * svg/SVGMaskElement.idl:
1866         * svg/SVGMatrix.idl:
1867         * svg/SVGNumberList.idl:
1868         * svg/SVGPaint.idl:
1869         * svg/SVGPathElement.idl:
1870         * svg/SVGPathSegList.idl:
1871         * svg/SVGPatternElement.idl:
1872         * svg/SVGPoint.idl:
1873         * svg/SVGPointList.idl:
1874         * svg/SVGSVGElement.idl:
1875         * svg/SVGStringList.idl:
1876         * svg/SVGTests.idl:
1877         * svg/SVGTextContentElement.idl:
1878         * svg/SVGTransform.idl:
1879         * svg/SVGTransformList.idl:
1880
1881 2013-10-06  Zan Dobersek  <zdobersek@igalia.com>
1882
1883         [WebIDL] Annotate IDL interfaces under Source/WebCore/page/ with the OperationsNotDeletable attribute
1884         https://bugs.webkit.org/show_bug.cgi?id=122278
1885
1886         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1887         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1888         doesn't have any effect, but will keep the operations not configurable after the generator is modified
1889         to preserve the original behavior. The attribute will be removed from each interface after checking
1890         conformity with other browsers (in terms of configurability of operations of that interface) and the
1891         WebKit's existing test suites.
1892
1893         This patch covers IDL interfaces under Source/WebCore/page/.
1894
1895         * page/Console.idl:
1896         * page/Crypto.idl:
1897         * page/DOMSecurityPolicy.idl:
1898         * page/DOMSelection.idl:
1899         * page/DOMWindow.idl:
1900         * page/EventSource.idl:
1901         * page/History.idl:
1902         * page/Location.idl:
1903         * page/Navigator.idl:
1904         * page/Performance.idl:
1905         * page/PerformanceEntryList.idl:
1906         * page/SpeechInputResultList.idl:
1907         * page/WindowBase64.idl:
1908         * page/WindowTimers.idl:
1909
1910 2013-10-06  Darin Adler  <darin@apple.com>
1911
1912         * rendering/RenderButton.cpp:
1913         (WebCore::RenderButton::setupInnerStyle): Added a comment possibly relevant
1914         to current failures seen on Windows bot.
1915
1916 2013-10-06  Commit Queue  <commit-queue@webkit.org>
1917
1918         Unreviewed, rolling out r156988.
1919         http://trac.webkit.org/changeset/156988
1920         https://bugs.webkit.org/show_bug.cgi?id=122415
1921
1922         Broke debug build (Requested by ap on #webkit).
1923
1924         * css/CSSCursorImageValue.h:
1925         * css/CSSTimingFunctionValue.h:
1926         * css/CSSToStyleMap.cpp:
1927         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1928         * css/CSSUnicodeRangeValue.h:
1929         * css/CSSValue.cpp:
1930         (WebCore::CSSValue::destroy):
1931         * css/DeprecatedStyleBuilder.cpp:
1932         (WebCore::ApplyPropertyCursor::applyValue):
1933         * css/StyleResolver.cpp:
1934         (WebCore::StyleResolver::styleImage):
1935         (WebCore::StyleResolver::styleShader):
1936         * rendering/style/StylePendingImage.h:
1937         (WebCore::StylePendingImage::cssCursorImageValue):
1938
1939 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1940
1941         Add *CSS* prefix to ShadowValue to generate toCSSShadowValue
1942         https://bugs.webkit.org/show_bug.cgi?id=122409
1943
1944         Reviewed by Darin Adler.
1945
1946         To generate toCSSShadowValue(), we need to add *CSS* prefix to ShadowValue.
1947         It is also to be sync with a naming rule of CSS child value.  
1948
1949         No new tests, no behavior changes.
1950
1951         * CMakeLists.txt:
1952         * GNUmakefile.list.am:
1953         * WebCore.vcxproj/WebCore.vcxproj:
1954         * WebCore.vcxproj/WebCore.vcxproj.filters:
1955         * WebCore.xcodeproj/project.pbxproj:
1956         * css/CSSComputedStyleDeclaration.cpp:
1957         (WebCore::ComputedStyleExtractor::valueForShadow):
1958         * css/CSSParser.cpp:
1959         (WebCore::ShadowParseContext::commitValue):
1960         * css/CSSShadowValue.cpp: Renamed from Source/WebCore/css/ShadowValue.cpp.
1961         (WebCore::CSSShadowValue::CSSShadowValue):
1962         (WebCore::CSSShadowValue::customCSSText):
1963         (WebCore::CSSShadowValue::equals):
1964         * css/CSSShadowValue.h: Renamed from Source/WebCore/css/ShadowValue.h.
1965         (WebCore::CSSShadowValue::create):
1966         * css/CSSValue.cpp:
1967         (WebCore::CSSValue::equals):
1968         (WebCore::CSSValue::cssText):
1969         (WebCore::CSSValue::destroy):
1970         * css/SVGCSSStyleSelector.cpp:
1971         (WebCore::StyleResolver::applySVGProperty):
1972         * css/StyleResolver.cpp:
1973         (WebCore::StyleResolver::applyProperty):
1974         (WebCore::StyleResolver::createFilterOperations):
1975
1976 2013-10-06  Darin Adler  <darin@apple.com>
1977
1978         Remove unneeded ScriptGCEvent class
1979         https://bugs.webkit.org/show_bug.cgi?id=122390
1980
1981         Reviewed by Anders Carlsson.
1982
1983         * GNUmakefile.list.am: Removed ScriptGCEvent files.
1984         * Target.pri: Ditto.
1985         * UseJSC.cmake: Ditto.
1986         * WebCore.exp.in: Ditto.
1987         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1988         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1989         * WebCore.xcodeproj/project.pbxproj: Ditto.
1990         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1991         * bindings/js/ScriptGCEvent.cpp: Removed.
1992         * bindings/js/ScriptGCEvent.h: Removed.
1993
1994         * inspector/InspectorMemoryAgent.cpp: Removed include.
1995
1996         * inspector/InspectorTimelineAgent.cpp:
1997         (WebCore::InspectorTimelineAgent::start): Removed GC event listening.
1998         Some day we might add it back, but for now it is dead code.
1999         (WebCore::InspectorTimelineAgent::stop): Ditto.
2000         (WebCore::usedHeapSize): Renamed from getUsedHeapSize and put the
2001         implementation here instead of indirecting through ScriptGCEvent.
2002         (WebCore::InspectorTimelineAgent::setDOMCounters): Updated for above changes.
2003         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): Ditto.
2004         (WebCore::InspectorTimelineAgent::pushCurrentRecord): Ditto.
2005
2006         * inspector/InspectorTimelineAgent.h: Removed include.
2007
2008         * inspector/ScriptGCEventListener.h: Removed.
2009
2010         * testing/MemoryInfo.h: Updated to get heap capacity and size directly
2011         instead of going through ScriptGCEvent.
2012
2013 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2014
2015         Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
2016         https://bugs.webkit.org/show_bug.cgi?id=122408
2017
2018         Reviewed by Darin Adler.
2019
2020         As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
2021         CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
2022         This will help to detect bad type cast.
2023
2024         No new tests, no behavior changes.
2025
2026         * css/CSSCursorImageValue.h:
2027         * css/CSSTimingFunctionValue.h:
2028         * css/CSSToStyleMap.cpp:
2029         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
2030         * css/CSSUnicodeRangeValue.h:
2031         * css/CSSValue.cpp:
2032         (WebCore::CSSValue::destroy):
2033         * css/DeprecatedStyleBuilder.cpp:
2034         (WebCore::ApplyPropertyCursor::applyValue):
2035         * css/StyleResolver.cpp:
2036         (WebCore::StyleResolver::styleImage):
2037         (WebCore::StyleResolver::styleShader):
2038         * rendering/style/StylePendingImage.h:
2039         (WebCore::StylePendingImage::cssCursorImageValue):
2040
2041 2013-10-05  Andreas Kling  <akling@apple.com>
2042
2043         CTTE: Teach CompositeEditCommand that link Nodes are always Elements.
2044         <https://webkit.org/b/122400>
2045
2046         Reviewed by Sam Weinig.
2047
2048         Make pushAnchorElementDown() take an Element& instead of a Node* and
2049         tweak the surrounding code a tiny bit.
2050
2051 2013-10-06  Andreas Kling  <akling@apple.com>
2052
2053         CTTE: Node::enclosingLinkEventParentOrSelf() should return an Element.
2054         <https://webkit.org/b/122401>
2055
2056         Reviewed by Sam Weinig.
2057
2058         Only Elements are ever linked, so make enclosingLinkEventParentOrSelf()
2059         return an Element* instead of a Node*. The only call site was already
2060         doing toElement() on the return value without checking, so this makes
2061         things look a bit nicer.
2062
2063 2013-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2064
2065         Add *CSS* prefix to FontFeatureValue to generate toCSSFontFeatureValue(), and use it
2066         https://bugs.webkit.org/show_bug.cgi?id=122204
2067
2068         Reviewed by Darin Adler.
2069
2070         *CSS* prefix needs to be added to FontFeatureValue class in order to generate toCSSFontFeatureValue().
2071         static_cast<FontFeatureValue*> is changed with toCSSFontFeatureValue() by using this change.
2072
2073         No new tests, no behavior changes.
2074
2075         * CMakeLists.txt:
2076         * GNUmakefile.list.am:
2077         * Target.pri:
2078         * WebCore.vcxproj/WebCore.vcxproj:
2079         * WebCore.vcxproj/WebCore.vcxproj.filters:
2080         * WebCore.xcodeproj/project.pbxproj:
2081         * css/CSSComputedStyleDeclaration.cpp:
2082         (WebCore::ComputedStyleExtractor::propertyValue):
2083         * css/CSSFontFeatureValue.cpp: Renamed from Source/WebCore/css/FontFeatureValue.cpp.
2084         (WebCore::CSSFontFeatureValue::CSSFontFeatureValue):
2085         (WebCore::CSSFontFeatureValue::customCSSText):
2086         (WebCore::CSSFontFeatureValue::equals):
2087         * css/CSSFontFeatureValue.h: Renamed from Source/WebCore/css/FontFeatureValue.h.
2088         (WebCore::CSSFontFeatureValue::create):
2089         (WebCore::CSSFontFeatureValue::tag):
2090         (WebCore::CSSFontFeatureValue::value):
2091         * css/CSSParser.cpp:
2092         (WebCore::CSSParser::parseFontFeatureTag):
2093         * css/CSSValue.cpp:
2094         (WebCore::CSSValue::equals):
2095         (WebCore::CSSValue::cssText):
2096         (WebCore::CSSValue::destroy):
2097         * css/StyleResolver.cpp:
2098         (WebCore::StyleResolver::applyProperty):
2099
2100 2013-10-05  Andreas Kling  <akling@apple.com>
2101
2102         FrameSelection: Remove two unused member functions.
2103
2104         Rubber-stamped by Anders Carlsson.
2105
2106         - rootEditableElementOrTreeScopeRootNode()
2107         - rootEditableElementRespectingShadowTree()
2108
2109 2013-10-05  Andreas Kling  <akling@apple.com>
2110
2111         CTTE: Node::treeScope() should return a reference.
2112         <https://webkit.org/b/122399>
2113
2114         Reviewed by Superlative Sam.
2115
2116         Every Node belongs to a TreeScope. To enforce this, I've made
2117         treeScope() return a TreeScope&, and setTreeScope() now takes a
2118         TreeScope& so there is no way to clear it.
2119
2120 2013-10-05  Sam Weinig  <sam@webkit.org>
2121
2122         CTTE: Use references more for the Document parser
2123         https://bugs.webkit.org/show_bug.cgi?id=122398
2124
2125         Reviewed by Andreas Kling.
2126
2127         Clarify the construction semantics of Document parsers.
2128
2129 2013-10-05  Daniel Bates  <dabates@apple.com>
2130
2131         [iOS] Default initialize Settings::setFixedPositionCreatesStackingContext() to true
2132         https://bugs.webkit.org/show_bug.cgi?id=122338
2133         <rdar://problem/14908151>
2134
2135         Reviewed by Darin Adler.
2136
2137         On iOS we always want an element with a fixed position to create a stacking context.
2138         See <rdar://problem/9813262> for more details.
2139
2140         * page/Settings.cpp: Define constant defaultFixedPositionCreatesStackingContext to
2141         be true when building for iOS and false otherwise.
2142         * page/Settings.in: Initialize the setting fixedPositionCreatesStackingContext with
2143         the value of the constant defaultFixedPositionCreatesStackingContext.
2144
2145 2013-10-05  Sam Weinig  <sam@webkit.org>
2146
2147         CTTE: Pass DocumentWriter around as a reference
2148         https://bugs.webkit.org/show_bug.cgi?id=122396
2149
2150         Reviewed by Andreas Kling.
2151
2152         * bindings/js/ScriptController.cpp:
2153         (WebCore::ScriptController::executeIfJavaScriptURL):
2154         * dom/DecodedDataDocumentParser.cpp:
2155         (WebCore::DecodedDataDocumentParser::appendBytes):
2156         (WebCore::DecodedDataDocumentParser::flush):
2157         * dom/DecodedDataDocumentParser.h:
2158         * dom/DocumentParser.h:
2159         * dom/RawDataDocumentParser.h:
2160         (WebCore::RawDataDocumentParser::flush):
2161         * html/ImageDocument.cpp:
2162         (WebCore::ImageDocumentParser::appendBytes):
2163         * html/MediaDocument.cpp:
2164         (WebCore::MediaDocumentParser::appendBytes):
2165         (WebCore::MediaDocument::replaceMediaElementTimerFired):
2166         * html/PluginDocument.cpp:
2167         (WebCore::PluginDocumentParser::createDocumentStructure):
2168         (WebCore::PluginDocumentParser::appendBytes):
2169         * inspector/InspectorOverlay.cpp:
2170         (WebCore::InspectorOverlay::overlayPage):
2171         * loader/DocumentLoader.h:
2172         (WebCore::DocumentLoader::writer):
2173         * loader/DocumentWriter.cpp:
2174         (WebCore::DocumentWriter::addData):
2175         (WebCore::DocumentWriter::end):
2176         * loader/FrameLoader.cpp:
2177         (WebCore::FrameLoader::transitionToCommitted):
2178         * loader/SinkDocument.cpp:
2179         (WebCore::SinkDocumentParser::appendBytes):
2180         * svg/graphics/SVGImage.cpp:
2181         (WebCore::SVGImage::dataChanged):
2182
2183 2013-10-05  Andreas Kling  <akling@apple.com>
2184
2185         FrameView: Remove code for disabling repaints.
2186         <https://webkit.org/b/122393>
2187
2188         Reviewed by Sam Weinig.
2189
2190         Nobody uses this mode for anything so let's just remove it.
2191
2192         It was added back in r110469 to fix an issue with SVGImageCache
2193         and its only user disappeard in the cache overhaul in r142765.
2194
2195 2013-10-05  Andreas Kling  <akling@apple.com>
2196
2197         Remove IFrameShimSupport, it was only used by dead ports.
2198
2199         Rubber-stamped by Anders Carlsson.
2200
2201         * plugins/IFrameShimSupport.cpp: Removed.
2202         * plugins/IFrameShimSupport.h: Removed.
2203
2204 2013-10-05  Anders Carlsson  <andersca@apple.com>
2205
2206         Clean up MessageQueue.h
2207         https://bugs.webkit.org/show_bug.cgi?id=122392
2208
2209         Reviewed by Andreas Kling.
2210
2211         Update for changes to MessageQueue, mostly changing create functions to return std::unique_ptr.
2212         I intentionally avoided using std::make_unique in a couple of places because I didn't want to make nested classes
2213         public, and I believe that we can change some of this code to use std::function.
2214
2215         * Modules/webaudio/AsyncAudioDecoder.cpp:
2216         (WebCore::AsyncAudioDecoder::decodeAsync):
2217         (WebCore::AsyncAudioDecoder::runLoop):
2218         (WebCore::AsyncAudioDecoder::DecodingTask::create):
2219         * Modules/webaudio/AsyncAudioDecoder.h:
2220         * Modules/webdatabase/Database.cpp:
2221         (WebCore::Database::markAsDeletedAndClose):
2222         (WebCore::Database::tableNames):
2223         * Modules/webdatabase/DatabaseBackend.cpp:
2224         (WebCore::DatabaseBackend::openAndVerifyVersion):
2225         (WebCore::DatabaseBackend::scheduleTransaction):
2226         (WebCore::DatabaseBackend::scheduleTransactionStep):
2227         * Modules/webdatabase/DatabaseTask.h:
2228         (WebCore::DatabaseBackend::DatabaseOpenTask::create):
2229         (WebCore::DatabaseBackend::DatabaseCloseTask::create):
2230         (WebCore::DatabaseBackend::DatabaseTransactionTask::create):
2231         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
2232         * Modules/webdatabase/DatabaseThread.cpp:
2233         (WebCore::DatabaseThread::databaseThread):
2234         (WebCore::DatabaseThread::scheduleTask):
2235         (WebCore::DatabaseThread::scheduleImmediateTask):
2236         (WebCore::SameDatabasePredicate::operator()):
2237         * Modules/webdatabase/DatabaseThread.h:
2238         * dom/default/PlatformMessagePortChannel.cpp:
2239         (WebCore::PlatformMessagePortChannel::EventData::create):
2240         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
2241         * dom/default/PlatformMessagePortChannel.h:
2242         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
2243         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
2244         * fileapi/FileThread.cpp:
2245         (WebCore::FileThread::postTask):
2246         (WebCore::SameInstancePredicate::operator()):
2247         (WebCore::FileThread::runLoop):
2248         * fileapi/FileThread.h:
2249         * fileapi/FileThreadTask.h:
2250         (WebCore::createFileThreadTask):
2251         * storage/StorageThread.cpp:
2252         (WebCore::StorageThread::threadEntryPoint):
2253         (WebCore::StorageThread::dispatch):
2254         (WebCore::StorageThread::terminate):
2255         * workers/WorkerRunLoop.cpp:
2256         (WebCore::ModePredicate::operator()):
2257         (WebCore::WorkerRunLoop::runInMode):
2258         (WebCore::WorkerRunLoop::runCleanupTasks):
2259         (WebCore::WorkerRunLoop::Task::create):
2260         * workers/WorkerRunLoop.h:
2261
2262 2013-10-04  Dean Jackson  <dino@apple.com>
2263
2264         [WebGL] program should not be able to link if a bad shader is attached
2265         https://bugs.webkit.org/show_bug.cgi?id=94036
2266
2267         Reviewed by Darin Adler.
2268
2269         If you attempt to link a program when bad shaders are attached, the
2270         link should fail. WebGL also requires that the previously linked
2271         program should remain intact. We were doing the former, but not
2272         the latter.
2273
2274         Fix this by not calling glLinkProgram if we know we have bad
2275         shaders, and synthesize a bad link status instead.
2276
2277         Test: WebGL conformance test conformance/programs/program-test.html
2278         (found in LayoutTests/webgl)
2279
2280         * html/canvas/WebGLRenderingContext.cpp:
2281         (WebCore::WebGLRenderingContext::compileShader): Mark a shader as valid
2282         if it compiled ok.
2283         (WebCore::WebGLRenderingContext::linkProgram): Don't call into GraphicsContext3D::linkProgram
2284         if we know that we don't have valid shaders.
2285         * html/canvas/WebGLShader.cpp:
2286         (WebCore::WebGLShader::WebGLShader): Initialize m_isValid.
2287         * html/canvas/WebGLShader.h:
2288         (WebCore::WebGLShader::isValid): New member variable getter and setter.
2289         (WebCore::WebGLShader::setValid):
2290
2291 2013-10-05  Dean Jackson  <dino@apple.com>
2292
2293         Undo texture unit code refactoring - it is ok to bind a texture to multiple locations
2294         https://bugs.webkit.org/show_bug.cgi?id=122369
2295         <rdar://problem/15158465>
2296
2297         Reviewed by Darin Adler.
2298
2299         The optimisation in r152351 (http://webkit.org/b/117868) incorrectly
2300         assumes that a texture cannot be bound to more than one location.
2301         That's true only within the same program object. It's legal to
2302         address TEXTURE_BINDING_2D and TEXTURE_BINDING_CUBE_MAP with the
2303         same texture in different programs.
2304
2305         See https://github.com/KhronosGroup/WebGL/pull/391 for more information.
2306
2307         This change reverts the optimisation, but also does some minor
2308         cleanup (0 -> nullptr, class -> struct).
2309
2310         Covered by the following Khronos WebGL 1.0.1 tests, which
2311         now pass:
2312         - conformance/more/functions/texImage2DHTML.html
2313         - conformance/more/functions/texSubImage2D.html
2314         - conformance/more/functions/texSubImage2DHTML.html
2315
2316         * html/canvas/WebGLRenderingContext.cpp:
2317         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
2318         (WebCore::WebGLRenderingContext::reshape):
2319         (WebCore::WebGLRenderingContext::bindTexture):
2320         (WebCore::WebGLRenderingContext::deleteTexture):
2321         (WebCore::WebGLRenderingContext::getParameter):
2322         (WebCore::WebGLRenderingContext::handleNPOTTextures):
2323         (WebCore::WebGLRenderingContext::validateTextureBinding):
2324         (WebCore::WebGLRenderingContext::restoreCurrentTexture2D):
2325         * html/canvas/WebGLRenderingContext.h:
2326
2327 2013-10-05  Anders Carlsson  <andersca@apple.com>
2328
2329         Remove createOwned
2330         https://bugs.webkit.org/show_bug.cgi?id=122388
2331
2332         Reviewed by Darin Adler.
2333
2334         * dom/Document.cpp:
2335         (WebCore::Document::Document):
2336         (WebCore::Document::~Document):
2337         (WebCore::Document::createRenderTree):
2338         (WebCore::Document::destroyRenderTree):
2339         * dom/Document.h:
2340         * page/Frame.cpp:
2341         (WebCore::Frame::Frame):
2342         * page/Frame.h:
2343         * page/animation/AnimationController.cpp:
2344         (WebCore::AnimationController::AnimationController):
2345         * page/animation/AnimationController.h:
2346         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
2347         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
2348         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
2349         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
2350         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack):
2351         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
2352         (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
2353         (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack):
2354         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
2355         * rendering/svg/RenderSVGResourceClipper.cpp:
2356         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2357         * rendering/svg/RenderSVGResourceClipper.h:
2358         * rendering/svg/RenderSVGResourceFilter.cpp:
2359         (WebCore::RenderSVGResourceFilter::applyResource):
2360         * rendering/svg/RenderSVGResourceFilter.h:
2361         * rendering/svg/RenderSVGResourceMasker.cpp:
2362         (WebCore::RenderSVGResourceMasker::applyResource):
2363         * rendering/svg/RenderSVGResourceMasker.h:
2364
2365 2013-10-05  Darin Adler  <darin@apple.com>
2366
2367         Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now
2368         https://bugs.webkit.org/show_bug.cgi?id=122387
2369
2370         Reviewed by Anders Carlsson.
2371
2372         * html/canvas/CanvasStyle.h: Take out conditionals.
2373
2374 2013-10-05  Darin Adler  <darin@apple.com>
2375
2376         Add AtomicString::number and use it
2377         https://bugs.webkit.org/show_bug.cgi?id=122384
2378
2379         Reviewed by Anders Carlsson.
2380
2381         * css/CSSGrammar.y.in: Use AtomicString::number instead of String::number since
2382         we are creating an AtomicString. This can save a memory allocation if the string
2383         happens to already be in the atomic string table.
2384         * dom/Element.cpp:
2385         (WebCore::Element::setIntegralAttribute): Ditto.
2386         (WebCore::Element::setUnsignedIntegralAttribute): Ditto.
2387         * editing/BreakBlockquoteCommand.cpp:
2388         (WebCore::BreakBlockquoteCommand::doApply): Ditto.
2389         * html/HTMLBodyElement.cpp:
2390         (WebCore::HTMLBodyElement::insertedInto): Use setIntegralAttribute instead of
2391         a local homegrown equivalent.
2392         * html/HTMLCanvasElement.cpp:
2393         (WebCore::HTMLCanvasElement::setHeight): Ditto.
2394         (WebCore::HTMLCanvasElement::setWidth): Ditto.
2395         * html/HTMLElement.cpp:
2396         (WebCore::HTMLElement::setTabIndex): Ditto.
2397         * html/HTMLImageElement.cpp:
2398         (WebCore::HTMLImageElement::setHeight): Ditto.
2399         (WebCore::HTMLImageElement::setWidth): Ditto.
2400         * html/HTMLInputElement.cpp:
2401         (WebCore::HTMLInputElement::setMaxLength): Ditto.
2402         (WebCore::HTMLInputElement::setSize): Same, but setUnsignedIntegralAttribute.
2403         (WebCore::HTMLInputElement::setHeight): Ditto.
2404         (WebCore::HTMLInputElement::setWidth): Ditto.
2405         * html/HTMLMediaElement.cpp:
2406         (WebCore::HTMLMediaElement::mediaPlayerSetSize): Ditto.
2407         * html/HTMLMeterElement.cpp:
2408         (WebCore::HTMLMeterElement::setMin): More of the same.
2409         (WebCore::HTMLMeterElement::setMax): Ditto.
2410         (WebCore::HTMLMeterElement::setValue): Ditto.
2411         (WebCore::HTMLMeterElement::setLow): Ditto.
2412         (WebCore::HTMLMeterElement::setHigh): Ditto.
2413         (WebCore::HTMLMeterElement::setOptimum): Ditto.
2414         * html/HTMLOListElement.cpp:
2415         (WebCore::HTMLOListElement::setStart): Ditto.
2416         * html/HTMLProgressElement.cpp:
2417         (WebCore::HTMLProgressElement::setValue): Ditto.
2418         (WebCore::HTMLProgressElement::setMax): Ditto.
2419         * html/HTMLSelectElement.cpp:
2420         (WebCore::HTMLSelectElement::parseAttribute): Ditto.
2421         (WebCore::HTMLSelectElement::setSize): Ditto.
2422         * html/HTMLTableCellElement.cpp:
2423         (WebCore::HTMLTableCellElement::setColSpan): Ditto.
2424         (WebCore::HTMLTableCellElement::setRowSpan): Ditto.
2425         * html/HTMLTableColElement.cpp:
2426         (WebCore::HTMLTableColElement::setSpan): Ditto.
2427         * html/HTMLTextAreaElement.cpp:
2428         (WebCore::HTMLTextAreaElement::setMaxLength): Ditto.
2429         (WebCore::HTMLTextAreaElement::setCols): Ditto.
2430         (WebCore::HTMLTextAreaElement::setRows): Ditto.
2431         * html/shadow/MediaControlElements.cpp:
2432         (WebCore::MediaControlTimelineElement::setDuration): Ditto.
2433
2434 2013-10-05  Darin Adler  <darin@apple.com>
2435
2436         Cut down on use of String::number
2437         https://bugs.webkit.org/show_bug.cgi?id=122382
2438
2439         Reviewed by Anders Carlsson.
2440
2441         * css/CSSGradientValue.cpp:
2442         (WebCore::CSSLinearGradientValue::customCSSText): Use StringBuilder::appendNumber,
2443         instead of creating a string and then appending it.
2444         (WebCore::CSSRadialGradientValue::customCSSText): Ditto.
2445         * css/CSSParser.cpp:
2446         (WebCore::CSSParser::createKeyframe): Ditto.
2447         * editing/DeleteButtonController.cpp:
2448         (WebCore::DeleteButtonController::createDeletionUI): Use ASCII literals instead of
2449         converting numeric constants to strings at runtime with String::number.
2450         (WebCore::DeleteButtonController::show): Ditto.
2451         * svg/SVGNumberList.cpp:
2452         (WebCore::SVGNumberList::valueAsString): Use StringBuilder::appendNumber.
2453         * svg/SVGPointList.cpp:
2454         (WebCore::SVGPointList::valueAsString): Ditto.
2455         * svg/SVGRect.h: Ditto.
2456
2457 2013-10-05  Anders Carlsson  <andersca@apple.com>
2458
2459         Test the waters and begin using lambdas
2460         https://bugs.webkit.org/show_bug.cgi?id=121809
2461
2462         Reviewed by Andreas Kling.
2463
2464         Use lambdas instead of static functions and function objects.
2465         
2466         * css/MediaQuery.cpp:
2467         (WebCore::MediaQuery::MediaQuery):
2468         * dom/MutationObserver.cpp:
2469         (WebCore::MutationObserver::deliverAllMutations):
2470         * page/CaptionUserPreferences.cpp:
2471         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
2472
2473 2013-10-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2474
2475         Add *CSS* prefix to FontValue to generate toCSSFontValue() 
2476         https://bugs.webkit.org/show_bug.cgi?id=122201
2477
2478         Reviewed by Darin Adler.
2479
2480         *CSS* prefix needs to be added to FontValue class in order to generate toCSSFontValue().
2481         static_cast<FontValue*> is changed with toCSSFontValue() by this change.
2482
2483         No new tests, no behavior changes.
2484
2485         * CMakeLists.txt:
2486         * GNUmakefile.list.am:
2487         * Target.pri:
2488         * WebCore.vcxproj/WebCore.vcxproj:
2489         * WebCore.vcxproj/WebCore.vcxproj.filters:
2490         * WebCore.xcodeproj/project.pbxproj:
2491         * css/CSSComputedStyleDeclaration.cpp:
2492         (WebCore::ComputedStyleExtractor::propertyValue):
2493         * css/CSSFontValue.cpp: Renamed from Source/WebCore/css/FontValue.cpp.
2494         (WebCore::CSSFontValue::customCSSText):
2495         (WebCore::CSSFontValue::equals):
2496         * css/CSSFontValue.h: Renamed from Source/WebCore/css/FontValue.h.
2497         (WebCore::CSSFontValue::create):
2498         (WebCore::CSSFontValue::CSSFontValue):
2499         * css/CSSParser.cpp:
2500         * css/CSSValue.cpp:
2501         (WebCore::CSSValue::equals):
2502         (WebCore::CSSValue::cssText):
2503         (WebCore::CSSValue::destroy):
2504         * css/StyleResolver.cpp:
2505         (WebCore::StyleResolver::applyProperty):
2506
2507 2013-10-05  Commit Queue  <commit-queue@webkit.org>
2508
2509         Unreviewed, rolling out r156952.
2510         http://trac.webkit.org/changeset/156952
2511         https://bugs.webkit.org/show_bug.cgi?id=122381
2512
2513         Made svg/custom/large-image-pattern-crash.html assert
2514         (Requested by ap on #webkit).
2515
2516         * rendering/InlineBox.cpp:
2517         (WebCore::InlineBox::paint):
2518         * rendering/InlineBox.h:
2519         * rendering/InlineFlowBox.cpp:
2520         (WebCore::InlineFlowBox::paintBoxDecorations):
2521         (WebCore::InlineFlowBox::paintMask):
2522         * rendering/InlineTextBox.cpp:
2523         (WebCore::InlineTextBox::paint):
2524         * rendering/PaintInfo.h:
2525         (WebCore::PaintInfo::shouldPaintWithinRoot):
2526         * rendering/RenderBlock.cpp:
2527         (WebCore::RenderBlock::paint):
2528         * rendering/RenderBox.cpp:
2529         (WebCore::RenderBox::paint):
2530         (WebCore::RenderBox::paintBoxDecorations):
2531         (WebCore::RenderBox::paintMask):
2532         * rendering/RenderBox.h:
2533         * rendering/RenderElement.h:
2534         * rendering/RenderFieldset.cpp:
2535         (WebCore::RenderFieldset::paintBoxDecorations):
2536         * rendering/RenderFrameSet.cpp:
2537         (WebCore::RenderFrameSet::paint):
2538         * rendering/RenderLineBreak.h:
2539         * rendering/RenderObject.cpp:
2540         (WebCore::RenderObject::paint):
2541         * rendering/RenderObject.h:
2542         * rendering/RenderReplaced.cpp:
2543         (WebCore::RenderReplaced::paint):
2544         (WebCore::RenderReplaced::shouldPaint):
2545         * rendering/RenderTable.cpp:
2546         (WebCore::RenderTable::paintObject):
2547         (WebCore::RenderTable::paintBoxDecorations):
2548         * rendering/RenderTableCell.cpp:
2549         (WebCore::RenderTableCell::paintCollapsedBorders):
2550         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2551         (WebCore::RenderTableCell::paintBoxDecorations):
2552         * rendering/RenderTableCol.h:
2553         * rendering/RenderText.h:
2554         * rendering/RenderView.cpp:
2555         (WebCore::RenderView::paint):
2556         (WebCore::RenderView::paintBoxDecorations):
2557         * rendering/RootInlineBox.cpp:
2558         (WebCore::RootInlineBox::paintEllipsisBox):
2559         (WebCore::RootInlineBox::paintCustomHighlight):
2560         * rendering/svg/RenderSVGContainer.cpp:
2561         (WebCore::RenderSVGContainer::paint):
2562         * rendering/svg/RenderSVGGradientStop.h:
2563         * rendering/svg/RenderSVGResourceClipper.cpp:
2564         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2565         * rendering/svg/RenderSVGResourceMasker.cpp:
2566         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2567         * rendering/svg/RenderSVGResourcePattern.cpp:
2568         (WebCore::RenderSVGResourcePattern::createTileImage):
2569         * rendering/svg/RenderSVGRoot.cpp:
2570         (WebCore::RenderSVGRoot::paintReplaced):
2571         * rendering/svg/SVGInlineTextBox.cpp:
2572         (WebCore::SVGInlineTextBox::paintSelectionBackground):
2573         (WebCore::SVGInlineTextBox::paint):
2574         * rendering/svg/SVGRenderingContext.cpp:
2575         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
2576         * rendering/svg/SVGRenderingContext.h:
2577         * svg/SVGUseElement.cpp:
2578         (WebCore::SVGUseElement::rendererClipChild):
2579         * svg/SVGUseElement.h:
2580         * svg/graphics/filters/SVGFEImage.cpp:
2581         (WebCore::FEImage::platformApplySoftware):
2582
2583 2013-10-05  Darin Adler  <darin@apple.com>
2584
2585         Need to check if some HTML child elements are HTMLUnknownElement
2586         https://bugs.webkit.org/show_bug.cgi?id=120297
2587
2588         Reviewed by Andreas Kling.
2589
2590         Test: fast/media/media-disable-crash.html
2591
2592         * dom/make_names.pl:
2593         (printConstructorInterior): Added additional comments about the
2594         wrapperOnlyIfMediaIsAvailable feature.
2595         (printTypeHelpers): Added an isHTMLUnknownElement check to the check helper
2596         functions for tags with the wrapperOnlyIfMediaIsAvailable feature.
2597         (printWrapperFunctions): Instead of redoing the media player check and the
2598         settings check, and possibly making a wrapper of the wrong type, call
2599         isHTMUnknownElement, guaranteeing that the wrapper will match the element
2600         it is wrapping.
2601
2602         * html/HTMLElement.h: Move HTMLElementTypeHelpers.h to the bottom of the
2603         file so that functions from that file can be use the HTMLElement class and
2604         other things defined in this file.
2605
2606         * html/HTMLMediaElement.cpp:
2607         (WebCore::HTMLMediaElement::paused): Added an assertion that made the regression
2608         test reliably assert, rather than intermittently (for me, non-reproducibly) crash.
2609
2610 2013-10-04  Antti Koivisto  <antti@apple.com>
2611
2612         Move paint() to RenderElement
2613         https://bugs.webkit.org/show_bug.cgi?id=122371
2614
2615         Reviewed by Darin Adler.
2616
2617         RenderText does not paint itself (text is painted by line boxes). We can move paint() down
2618         to RenderElement.
2619         
2620         This also requires some type tightening elsewhere in the code.
2621
2622 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
2623
2624         Fix an assertion failure introduced in r156925.
2625
2626         Add HTMLImageElement to the document-wide map only if it's in the document.
2627
2628         * html/HTMLImageElement.cpp:
2629         (WebCore::HTMLImageElement::parseAttribute):
2630
2631 2013-10-04  Darin Adler  <darin@apple.com>
2632
2633         text-transform: lowercase is not lang-dependent (Turkish languages : tr,az)
2634         https://bugs.webkit.org/show_bug.cgi?id=21312
2635
2636         Reviewed by Ryosuke Niwa.
2637
2638         Test: fast/text/text-transform-turkish-and-azeri.html
2639
2640         This patch covers text-transform: uppercase and text-transform: lowercase.
2641         More changes will be needed to cover text-transform: capitalize.
2642
2643         * inspector/DOMPatchSupport.cpp:
2644         (WebCore::DOMPatchSupport::patchNode): Use String::upper instead of String::makeUpper.
2645         * page/EventHandler.cpp:
2646         (WebCore::findDropZone): Use String::lower instead of String::makeLower.
2647         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2648         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use String::upper instead of String::makeUpper.
2649         * platform/network/blackberry/rss/RSS10Parser.cpp: [Seriously, how is an RSS parser
2650         part of WebKit's networking layer? Where are the tests that cover this? Seems wrong
2651         to have this code in the project.]
2652         (WebCore::RSS10Parser::parseXmlDoc): Use lower instead of makeLower.
2653         (WebCore::RSS10Parser::parseItem): Ditto.
2654         (WebCore::RSS10Parser::parseFeed): Ditto.
2655         * platform/network/blackberry/rss/RSS20Parser.cpp:
2656         (WebCore::RSS20Parser::parseXmlDoc): Ditto.
2657         (WebCore::RSS20Parser::parseItem): Ditto.
2658         (WebCore::RSS20Parser::parseFeed): Ditto.
2659         (WebCore::RSS20Parser::parseEnclosure): Ditto.
2660         * platform/network/blackberry/rss/RSSAtomParser.cpp:
2661         (WebCore::RSSAtomParser::parseXmlDoc): Ditto.
2662         (WebCore::RSSAtomParser::parseItem): Ditto.
2663         (WebCore::RSSAtomParser::parseFeed): Ditto.
2664         (WebCore::RSSAtomParser::parseLink): Ditto.
2665         (WebCore::RSSAtomParser::parseContent): Ditto.
2666         (WebCore::RSSAtomParser::parseAuthor): Ditto.
2667         (WebCore::RSSAtomParser::parseCategory): Ditto.
2668         * platform/text/win/LocaleWin.cpp:
2669         (WebCore::convertLocaleNameToLCID): Use String::lower instead of String::makeLower.
2670         * rendering/RenderText.cpp:
2671         (WebCore::applyTextTransform): Use String::upper and String::lower instead of
2672         String::makeUpper and String::makeLower, and also pass in the locale to each.
2673         * xml/XMLHttpRequest.cpp:
2674         (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod): Changed this so it doesn't call
2675         upper just to return an already known string constant.
2676
2677 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
2678
2679         Roll out r156930 and r156937, they caused 34 assertion failures on bots.
2680
2681         * css/mathml.css:
2682         * mathml/MathMLTextElement.cpp:
2683         * mathml/MathMLTextElement.h:
2684         * rendering/RenderFlexibleBox.h:
2685         * rendering/mathml/RenderMathMLBlock.cpp:
2686         * rendering/mathml/RenderMathMLBlock.h:
2687         * rendering/mathml/RenderMathMLFenced.cpp:
2688         * rendering/mathml/RenderMathMLOperator.cpp:
2689         * rendering/mathml/RenderMathMLOperator.h:
2690         * rendering/mathml/RenderMathMLRoot.cpp:
2691         * rendering/mathml/RenderMathMLRoot.h:
2692         * rendering/mathml/RenderMathMLRow.cpp:
2693         * rendering/mathml/RenderMathMLRow.h:
2694
2695 2013-10-04  Anders Carlsson  <andersca@apple.com>
2696
2697         FramePolicyFunction should be an std::function
2698         https://bugs.webkit.org/show_bug.cgi?id=122362
2699
2700         Reviewed by Darin Adler.
2701
2702         This makes policy callback handling simpler inside WebKit.
2703
2704         * loader/EmptyClients.cpp:
2705         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
2706         (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2707         (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
2708         * loader/EmptyClients.h:
2709         * loader/FrameLoader.cpp:
2710         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2711         * loader/FrameLoaderClient.h:
2712         * loader/PolicyChecker.cpp:
2713         (WebCore::PolicyChecker::checkNavigationPolicy):
2714         (WebCore::PolicyChecker::checkNewWindowPolicy):
2715         (WebCore::PolicyChecker::checkContentPolicy):
2716
2717 2013-10-04  Andreas Kling  <akling@apple.com>
2718
2719         CTTE: IconController and IconLoader should have Frame& backpointer.
2720         <https://webkit.org/b/122372>
2721
2722         Reviewed by Anders Carlsson.
2723
2724         Also slap IconLoader with FINAL glove.
2725
2726 2013-10-04  Andreas Kling  <akling@apple.com>
2727
2728         CTTE: RenderScrollbar DOM owner is always an Element.
2729         <https://webkit.org/b/122348>
2730
2731         Reviewed by Antti Koivisto.
2732
2733         When RenderScrollbar is owned by a DOM node, it's always Element.
2734         Tighten the code a bit with this knowledge.
2735
2736         Also marked the class FINAL and beat it with the OVERRIDE stick.
2737
2738 2013-10-04  Andreas Kling  <akling@apple.com>
2739
2740         TypingCommand helpers should take Document&.
2741         <https://webkit.org/b/122370>
2742
2743         Reviewed by Anders Carlsson.
2744
2745         Instead of taking a Document* and immediately asserting that it's
2746         non-null, just take Document&.
2747
2748 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
2749
2750         Use more references instead of pointers in DocumentOrderedMap
2751         https://bugs.webkit.org/show_bug.cgi?id=122368
2752
2753         Reviewed by Andreas Kling.
2754
2755         Use AtomicStringImpl& instead of AtomicString* or AtomicString& to eliminate
2756         assertions and nullity checks.
2757
2758         * bindings/js/JSDOMWindowCustom.cpp:
2759         (WebCore::namedItemGetter):
2760         (WebCore::JSDOMWindow::getOwnPropertySlot):
2761         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
2762         * bindings/js/JSHTMLDocumentCustom.cpp:
2763         (WebCore::JSHTMLDocument::canGetItemsForName):
2764         (WebCore::JSHTMLDocument::nameGetter):
2765         * dom/Document.cpp:
2766         (WebCore::Document::addImageElementByLowercasedUsemap):
2767         (WebCore::Document::removeImageElementByLowercasedUsemap):
2768         (WebCore::Document::imageElementByLowercasedUsemap):
2769         * dom/Document.h:
2770         * dom/DocumentOrderedMap.cpp:
2771         (WebCore::keyMatchesId):
2772         (WebCore::keyMatchesName):
2773         (WebCore::keyMatchesMapName):
2774         (WebCore::keyMatchesLowercasedMapName):
2775         (WebCore::keyMatchesLowercasedUsemap):
2776         (WebCore::keyMatchesLabelForAttribute):
2777         (WebCore::keyMatchesWindowNamedItem):
2778         (WebCore::keyMatchesDocumentNamedItem):
2779         (WebCore::DocumentOrderedMap::add):
2780         (WebCore::DocumentOrderedMap::remove):
2781         (WebCore::DocumentOrderedMap::get):
2782         (WebCore::DocumentOrderedMap::getElementById):
2783         (WebCore::DocumentOrderedMap::getElementByName):
2784         (WebCore::DocumentOrderedMap::getElementByMapName):
2785         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
2786         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
2787         (WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
2788         (WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
2789         (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
2790         (WebCore::DocumentOrderedMap::getAllElementsById):
2791         * dom/DocumentOrderedMap.h:
2792         (WebCore::DocumentOrderedMap::containsSingle):
2793         (WebCore::DocumentOrderedMap::contains):
2794         (WebCore::DocumentOrderedMap::containsMultiple):
2795         * dom/Element.cpp:
2796         (WebCore::Element::updateNameForTreeScope):
2797         (WebCore::Element::updateNameForDocument):
2798         (WebCore::Element::updateIdForTreeScope):
2799         (WebCore::Element::updateIdForDocument):
2800         (WebCore::Element::updateLabel):
2801         * dom/IdTargetObserverRegistry.cpp:
2802         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
2803         * dom/IdTargetObserverRegistry.h:
2804         (WebCore::IdTargetObserverRegistry::notifyObservers):
2805         * dom/TreeScope.cpp:
2806         (WebCore::TreeScope::getElementById):
2807         (WebCore::TreeScope::getAllElementsById):
2808         (WebCore::TreeScope::addElementById):
2809         (WebCore::TreeScope::removeElementById):
2810         (WebCore::TreeScope::getElementByName):
2811         (WebCore::TreeScope::addElementByName):
2812         (WebCore::TreeScope::removeElementByName):
2813         (WebCore::TreeScope::addImageMap):
2814         (WebCore::TreeScope::removeImageMap):
2815         (WebCore::TreeScope::getImageMap):
2816         (WebCore::TreeScope::addLabel):
2817         (WebCore::TreeScope::removeLabel):
2818         (WebCore::TreeScope::labelElementForId):
2819         * dom/TreeScope.h:
2820         (WebCore::TreeScope::hasElementWithId):
2821         (WebCore::TreeScope::containsMultipleElementsWithId):
2822         (WebCore::TreeScope::hasElementWithName):
2823         (WebCore::TreeScope::containsMultipleElementsWithName):
2824         * html/HTMLCollection.cpp:
2825         (WebCore::HTMLCollection::namedItem):
2826         * html/HTMLDocument.cpp:
2827         (WebCore::HTMLDocument::addDocumentNamedItem):
2828         (WebCore::HTMLDocument::removeDocumentNamedItem):
2829         (WebCore::HTMLDocument::addWindowNamedItem):
2830         (WebCore::HTMLDocument::removeWindowNamedItem):
2831         * html/HTMLDocument.h:
2832         (WebCore::HTMLDocument::documentNamedItem):
2833         (WebCore::HTMLDocument::hasDocumentNamedItem):
2834         (WebCore::HTMLDocument::documentNamedItemContainsMultipleElements):
2835         (WebCore::HTMLDocument::windowNamedItem):
2836         (WebCore::HTMLDocument::hasWindowNamedItem):
2837         (WebCore::HTMLDocument::windowNamedItemContainsMultipleElements):
2838         * html/HTMLImageElement.cpp:
2839         (WebCore::HTMLImageElement::parseAttribute):
2840         (WebCore::HTMLImageElement::insertedInto):
2841         (WebCore::HTMLImageElement::removedFrom):
2842         * html/HTMLMapElement.cpp:
2843         (WebCore::HTMLMapElement::imageElement):
2844         (WebCore::HTMLMapElement::parseAttribute):
2845         (WebCore::HTMLMapElement::insertedInto):
2846         (WebCore::HTMLMapElement::removedFrom):
2847         * html/HTMLObjectElement.cpp:
2848         (WebCore::HTMLObjectElement::updateDocNamedItem):
2849
2850 2013-10-04  Andreas Kling  <akling@apple.com>
2851
2852         CTTE: PolicyChecker backpointer to Frame should be a reference.
2853         <https://webkit.org/b/122354>
2854
2855         Reviewed by Anders Carlsson.
2856
2857         PolicyChecker is tied to the lifetime of FrameLoader, which in turn
2858         is tied to the lifetime of Frame.
2859
2860 2013-10-04  Andreas Kling  <akling@apple.com>
2861
2862         Editor should use reference-getting document() internally.
2863         <https://webkit.org/b/122364>
2864
2865         Reviewed by Darin Adler.
2866
2867         Instead of grabbing at Editor::m_frame.document(), use the nice
2868         Editor::document() helper that always returns a Document&.
2869
2870         Calling Editor methods on a Frame's editor() while there is no
2871         Document in the Frame is a programming error and this is covered
2872         by an assertion in document().
2873
2874         This removes a bunch of null checks and enables further cleanup.
2875
2876 2013-10-04  Martin Robinson  <mrobinson@igalia.com>
2877
2878         Try to fix the Windows build after r156930.
2879
2880         * rendering/mathml/RenderMathMLOperator.cpp:
2881         (WebCore::RenderMathMLOperator::paintCharacter): Use ceilf and floorf to avoid issues
2882         with overload collisions and implicit casts of LayoutUnits.
2883
2884 2013-10-04  Mark Lam  <mark.lam@apple.com>
2885
2886         Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
2887         https://bugs.webkit.org/show_bug.cgi?id=121969.
2888
2889         Reviewed by Geoffrey Garen.
2890
2891         Tests: inspector-protocol/debugger/call-frame-function-name.html
2892                inspector-protocol/debugger/call-frame-this-host.html
2893                inspector-protocol/debugger/call-frame-this-nonstrict.html
2894                inspector-protocol/debugger/call-frame-this-strict.html
2895
2896         1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
2897            DebuggerCallFrame now tracks whether it is valid instead of needing
2898            JavaScriptCallFrame do it.
2899         2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
2900            just before it pauses and calls back to its client, and then invalidates
2901            it immediately when the callback returns. Every subsequent callback to
2902            the client will use a new instance of the DebuggerCallFrame.
2903         3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
2904            it "pauses".
2905         4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
2906            it is needed i.e. when the client calls callerFrame(). Similarly,
2907            JavaScriptCallFrame only creates its caller when it's requested.
2908         5. DebuggerCallFrame's line() and column() now returns a base-zero int.
2909         6. WebScriptDebugDelegate now only caches the functionName of the frame
2910            instead of the entire DebuggerCallFrame because that is all that is
2911            needed.
2912         7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
2913
2914         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2915         (WebCore::JSJavaScriptCallFrame::thisObject):
2916         * bindings/js/JavaScriptCallFrame.cpp:
2917         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2918         (WebCore::JavaScriptCallFrame::caller):
2919         * bindings/js/JavaScriptCallFrame.h:
2920         (WebCore::JavaScriptCallFrame::create):
2921         (WebCore::JavaScriptCallFrame::sourceID):
2922         (WebCore::JavaScriptCallFrame::position):
2923         (WebCore::JavaScriptCallFrame::line):
2924         (WebCore::JavaScriptCallFrame::column):
2925         (WebCore::JavaScriptCallFrame::functionName):
2926         (WebCore::JavaScriptCallFrame::type):
2927         (WebCore::JavaScriptCallFrame::scopeChain):
2928         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2929         (WebCore::JavaScriptCallFrame::thisValue):
2930         (WebCore::JavaScriptCallFrame::evaluate):
2931         * bindings/js/ScriptDebugServer.cpp:
2932         (WebCore::DebuggerCallFrameScope::DebuggerCallFrameScope):
2933         (WebCore::DebuggerCallFrameScope::~DebuggerCallFrameScope):
2934         (WebCore::ScriptDebugServer::ScriptDebugServer):
2935         (WebCore::ScriptDebugServer::setBreakpoint):
2936         (WebCore::ScriptDebugServer::removeBreakpoint):
2937         (WebCore::ScriptDebugServer::hasBreakpoint):
2938         (WebCore::ScriptDebugServer::evaluateBreakpointAction):
2939         (WebCore::ScriptDebugServer::breakProgram):
2940         (WebCore::ScriptDebugServer::stepOverStatement):
2941         (WebCore::ScriptDebugServer::stepOutOfFunction):
2942         (WebCore::ScriptDebugServer::currentDebuggerCallFrame):
2943         (WebCore::ScriptDebugServer::dispatchDidPause):
2944         (WebCore::ScriptDebugServer::updateCallFrame):
2945         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2946         (WebCore::ScriptDebugServer::pauseIfNeeded):
2947         (WebCore::ScriptDebugServer::callEvent):
2948         (WebCore::ScriptDebugServer::returnEvent):
2949         (WebCore::ScriptDebugServer::willExecuteProgram):
2950         (WebCore::ScriptDebugServer::didExecuteProgram):
2951         * bindings/js/ScriptDebugServer.h:
2952         * bindings/js/WorkerScriptDebugServer.cpp:
2953         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
2954
2955 2013-10-04  Andreas Kling  <akling@apple.com>
2956
2957         Ref-ify more stack guards.
2958         <https://webkit.org/b/122360>
2959
2960         Reviewed by Anders Carlsson.
2961
2962         Make another pass turning RefPtr<T> into Ref<T> where possible.
2963
2964 2013-10-04  Ojan Vafai  <ojan@chromium.org> and Martin Robinson  <mrobinson@igalia.com>
2965
2966         [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
2967         https://bugs.webkit.org/show_bug.cgi?id=121416
2968
2969         Reviewed by David Hyatt.
2970
2971         Tests: mathml/presentation/mo-minus.html
2972                mathml/presentation/mo-stacked-glyphs.html
2973                mathml/presentation/mo-stretchy-vertical-bar.html
2974                mathml/very-large-stretchy-operators.html
2975
2976         MathML stretched operators by both modifying the width of the operator
2977         and adding children to the operator node in the render tree.
2978
2979         Instead we make the operator width equal to the widest glyph possible that we use
2980         to represent the operator.  Additionally instead of rendering stretchy glyphs via
2981         stacked operator pieces in separate render tree nodes, keep only one node for the
2982         glyph, and use a custom paint method to paint the stacked representation.
2983
2984         With this patch, rendering seems roughly equivalent on Mac and markedly better
2985         on Linux.
2986
2987         * css/mathml.css:
2988         Not sure what this line-height:0 was here for, but it caused bugs with the new code
2989
2990         * mathml/MathMLTextElement.cpp:
2991         (WebCore::MathMLTextElement::attach):
2992         (WebCore):
2993         (WebCore::MathMLTextElement::childrenChanged):
2994         Need to update the anonymous render tree below <mo> elements when their
2995         children change or when the renderer is first attached.
2996
2997         * mathml/MathMLTextElement.h:
2998         (MathMLTextElement):
2999         * rendering/mathml/RenderMathMLBlock.cpp:
3000         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
3001         * rendering/mathml/RenderMathMLBlock.h:
3002         Now that the preferred width doesn't depend on the height, we don't
3003         need to override computePreferredLogicalWidths at all.
3004
3005         * rendering/mathml/RenderMathMLFenced.cpp:
3006         (WebCore::RenderMathMLFenced::makeFences):
3007         (WebCore::RenderMathMLFenced::styleDidChange):
3008         Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
3009
3010         * rendering/mathml/RenderMathMLOperator.cpp:
3011         (WebCore::RenderMathMLOperator::expandedStretchHeight):
3012         Store the non-expanded stretch height so that we can detect when the height
3013         actually changed.
3014
3015         (WebCore::RenderMathMLOperator::stretchToHeight):
3016         Only update the style on the anonymous render tree since this is called
3017         from RenderMathMLRow::layout
3018
3019         (WebCore::RenderMathMLOperator::styleDidChange):
3020         (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
3021         (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
3022         (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
3023         and we want the width of the operator to be the advance instead of the tight bounding width.
3024         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
3025         we can use to render this operator.
3026         (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
3027         version of the glyph.
3028         (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
3029         is the character used for stretching operations.
3030         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
3031         of glyph pieces for stretching characters.
3032         (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
3033         the child if we are using the stretchy style.
3034         (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
3035         (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
3036         stretchy glyph.
3037         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
3038         features of the stretchy glyph.
3039         (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
3040         * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
3041
3042 2013-10-04  Ryosuke Niwa  <rniwa@webkit.org>
3043
3044         Build fix after r156925. It collided with r156903.
3045
3046         * html/HTMLImageElement.cpp:
3047         (WebCore::HTMLImageElement::insertedInto):
3048         (WebCore::HTMLImageElement::removedFrom):
3049
3050 2013-10-04  Andreas Kling  <akling@apple.com>
3051
3052         Clean out some FrameLoaderClient hooks that no ports were using.
3053         <https://webkit.org/b/122356>
3054
3055         Reviewed by Anders Carlsson.
3056
3057         Removed the following hooks that were leftovers from dead ports:
3058
3059             - didExhaustMemoryAvailableForScript
3060             - didNotAllowScript
3061             - didNotAllowPlugins
3062             - willCheckAndDispatchMessageEvent
3063             - didChangeName
3064             - dispatchWillInsertBody
3065             - dispatchDidChangeResourcePriority
3066
3067 2013-10-03  Ryosuke Niwa  <rniwa@webkit.org>
3068
3069         FocusController::advanceFocus spends a lot of time in HTMLMapElement::imageElement
3070         https://bugs.webkit.org/show_bug.cgi?id=122313
3071
3072         Reviewed by Andreas Kling.
3073
3074         The bug was caused by HTMLMapElement::imageElement traversing the entire document to look for
3075         the image element associated with a given map element. Because HTMLCollection used to find the
3076         image element is not cached, it traversed the entire document on every area element we visit,
3077         resulting in O(n^2) behavior.
3078
3079         Fixed the bug by adding the name-to-image-element map on document to avoid the traversal in
3080         HTMLMapElement::imageElement.
3081
3082         * dom/Document.cpp:
3083         (WebCore::Document::addImageElementByLowercasedUsemap): Added.
3084         (WebCore::Document::removeImageElementByLowercasedUsemap): Added.
3085         (WebCore::Document::imageElementByLowercasedUsemap): Added.
3086
3087         * dom/Document.h: Added m_imagesByUsemap.
3088
3089         * dom/DocumentOrderedMap.cpp:
3090         (WebCore::keyMatchesLowercasedUsemap): Added.
3091         (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap): Added.
3092
3093         * dom/DocumentOrderedMap.h:
3094         * html/HTMLImageElement.cpp:
3095         (WebCore::HTMLImageElement::parseAttribute): Update the name-to-usemap map. The code to parse
3096         the usemap attribute and strip # was moved from HTMLMapElement::imageElement.
3097         (WebCore::HTMLImageElement::insertedInto): Ditto.
3098         (WebCore::HTMLImageElement::removedFrom): Ditto.
3099         (WebCore::HTMLImageElement::matchesLowercasedUsemap): Added; called by DocumentOrderedMap.
3100
3101         * html/HTMLImageElement.h:
3102
3103         * html/HTMLMapElement.cpp:
3104         (WebCore::HTMLMapElement::imageElement): Call Document::imageElementByUsemap instead of
3105         looking through all image elements in the document.
3106
3107 2013-10-04  Sam Weinig  <sam@webkit.org>
3108
3109         Unify rubberband control
3110         https://bugs.webkit.org/show_bug.cgi?id=122341
3111
3112         Reviewed by Tim Horton.
3113
3114         - Consolidates the two ways we were passing state about whether
3115           to rubber-band on a particular edge down to one.
3116
3117         * WebCore.exp.in:
3118         * page/Page.cpp:
3119         * page/Page.h:
3120         * page/scrolling/ScrollingCoordinator.h:
3121         (WebCore::ScrollingCoordinator::isRubberBandInProgress):
3122         * page/scrolling/ScrollingTree.cpp:
3123         (WebCore::ScrollingTree::ScrollingTree):
3124         (WebCore::ScrollingTree::setCanRubberBandState):
3125         (WebCore::ScrollingTree::rubberBandsAtLeft):
3126         (WebCore::ScrollingTree::rubberBandsAtRight):
3127         (WebCore::ScrollingTree::rubberBandsAtBottom):
3128         (WebCore::ScrollingTree::rubberBandsAtTop):
3129         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
3130         * page/scrolling/ScrollingTree.h:
3131         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3132         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3133         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3134         (WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):
3135
3136 2013-10-04  Andreas Kling  <akling@apple.com>
3137
3138         CTTE: SubframeLoader backpointer to Frame should be a reference.
3139         <https://webkit.org/b/122350>
3140
3141         Reviewed by Anders Carlsson.
3142
3143         SubframeLoader is tied to the lifetime of FrameLoader, which in turn
3144         is tied to the lifetime of Frame.
3145
3146 2013-10-04  Anders Carlsson  <andersca@apple.com>
3147
3148         Remove some unneeded code from WidgetMac
3149         https://bugs.webkit.org/show_bug.cgi?id=122355
3150
3151         Reviewed by Dan Bernstein.
3152
3153         Remove code to manage the visible rect, it's not needed anymore.
3154
3155         * platform/Widget.h:
3156         * platform/mac/WidgetMac.mm:
3157         (WebCore::Widget::~Widget):
3158         (WebCore::Widget::setFrameRect):
3159         (WebCore::Widget::setPlatformWidget):
3160
3161 2013-10-04  Daniel Bates  <dabates@apple.com>
3162
3163         [iOS] Upstream disk image cache
3164         https://bugs.webkit.org/show_bug.cgi?id=121985
3165
3166         Reviewed by Joseph Pecoraro.
3167
3168         * WebCore.exp.in:
3169         * WebCore.xcodeproj/project.pbxproj:
3170         * loader/ResourceBuffer.cpp:
3171         (WebCore::ResourceBuffer::isUsingDiskImageCache):
3172         * loader/ResourceBuffer.h:
3173         * loader/cache/CachedImage.cpp:
3174         (WebCore::CachedImage::canUseDiskImageCache): Added.
3175         (WebCore::CachedImage::useDiskImageCache): Added.
3176         * loader/cache/CachedImage.h:
3177         * loader/cache/CachedResource.cpp:
3178         (WebCore::CachedResource::isSafeToMakePurgeable):
3179         (WebCore::CachedResource::isUsingDiskImageCache): Added.
3180         * loader/cache/CachedResource.h:
3181         (WebCore::CachedResource::canUseDiskImageCache): Added.
3182         (WebCore::CachedResource::useDiskImageCache): Added.
3183         * loader/cache/MemoryCache.cpp:
3184         (WebCore::MemoryCache::flushCachedImagesToDisk): Added.
3185         (WebCore::MemoryCache::TypeStatistic::addResource):
3186         (WebCore::MemoryCache::dumpStats):
3187         (WebCore::MemoryCache::dumpLRULists):
3188         * loader/cache/MemoryCache.h:
3189         (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
3190         * loader/ios/DiskImageCacheClientIOS.h: Added.
3191         * loader/ios/DiskImageCacheIOS.h: Added.
3192         * loader/ios/DiskImageCacheIOS.mm: Added.
3193         * platform/Logging.h:
3194         * platform/SharedBuffer.cpp:
3195         (WebCore::SharedBuffer::SharedBuffer):
3196         (WebCore::SharedBuffer::~SharedBuffer):
3197         (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Added.
3198         (WebCore::SharedBuffer::allowToBeMemoryMapped): Added.
3199         (WebCore::SharedBuffer::failedMemoryMap): Added.
3200         (WebCore::SharedBuffer::markAsMemoryMapped): Added.
3201         (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Added.
3202         (WebCore::SharedBuffer::memoryMappedNotificationCallback): Added.
3203         (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Added.
3204         (WebCore::SharedBuffer::data):
3205         (WebCore::SharedBuffer::append):
3206         (WebCore::SharedBuffer::buffer):
3207         (WebCore::SharedBuffer::getSomeData):
3208         * platform/SharedBuffer.h:
3209         (WebCore::SharedBuffer::isMemoryMapped): Added.
3210         * platform/cf/SharedBufferCF.cpp:
3211         (WebCore::SharedBuffer::SharedBuffer):
3212
3213 2013-10-04  Bear Travis  <betravis@adobe.com>
3214
3215         [CSS Shapes] Basic shapes should be animatable for shape-outside
3216         https://bugs.webkit.org/show_bug.cgi?id=122343
3217
3218         Reviewed by Dirk Schulze.
3219
3220         Test: fast/shapes/shape-outside-floats/shape-outside-animation.html
3221
3222         Add shape outside to the list of animatable properties. The infrastructure
3223         is already in place for animating basic shapes on shape-inside and clipping
3224         paths. See https://bugs.webkit.org/show_bug.cgi?id=101854.
3225
3226         * page/animation/CSSPropertyAnimation.cpp:
3227         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
3228
3229 2013-10-04  Andreas Kling  <akling@apple.com>
3230
3231         Tighten typing in some RenderLayer code.
3232         <https://webkit.org/b/122342>
3233
3234         Reviewed by Antti Koivisto.
3235
3236         Use tighter types instead of Node and RenderObject inside RenderLayer
3237         where applicable.
3238
3239 2013-10-04  Ralph Thomas  <ralpht@gmail.com>
3240
3241         Inserting a JS generated keyframe animation shouldn't trigger a whole document style recalc
3242         https://bugs.webkit.org/show_bug.cgi?id=119479
3243
3244         Reviewed by Antti Koivisto.
3245
3246         Change CSSStyleSheet::didMutateRules to not invalidate all node's styles when inserting a
3247         @-webkit-keyframes rule, and to instead insert the rule directly into the StyleResolver.
3248
3249         Test: animation/keyframes-dynamic.html: adds and removes keyframe rules using JavaScript and
3250         validates that the correct elements are animated.
3251
3252         * css/CSSStyleSheet.cpp:
3253         (WebCore::CSSStyleSheet::didMutateRules):
3254         (WebCore::CSSStyleSheet::insertRule):
3255         * css/CSSStyleSheet.h:
3256
3257 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
3258
3259         [WebIDL] Annotate IDL interfaces under Source/WebCore/fileapi/ with the OperationsNotDeletable attribute
3260         https://bugs.webkit.org/show_bug.cgi?id=122275
3261
3262         Reviewed by Darin Adler.
3263
3264         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3265         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3266         doesn't have any effect, but will keep the operations not configurable after the generator is modified
3267         to preserve the original behavior. The attribute will be removed from each interface after checking
3268         conformity with other browsers (in terms of configurability of operations of that interface) and the
3269         WebKit's existing test suites.
3270
3271         This patch covers IDL interfaces under Source/WebCore/fileapi/.
3272
3273         * fileapi/Blob.idl:
3274         * fileapi/FileException.idl:
3275         * fileapi/FileList.idl:
3276         * fileapi/FileReader.idl:
3277         * fileapi/FileReaderSync.idl:
3278
3279 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
3280
3281         [WebIDL] Annotate IDL interfaces under Source/WebCore/dom/ with the OperationsNotDeletable attribute
3282         https://bugs.webkit.org/show_bug.cgi?id=122271
3283
3284         Reviewed by Darin Adler.
3285
3286         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3287         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3288         doesn't have any effect, but will keep the operations not configurable after the generator is modified
3289         to preserve the original behavior. The attribute will be removed from each interface after checking
3290         conformity with other browsers (in terms of configurability of operations of that interface) and the
3291         WebKit's existing test suites.
3292
3293         This patch covers IDL interfaces under Source/WebCore/dom/.
3294
3295         * dom/CharacterData.idl:
3296         * dom/ChildNode.idl:
3297         * dom/ClientRectList.idl:
3298         * dom/Clipboard.idl:
3299         * dom/CompositionEvent.idl:
3300         * dom/CustomEvent.idl:
3301         * dom/DOMCoreException.idl:
3302         * dom/DOMImplementation.idl:
3303         * dom/DOMNamedFlowCollection.idl:
3304         * dom/DOMStringList.idl:
3305         * dom/DOMStringMap.idl:
3306         * dom/DataTransferItem.idl:
3307         * dom/DataTransferItemList.idl:
3308         * dom/DeviceMotionEvent.idl:
3309         * dom/DeviceOrientationEvent.idl:
3310         * dom/Document.idl:
3311         * dom/DocumentFragment.idl:
3312         * dom/DocumentType.idl:
3313         * dom/Element.idl:
3314         * dom/Event.idl:
3315         * dom/EventException.idl:
3316         * dom/EventListener.idl:
3317         * dom/EventTarget.idl:
3318         * dom/KeyboardEvent.idl:
3319         * dom/MessageEvent.idl:
3320         * dom/MessagePort.idl:
3321         * dom/MouseEvent.idl:
3322         * dom/MutationEvent.idl:
3323         * dom/MutationObserver.idl:
3324         * dom/NamedNodeMap.idl:
3325         * dom/Node.idl:
3326         * dom/NodeFilter.idl:
3327         * dom/NodeIterator.idl:
3328         * dom/NodeList.idl:
3329         * dom/Range.idl:
3330         * dom/RangeException.idl:
3331         * dom/ShadowRoot.idl:
3332         * dom/Text.idl:
3333         * dom/TextEvent.idl:
3334         * dom/TouchEvent.idl:
3335         * dom/TouchList.idl:
3336         * dom/TreeWalker.idl:
3337         * dom/UIEvent.idl:
3338         * dom/WebKitNamedFlow.idl:
3339         * dom/WheelEvent.idl:
3340
3341 2013-10-04  Zan Dobersek  <zdobersek@igalia.com>
3342
3343         [WebIDL] Annotate IDL interfaces under Source/WebCore/xml/ with the OperationsNotDeletable attribute
3344         https://bugs.webkit.org/show_bug.cgi?id=122269
3345
3346         Reviewed by Darin Adler.
3347
3348         Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3349         interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3350         doesn't have any effect, but will keep the operations not configurable after the generator is modified
3351         to preserve the original behavior. The attribute will be removed from each interface after checking
3352         conformity with other browsers (in terms of configurability of operations of that interface) and the
3353         WebKit's existing test suites.
3354
3355         This patch covers IDL interfaces under Source/WebCore/xml/.
3356
3357         * xml/DOMParser.idl:
3358         * xml/XMLHttpRequest.idl:
3359         * xml/XMLHttpRequestException.idl:
3360         * xml/XMLHttpRequestUpload.idl:
3361         * xml/XMLSerializer.idl:
3362         * xml/XPathEvaluator.idl:
3363         * xml/XPathException.idl:
3364         * xml/XPathExpression.idl:
3365         * xml/XPathNSResolver.idl:
3366         * xml/XPathResult.idl:
3367         * xml/XSLTProcessor.idl:
3368
3369 2013-10-04  Bear Travis  <betravis@adobe.com>
3370
3371         [CSS Shapes] Shape Outside should relayout when set dynamically
3372         https://bugs.webkit.org/show_bug.cgi?id=122197
3373
3374         Reviewed by Alexandru Chiculita.
3375
3376         Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html
3377                fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html
3378
3379         When shape outside is modified, dependent content needs to relayout. This patch
3380         removes the float from the float lists and marks dependents for layout using
3381         RenderBox::removeFloatingOrPositionedChildFromBlockLists(). This is the same
3382         method used when switching from float: left to float: right and vice versa
3383         (see RenderElement::styleWillChange).
3384
3385         * rendering/RenderBox.cpp:
3386         (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Mark shape-outside dependents
3387         for layout.
3388         * rendering/RenderBox.h:
3389         (WebCore::RenderBox::markShapeOutsideDependentsForLayout): Mark all the items that may be
3390         affected by this shape-outside for relayout.
3391
3392 2013-10-04  Antti Koivisto  <antti@apple.com>
3393
3394         Tighten markContainingBlocksForLayout
3395         https://bugs.webkit.org/show_bug.cgi?id=122326
3396
3397         Reviewed by Anders Carlsson.
3398
3399 2013-10-04  Andreas Kling  <akling@apple.com>
3400
3401         Node: removedFrom() and insertedInto() should use references.
3402         <https://webkit.org/b/122315>
3403
3404         Reviewed by Anders Carlsson.
3405
3406         ContainerNode* -> ContainerNode&
3407
3408 2013-10-04  Romain Perier  <romain.perier@gmail.com>
3409
3410         Optimize strings copies in srcset parser
3411         https://bugs.webkit.org/show_bug.cgi?id=121899
3412
3413         Reviewed by Alexey Proskuryakov.
3414
3415         No new tests, covered by existing ones.
3416
3417         * html/parser/HTMLParserIdioms.cpp:
3418         (WebCore::parseImagesWithScaleFromSrcsetAttribute): Don't copy
3419         image.imageURL at each loop iteration, save indexes instead.
3420         (WebCore::bestFitSourceForImageAttributes): Make a String for
3421         the URL only when the corresponding candidate is chosen
3422         by the selection algorithm. It reduces the number of copies
3423         significantly and improves performance
3424         (around 30% with the "Release" profile and 60% with the "Debug" one).
3425
3426 2013-10-04  Alexey Proskuryakov  <ap@apple.com>
3427
3428         Add svn:ignore to *.pyc files in inspector/Scripts directory, so that they don't
3429         show up as unversioned all the time.
3430
3431         * inspector/Scripts: Added property svn:ignore.
3432
3433 2013-10-04  peavo@outlook.com  <peavo@outlook.com>
3434
3435         [Win][WebGL] Crash on exit
3436         https://bugs.webkit.org/show_bug.cgi?id=120764
3437
3438         Reviewed by Martin Robinson.
3439
3440         On exit, libGLESv2.dll is detached from the process and relevant memory is released
3441         before the atexit GL context cleanup handler is called, causing a NULL pointer crash.
3442         The GL context cleanup code was originally written to avoid a X server crash on exit,
3443         so it's only needed for PLATFORM(X11).
3444
3445         * platform/graphics/GLContext.cpp: Only clean up active GL contexts on exit for PLATFORM(X11).
3446         (WebCore::GLContext::cleanupSharedX11Display):
3447         (WebCore::GLContext::cleanupActiveContextsAtExit):
3448         (WebCore::GLContext::GLContext):
3449         (WebCore::GLContext::~GLContext):
3450
3451 2013-10-04  Mihnea Ovidenie  <mihnea@adobe.com>
3452
3453         [CSSRegions] Regions as stacking contexts should paint over positioned sibling
3454         https://bugs.webkit.org/show_bug.cgi?id=122321
3455
3456         Reviewed by Alexandru Chiculita.
3457
3458         Test: fast/regions/layers/region-normalflow-stacking-context.html
3459
3460         Since regions are stacking contexts, they should not be in normal flow list of layers.
3461         More clean-up after https://bugs.webkit.org/show_bug.cgi?id=117365 and https://bugs.webkit.org/show_bug.cgi?id=121828
3462         which enabled the layers.