Put functions need to take a base object and a this value, and perform type checks...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-24  Oliver Hunt  <oliver@apple.com>
2
3         Put functions need to take a base object and a this value, and perform type checks on |this|
4         https://bugs.webkit.org/show_bug.cgi?id=127594
5
6         Reviewed by Geoffrey Garen.
7
8         Update bindings generator to emit setters with correct type, and perform
9         type checks on |this|, instead of the baseObject.
10
11         Test: js/dom/dom-as-prototype-assignment-exception.html
12
13         * bindings/scripts/CodeGeneratorJS.pm:
14         (GenerateHeader):
15         (GenerateImplementation):
16         (GenerateHashTable):
17         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
18         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
19         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
20         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
21         * bindings/scripts/test/JS/JSTestException.cpp:
22         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
23         * bindings/scripts/test/JS/JSTestInterface.cpp:
24         (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
25         (WebCore::setJSTestInterfaceImplementsStr2):
26         (WebCore::setJSTestInterfaceImplementsStr3):
27         (WebCore::setJSTestInterfaceImplementsNode):
28         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
29         (WebCore::setJSTestInterfaceSupplementalStr2):
30         (WebCore::setJSTestInterfaceSupplementalStr3):
31         (WebCore::setJSTestInterfaceSupplementalNode):
32         * bindings/scripts/test/JS/JSTestInterface.h:
33         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
34         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
35         * bindings/scripts/test/JS/JSTestNode.cpp:
36         * bindings/scripts/test/JS/JSTestObj.cpp:
37         (WebCore::setJSTestObjConstructorStaticStringAttr):
38         (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
39         (WebCore::setJSTestObjEnumAttr):
40         (WebCore::setJSTestObjByteAttr):
41         (WebCore::setJSTestObjOctetAttr):
42         (WebCore::setJSTestObjShortAttr):
43         (WebCore::setJSTestObjUnsignedShortAttr):
44         (WebCore::setJSTestObjLongAttr):
45         (WebCore::setJSTestObjLongLongAttr):
46         (WebCore::setJSTestObjUnsignedLongLongAttr):
47         (WebCore::setJSTestObjStringAttr):
48         (WebCore::setJSTestObjTestObjAttr):
49         (WebCore::setJSTestObjXMLObjAttr):
50         (WebCore::setJSTestObjCreate):
51         (WebCore::setJSTestObjReflectedStringAttr):
52         (WebCore::setJSTestObjReflectedIntegralAttr):
53         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
54         (WebCore::setJSTestObjReflectedBooleanAttr):
55         (WebCore::setJSTestObjReflectedURLAttr):
56         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
57         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
58         (WebCore::setJSTestObjReflectedCustomURLAttr):
59         (WebCore::setJSTestObjTypedArrayAttr):
60         (WebCore::setJSTestObjAttrWithGetterException):
61         (WebCore::setJSTestObjAttrWithSetterException):
62         (WebCore::setJSTestObjStringAttrWithGetterException):
63         (WebCore::setJSTestObjStringAttrWithSetterException):
64         (WebCore::setJSTestObjCustomAttr):
65         (WebCore::setJSTestObjWithScriptStateAttribute):
66         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
67         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
68         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
69         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
70         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
71         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
72         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
73         (WebCore::setJSTestObjConditionalAttr1):
74         (WebCore::setJSTestObjConditionalAttr2):
75         (WebCore::setJSTestObjConditionalAttr3):
76         (WebCore::setJSTestObjConditionalAttr4Constructor):
77         (WebCore::setJSTestObjConditionalAttr5Constructor):
78         (WebCore::setJSTestObjConditionalAttr6Constructor):
79         (WebCore::setJSTestObjAnyAttribute):
80         (WebCore::setJSTestObjMutablePoint):
81         (WebCore::setJSTestObjImmutablePoint):
82         (WebCore::setJSTestObjStrawberry):
83         (WebCore::setJSTestObjStrictFloat):
84         (WebCore::setJSTestObjId):
85         (WebCore::setJSTestObjReplaceableAttribute):
86         (WebCore::setJSTestObjNullableLongSettableAttribute):
87         (WebCore::setJSTestObjNullableStringValue):
88         (WebCore::setJSTestObjAttributeWithReservedEnumType):
89         * bindings/scripts/test/JS/JSTestObj.h:
90         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
91         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
92         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
93         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
94         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
95         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
96         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
97         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
98         (WebCore::setJSTestTypedefsAttrWithGetterException):
99         (WebCore::setJSTestTypedefsAttrWithSetterException):
100         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
101         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
102         * bindings/scripts/test/JS/JSTestTypedefs.h:
103         * bindings/scripts/test/JS/JSattribute.cpp:
104         * bindings/scripts/test/JS/JSreadonly.cpp:
105
106 2014-01-24  Oliver Hunt  <oliver@apple.com>
107
108         Generic JSObject::put should handle static properties in the classinfo hierarchy
109         https://bugs.webkit.org/show_bug.cgi?id=127523
110
111         Reviewed by Geoffrey Garen.
112
113         Update the bindings generator to emit the flag indicating the presence
114         of setters, and remove the many (now unnecessary) put overrides.
115         Tested with run-jsc-benchmarks and shows neutral performance. A few of the
116         micro benchmarks actually get a significant performance increase which
117         is nice.
118
119         * bindings/js/JSDOMWindowCustom.cpp:
120         (WebCore::JSDOMWindow::put):
121             We still need a custom call to lookupPut here in order
122             to get the magic security semantics of the window object.
123         * bindings/scripts/CodeGeneratorJS.pm:
124         (hashTableAccessor):
125         (prototypeHashTableAccessor):
126         (constructorHashTableAccessor):
127         (GenerateImplementation):
128         (GenerateHashTable):
129         (GenerateConstructorHelperMethods):
130
131         * bindings/js/JSDOMWindowCustom.cpp:
132         (WebCore::JSDOMWindow::put):
133         * bindings/scripts/CodeGeneratorJS.pm:
134         (hashTableAccessor):
135         (prototypeHashTableAccessor):
136         (constructorHashTableAccessor):
137         (InstanceOverridesPutImplementation):
138         (InstanceOverridesPutDeclaration):
139         (GenerateHeader):
140         (GenerateImplementation):
141         (GenerateHashTable):
142         (GenerateConstructorHelperMethods):
143         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
144         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
145         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
146         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
147         * bindings/scripts/test/JS/JSTestException.cpp:
148         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
149         * bindings/scripts/test/JS/JSTestInterface.cpp:
150         (WebCore::JSTestInterface::put):
151         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
152         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
153         * bindings/scripts/test/JS/JSTestNode.cpp:
154         * bindings/scripts/test/JS/JSTestObj.cpp:
155         * bindings/scripts/test/JS/JSTestObj.h:
156         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
157         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
158         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
159         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
160         * bindings/scripts/test/JS/JSTestTypedefs.h:
161         * bindings/scripts/test/JS/JSattribute.cpp:
162         * bindings/scripts/test/JS/JSreadonly.cpp:
163         * html/canvas/WebGLRenderingContext.idl:
164           Remove bogus attribute, as it has never been in the spec and should not
165           have been added.
166
167 2014-01-24  Commit Queue  <commit-queue@webkit.org>
168
169         Unreviewed, rolling out r162713.
170         http://trac.webkit.org/changeset/162713
171         https://bugs.webkit.org/show_bug.cgi?id=127593
172
173         broke media/network-no-source-const-shadow (Requested by
174         thorton on #webkit).
175
176         * bindings/js/JSDOMWindowCustom.cpp:
177         (WebCore::JSDOMWindow::put):
178         * bindings/scripts/CodeGeneratorJS.pm:
179         (hashTableAccessor):
180         (prototypeHashTableAccessor):
181         (constructorHashTableAccessor):
182         (GenerateHeader):
183         (GenerateImplementation):
184         (GenerateHashTable):
185         (GenerateConstructorHelperMethods):
186         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
187         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
188         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
189         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
190         * bindings/scripts/test/JS/JSTestException.cpp:
191         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
192         * bindings/scripts/test/JS/JSTestInterface.cpp:
193         (WebCore::JSTestInterface::put):
194         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
195         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
196         * bindings/scripts/test/JS/JSTestNode.cpp:
197         * bindings/scripts/test/JS/JSTestObj.cpp:
198         (WebCore::JSTestObj::put):
199         * bindings/scripts/test/JS/JSTestObj.h:
200         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
201         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
202         (WebCore::JSTestSerializedScriptValueInterface::put):
203         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
204         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
205         (WebCore::JSTestTypedefs::put):
206         * bindings/scripts/test/JS/JSTestTypedefs.h:
207         * bindings/scripts/test/JS/JSattribute.cpp:
208         * bindings/scripts/test/JS/JSreadonly.cpp:
209         * html/canvas/WebGLRenderingContext.idl:
210
211 2014-01-24  Zalan Bujtas  <zalan@apple.com>
212
213         Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
214         https://bugs.webkit.org/show_bug.cgi?id=127580
215
216         Reviewed by Simon Fraser.
217
218         LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
219         could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
220
221         No change in behavior.
222
223         * inspector/InspectorOverlay.cpp:
224         (WebCore::buildObjectForRegionHighlight):
225         * rendering/FloatingObjects.cpp:
226         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
227         * rendering/RenderBlock.cpp:
228         (WebCore::RenderBlock::layoutShapeInsideInfo):
229         * rendering/RenderBlockFlow.cpp:
230         (WebCore::RenderBlockFlow::collapseMargins):
231         * rendering/RenderFlexibleBox.cpp:
232         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
233         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
234         (WebCore::RenderFlexibleBox::alignChildren):
235         * rendering/RenderMultiColumnFlowThread.cpp:
236         (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
237         * rendering/RenderMultiColumnSet.cpp:
238         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
239         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
240
241 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
242
243         Prepare scrolling tree to handle > 1 scrolling node
244         https://bugs.webkit.org/show_bug.cgi?id=127590
245
246         Reviewed by Tim Horton.
247
248         Clean up the code path called after the ScrollingTree has scrolled a node,
249         to prepare for multiple scrolling nodes.
250         
251         Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
252         and pass along the ScrollingNodeID that scrolled.
253         
254         Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
255         AsyncScrollingCoordinator, since this sync-up is only necessary when doing
256         async scrolling.
257
258         * WebCore.exp.in:
259         * page/scrolling/AsyncScrollingCoordinator.cpp:
260         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
261         (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
262         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
263         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
264         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
265         * page/scrolling/AsyncScrollingCoordinator.h:
266         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
267         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
268         Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
269         for easier comparison and cleaner code.
270         * page/scrolling/ScrollingCoordinator.cpp:
271         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
272         * page/scrolling/ScrollingCoordinator.h:
273         * page/scrolling/ScrollingTree.h:
274         * page/scrolling/ThreadedScrollingTree.cpp:
275         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
276         * page/scrolling/ThreadedScrollingTree.h:
277         * page/scrolling/ios/ScrollingTreeIOS.cpp:
278         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
279         * page/scrolling/ios/ScrollingTreeIOS.h:
280         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
281         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
282         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
283         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
284
285 2014-01-24  Mark Lam  <mark.lam@apple.com>
286
287         ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
288         <https://webkit.org/b/127582>
289
290         Reviewed by Mark Hahnenberg.
291
292         No new tests.
293
294         * bindings/js/ScriptController.cpp:
295         (WebCore::ScriptController::attachDebugger):
296         * bindings/js/WorkerScriptController.cpp:
297         (WebCore::WorkerScriptController::detachDebugger):
298         - Adding reasons for detaching a globalObject from the debugger.
299
300 2014-01-24  Zalan Bujtas  <zalan@apple.com>
301
302         Subpixel rendering: Make PaintInfo layout unit aware.
303         https://bugs.webkit.org/show_bug.cgi?id=127562
304
305         Reviewed by Simon Fraser.
306
307         Replace PaintInfo's IntRect with LayoutRect to be able to render to
308         subpixel positions.
309
310         No functional changes.
311
312         * platform/graphics/LayoutRect.h:
313         * rendering/PaintInfo.h:
314         (WebCore::PaintInfo::PaintInfo):
315         (WebCore::PaintInfo::applyTransform):
316         * rendering/RenderBlock.cpp:
317         (WebCore::RenderBlock::paint):
318         * rendering/RenderBoxModelObject.cpp:
319         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
320         * rendering/RenderLayer.cpp:
321         (WebCore::cornerRect):
322         (WebCore::RenderLayer::scrollCornerRect):
323         (WebCore::resizerCornerRect):
324         (WebCore::RenderLayer::scrollCornerAndResizerRect):
325         (WebCore::RenderLayer::horizontalScrollbarStart):
326         (WebCore::RenderLayer::drawPlatformResizerImage):
327         (WebCore::RenderLayer::paintResizer):
328         (WebCore::RenderLayer::hitTestOverflowControls):
329         * rendering/RenderLayer.h:
330         * rendering/RenderLayerBacking.cpp:
331         (WebCore::RenderLayerBacking::paintContents):
332         * rendering/RenderListBox.cpp:
333         (WebCore::RenderListBox::paintScrollbar):
334         * rendering/RenderWidget.cpp:
335         (WebCore::RenderWidget::paintContents):
336         * rendering/mathml/RenderMathMLOperator.cpp:
337         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
338         * rendering/svg/SVGRenderingContext.h:
339
340 2014-01-24  Simon Fraser  <simon.fraser@apple.com>
341
342         #ifdef out handleWheelEventPhase for iOS
343         https://bugs.webkit.org/show_bug.cgi?id=127583
344
345         Reviewed by Tim Horton.
346
347         handleWheelEventPhase() doesn't make any sense for iOS, which
348         has no wheel events.
349
350         * page/scrolling/ScrollingTree.h:
351         * page/scrolling/ThreadedScrollingTree.cpp:
352         * page/scrolling/ThreadedScrollingTree.h:
353         * page/scrolling/ios/ScrollingTreeIOS.h:
354
355 2014-01-24  David Hyatt  <hyatt@apple.com>
356
357         [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
358         https://bugs.webkit.org/show_bug.cgi?id=127584
359
360         Make the logic for when you need columns and when you don't shared between the
361         old multi-column code and the new multi-column code. Make sure that the flow thread
362         and sets get created lazily and destroyed on-demand when whether or not we should
363         have multiple columns changes.
364
365         Reviewed by Beth Dakin.
366
367         * rendering/RenderBlock.cpp:
368         (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
369         No longer virtual. The new column code now uses this function too.
370
371         (WebCore::RenderBlock::availableLogicalWidth):
372         Renamed desiredColumnWidth() to computedColumnWidth().
373
374         (WebCore::RenderBlock::computeColumnCountAndWidth):
375         Renamed calcColumnWidth to computeColumnCountAndWidth.
376
377         (WebCore::RenderBlock::setComputedColumnCountAndWidth):
378         Rename setDesiredColumnCountAndWidth to computed.
379
380         (WebCore::RenderBlock::computedColumnWidth):
381         (WebCore::RenderBlock::computedColumnCount):
382         Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.
383
384         (WebCore::RenderBlock::updateFirstLetterStyle):
385         desired -> computed rename.
386
387         * rendering/RenderBlock.h:
388         Renames and made a few functions virtual so that RenderBlockFlow can override.
389
390         * rendering/RenderBlockFlow.cpp:
391         (WebCore::RenderBlockFlow::RenderBlockFlow):
392         Don't create the flow thread at construction time any longer.
393
394         (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
395         (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
396         The methods to create and destroy flow threads. These work at any time now and will
397         fix up the render tree accordingly.
398
399         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
400         Virtual override that creates/destroys the new multi-column information as needed.
401
402         (WebCore::RenderBlockFlow::computedColumnWidth):
403         (WebCore::RenderBlockFlow::computedColumnCount):
404         Overrides to return the cached column width and count from the flow thread.
405
406         * rendering/RenderBlockFlow.h:
407         Has overrides of the virtual functions needed to turn multi-column state on/off and
408         to hand back computed count/width information.
409
410         * rendering/RenderMultiColumnFlowThread.cpp:
411         * rendering/RenderMultiColumnFlowThread.h:
412         Removed the algorithm to compute column count and width, since this has been combined
413         with the old multi-column layout code.
414
415         * rendering/RenderView.cpp:
416         (WebCore::RenderView::computeColumnCountAndWidth):
417         Renamed desired -> computed.
418
419         * rendering/RenderView.h:
420         Renamed desired -> computed.
421
422         * style/StyleResolveTree.cpp:
423         (WebCore::Style::determineChange):
424         (WebCore::Style::resolveLocal):
425         (WebCore::Style::resolveTree):
426         * style/StyleResolveTree.h:
427         The Settings argument is no longer needed now that we don't destroy and re-create
428         the renderer for a block flow if it stops being (or becomes) multi-column.
429
430 2014-01-24  Anders Carlsson  <andersca@apple.com>
431
432         Fix 32-bit build.
433
434         * WebCore.exp.in:
435
436 2014-01-24  Brent Fulgham  <bfulgham@apple.com>
437
438         [Win] Convert some NMake files to MSBuild project files
439         https://bugs.webkit.org/show_bug.cgi?id=127579
440
441         Reviewed by Tim Horton.
442
443         * WebCore.vcxproj/WebCore.make: Removed.
444         * WebCore.vcxproj/WebCore.proj: Added.
445
446 2014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
447
448         fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
449         https://bugs.webkit.org/show_bug.cgi?id=127566
450
451         Reviewed by Oliver Hunt.
452
453         Covered by existing tests.
454
455         * testing/Internals.cpp:
456         (WebCore::Internals::closeDummyInspectorFrontend):
457         Now that we don't have to fake that this is a page being destroyed to
458         avoid recompilation. Use the InspectorDestroyed reason.
459
460 2014-01-24  Anders Carlsson  <andersca@apple.com>
461
462         Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
463         https://bugs.webkit.org/show_bug.cgi?id=127571
464
465         Reviewed by Antti Koivisto.
466
467         WebCore.exp.in:
468         Update symbols.
469
470         * dom/Document.cpp:
471         (WebCore::Document::Document):
472         (WebCore::Document::implicitClose):
473         (WebCore::Document::setParsing):
474         (WebCore::Document::isLayoutTimerActive):
475         (WebCore::Document::minimumLayoutDelay):
476         (WebCore::Document::elapsedTime):
477         (WebCore::Document::write):
478         (WebCore::Document::styleResolverChanged):
479         * dom/Document.h:
480         Use std::chrono instead of doubles for the times and durations.
481
482         * fileapi/FileReader.cpp:
483         (WebCore::FileReader::FileReader):
484         (WebCore::FileReader::didReceiveData):
485         * fileapi/FileReader.h:
486         Switch over to std::chrono.
487
488         * page/FrameView.cpp:
489         (WebCore::FrameView::layout):
490         (WebCore::FrameView::layoutTimerFired):
491         (WebCore::FrameView::scheduleRelayout):
492         (WebCore::FrameView::scheduleRelayoutOfSubtree):
493         Update for Document::elapsedTime() changes.
494
495         * page/Settings.cpp:
496         (WebCore::Settings::setLayoutInterval):
497         * page/Settings.h:
498         (WebCore::Settings::layoutInterval):
499         Change layoutInterval to be std::chrono::milliseconds instead of int.
500
501         * platform/Timer.h:
502         (WebCore::TimerBase::startOneShot):
503         Add an overload that takes std::chrono::milliseconds.
504
505 2014-01-24  Oliver Hunt  <oliver@apple.com>
506
507         Generic JSObject::put should handle static properties in the classinfo hierarchy
508         https://bugs.webkit.org/show_bug.cgi?id=127523
509
510         Reviewed by Geoffrey Garen.
511
512         Update the bindings generator to emit the flag indicating the presence
513         of setters, and remove the many (now unnecessary) put overrides.
514         Tested with run-jsc-benchmarks and shows neutral performance. A few of the
515         micro benchmarks actually get a significant performance increase which
516         is nice.
517
518         * bindings/js/JSDOMWindowCustom.cpp:
519         (WebCore::JSDOMWindow::put):
520             We still need a custom call to lookupPut here in order
521             to get the magic security semantics of the window object.
522         * bindings/scripts/CodeGeneratorJS.pm:
523         (hashTableAccessor):
524         (prototypeHashTableAccessor):
525         (constructorHashTableAccessor):
526         (GenerateImplementation):
527         (GenerateHashTable):
528         (GenerateConstructorHelperMethods):
529
530         * bindings/js/JSDOMWindowCustom.cpp:
531         (WebCore::JSDOMWindow::put):
532         * bindings/scripts/CodeGeneratorJS.pm:
533         (hashTableAccessor):
534         (prototypeHashTableAccessor):
535         (constructorHashTableAccessor):
536         (InstanceOverridesPutImplementation):
537         (InstanceOverridesPutDeclaration):
538         (GenerateHeader):
539         (GenerateImplementation):
540         (GenerateHashTable):
541         (GenerateConstructorHelperMethods):
542         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
543         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
544         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
545         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
546         * bindings/scripts/test/JS/JSTestException.cpp:
547         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
548         * bindings/scripts/test/JS/JSTestInterface.cpp:
549         (WebCore::JSTestInterface::put):
550         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
551         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
552         * bindings/scripts/test/JS/JSTestNode.cpp:
553         * bindings/scripts/test/JS/JSTestObj.cpp:
554         * bindings/scripts/test/JS/JSTestObj.h:
555         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
556         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
557         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
558         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
559         * bindings/scripts/test/JS/JSTestTypedefs.h:
560         * bindings/scripts/test/JS/JSattribute.cpp:
561         * bindings/scripts/test/JS/JSreadonly.cpp:
562         * html/canvas/WebGLRenderingContext.idl:
563           Remove bogus attribute, as it has never been in the spec and should not
564           have been added.
565
566 2014-01-24  David Hyatt  <hyatt@apple.com>
567
568         [New Multicolumn] Eliminate RenderMultiColumnBlock
569         https://bugs.webkit.org/show_bug.cgi?id=127565
570
571         Reviewed by Antti Koivisto.
572
573         This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
574         back into RenderBlockFlow. This allows all block flows to support multi-column
575         layout, including table cells, list items, and the RenderView itself.
576
577         * CMakeLists.txt:
578         * WebCore.order:
579         * WebCore.vcxproj/WebCore.vcxproj:
580         * WebCore.vcxproj/WebCore.vcxproj.filters:
581         * WebCore.xcodeproj/project.pbxproj:
582         Remove RenderMultiColumnBlock from the makefiles.
583
584         * rendering/RenderBlock.cpp:
585         (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
586         Tweak the comment, since it was no longer accurate.
587
588         * rendering/RenderBlock.h:
589         Move some functions down into RenderBlockFlow.
590
591         * rendering/RenderBlockFlow.cpp:
592         (WebCore::RenderBlockFlow::RenderBlockFlow):
593         (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
594         (WebCore::RenderBlockFlow::styleDidChange):
595         (WebCore::RenderBlockFlow::relayoutForPagination):
596         (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
597         (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
598         (WebCore::RenderBlockFlow::addChild):
599         (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
600          * rendering/RenderBlockFlow.h:
601          Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
602
603         * rendering/RenderBox.cpp:
604         (WebCore::RenderBox::isUnsplittableForPagination):
605         Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
606
607         * rendering/RenderElement.cpp:
608         (WebCore::RenderElement::createFor):
609         Remove the multicolumn block creation code, since we always make a block flow now.
610
611         * rendering/RenderMultiColumnBlock.cpp: Removed.
612         * rendering/RenderMultiColumnBlock.h: Removed.
613         Nuke the files.
614
615         * rendering/RenderMultiColumnFlowThread.cpp:
616         (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
617         (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
618         * rendering/RenderMultiColumnSet.cpp:
619         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
620         (WebCore::RenderMultiColumnSet::addForcedBreak):
621         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
622         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
623         (WebCore::RenderMultiColumnSet::prepareForLayout):
624         (WebCore::RenderMultiColumnSet::columnGap):
625         (WebCore::RenderMultiColumnSet::paintColumnRules):
626         Change all of the functions in the multicolumnset and multicolumnflowthread classes
627         to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
628         Change the code to call through to multiColumnFlowThread() for column-specific information
629         for that parent block.
630
631         * rendering/RenderObject.h:
632         (WebCore::RenderObject::isMultiColumnBlockFlow):
633         Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
634
635         * rendering/RenderingAllInOne.cpp:
636         Remove RenderMultiColumnBlock include.
637         
638 2014-01-24  Brady Eidson  <beidson@apple.com>
639
640         IDB: support createIndex/deleteIndex messaging
641         https://bugs.webkit.org/show_bug.cgi?id=127546
642
643         Reviewed by Tim Horton.
644
645         * WebCore.exp.in: Export a needed CrossThreadCopier
646
647 2014-01-24  Daniel Bates  <dabates@apple.com>
648
649         Fix the Windows build after <http://trac.webkit.org/changeset/162704>
650         (https://bugs.webkit.org/show_bug.cgi?id=127293)
651
652         Only include TargetConditionals.h when building on a Darwin-based OS.
653         Also, check that TARGET_OS_IPHONE is defined before referencing its value
654         since it will be undefined when building on Windows.
655
656         * bindings/objc/PublicDOMInterfaces.h:
657
658 2014-01-24  Daniel Bates  <dabates@apple.com>
659
660         Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
661         https://bugs.webkit.org/show_bug.cgi?id=127293
662
663         Reviewed by Alexey Proskuryakov.
664
665         Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
666         in the public SDK.
667
668         As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
669
670         * bindings/objc/PublicDOMInterfaces.h:
671
672 2014-01-21  David Hyatt  <hyatt@apple.com>
673
674         [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
675         https://bugs.webkit.org/show_bug.cgi?id=127365
676         
677         This patch is a first step towards eliminating RenderMultiColumnBlock and moving
678         all its functionality into RenderBlockFlow. Doing so will allow table cells, list
679         items and the RenderView to use the new multi-column layout.
680         
681         Reviewed by Simon Fraser.
682
683         * rendering/RenderBlockFlow.cpp:
684         (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
685         * rendering/RenderBlockFlow.h:
686         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
687         (WebCore::RenderBlockFlow::multiColumnFlowThread):
688         Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
689         rare data. This lets us use only one pointer in the rare data to point to an object
690         that can hold all of the rest of the multi-column info.
691
692         * rendering/RenderMultiColumnBlock.cpp:
693         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
694         Move the construction of the flow thread to the constructor. This ensures we
695         never have a null flow thread and lets us avoid having to null check it for
696         empty multi-column blocks.
697
698         (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
699         (WebCore::RenderMultiColumnBlock::columnWidth):
700         (WebCore::RenderMultiColumnBlock::columnCount):
701         (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
702         The above functions now call through to the multi-column flow thread for results.
703
704         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
705          Set the column height available on the flow thread.
706
707         (WebCore::RenderMultiColumnBlock::relayoutForPagination):
708         The balancing pass and guard is in the multi-column flow thread now.
709
710         (WebCore::RenderMultiColumnBlock::addChild):
711         Don't have to create the flow thread here any longer, since we do it up front
712         in the constructor of RenderMultiColumnBlock.
713
714         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
715         Don't need the null check of the flow thread any more.
716
717         * rendering/RenderMultiColumnBlock.h:
718         Change the inlined functions to not be inlined, since they need to call
719         RenderMultiColumnFlowThread functions now.
720
721         * rendering/RenderMultiColumnFlowThread.cpp:
722         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
723         Init the new member variables we moved here from RenderMultiColumnBlock.
724
725         (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
726         Moved from RenderMultiColumnBlock.
727
728         * rendering/RenderMultiColumnFlowThread.h:
729         Add public getters/setters to the member variables so that RenderMultiColumnBlock can
730         still see them. Move the member variables here from RenderMultiColumnBlock.
731
732         * rendering/RenderMultiColumnSet.cpp:
733         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
734         (WebCore::RenderMultiColumnSet::prepareForLayout):
735         (WebCore::RenderMultiColumnSet::columnCount):
736         Call through to the flow thread instead.
737
738 2014-01-24  Zan Dobersek  <zdobersek@igalia.com>
739
740         Unreviewed GTK build fix after r162663.
741
742         * platform/gtk/ScrollViewGtk.cpp:
743         (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
744
745 2014-01-24  Zan Dobersek  <zdobersek@igalia.com>
746
747         Move HistoryItem to std::unique_ptr
748         https://bugs.webkit.org/show_bug.cgi?id=127275
749
750         Reviewed by Darin Adler.
751
752         Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
753
754         * history/HistoryItem.cpp:
755         (WebCore::HistoryItem::HistoryItem):
756         (WebCore::HistoryItem::reset):
757         (WebCore::HistoryItem::addRedirectURL):
758         (WebCore::HistoryItem::setRedirectURLs):
759         * history/HistoryItem.h:
760         * history/mac/HistoryItemMac.mm:
761         (WebCore::HistoryItem::setTransientProperty):
762         WebCore.exp.in: Update the symbol.
763
764 2014-01-23  Morten Stenshorne  <mstensho@opera.com>
765
766         Region based multicol: unresolvable percent height results in 1px tall multicol
767         https://bugs.webkit.org/show_bug.cgi?id=122826
768
769         Reviewed by David Hyatt.
770
771         If a box has a percentage height, but the computed height of its
772         containing block is auto, the computed height of the box also becomes
773         auto. computeContentLogicalHeight() returns -1 if the height isn't
774         resolvable, and we need to make sure that such a value doesn't
775         constrain the height of the multicol container.
776
777         Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
778                fast/multicol/newmulticol/unresolvable-percent-height.html
779                fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
780                fast/multicol/newmulticol/unresolvable-percent-max-height.html
781
782         * rendering/RenderMultiColumnSet.cpp:
783         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
784         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
785         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
786         (WebCore::RenderMultiColumnSet::prepareForLayout):
787
788 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
789
790         Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
791         https://bugs.webkit.org/show_bug.cgi?id=127537
792
793         Reviewed by Timothy Hatcher.
794
795           - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
796           - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
797           - Move them all to namespace Inspector.
798           - Update build files and users to the new names.
799
800         No change in functionality, just moving code.
801
802         * CMakeLists.txt:
803         * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
804         * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
805         * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
806         * GNUmakefile.list.am:
807         * WebCore.vcxproj/WebCore.vcxproj:
808         * WebCore.vcxproj/WebCore.vcxproj.filters:
809         * WebCore.xcodeproj/project.pbxproj:
810         * bindings/js/PageScriptDebugServer.cpp:
811         * bindings/js/PageScriptDebugServer.h:
812         * bindings/js/ScriptDebugServer.cpp:
813         * bindings/js/ScriptDebugServer.h:
814         * bindings/js/WorkerScriptDebugServer.cpp:
815         * bindings/js/WorkerScriptDebugServer.h:
816         * inspector/InspectorAllInOne.cpp:
817         * inspector/InspectorDebuggerAgent.cpp:
818         (WebCore::InspectorDebuggerAgent::searchInContent):
819         (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
820         (WebCore::InspectorDebuggerAgent::didParseSource):
821         * inspector/InspectorDebuggerAgent.h:
822         * inspector/InspectorPageAgent.cpp:
823         (WebCore::InspectorPageAgent::sourceMapURLForResource):
824         (WebCore::InspectorPageAgent::searchInResource):
825         (WebCore::InspectorPageAgent::searchInResources):
826         * inspector/InspectorStyleSheet.cpp:
827         (WebCore::buildSourceRangeObject):
828         (WebCore::InspectorStyleSheet::lineEndings):
829         (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
830
831 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
832
833         Move RegularExpression into JavaScriptCore for inspector
834         https://bugs.webkit.org/show_bug.cgi?id=127526
835
836         Reviewed by Geoffrey Garen.
837
838         Update as appropriate for the moved file and namespace
839         change for class RegularExpression.
840
841         * CMakeLists.txt:
842         * ForwardingHeaders/yarr/RegularExpression.h: Added.
843         * GNUmakefile.list.am:
844         * WebCore.exp.in:
845         * WebCore.vcxproj/WebCore.vcxproj:
846         * WebCore.vcxproj/WebCore.vcxproj.filters:
847         * WebCore.xcodeproj/project.pbxproj:
848         * dom/DOMImplementation.h:
849         * html/BaseCheckableInputType.cpp:
850         * html/BaseTextInputType.cpp:
851         (WebCore::BaseTextInputType::patternMismatch):
852         * html/EmailInputType.cpp:
853         (WebCore::isValidEmailAddress):
854         * html/InputType.cpp:
855         * inspector/ContentSearchUtils.cpp:
856         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
857         (WebCore::ContentSearchUtils::createSearchRegex):
858         (WebCore::ContentSearchUtils::countRegularExpressionMatches):
859         (WebCore::ContentSearchUtils::searchInTextByLines):
860         * inspector/ContentSearchUtils.h:
861         * inspector/InspectorDebuggerAgent.cpp:
862         (WebCore::matches):
863         (WebCore::InspectorDebuggerAgent::breakpointActionLog):
864         (WebCore::InspectorDebuggerAgent::breakpointActionSound):
865         * inspector/InspectorDebuggerAgent.h:
866         * inspector/InspectorPageAgent.cpp:
867         (WebCore::InspectorPageAgent::searchInResources):
868         * inspector/InspectorPageAgent.h:
869         * inspector/InspectorRuntimeAgent.cpp:
870         * inspector/InspectorRuntimeAgent.h:
871         * inspector/InspectorStyleSheet.cpp:
872         (WebCore::selectorsFromSource):
873         * inspector/WorkerDebuggerAgent.cpp:
874         * page/Frame.cpp:
875         (WebCore::createRegExpForLabels):
876         (WebCore::Frame::searchForLabelsAboveCell):
877         (WebCore::Frame::searchForLabelsBeforeElement):
878         (WebCore::matchLabelsAgainstString):
879         * page/Frame.h:
880         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
881         (WebCore::GraphicsContext3D::getUnmangledInfoLog):
882
883 2014-01-23  Brady Eidson  <beidson@apple.com>
884
885         IDB: Support IDBObjectStore.clear()
886         https://bugs.webkit.org/show_bug.cgi?id=127541
887         
888         Reviewed by Anders Carlsson.
889
890         The backing store should never be performing callbacks directly:
891         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
892         (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
893
894         Instead, the transaction operations should do that themselves:
895         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
896         (WebCore::ClearObjectStoreOperation::perform):
897         * Modules/indexeddb/IDBTransactionBackendOperations.h:
898         (WebCore::ClearObjectStoreOperation::transaction):
899
900 2014-01-23  Dan Bernstein  <mitz@apple.com>
901
902         <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
903         https://bugs.webkit.org/show_bug.cgi?id=127540
904
905         Reviewed by Anders Carlsson.
906
907         No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
908         it.
909
910         * html/parser/CSSPreloadScanner.cpp:
911         (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
912         a character, not after. This restores the logic from before r162257.
913
914 2014-01-23  Jer Noble  <jer.noble@apple.com>
915
916         [iOS] Protect against possbile deadlock by delaying video layer creation
917         https://bugs.webkit.org/show_bug.cgi?id=127505
918
919         Reviewed by Eric Carlson.
920
921         Work around a possible deadlock on iOS when creating a media element
922         backed by AVFoundation by delaying creation of the AVPlayerLayer.
923         The deadlock can occur when the web thread is doing CALayer layout
924         while taking the web thread lock, while CoreMedia is doing property
925         access on an async thread while taking the CM lock, and each is waiting
926         for the other's lock to be released.
927
928         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
929         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
930
931 2014-01-23  Jer Noble  <jer.noble@apple.com>
932
933         [MSE][Mac] Crash when reloading a page during playback
934         https://bugs.webkit.org/show_bug.cgi?id=126903
935
936         Reviewed by Eric Carlson.
937
938         Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
939         callback block even after being removed with -removeTimeObserver:, which is tracked by
940         <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
941         and bail early if the owning media player has been destroyed.
942
943         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
944         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
945         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
946         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
947
948 2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
949
950         Dragging from inner side of video to outside causes a crash
951         https://bugs.webkit.org/show_bug.cgi?id=126338
952
953         Reviewed by Jer Noble.
954
955         The crash happens while dragging mouse cursor through timeline control to outside
956         of video region. This is beacause media controls are selected with the drag.
957         The media controls disappear when mouse cursor goes outside of video though
958         the dragging/selection proceeds. If once media controls are hidden, related element
959         lose their renderers. However the drag is still under going. it requires shadowPseudoId
960         of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
961         don't return a static value for the shadowPseudoId unlike other media controls,
962         but they need a renderer to determine it. This is the reason of crash.
963
964         Test: media/media-controller-drag-crash.html
965
966         * html/shadow/SliderThumbElement.cpp:
967         (WebCore::SliderThumbElement::shadowPseudoId):
968         (WebCore::SliderContainerElement::shadowPseudoId):
969
970 2014-01-23  Brady Eidson  <beidson@apple.com>
971
972         IDB: Implement SQLite backing store 'get' support
973         https://bugs.webkit.org/show_bug.cgi?id=127502
974
975         Reviewed by Tim Horton.
976
977         Get a KeyRange from a KeyRangeData:
978         * Modules/indexeddb/IDBKeyRangeData.cpp:
979         (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
980         * Modules/indexeddb/IDBKeyRangeData.h:
981
982         Add collation function support to SQLiteDatabase:
983         * platform/sql/SQLiteDatabase.cpp:
984         (WebCore::destroyCollationFunction):
985         (WebCore::callCollationFunction):
986         (WebCore::SQLiteDatabase::setCollationFunction):
987         (WebCore::SQLiteDatabase::removeCollationFunction):
988         * platform/sql/SQLiteDatabase.h:
989
990         * WebCore.exp.in:
991
992 2014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>
993
994         Assertion failure in WebCore::PseudoElement::didRecalcStyle()
995         <https://bugs.webkit.org/show_bug.cgi?id=126761>
996         <rdar://problem/15793540>
997
998         Reviewed by Andy Estes.
999
1000         Test: fast/images/animate-list-item-image-assertion.html
1001
1002         * dom/PseudoElement.cpp:
1003         (WebCore::PseudoElement::didRecalcStyle):
1004         Check isRenderImage() rather than isImage() before casting to
1005         RenderImage.
1006
1007         * editing/ios/EditorIOS.mm:
1008         (WebCore::getImage):
1009         Ditto.
1010
1011         * editing/mac/EditorMac.mm:
1012         (WebCore::getImage):
1013         Ditto.
1014
1015         * html/HTMLImageElement.cpp:
1016         (WebCore::HTMLImageElement::parseAttribute):
1017         (WebCore::HTMLImageElement::didAttachRenderers):
1018         Ditto.
1019
1020         * loader/ImageLoader.cpp:
1021         (WebCore::ImageLoader::renderImageResource):
1022         Ditto.
1023
1024         * page/DragController.cpp:
1025         (WebCore::getCachedImage):
1026         Ditto.
1027
1028         * rendering/RenderLayerBacking.cpp:
1029         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
1030         (WebCore::RenderLayerBacking::updateImageContents):
1031         Ditto.
1032
1033 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
1034
1035         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
1036         https://bugs.webkit.org/show_bug.cgi?id=127409
1037
1038         Reviewed by Geoffrey Garen.
1039
1040         Covered by existing tests.
1041
1042         * bindings/js/ScriptDebugServer.h:
1043         * bindings/js/ScriptDebugServer.cpp:
1044         (WebCore::ScriptDebugServer::ScriptDebugServer):
1045         Remove m_recompileTimer and the recompile soon function.
1046         We can just recompile immediately in all existing cases.
1047
1048         * bindings/js/PageScriptDebugServer.h:
1049         * bindings/js/PageScriptDebugServer.cpp:
1050         (WebCore::PageScriptDebugServer::addListener):
1051         (WebCore::PageScriptDebugServer::removeListener):
1052         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1053         (WebCore::PageScriptDebugServer::didAddFirstListener):
1054         (WebCore::PageScriptDebugServer::didRemoveLastListener):
1055         Add a "didAddFirstListener" to match "didRemoveLastListener".
1056         Only recompile functions when we attach the debugger and when
1057         we detach the last listener.
1058
1059         * bindings/js/WorkerScriptDebugServer.cpp:
1060         (WebCore::WorkerScriptDebugServer::addListener):
1061         (WebCore::WorkerScriptDebugServer::removeListener):
1062         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1063         Same thing. Also rearrange the functions to read better.
1064
1065         * inspector/InspectorProfilerAgent.cpp:
1066         Use the direct recompile function instead of the removed "soon" version.
1067
1068         * WebCore.exp.in:
1069         Update disconnectFrontend symbol.
1070
1071         * page/PageDebuggable.cpp:
1072         (WebCore::PageDebuggable::disconnect):
1073         * testing/Internals.cpp:
1074         (WebCore::Internals::closeDummyInspectorFrontend):
1075         * workers/WorkerMessagingProxy.cpp:
1076         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
1077         Include an InspectorDisconnectReason when calling disconnectFrontend.
1078
1079         * inspector/InspectorDatabaseAgent.h:
1080         * inspector/InspectorDebuggerAgent.cpp:
1081         (WebCore::InspectorDebuggerAgent::disable):
1082         (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
1083         If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
1084
1085         * inspector/InspectorProfilerAgent.h:
1086         * inspector/InspectorProfilerAgent.cpp:
1087         (WebCore::InspectorProfilerAgent::enable):
1088         (WebCore::InspectorProfilerAgent::disable):
1089         (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
1090         If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
1091
1092         * inspector/InspectorController.h:
1093         * inspector/InspectorController.cpp:
1094         (WebCore::InspectorController::inspectedPageDestroyed):
1095         (WebCore::InspectorController::disconnectFrontend):
1096         (WebCore::InspectorController::close):
1097         Pass different reasons for the different disconnect reasons.
1098
1099         * inspector/WorkerInspectorController.h:
1100         * inspector/WorkerInspectorController.cpp:
1101         (WebCore::WorkerInspectorController::~WorkerInspectorController):
1102         (WebCore::WorkerInspectorController::disconnectFrontend):
1103         Pass different reasons for the different disconnect reasons.
1104
1105         * inspector/InspectorApplicationCacheAgent.cpp:
1106         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
1107         * inspector/InspectorApplicationCacheAgent.h:
1108         * inspector/InspectorCSSAgent.cpp:
1109         (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
1110         * inspector/InspectorCSSAgent.h:
1111         * inspector/InspectorCanvasAgent.cpp:
1112         (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
1113         * inspector/InspectorCanvasAgent.h:
1114         * inspector/InspectorConsoleAgent.cpp:
1115         (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
1116         * inspector/InspectorConsoleAgent.h:
1117         * inspector/InspectorDOMAgent.cpp:
1118         (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
1119         * inspector/InspectorDOMAgent.h:
1120         * inspector/InspectorDOMDebuggerAgent.cpp:
1121         (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
1122         * inspector/InspectorDOMDebuggerAgent.h:
1123         * inspector/InspectorDOMStorageAgent.cpp:
1124         (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
1125         * inspector/InspectorDOMStorageAgent.h:
1126         * inspector/InspectorDatabaseAgent.cpp:
1127         (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
1128         * inspector/InspectorDebuggerAgent.h:
1129         * inspector/InspectorHeapProfilerAgent.cpp:
1130         (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
1131         * inspector/InspectorHeapProfilerAgent.h:
1132         * inspector/InspectorIndexedDBAgent.cpp:
1133         (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
1134         * inspector/InspectorIndexedDBAgent.h:
1135         * inspector/InspectorInputAgent.cpp:
1136         (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
1137         * inspector/InspectorInputAgent.h:
1138         * inspector/InspectorLayerTreeAgent.cpp:
1139         (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
1140         * inspector/InspectorLayerTreeAgent.h:
1141         * inspector/InspectorMemoryAgent.cpp:
1142         (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
1143         * inspector/InspectorMemoryAgent.h:
1144         * inspector/InspectorPageAgent.cpp:
1145         (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
1146         * inspector/InspectorPageAgent.h:
1147         * inspector/InspectorResourceAgent.cpp:
1148         (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
1149         * inspector/InspectorResourceAgent.h:
1150         * inspector/InspectorTimelineAgent.cpp:
1151         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
1152         * inspector/InspectorTimelineAgent.h:
1153         * inspector/InspectorWorkerAgent.cpp:
1154         (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
1155         * inspector/InspectorWorkerAgent.h:
1156         * inspector/PageDebuggerAgent.cpp:
1157         (WebCore::PageDebuggerAgent::disable):
1158         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
1159         * inspector/PageDebuggerAgent.h:
1160         * inspector/PageRuntimeAgent.cpp:
1161         (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
1162         * inspector/PageRuntimeAgent.h:
1163         * inspector/WorkerDebuggerAgent.cpp:
1164         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
1165         * inspector/WorkerDebuggerAgent.h:
1166         * inspector/WorkerRuntimeAgent.cpp:
1167         (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
1168         * inspector/WorkerRuntimeAgent.h:
1169         Include InspectorDisconnectReason param.
1170
1171 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
1172
1173         Another Windows fix: include <algorithm> for std::min and std::max.
1174         
1175         * platform/graphics/IntSize.h:
1176
1177 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
1178
1179         Try to fix Windows build.
1180
1181         * platform/win/PopupMenuWin.cpp:
1182         (WebCore::PopupMenuWin::visibleSize):
1183         * platform/win/PopupMenuWin.h:
1184
1185 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
1186
1187         Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
1188         https://bugs.webkit.org/show_bug.cgi?id=127456
1189         
1190         Reviewed by Antti Koivisto.
1191         
1192         On iOS, visibleContentRect() returns the entire document rect for historical
1193         reasons, and actualVisibleContentRect() returns what visibleContentRect()
1194         returns on other platforms.
1195         
1196         In addition, actualVisibleContentRect() was returning an empty rect in WK2.
1197         
1198         Reduce the confusion of #ifdefs by making visibleContentRect() behave like
1199         actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
1200         an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
1201         
1202         Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
1203         which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
1204         
1205         Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
1206         with non-virtual visibleHeight() and visibleWidth().
1207         
1208         ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
1209         
1210         Mechanically change all the call sites of actualVisibleContentRect() to
1211         use visibleContentRect(), and the call sites of visibleContentRect()
1212         to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
1213         where this may not be appropriate.
1214         
1215         Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
1216         
1217         Also add actualScrollPosition(), and clean up some actualScroll* call sites.
1218         
1219         No behavior change.
1220
1221         * WebCore.exp.in:
1222         * accessibility/AccessibilityObject.cpp:
1223         (WebCore::AccessibilityObject::isOnscreen):
1224         (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
1225         * accessibility/AccessibilityRenderObject.cpp:
1226         (WebCore::AccessibilityRenderObject::isOffScreen):
1227         * dom/Document.cpp:
1228         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
1229         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
1230         * dom/MouseRelatedEvent.cpp:
1231         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1232         * editing/Editor.cpp:
1233         (WebCore::Editor::countMatchesForText):
1234         * editing/FrameSelection.cpp:
1235         (WebCore::FrameSelection::bounds):
1236         (WebCore::FrameSelection::getClippedVisibleTextRectangles):
1237         * html/HTMLBodyElement.cpp:
1238         (WebCore::HTMLBodyElement::scrollLeft):
1239         (WebCore::HTMLBodyElement::scrollTop):
1240         * html/ImageDocument.cpp:
1241         (WebCore::ImageDocument::imageFitsInWindow):
1242         (WebCore::ImageDocument::windowSizeChanged):
1243         * inspector/InspectorOverlay.cpp:
1244         (WebCore::InspectorOverlay::update):
1245         * page/DOMWindow.cpp:
1246         (WebCore::DOMWindow::innerHeight):
1247         (WebCore::DOMWindow::innerWidth):
1248         (WebCore::DOMWindow::scrollX):
1249         (WebCore::DOMWindow::scrollY):
1250         (WebCore::DOMWindow::scrollBy):
1251         * page/FrameView.cpp:
1252         (WebCore::FrameView::calculateScrollbarModesForLayout):
1253         (WebCore::FrameView::layout):
1254         (WebCore::FrameView::scrollContentsSlowPath):
1255         (WebCore::FrameView::repaintContentRectangle):
1256         (WebCore::FrameView::sendResizeEventIfNeeded):
1257         (WebCore::FrameView::windowClipRect):
1258         (WebCore::FrameView::isScrollable):
1259         (WebCore::FrameView::paintControlTints):
1260         * page/SpatialNavigation.cpp:
1261         (WebCore::canScrollInDirection):
1262         * platform/ScrollView.cpp:
1263         (WebCore::ScrollView::unscaledVisibleContentSize):
1264         (WebCore::ScrollView::visibleContentRectInternal):
1265         (WebCore::ScrollView::updateScrollbars):
1266         (WebCore::ScrollView::paint):
1267         * platform/ScrollView.h:
1268         (WebCore::ScrollView::scrollOffset):
1269         (WebCore::ScrollView::actualScrollX):
1270         (WebCore::ScrollView::actualScrollY):
1271         (WebCore::ScrollView::actualScrollPosition):
1272         * platform/ScrollableArea.cpp:
1273         (WebCore::ScrollableArea::visibleContentRect):
1274         (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
1275         (WebCore::ScrollableArea::visibleContentRectInternal):
1276         * platform/ScrollableArea.h:
1277         (WebCore::ScrollableArea::visibleWidth):
1278         (WebCore::ScrollableArea::visibleHeight):
1279         * platform/graphics/IntSize.h:
1280         (WebCore::IntSize::expandedTo): Drive-by cleanup.
1281         (WebCore::IntSize::shrunkTo):
1282         * platform/gtk/ScrollViewGtk.cpp:
1283         (WebCore::ScrollView::visibleContentRect):
1284         * rendering/RenderLayer.cpp:
1285         (WebCore::RenderLayer::scrollRectToVisible):
1286         (WebCore::RenderLayer::maximumScrollPosition):
1287         (WebCore::RenderLayer::visibleContentRectInternal):
1288         (WebCore::RenderLayer::hitTest):
1289         * rendering/RenderLayer.h:
1290         * rendering/RenderLayerBacking.cpp:
1291         (WebCore::RenderLayerBacking::updateCompositedBounds):
1292         * rendering/RenderListBox.cpp:
1293         * rendering/RenderListBox.h:
1294         * rendering/RenderView.cpp:
1295         (WebCore::RenderView::viewRect):
1296         (WebCore::RenderView::viewportSize):
1297
1298 2014-01-20  Myles C. Maxfield  <mmaxfield@apple.com>
1299
1300        Turn text-decoration-skip: ink on for all underlines
1301        https://bugs.webkit.org/show_bug.cgi?id=127331
1302
1303        Reviewed by Antti Koivisto.
1304
1305        No new tests are necessary because tests already exist
1306
1307        * rendering/style/RenderStyle.h:
1308
1309 2014-01-23  Hans Muller  <hmuller@adobe.com>
1310
1311         [CSS Shapes] Image valued shape size and position should conform to the spec
1312         https://bugs.webkit.org/show_bug.cgi?id=123295
1313
1314         Reviewed by Andreas Kling.
1315
1316         Implement image valued shape-outside scaling and translation per the spec,
1317         http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
1318
1319         "The image is sized and positioned as if it were a replaced element whose
1320         specified width and height are the same as the element’s used content box size."
1321
1322         This change doesn't completely fulfill the spec, it's limited to image elements
1323         and shape-outside.
1324
1325         Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
1326                fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
1327                fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
1328                fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
1329
1330         * rendering/shapes/Shape.h:
1331         * rendering/shapes/Shape.cpp:
1332         (WebCore::Shape::createRasterShape):
1333         Added an imageRect parameter which specifies where the shape image is to
1334         appear relative to the content box. The imageRect implies both scaling and
1335         translation of the shape image.
1336
1337         * rendering/shapes/ShapeInfo.cpp:
1338         (WebCore::ShapeInfo<RenderType>::computedShape):
1339         (WebCore::getShapeImageRect):
1340         For replaced elements, compute the shape's imageRect with
1341         RenderReplaced::replacedContentRect().
1342
1343
1344 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
1345
1346         Remove CSS Custom Filters code and tests
1347         https://bugs.webkit.org/show_bug.cgi?id=127382
1348
1349         Reviewed by Simon Fraser.
1350
1351         No new tests. Removing functionality.
1352
1353         * CMakeLists.txt:
1354         * Configurations/FeatureDefines.xcconfig:
1355         * DerivedSources.cpp:
1356         * DerivedSources.make:
1357         * GNUmakefile.list.am:
1358         * WebCore.order:
1359         * WebCore.vcxproj/WebCore.vcxproj:
1360         * WebCore.vcxproj/WebCore.vcxproj.filters:
1361         * WebCore.xcodeproj/project.pbxproj:
1362         * bindings/js/JSCSSRuleCustom.cpp:
1363         (WebCore::toJS):
1364         * bindings/js/JSCSSValueCustom.cpp:
1365         (WebCore::toJS):
1366         * bindings/objc/DOMCSS.mm:
1367         (kitClass):
1368         * css/CSSComputedStyleDeclaration.cpp:
1369         (WebCore::ComputedStyleExtractor::valueForFilter):
1370         (WebCore::ComputedStyleExtractor::propertyValue):
1371         * css/CSSComputedStyleDeclaration.h:
1372         * css/CSSGrammar.y.in:
1373         * css/CSSParser.cpp:
1374         (WebCore::CSSParserContext::CSSParserContext):
1375         (WebCore::operator==):
1376         (WebCore::CSSParser::CSSParser):
1377         (WebCore::CSSParser::parseValue):
1378         (WebCore::filterInfoForName):
1379         (WebCore::CSSParser::parseFilter):
1380         (WebCore::CSSParser::detectAtToken):
1381         * css/CSSParser.h:
1382         * css/CSSParserMode.h:
1383         * css/CSSPropertyNames.in:
1384         * css/CSSPropertySourceData.h:
1385         * css/CSSRule.h:
1386         * css/CSSRule.idl:
1387         * css/CSSValue.cpp:
1388         (WebCore::CSSValue::equals):
1389         (WebCore::CSSValue::cssText):
1390         (WebCore::CSSValue::destroy):
1391         (WebCore::CSSValue::cloneForCSSOM):
1392         * css/CSSValue.h:
1393         * css/CSSValueKeywords.in:
1394         * css/StyleResolver.cpp:
1395         (WebCore::StyleResolver::State::clear):
1396         (WebCore::StyleResolver::applyProperty):
1397         (WebCore::filterOperationForType):
1398         (WebCore::StyleResolver::createFilterOperations):
1399         (WebCore::StyleResolver::loadPendingResources):
1400         * css/StyleResolver.h:
1401         (WebCore::StyleResolver::State::State):
1402         * css/StyleRule.cpp:
1403         (WebCore::StyleRuleBase::destroy):
1404         (WebCore::StyleRuleBase::copy):
1405         (WebCore::StyleRuleBase::createCSSOMWrapper):
1406         * css/StyleRule.h:
1407         * css/StyleSheetContents.cpp:
1408         (WebCore::childRulesHaveFailedOrCanceledSubresources):
1409         * css/WebKitCSSArrayFunctionValue.cpp: Removed.
1410         * css/WebKitCSSArrayFunctionValue.h: Removed.
1411         * css/WebKitCSSFilterRule.cpp: Removed.
1412         * css/WebKitCSSFilterRule.h: Removed.
1413         * css/WebKitCSSFilterRule.idl: Removed.
1414         * css/WebKitCSSFilterValue.cpp:
1415         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
1416         (WebCore::WebKitCSSFilterValue::customCSSText):
1417         * css/WebKitCSSFilterValue.h:
1418         * css/WebKitCSSFilterValue.idl:
1419         * css/WebKitCSSMatFunctionValue.cpp: Removed.
1420         * css/WebKitCSSMatFunctionValue.h: Removed.
1421         * css/WebKitCSSMixFunctionValue.cpp: Removed.
1422         * css/WebKitCSSMixFunctionValue.h: Removed.
1423         * css/WebKitCSSMixFunctionValue.idl: Removed.
1424         * css/WebKitCSSShaderValue.cpp: Removed.
1425         * css/WebKitCSSShaderValue.h: Removed.
1426         * loader/cache/CachedResource.cpp:
1427         (WebCore::defaultPriorityForResourceType):
1428         * loader/cache/CachedResource.h:
1429         * loader/cache/CachedResourceLoader.cpp:
1430         (WebCore::createResource):
1431         (WebCore::CachedResourceLoader::checkInsecureContent):
1432         (WebCore::CachedResourceLoader::canRequest):
1433         * loader/cache/CachedResourceLoader.h:
1434         * loader/cache/CachedShader.cpp: Removed.
1435         * loader/cache/CachedShader.h: Removed.
1436         * page/Settings.cpp:
1437         (WebCore::Settings::Settings):
1438         * page/Settings.h:
1439         * page/animation/CSSPropertyAnimation.cpp:
1440         (WebCore::blendFilter):
1441         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1442         (PlatformCALayerMac::filtersCanBeComposited):
1443         * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
1444         * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
1445         * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
1446         * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
1447         * platform/graphics/filters/CustomFilterConstants.h: Removed.
1448         * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
1449         * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
1450         * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
1451         * platform/graphics/filters/CustomFilterMesh.h: Removed.
1452         * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
1453         * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
1454         * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
1455         * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
1456         * platform/graphics/filters/CustomFilterOperation.h: Removed.
1457         * platform/graphics/filters/CustomFilterParameter.h: Removed.
1458         * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
1459         * platform/graphics/filters/CustomFilterParameterList.h: Removed.
1460         * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
1461         * platform/graphics/filters/CustomFilterProgram.h: Removed.
1462         * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
1463         * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
1464         * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
1465         * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
1466         * platform/graphics/filters/CustomFilterRenderer.h: Removed.
1467         * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
1468         * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
1469         * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
1470         * platform/graphics/filters/FECustomFilter.cpp: Removed.
1471         * platform/graphics/filters/FECustomFilter.h: Removed.
1472         * platform/graphics/filters/FilterOperation.h:
1473         * platform/graphics/filters/FilterOperations.cpp:
1474         (WebCore::FilterOperations::outsets):
1475         * platform/graphics/filters/FilterOperations.h:
1476         * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
1477         * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
1478         * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
1479         * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
1480         * platform/graphics/gpu/Texture.cpp:
1481         * platform/graphics/texmap/TextureMapper.h:
1482         * platform/graphics/texmap/TextureMapperGL.cpp:
1483         (WebCore::getPassesRequiredForFilter):
1484         (WebCore::BitmapTextureGL::applyFilters):
1485         * platform/graphics/texmap/TextureMapperGL.h:
1486         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1487         (WebCore::CompositingCoordinator::clearPendingStateChanges):
1488         (WebCore::CompositingCoordinator::syncLayerState):
1489         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
1490         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
1491         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
1492         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1493         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
1494         (WebCore::CoordinatedGraphicsScene::commitSceneState):
1495         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
1496         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1497         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1498         * rendering/FilterEffectRenderer.cpp:
1499         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
1500         (WebCore::FilterEffectRenderer::build):
1501         (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
1502         * rendering/FilterEffectRenderer.h:
1503         * rendering/RenderLayer.cpp:
1504         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
1505         (WebCore::RenderLayer::calculateClipRects):
1506         * rendering/RenderLayer.h:
1507         * rendering/RenderLayerBacking.cpp:
1508         (WebCore::RenderLayerBacking::updateFilters):
1509         * rendering/RenderLayerFilterInfo.cpp:
1510         (WebCore::RenderLayer::FilterInfo::~FilterInfo):
1511         * rendering/RenderLayerFilterInfo.h:
1512         * rendering/RenderView.cpp:
1513         * rendering/RenderView.h:
1514         * rendering/style/StyleCachedShader.cpp: Removed.
1515         * rendering/style/StyleCachedShader.h: Removed.
1516         * rendering/style/StyleCustomFilterProgram.cpp: Removed.
1517         * rendering/style/StyleCustomFilterProgram.h: Removed.
1518         * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
1519         * rendering/style/StyleCustomFilterProgramCache.h: Removed.
1520         * rendering/style/StylePendingShader.h: Removed.
1521         * rendering/style/StyleShader.h: Removed.
1522
1523 2014-01-22  Jon Honeycutt  <jhoneycutt@apple.com>
1524
1525         REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
1526         <https://webkit.org/b/127151>
1527         <rdar://problem/15840760>
1528
1529         There were two issues introduced here; the first is a use-after-free of
1530         CachedSVGDocumentReference objects.
1531
1532         The previous code kept a map from FilterOperation ->
1533         RefPtr<WebKitCSSSVGDocumentValue>, which retained the
1534         CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
1535         which allows stale CachedSVGDocumentReferences in the pending document
1536         set if the owning FilterOperation is deleted. To fix this, we'll keep a
1537         vector of RefPtr<FilterOperation> with pending SVG documents.
1538
1539         The second issue is a null deref in CachedSVGDocumentReference::load();
1540         CachedResourceLoader::requestSVGDocument() can return 0 if (for
1541         example) an invalid URL is passed. r161967 removed a null check as part
1542         of the refactoring.
1543
1544         Reviewed by Dirk Schulze.
1545
1546         Tests: css3/filters/crash-filter-animation-invalid-url.html
1547                css3/filters/crash-invalid-url.html
1548
1549         * css/StyleResolver.cpp:
1550         (WebCore::StyleResolver::State::clear):
1551         Use new member var name.
1552         (WebCore::StyleResolver::loadPendingSVGDocuments):
1553         For each FilterOperation with a pending SVG document, get or create a
1554         CachedSVGDocumentReference, and tell it to load. Changed to use new
1555         function names.
1556         (WebCore::StyleResolver::createFilterOperations):
1557         Append the FilterOperation to the list of FilterOperations with
1558         unloaded SVG documents.
1559
1560         * css/StyleResolver.h:
1561         Changed from using PendingSVGDocumentSet, a weak set, to
1562         a Vector<RefPtr<ReferenceFilterOperation>>.
1563         (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
1564         Return the vector.
1565
1566         * loader/cache/CachedSVGDocumentReference.cpp:
1567         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1568         Null check m_document rather than checking m_loadRequested.
1569         m_loadRequested may be true when m_document is 0.
1570         (WebCore::CachedSVGDocumentReference::load):
1571         Null check the result of CachedResourceLoader::requestSVGDocument().
1572
1573         * platform/graphics/filters/FilterOperation.cpp:
1574         (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
1575         Create, if necessary, and return the CachedSVGDocumentReference.
1576
1577         * platform/graphics/filters/FilterOperation.h:
1578         Replaced createCachedSVGDocumentReference() with
1579         getOrCreateCachedSVGDocumentReference(), which makes for slightly
1580         cleaner code.
1581
1582 2014-01-23  Antti Koivisto  <antti@apple.com>
1583
1584         Don't enable speculative tiles immediately after main load stops progressing
1585         https://bugs.webkit.org/show_bug.cgi?id=127507
1586
1587         Reviewed by Andreas Kling.
1588
1589         It is common for timers and events to trigger more loading after the initial main frame loading
1590         has completed. We should delay a bit before enabling speculative tiles and keep them disabled 
1591         if loading still continues.
1592
1593         * page/FrameView.cpp:
1594         (WebCore::FrameView::FrameView):
1595         (WebCore::FrameView::adjustTiledBackingCoverage):
1596         (WebCore::shouldEnableSpeculativeTilingDuringLoading):
1597         (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
1598         
1599             When load progression stops wait 0.5s before enabling speculative tiles.
1600
1601         (WebCore::FrameView::speculativeTilingEnableTimerFired):
1602         
1603             Don't enable speculative tiles if the progression has started again. Instead restart the timer.
1604
1605         * page/FrameView.h:
1606         * rendering/RenderLayerBacking.cpp:
1607         (WebCore::RenderLayerBacking::RenderLayerBacking):
1608         (WebCore::computeTileCoverage):
1609         
1610             Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).
1611
1612         * rendering/RenderLayerBacking.h:
1613
1614 2014-01-23  Antti Koivisto  <antti@apple.com>
1615
1616         Loads started soon after main frame completion should be considered part of the main load
1617         https://bugs.webkit.org/show_bug.cgi?id=127504
1618
1619         Reviewed by Andreas Kling.
1620
1621         ProgressTracker currently decides that main load is complete when the main frame stops loading. 
1622         However it is common that timers and onload events trigger more loads immediately (for example 
1623         by inserting iframes) and loading continues visually. These should be considered as part of the
1624         main load for paint throttling and speculative tiling coverage purposes.
1625
1626         * loader/ProgressTracker.cpp:
1627         (WebCore::ProgressTracker::ProgressTracker):
1628         (WebCore::ProgressTracker::progressStarted):
1629         
1630             Track whether this is considered part of the main load or not with a boolean. 
1631             It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.
1632
1633         (WebCore::ProgressTracker::finalProgressComplete):
1634         
1635             Get a timestamp.
1636
1637         (WebCore::ProgressTracker::isMainLoadProgressing):
1638
1639             New definition of "main load".
1640
1641         * loader/ProgressTracker.h:
1642
1643 2014-01-23  peavo@outlook.com  <peavo@outlook.com>
1644
1645         [WinCairo] Compile error.
1646         https://bugs.webkit.org/show_bug.cgi?id=127499
1647
1648         Reviewed by Brent Fulgham.
1649
1650         * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.
1651
1652 2014-01-23  Brady Eidson  <beidson@apple.com>
1653
1654         IDB: Implement cross-thread and IPC plumbing for 'get' support
1655         https://bugs.webkit.org/show_bug.cgi?id=127501
1656
1657         Reviewed by Anders Carlsson.
1658
1659         Add isolatedCopy to the IDBGetResult object:
1660         * Modules/indexeddb/IDBGetResult.h:
1661         (WebCore::IDBGetResult::isolatedCopy):
1662
1663         Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
1664         * Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
1665         (WebCore::IDBKeyRangeData::isolatedCopy):
1666         * Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
1667         (WebCore::IDBKeyRangeData::IDBKeyRangeData):
1668
1669         Add a few more cross-thread copiers:
1670         * platform/CrossThreadCopier.cpp:
1671         (WebCore::IDBGetResult>::copy):
1672         (WebCore::IDBKeyRangeData>::copy):
1673         * platform/CrossThreadCopier.h:
1674
1675         Project file gunk:
1676         * CMakeLists.txt:
1677         * GNUmakefile.list.am:
1678         * WebCore.exp.in:
1679         * WebCore.xcodeproj/project.pbxproj:
1680
1681 2014-01-23  Jer Noble  <jer.noble@apple.com>
1682
1683         [MSE][Mac] Adopt new AVStreamDataParser delegate API
1684         https://bugs.webkit.org/show_bug.cgi?id=127498
1685
1686         Reviewed by Eric Carlson.
1687
1688         Adopt a new delegate API which passes in whether or not the new AVAsset
1689         is discontinuous, implying the AVAsset is entirely new rather than
1690         just updated with new information.
1691
1692         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1693         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):
1694
1695 2014-01-23  Tim Horton  <timothy_horton@apple.com>
1696
1697         PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
1698         https://bugs.webkit.org/show_bug.cgi?id=127415
1699         <rdar://problem/12482452>
1700
1701         Reviewed by Sam Weinig.
1702
1703         * English.lproj/Localizable.strings:
1704         * WebCore.exp.in:
1705         * platform/LocalizedStrings.cpp:
1706         (WebCore::useBlockedPlugInContextMenuTitle):
1707         * platform/LocalizedStrings.h:
1708         Add a localizable string for the generic case, where the client
1709         didn't provide a more specific string for the context menu item.
1710
1711 2014-01-23  peavo@outlook.com  <peavo@outlook.com>
1712
1713         [Curl] There is no way to specify cache folder.
1714         https://bugs.webkit.org/show_bug.cgi?id=125028
1715
1716         Reviewed by Brent Fulgham.
1717
1718         Fixed logical test, disc cache should be disabled if creating cache folder fails.
1719
1720         * platform/network/curl/CurlCacheManager.cpp:
1721         (WebCore::CurlCacheManager::setCacheDirectory):
1722
1723 2014-01-23  Brady Eidson  <beidson@apple.com>
1724
1725         Unreviewed build fix.
1726
1727         * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it
1728
1729 2014-01-22  Brent Fulgham  <bfulgham@apple.com>
1730
1731         [Win] Update project and solution files for 64-bit builds
1732         https://bugs.webkit.org/show_bug.cgi?id=127457
1733
1734         Reviewed by Eric Carlson.
1735
1736         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
1737         * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
1738         * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
1739         assembly when building 64-bit target.
1740         * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
1741         * config.h: Handle 64-bit type definitions.
1742         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1743         (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
1744         (PlatformCAAnimation::setToValue): Ditto
1745         (PlatformCAAnimation::setValues): Ditto
1746         * platform/graphics/win/FontCustomPlatformData.cpp:
1747         (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
1748         support 32- and 64-bit targets.
1749         * platform/graphics/win/GraphicsContextCGWin.cpp:
1750         (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
1751         support 64-bit builds.
1752         * platform/win/PasteboardWin.cpp:
1753         (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
1754         work on 32- and 64-bit code.
1755         (WebCore::createGlobalImageFileDescriptor): Ditto
1756         * platform/win/StructuredExceptionHandlerSuppressor.cpp:
1757         (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
1758         Comment out 32-bit inline assembly.
1759         (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
1760         Ditto
1761
1762 2014-01-23  Brady Eidson  <beidson@apple.com>
1763
1764         Make IDBGetResult work with IDBKeyData instead of IDBKey.
1765         https://bugs.webkit.org/show_bug.cgi?id=127493
1766
1767         Reviewed by Eric Carlson.
1768
1769         Also break it into its own header to work better with IPC messages.
1770
1771         * Modules/indexeddb/IDBGetResult.h: Added.
1772         (WebCore::IDBGetResult::IDBGetResult):
1773
1774         * Modules/indexeddb/IDBServerConnection.h:
1775
1776         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1777         (WebCore::GetOperation::perform):
1778
1779         * WebCore.xcodeproj/project.pbxproj:
1780
1781 2014-01-23  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>
1782
1783         [curl] Add storage limit to cache manager
1784         https://bugs.webkit.org/show_bug.cgi?id=125779
1785
1786         Reviewed by Brent Fulgham.
1787
1788         Sets a local disc storage size limit for the cache manager
1789         used by the curl network backend.
1790
1791         * platform/network/curl/CurlCacheEntry.cpp:
1792         (WebCore::CurlCacheEntry::CurlCacheEntry):
1793         (WebCore::CurlCacheEntry::isCached):
1794         (WebCore::CurlCacheEntry::saveCachedData):
1795         (WebCore::CurlCacheEntry::readCachedData):
1796         (WebCore::CurlCacheEntry::didFail):
1797         (WebCore::CurlCacheEntry::didFinishLoading):
1798         (WebCore::CurlCacheEntry::loadFileToBuffer):
1799         (WebCore::CurlCacheEntry::parseResponseHeaders):
1800         (WebCore::CurlCacheEntry::entrySize):
1801         * platform/network/curl/CurlCacheEntry.h:
1802         (WebCore::CurlCacheEntry::requestHeaders):
1803         * platform/network/curl/CurlCacheManager.cpp:
1804         (WebCore::CurlCacheManager::CurlCacheManager):
1805         (WebCore::CurlCacheManager::setStorageSizeLimit):
1806         (WebCore::CurlCacheManager::loadIndex):
1807         (WebCore::CurlCacheManager::saveIndex):
1808         (WebCore::CurlCacheManager::makeRoomForNewEntry):
1809         (WebCore::CurlCacheManager::didReceiveResponse):
1810         (WebCore::CurlCacheManager::didReceiveData):
1811         (WebCore::CurlCacheManager::invalidateCacheEntry):
1812         (WebCore::CurlCacheManager::readCachedData):
1813         * platform/network/curl/CurlCacheManager.h:
1814         (WebCore::CurlCacheManager::cacheDirectory):
1815
1816 2014-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1817
1818         Unreviewed. Fix automake warning.
1819
1820         * GNUmakefile.list.am: Remove trailing whitespaces.
1821
1822 2014-01-23  Mihai Maerean  <mmaerean@adobe.com>
1823
1824         [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
1825         https://bugs.webkit.org/show_bug.cgi?id=124042
1826
1827         Reviewed by Mihnea Ovidenie.
1828
1829         If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
1830         parent that positions us.
1831
1832         Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
1833                compositing/regions/position-layer-inside-overflow-hidden.html
1834                compositing/regions/position-layers-inside-region-overflow-hidden.html
1835                compositing/regions/position-layers-inside-regions-overflow-hidden.html
1836
1837         * rendering/RenderLayerBacking.cpp:
1838         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
1839         must also be correct when the region has box-shadow that inflates the region's layer. The
1840         composited layers from the flow thread should be rendered in the same position whether the
1841         associated region has clipping or not.
1842         Using the position of the clipping layer instead of the location of the clipbox makes it
1843         also work with box-shadow that inflates the region's graphics layer.
1844
1845 2014-01-23  Andrei Bucur  <abucur@adobe.com>
1846
1847         [CSS Regions] Convert regions iterator loops to range-based loops
1848         https://bugs.webkit.org/show_bug.cgi?id=127464
1849
1850         Reviewed by Antti Koivisto.
1851
1852         Replace most of the iterator loops in the region implementation with
1853         range based for loops. The for loops that iterate only over subsets
1854         of collections have not been changed.
1855
1856         Tests: no new tests, this is a refactoring patch.
1857
1858         * dom/WebKitNamedFlow.cpp:
1859         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
1860         (WebCore::WebKitNamedFlow::getRegionsByContent):
1861         (WebCore::WebKitNamedFlow::getRegions):
1862         (WebCore::WebKitNamedFlow::getContent):
1863         * inspector/InspectorOverlay.cpp:
1864         (WebCore::buildObjectForCSSRegionsHighlight):
1865         * rendering/RenderFlowThread.cpp:
1866         (WebCore::RenderFlowThread::validateRegions):
1867         (WebCore::RenderFlowThread::updateLogicalWidth):
1868         (WebCore::RenderFlowThread::computeLogicalHeight):
1869         (WebCore::RenderFlowThread::repaintRectangleInRegions):
1870         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1871         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
1872         (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
1873         (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
1874         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
1875         (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
1876         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
1877         (WebCore::RenderFlowThread::collectLayerFragments):
1878         (WebCore::RenderFlowThread::fragmentsBoundingBox):
1879         * rendering/RenderNamedFlowFragment.cpp:
1880         (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
1881         (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
1882         * rendering/RenderNamedFlowThread.cpp:
1883         (WebCore::RenderNamedFlowThread::clearContentElements):
1884         (WebCore::RenderNamedFlowThread::nextRendererForNode):
1885         (WebCore::RenderNamedFlowThread::dependsOn):
1886         (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
1887         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
1888         (WebCore::RenderNamedFlowThread::pushDependencies):
1889         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
1890         (WebCore::isContainedInElements):
1891         (WebCore::RenderNamedFlowThread::getRanges):
1892         (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
1893         (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
1894         * rendering/RenderTreeAsText.cpp:
1895         (WebCore::writeRenderRegionList):
1896
1897 2014-01-23  László Langó  <llango.u-szeged@partner.samsung.com>
1898
1899         Range should be constructable.
1900         https://bugs.webkit.org/show_bug.cgi?id=115639
1901
1902         Reviewed by Ryosuke Niwa.
1903
1904         http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
1905         Now we can do `new Range()` instead of `document.createRange()`.
1906
1907         Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
1908
1909         Test: fast/dom/Range/range-constructor.html
1910
1911         * dom/Range.cpp:
1912         (WebCore::Range::create):
1913         * dom/Range.h:
1914         * dom/Range.idl:
1915
1916 2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
1917
1918         Unreviewed build fix for gles after r162565. Add missing definitions.
1919
1920         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1921         (WebCore::GraphicsContext3D::drawArraysInstanced):
1922         (WebCore::GraphicsContext3D::drawElementsInstanced):
1923         (WebCore::GraphicsContext3D::vertexAttribDivisor):
1924
1925 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1926
1927         [GLIB] Use GUniquePtr instead of GOwnPtr
1928         https://bugs.webkit.org/show_bug.cgi?id=127431
1929
1930         Reviewed by Martin Robinson.
1931
1932         GUniquePtr is a template alias of std::unique_ptr with a custom
1933         deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
1934         where the output pointer is needed, but it will also be replaced soon.
1935
1936         * GNUmakefile.list.am:
1937         * PlatformGTK.cmake:
1938         * accessibility/atk/AXObjectCacheAtk.cpp:
1939         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1940         (getAttributeSetForAccessibilityObject):
1941         (accessibilityObjectLength):
1942         (textExtents):
1943         (webkitAccessibleTextGetChar):
1944         (numberOfReplacedElementsBeforeOffset):
1945         * page/ContextMenuController.cpp:
1946         * platform/SharedBuffer.h:
1947         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1948         (webKitWebAudioSrcConstructed):
1949         (webKitWebAudioSrcLoop):
1950         * platform/audio/gtk/AudioBusGtk.cpp:
1951         (WebCore::AudioBus::loadPlatformResource):
1952         * platform/geoclue/GeolocationProviderGeoclue.cpp:
1953         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1954         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1955         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
1956         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
1957         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1958         (webKitMediaSrcAddSrc):
1959         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1960         (webKitWebSrcStart):
1961         (ResourceHandleStreamingClient::wasBlocked):
1962         (ResourceHandleStreamingClient::cannotShowURL):
1963         * platform/graphics/gtk/ImageBufferGtk.cpp:
1964         (WebCore::encodeImage):
1965         (WebCore::ImageBuffer::toDataURL):
1966         * platform/graphics/gtk/ImageGtk.cpp:
1967         (WebCore::getThemeIconFileName):
1968         (WebCore::Image::loadPlatformResource):
1969         * platform/gtk/ContextMenuGtk.cpp:
1970         (WebCore::ContextMenu::itemCount):
1971         (WebCore::contextMenuItemVector):
1972         * platform/gtk/ContextMenuItemGtk.cpp:
1973         (WebCore::createPlatformMenuItemDescription):
1974         * platform/gtk/DataObjectGtk.cpp:
1975         (WebCore::DataObjectGtk::setURIList):
1976         (WebCore::DataObjectGtk::setURL):
1977         * platform/gtk/FileSystemGtk.cpp:
1978         (WebCore::filenameToString):
1979         (WebCore::fileSystemRepresentation):
1980         (WebCore::filenameForDisplay):
1981         (WebCore::pathGetFileName):
1982         (WebCore::applicationDirectoryPath):
1983         (WebCore::sharedResourcesPath):
1984         (WebCore::directoryName):
1985         (WebCore::listDirectory):
1986         (WebCore::openTemporaryFile):
1987         * platform/gtk/GOwnPtrGtk.cpp: Removed.
1988         * platform/gtk/GOwnPtrGtk.h: Removed.
1989         * platform/gtk/GUniquePtrGtk.h: Added.
1990         * platform/gtk/GamepadsGtk.cpp:
1991         (WebCore::GamepadsGtk::GamepadsGtk):
1992         * platform/gtk/GtkClickCounter.cpp:
1993         (WebCore::GtkClickCounter::shouldProcessButtonEvent):
1994         * platform/gtk/GtkInputMethodFilter.cpp:
1995         (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
1996         * platform/gtk/GtkPopupMenu.cpp:
1997         (WebCore::GtkPopupMenu::popUp):
1998         (WebCore::GtkPopupMenu::typeAheadFind):
1999         * platform/gtk/LanguageGtk.cpp:
2000         (WebCore::platformLanguage):
2001         * platform/gtk/LocalizedStringsGtk.cpp:
2002         (WebCore::imageTitle):
2003         (WebCore::localizedMediaTimeDescription):
2004         * platform/gtk/PasteboardHelper.cpp:
2005         (WebCore::selectionDataToUTF8String):
2006         (WebCore::PasteboardHelper::getClipboardContents):
2007         (WebCore::PasteboardHelper::fillSelectionData):
2008         * platform/gtk/PopupMenuGtk.cpp:
2009         (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
2010         (WebCore::PopupMenuGtk::show):
2011         * platform/gtk/WebKitAuthenticationWidget.cpp:
2012         (webkitAuthenticationWidgetInitialize):
2013         * platform/network/ResourceHandleInternal.h:
2014         * platform/network/gtk/CredentialBackingStore.cpp:
2015         (WebCore::credentialForChallengeAsyncReadyCallback):
2016         * platform/network/soup/CookieJarSoup.cpp:
2017         (WebCore::setCookiesFromDOM):
2018         (WebCore::cookiesForSession):
2019         (WebCore::getRawCookies):
2020         (WebCore::deleteCookie):
2021         (WebCore::getHostnamesWithCookies):
2022         (WebCore::deleteCookiesForHostname):
2023         (WebCore::deleteAllCookies):
2024         * platform/network/soup/DNSSoup.cpp:
2025         * platform/network/soup/GUniquePtrSoup.h: Added.
2026         * platform/network/soup/ResourceErrorSoup.cpp:
2027         (WebCore::failingURI):
2028         * platform/network/soup/ResourceHandleSoup.cpp:
2029         (WebCore::ResourceHandle::ensureReadBuffer):
2030         (WebCore::cleanupSoupRequestOperation):
2031         (WebCore::createSoupRequestAndMessageForHandle):
2032         * platform/network/soup/ResourceRequestSoup.cpp:
2033         (WebCore::ResourceRequest::updateSoupMessageMembers):
2034         (WebCore::ResourceRequest::updateSoupMessage):
2035         * platform/network/soup/ResourceResponseSoup.cpp:
2036         * platform/network/soup/SoupURIUtils.cpp:
2037         (WebCore::soupURIToKURL):
2038         * platform/soup/SharedBufferSoup.cpp:
2039         (WebCore::SharedBuffer::SharedBuffer):
2040         (WebCore::SharedBuffer::clearPlatformData):
2041         (WebCore::SharedBuffer::maybeTransferPlatformData):
2042         (WebCore::SharedBuffer::hasPlatformData):
2043         * plugins/gtk/PluginPackageGtk.cpp:
2044         (WebCore::PluginPackage::fetchInfo):
2045         (WebCore::PluginPackage::load):
2046
2047 2014-01-22  Simon Fraser  <simon.fraser@apple.com>
2048
2049         Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
2050         https://bugs.webkit.org/show_bug.cgi?id=127461
2051
2052         Reviewed by Andreas Kling.
2053
2054         The "fixedVisibleContentRect" code path is only used by platforms
2055         which enabled TILED_BACKING_STORE, so to reduce confusion, surround
2056         this code with #if USE(TILED_BACKING_STORE).
2057
2058         * page/Frame.cpp:
2059         (WebCore::Frame::createView):
2060         * page/FrameView.cpp:
2061         * page/FrameView.h:
2062         * platform/ScrollView.cpp:
2063         (WebCore::ScrollView::unscaledVisibleContentSize):
2064         (WebCore::ScrollView::visibleContentRect):
2065         * platform/ScrollView.h:
2066         (WebCore::ScrollView::visibleSize):
2067
2068 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
2069
2070         ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
2071         https://bugs.webkit.org/show_bug.cgi?id=126987
2072
2073         Reviewed by Simon Fraser.
2074
2075         When "inherit" is specified and there is no parent, Length values have an "Auto" type
2076
2077         Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
2078
2079         * rendering/style/RenderStyle.cpp:
2080         (WebCore::RenderStyle::setWordSpacing):
2081
2082 2014-01-22  Samuel White  <samuel_white@apple.com>
2083
2084         AX: Can't always increment web sliders.
2085         https://bugs.webkit.org/show_bug.cgi?id=127451
2086
2087         Reviewed by Chris Fleizach.
2088
2089         Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
2090
2091         Test: accessibility/range-alter-by-percent.html
2092
2093         * accessibility/AccessibilityNodeObject.cpp:
2094         (WebCore::AccessibilityNodeObject::changeValueByPercent):
2095
2096 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
2097
2098         Remove CSS3_TEXT_DECORATION define
2099         https://bugs.webkit.org/show_bug.cgi?id=127333
2100
2101         Reviewed by Simon Fraser.
2102
2103         This is required for unprefixing the text-decoration-* CSS properties.
2104
2105         No new tests are necessary becase the flag was already on by default.
2106
2107         * Configurations/FeatureDefines.xcconfig:
2108         * css/CSSComputedStyleDeclaration.cpp:
2109         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
2110         (WebCore::ComputedStyleExtractor::propertyValue):
2111         * css/CSSParser.cpp:
2112         (WebCore::isColorPropertyID):
2113         (WebCore::CSSParser::parseValue):
2114         (WebCore::CSSParser::addTextDecorationProperty):
2115         (WebCore::CSSParser::parseTextUnderlinePosition):
2116         * css/CSSParser.h:
2117         * css/CSSPrimitiveValueMappings.h:
2118         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
2119         * css/CSSPropertyNames.in:
2120         * css/CSSValueKeywords.in:
2121         * css/DeprecatedStyleBuilder.cpp:
2122         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2123         * css/StylePropertyShorthand.cpp:
2124         (WebCore::webkitTextDecorationShorthand):
2125         (WebCore::shorthandForProperty):
2126         (WebCore::matchingShorthandsForLonghand):
2127         * css/StylePropertyShorthand.h:
2128         * css/StyleResolver.cpp:
2129         (WebCore::shouldApplyPropertyInParseOrder):
2130         (WebCore::isValidVisitedLinkProperty):
2131         (WebCore::StyleResolver::applyProperty):
2132         * platform/graphics/GraphicsContext.h:
2133         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2134         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2135         * platform/graphics/cg/GraphicsContextCG.cpp:
2136         (WebCore::GraphicsContext::platformInit):
2137         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2138         (WebCore::createPen):
2139         * rendering/InlineFlowBox.cpp:
2140         (WebCore::InlineFlowBox::computeMaxLogicalTop):
2141         * rendering/InlineFlowBox.h:
2142         * rendering/InlineTextBox.cpp:
2143         (WebCore::textDecorationStyleToStrokeStyle):
2144         (WebCore::boundingBoxForAllActiveDecorations):
2145         (WebCore::InlineTextBox::paintDecoration):
2146         * rendering/RenderObject.cpp:
2147         (WebCore::decorationColor):
2148         * rendering/RootInlineBox.cpp:
2149         (WebCore::RootInlineBox::maxLogicalTop):
2150         * rendering/RootInlineBox.h:
2151         * rendering/style/RenderStyle.cpp:
2152         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
2153         (WebCore::RenderStyle::colorIncludingFallback):
2154         (WebCore::RenderStyle::visitedDependentColor):
2155         * rendering/style/RenderStyle.h:
2156         * rendering/style/RenderStyleConstants.h:
2157         * rendering/style/StyleRareInheritedData.cpp:
2158         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2159         (WebCore::StyleRareInheritedData::operator==):
2160         * rendering/style/StyleRareInheritedData.h:
2161         * rendering/style/StyleRareNonInheritedData.cpp:
2162         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2163         (WebCore::StyleRareNonInheritedData::operator==):
2164         * rendering/style/StyleRareNonInheritedData.h:
2165
2166 2014-01-22  Chris Fleizach  <cfleizach@apple.com>
2167
2168         AX: Do not return an accessible name for an object just because it has tabindex=0
2169         https://bugs.webkit.org/show_bug.cgi?id=126914
2170
2171         Reviewed by Mario Sanchez Prada.
2172
2173         WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
2174         This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
2175         speak all the text underneath any type of group.
2176
2177         I think we need to revert this behavior and follow the ARIA spec more closely.
2178
2179         Test: accessibility/aria-describedby-ensures-visibility.html
2180
2181         * accessibility/AccessibilityNodeObject.cpp:
2182         (WebCore::AccessibilityNodeObject::visibleText):
2183         (WebCore::AccessibilityNodeObject::title):
2184
2185 2014-01-22  Brady Eidson  <beidson@apple.com>
2186
2187         The IDB backing store get() method shouldn't call IDB callbacks directly
2188         https://bugs.webkit.org/show_bug.cgi?id=127453
2189
2190         Reviewed by Beth Dakin.
2191
2192         * Modules/indexeddb/IDBServerConnection.h:
2193         (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
2194           possible results of a get() call.
2195
2196         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2197         (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
2198           Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
2199         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2200
2201         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2202         (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
2203           make the appropriate IDBCallback.
2204         * Modules/indexeddb/IDBTransactionBackendOperations.h:
2205
2206 2014-01-22  Dean Jackson  <dino@apple.com>
2207
2208         Unreviewed attempt to fix 32-bit builds.
2209
2210         Use long long rather than GC3Dintptr.
2211
2212         * html/canvas/ANGLEInstancedArrays.cpp:
2213         (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
2214         * html/canvas/ANGLEInstancedArrays.h:
2215         * html/canvas/WebGLRenderingContext.cpp:
2216         (WebCore::WebGLRenderingContext::drawElementsInstanced):
2217         * html/canvas/WebGLRenderingContext.h:
2218
2219 2014-01-21  Brady Eidson  <beidson@apple.com>
2220
2221         IDB: "Put" support
2222         <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
2223
2224         Reviewed by Alexey Proskuryakov.
2225
2226         Add persistent encode/decode for storage to the database:
2227         * Modules/indexeddb/IDBKey.cpp:
2228         (WebCore::IDBKey::encode):
2229         (WebCore::IDBKey::decode):
2230         * Modules/indexeddb/IDBKey.h:
2231
2232         Add a data class to represent IDBKey suitable for crossing IPC:
2233         * Modules/indexeddb/IDBKeyData.cpp: Added.
2234         (WebCore::IDBKeyData::IDBKeyData):
2235         (WebCore::IDBKeyData::maybeCreateIDBKey):
2236         (WebCore::IDBKeyData::isolatedCopy):
2237         * Modules/indexeddb/IDBKeyData.h: Added.
2238         (WebCore::IDBKeyData::IDBKeyData):
2239
2240         * platform/CrossThreadCopier.cpp:
2241         (WebCore::IDBKeyData>::copy):
2242         * platform/CrossThreadCopier.h:
2243
2244         * WebCore.exp.in:
2245         * WebCore.xcodeproj/project.pbxproj:
2246
2247 2014-01-22  Dean Jackson  <dino@apple.com>
2248
2249         [WebGL] Implement ANGLE_instanced_arrays
2250         https://bugs.webkit.org/show_bug.cgi?id=127257
2251
2252         Reviewed by Brent Fulgham.
2253
2254         Implement the instanced drawing WebGL extension,
2255         ANGLE_instanced_arrays. This is currently Mac-only,
2256         but should be portable to other platforms if their
2257         OpenGL exposes the functions. It's also done in a way
2258         that will make exposing it to WebGL2 simple.
2259
2260         Test: fast/canvas/webgl/angle-instanced-arrays.html
2261
2262         * CMakeLists.txt:
2263         * DerivedSources.cpp:
2264         * DerivedSources.make:
2265         * GNUmakefile.list.am:
2266         * WebCore.vcxproj/WebCore.vcxproj:
2267         * WebCore.vcxproj/WebCore.vcxproj.filters:
2268         * WebCore.xcodeproj/project.pbxproj:
2269         Add the new files to all the build systems.
2270
2271         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2272         (WebCore::toJS): Link JS side to C++ side.
2273
2274         * html/canvas/ANGLEInstancedArrays.cpp: Added.
2275         (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
2276         * html/canvas/ANGLEInstancedArrays.h: Added.
2277         * html/canvas/ANGLEInstancedArrays.idl: Added.
2278         New boilerplate files that expose the extension methods.
2279
2280         * html/canvas/WebGLExtension.h: New extension enum.
2281
2282         * html/canvas/WebGLRenderingContext.cpp:
2283         (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
2284         parameter representing the number of instance primitives we are asked
2285         to draw. Use that for the draw count if looking at an instanced attribute.
2286         Also make sure we see at least one non-instanced attribute.
2287         (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
2288         be used from either drawArrays or drawArraysInstanced.
2289         (WebCore::WebGLRenderingContext::drawArrays):
2290         (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
2291         used by the instanced and non-instanced versions.
2292         (WebCore::WebGLRenderingContext::drawElements):
2293         (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
2294         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
2295         (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
2296         attribute and return the value we kept in the state.
2297         (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
2298         (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
2299         (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
2300
2301         * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
2302
2303         * html/canvas/WebGLVertexArrayObjectOES.cpp:
2304         (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
2305         divisor if we set it.
2306         * html/canvas/WebGLVertexArrayObjectOES.h:
2307         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
2308
2309         * platform/graphics/GraphicsContext3D.h: New enum.
2310         * platform/graphics/mac/GraphicsContext3DMac.mm:
2311         (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
2312         (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
2313         (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
2314
2315         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
2316         for non-mac platforms.
2317
2318         * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
2319         functions.
2320
2321 2014-01-22  Zalan Bujtas  <zalan@apple.com>
2322
2323         [CSS Shapes] shape-inside rectangle layout can fail
2324         https://bugs.webkit.org/show_bug.cgi?id=124784
2325
2326         Reviewed by Darin Adler.
2327
2328         Early subpixel rounding/flooring/ceiling can have unwanted
2329         side effect on the final pixel value. Delay pixel
2330         conversions as much as possible.
2331
2332         Existing test is changed to reflect subpixel functionality.
2333
2334         * rendering/shapes/RectangleShape.cpp:
2335         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
2336
2337 2014-01-22  Jochen Eisinger  <jochen@chromium.org>
2338
2339         Add protocolIsInHTTPFamily for strings and use it where appropriate
2340         https://bugs.webkit.org/show_bug.cgi?id=127336
2341
2342         Reviewed by Alexey Proskuryakov.
2343
2344         * html/HTMLAnchorElement.cpp:
2345         (WebCore::HTMLAnchorElement::parseAttribute):
2346         * page/ContentSecurityPolicy.cpp:
2347         (WebCore::CSPSource::schemeMatches):
2348         * page/SecurityPolicy.cpp:
2349         (WebCore::SecurityPolicy::generateReferrerHeader):
2350         * platform/URL.cpp:
2351         (WebCore::protocolIsInHTTPFamily):
2352         * platform/URL.h:
2353
2354 2014-01-22  Zalan Bujtas  <zalan@apple.com>
2355
2356         Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
2357         https://bugs.webkit.org/show_bug.cgi?id=127404
2358
2359         Reviewed by Antti Koivisto.
2360
2361         In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
2362         round line positions to CSS (integral) position similarly to InlineFlowBox.
2363
2364         Existing tests cover it.
2365
2366         * rendering/SimpleLineLayoutResolver.h:
2367         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
2368         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
2369
2370 2014-01-22  Joseph Pecoraro  <pecoraro@apple.com>
2371
2372         Unreviewed rollout of r162534, this caused inspector test failures.
2373
2374         * bindings/js/PageScriptDebugServer.cpp:
2375         (WebCore::PageScriptDebugServer::addListener):
2376         (WebCore::PageScriptDebugServer::removeListener):
2377         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
2378         (WebCore::PageScriptDebugServer::didRemoveLastListener):
2379         * bindings/js/PageScriptDebugServer.h:
2380         * bindings/js/ScriptDebugServer.cpp:
2381         (WebCore::ScriptDebugServer::ScriptDebugServer):
2382         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
2383         (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
2384         * bindings/js/ScriptDebugServer.h:
2385         * bindings/js/WorkerScriptDebugServer.cpp:
2386         (WebCore::WorkerScriptDebugServer::addListener):
2387         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
2388         (WebCore::WorkerScriptDebugServer::removeListener):
2389         * inspector/InspectorProfilerAgent.cpp:
2390
2391 2014-01-22  peavo@outlook.com  <peavo@outlook.com>
2392
2393         Crashes in setTextForIterator
2394         https://bugs.webkit.org/show_bug.cgi?id=127424
2395
2396         Reviewed by Brent Fulgham.
2397
2398         * platform/text/icu/UTextProviderLatin1.cpp:
2399         (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
2400         (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
2401         (WebCore::openLatin1UTextProvider): Ditto.
2402
2403 2014-01-22  Jer Noble  <jer.noble@apple.com>
2404
2405         [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
2406         https://bugs.webkit.org/show_bug.cgi?id=127430
2407
2408         Reviewed by Eric Carlson.
2409
2410         When other registered media engines cannot load a URL, the engine selection
2411         will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
2412         the URL. Instead of ASSERTing here, simply reject the URL by setting the
2413         network state to FormatError.
2414
2415         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2416         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
2417
2418 2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2419
2420         [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
2421         https://bugs.webkit.org/show_bug.cgi?id=127119
2422
2423         Reviewed by Mario Sanchez Prada.
2424
2425         At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
2426         ACCESSIBILITY is not enabled, fixing that.
2427         Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
2428
2429         * accessibility/AXObjectCache.h:
2430         (WebCore::AXObjectCache::AXObjectCache):
2431         * accessibility/AccessibilityObject.h:
2432
2433 2014-01-22  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2434
2435         Refactor calculation of hasRx and hasRy values in SVGPathData
2436         https://bugs.webkit.org/show_bug.cgi?id=127423
2437
2438         Reviewed by Darin Adler.
2439
2440         This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
2441
2442         * rendering/svg/SVGPathData.cpp:
2443         (WebCore::updatePathFromRectElement):
2444
2445 2014-01-21  Joseph Pecoraro  <pecoraro@apple.com>
2446
2447         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
2448         https://bugs.webkit.org/show_bug.cgi?id=127409
2449
2450         Reviewed by Timothy Hatcher.
2451
2452         * bindings/js/ScriptDebugServer.h:
2453         * bindings/js/ScriptDebugServer.cpp:
2454         (WebCore::ScriptDebugServer::ScriptDebugServer):
2455         Remove m_recompileTimer and the recompile soon function.
2456         We can just recompile immediately in all existing cases.
2457
2458         * bindings/js/PageScriptDebugServer.h:
2459         * bindings/js/PageScriptDebugServer.cpp:
2460         (WebCore::PageScriptDebugServer::addListener):
2461         (WebCore::PageScriptDebugServer::removeListener):
2462         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
2463         (WebCore::PageScriptDebugServer::didAddFirstListener):
2464         (WebCore::PageScriptDebugServer::didRemoveLastListener):
2465         Add a "didAddFirstListener" to match "didRemoveLastListener".
2466         Only recompile functions when we attach the debugger and when
2467         we detach the last listener.
2468
2469         * bindings/js/WorkerScriptDebugServer.cpp:
2470         (WebCore::WorkerScriptDebugServer::addListener):
2471         (WebCore::WorkerScriptDebugServer::removeListener):
2472         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
2473         Same thing. Also rearrange the functions to read better.
2474
2475         * inspector/InspectorProfilerAgent.cpp:
2476         Use the direct recompile function instead of the removed "soon" version.
2477
2478 2014-01-22  Robert Sipka  <sipka@inf.u-szeged.hu>
2479
2480         [curl] Improve detecting and handling of SSL client certificate
2481         https://bugs.webkit.org/show_bug.cgi?id=125006
2482
2483         Reviewed by Brent Fulgham.
2484
2485         Add client certificate handling.
2486
2487         * platform/network/ResourceHandle.h:
2488         * platform/network/curl/ResourceError.h:
2489         (WebCore::ResourceError::hasSSLConnectError):
2490         * platform/network/curl/ResourceHandleCurl.cpp:
2491         (WebCore::ResourceHandle::setClientCertificateInfo):
2492         * platform/network/curl/ResourceHandleManager.cpp:
2493         (WebCore::ResourceHandleManager::initializeHandle):
2494         * platform/network/curl/SSLHandle.cpp:
2495         (WebCore::addAllowedClientCertificate):
2496         (WebCore::setSSLClientCertificate):
2497         * platform/network/curl/SSLHandle.h:
2498
2499 2014-01-22  Mihai Maerean  <mmaerean@adobe.com>
2500
2501         [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
2502         https://bugs.webkit.org/show_bug.cgi?id=127343
2503
2504         Reviewed by Sam Weinig.
2505
2506         RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
2507         contexts which create layers.
2508
2509         No new tests, no functional change.
2510
2511         * rendering/RenderFlowThread.cpp:
2512         (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
2513         * rendering/RenderLayer.cpp:
2514         (WebCore::RenderLayer::calculateClipRects):
2515         * rendering/RenderLayerBacking.cpp:
2516         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
2517         * rendering/RenderLayerCompositor.cpp:
2518         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
2519         * rendering/RenderNamedFlowFragment.h:
2520
2521 2014-01-22  Antti Koivisto  <antti@apple.com>
2522
2523         Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
2524         https://bugs.webkit.org/show_bug.cgi?id=127426
2525
2526         Reviewed by Anders Carlsson.
2527         
2528         * rendering/RenderLayerCompositor.cpp:
2529         (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
2530         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2531
2532             Factor scroll layer position update to a function.
2533
2534         (WebCore::RenderLayerCompositor::ensureRootLayer):
2535         
2536             Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
2537             directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
2538
2539         * rendering/RenderLayerCompositor.h:
2540
2541 2014-01-22  Mihai Tica  <mitica@adobe.com>
2542
2543         [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
2544         https://bugs.webkit.org/show_bug.cgi?id=127350
2545
2546         Reviewed by Dirk Schulze.
2547
2548         The graphics context of the SVG inherits the blend mode set
2549         on the background layer. Fix consists in drawing the SVG
2550         in a transparency layer.
2551
2552         Test: css3/compositing/background-blend-mode-svg.html
2553
2554         * svg/graphics/SVGImage.cpp:
2555         (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
2556
2557 2014-01-22  Antti Koivisto  <antti@apple.com>
2558
2559         Update overlay scrollbars in single pass
2560         https://bugs.webkit.org/show_bug.cgi?id=127289
2561
2562         Reviewed by Anders Carlsson.
2563
2564         * platform/ScrollView.cpp:
2565         (WebCore::ScrollView::updateScrollbars):
2566         
2567             Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
2568
2569 2014-01-22  Mihnea Ovidenie  <mihnea@adobe.com>
2570
2571         [CSSRegions] Incorrect layout of a region pseudo children
2572         https://bugs.webkit.org/show_bug.cgi?id=126146
2573
2574         Reviewed by David Hyatt.
2575
2576         Test: fast/regions/collapse-anonymous-region.html
2577
2578         A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
2579         block created to fragment the named flow content inside the region. We have to prevent
2580         the behaviour of anonymous children collapsing for this block to make sure that the
2581         region element children are still laid out properly when the region element becomes an ordinary
2582         element.
2583
2584         * rendering/RenderBlockFlow.h:
2585
2586 2014-01-21  Ryuan Choi  <ryuan.choi@samsung.com>
2587
2588         Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
2589         https://bugs.webkit.org/show_bug.cgi?id=127402
2590
2591         Reviewed by Anders Carlsson.
2592
2593         compositing/iframes/iframe-composited-scrolling.html is updated because
2594         there are no usages in WebCore.
2595
2596         * page/Settings.in:
2597
2598 2014-01-21  Alex Christensen  <achristensen@webkit.org>
2599
2600         Compile fix for using libsoup on Windows.
2601         https://bugs.webkit.org/show_bug.cgi?id=127377
2602
2603         Reviewed by Daniel Bates.
2604
2605         * platform/network/soup/ProxyResolverSoup.cpp:
2606         (soupProxyResolverWkSetProperty):
2607         (soupProxyResolverWkGetProperty):
2608         (soupProxyResolverWkGetProxyURISync):
2609         Replaced uint with unsigned.
2610
2611 2014-01-21  Daniel Bates  <dabates@apple.com>
2612
2613         Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
2614
2615         Following up after <http://trac.webkit.org/changeset/162473>, we should break up
2616         the assertion into two assertions as suggested by Darin Adler. Separating the single
2617         assertion into two assertions makes it straightforward to determine the conjunct that
2618         failed among other benefits.
2619
2620         * html/HTMLMediaElement.cpp:
2621         (WebCore::HTMLMediaElement::parseAttribute):
2622
2623 2014-01-21  Brady Eidson  <beidson@apple.com>
2624
2625         The IDB backing store put() method shouldn't call IDB callbacks directly
2626         https://bugs.webkit.org/show_bug.cgi?id=127399
2627
2628         Reviewed by Beth Dakin.
2629
2630         Refactor the put() callback to take a resulting key or an error.
2631         * Modules/indexeddb/IDBServerConnection.h:
2632
2633         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2634         (WebCore::PutOperation::perform): Call to the backing store, then perform the
2635           appropriate IDB callback whether a key or an error was returned.
2636         * Modules/indexeddb/IDBTransactionBackendOperations.h:
2637
2638         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2639         (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
2640           Instead, pass the resulting key/error back to the PutOperation.
2641         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2642
2643 2014-01-21  Jae Hyun Park  <jae.park@company100.net>
2644
2645         Use nullptr in HTMLCanvasElement
2646         https://bugs.webkit.org/show_bug.cgi?id=127388
2647
2648         Reviewed by Gyuyoung Kim.
2649
2650         * html/HTMLCanvasElement.cpp:
2651         (WebCore::HTMLCanvasElement::getContext):
2652         (WebCore::HTMLCanvasElement::drawingContext):
2653         (WebCore::HTMLCanvasElement::existingDrawingContext):
2654
2655 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
2656
2657         Assertion failure in Range::nodeWillBeRemoved
2658         https://bugs.webkit.org/show_bug.cgi?id=121694
2659
2660         Reviewed by Ryosuke Niwa.
2661
2662         Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
2663
2664         This patch fix an assertion failure. Range::nodeWillBeRemoved() might
2665         be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
2666         event handler calls removeChild(), for node being removed.
2667
2668         Test: fast/dom/Range/remove-twice-crash.html
2669
2670         * dom/ContainerNode.cpp:
2671         (WebCore::ContainerNode::willRemoveChild):
2672         * dom/ContainerNode.h:
2673
2674 2014-01-21  Tim Horton  <timothy_horton@apple.com>
2675
2676         REGRESSION (r161580): Some PDFs render outside their <img>
2677         https://bugs.webkit.org/show_bug.cgi?id=127381
2678         <rdar://problem/15872168>
2679
2680         Reviewed by Simon Fraser.
2681
2682         * platform/graphics/cg/PDFDocumentImage.cpp:
2683         (WebCore::transformContextForPainting):
2684         Only try to make the scale uniform if it isn't already, and use the minimum
2685         of the two original scales when doing so, so that it is absolutely certain
2686         to fit inside space allocated for the image during layout.
2687
2688 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
2689
2690         Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
2691         https://bugs.webkit.org/show_bug.cgi?id=127373
2692
2693         Reviewed by Beth Dakin.
2694
2695         Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
2696         move the #ifdef inside viewportConstrainedVisibleContentRect().
2697         
2698         The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
2699         which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
2700         visibleContentRect() (which is really the document bounds on iOS). This ensures that the
2701         fixed layers aren't clipped when zooming out.
2702
2703         * page/FrameView.cpp:
2704         (WebCore::FrameView::viewportConstrainedVisibleContentRect):
2705         * rendering/RenderBoxModelObject.cpp:
2706         (WebCore::RenderBoxModelObject::stickyPositionOffset):
2707         * rendering/RenderLayerBacking.cpp:
2708         (WebCore::RenderLayerBacking::updateCompositedBounds):
2709         * rendering/RenderLayerCompositor.cpp:
2710         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2711         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
2712         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
2713
2714 2014-01-21  Andy Estes  <aestes@apple.com>
2715
2716         [iOS] Allow all clients to link against WebCore
2717         https://bugs.webkit.org/show_bug.cgi?id=127372
2718         
2719         Reviewed by Dan Bernstein.
2720
2721         * Configurations/WebCore.xcconfig:
2722
2723 2014-01-21  Bear Travis  <betravis@adobe.com>
2724
2725         [CSS Shapes] Preserve box-shape order when serializing shape values
2726         https://bugs.webkit.org/show_bug.cgi?id=127200
2727
2728         Reviewed by Dirk Schulze.
2729
2730         Convert the parsed shape-box pair to a CSSValueList rather than directly
2731         adding the box value to BasicShape. The CSSValueList preserves the
2732         shape-box ordering, and cleans up a little bit of the code shared between
2733         clip and shape values.
2734
2735         Modifying existing parsing tests.
2736
2737         * css/CSSComputedStyleDeclaration.cpp:
2738         (WebCore::shapePropertyValue): Factor out code common to generating shape
2739         values.
2740         (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
2741         you have both a shape and a box.
2742         * css/CSSParser.cpp:
2743         (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
2744         paths and shape properties that parses the [basic-shape || box] syntax from
2745         the CSS Shapes spec.
2746         (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
2747         * css/DeprecatedStyleBuilder.cpp:
2748         (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
2749         * css/CSSValueList.h:
2750         (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
2751         * page/animation/CSSPropertyAnimation.cpp:
2752         (WebCore::blendFunc): Specify a box when blending.
2753         * rendering/style/ShapeValue.h:
2754         (WebCore::ShapeValue::createShapeValue): Add a box parameter.
2755         (WebCore::ShapeValue::ShapeValue): Ditto.
2756
2757 2014-01-21  Daniel Bates  <dabates@apple.com>
2758
2759         Fix the iOS Simulator release build
2760
2761         Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
2762         that the argument platformLayer is unused. The argument platformLayer
2763         is only used in the asserted condition, which isn't compiled in a
2764         release build; => the argument is unused in a release build.
2765
2766         * html/HTMLMediaElement.cpp:
2767         (WebCore::HTMLMediaElement::parseAttribute):
2768
2769 2014-01-21  Zoltan Horvath  <zoltan@webkit.org>
2770
2771         Since MidpointState is a class, it should behave like a class
2772         https://bugs.webkit.org/show_bug.cgi?id=127154
2773
2774         Reviewed by David Hyatt.
2775
2776         I modified MidpointState to behave like a class, updated the call sites also.
2777
2778         No new tests, no behavior change.
2779
2780         * platform/text/BidiResolver.h:
2781         (WebCore::MidpointState::reset):
2782         (WebCore::MidpointState::startIgnoringSpaces):
2783         (WebCore::MidpointState::stopIgnoringSpaces):
2784         (WebCore::MidpointState::midpoints):
2785         (WebCore::MidpointState::numMidpoints):
2786         (WebCore::MidpointState::currentMidpoint):
2787         (WebCore::MidpointState::incrementCurrentMidpoint):
2788         (WebCore::MidpointState::decreaseNumMidpoints):
2789         (WebCore::MidpointState::betweenMidpoints):
2790         (WebCore::MidpointState::setBetweenMidpoints):
2791         (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
2792         its private, we no longer need to discourage callers from using it.
2793         * rendering/InlineIterator.h:
2794         (WebCore::IsolateTracker::addFakeRunIfNecessary):
2795         * rendering/RenderBlockLineLayout.cpp:
2796         (WebCore::RenderBlockFlow::appendRunsForObject):
2797         (WebCore::constructBidiRunsForLine):
2798         * rendering/line/BreakingContextInlineHeaders.h:
2799         (WebCore::checkMidpoints):
2800         * rendering/line/TrailingObjects.cpp:
2801         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
2802
2803 2014-01-21  Commit Queue  <commit-queue@webkit.org>
2804
2805         Unreviewed, rolling out r162452.
2806         http://trac.webkit.org/changeset/162452
2807         https://bugs.webkit.org/show_bug.cgi?id=127366
2808
2809         broke a few tests on all Mac WebKit1 bots (Requested by
2810         thorton on #webkit).
2811
2812         * WebCore.exp.in:
2813         * page/FocusController.cpp:
2814         (WebCore::FocusController::FocusController):
2815         (WebCore::FocusController::setFocused):
2816         (WebCore::FocusController::setActive):
2817         (WebCore::FocusController::setContentIsVisible):
2818         * page/FocusController.h:
2819         (WebCore::FocusController::isActive):
2820         (WebCore::FocusController::isFocused):
2821         * page/Page.cpp:
2822         (WebCore::Page::Page):
2823         (WebCore::Page::setIsInWindow):
2824         (WebCore::Page::setIsVisuallyIdle):
2825         (WebCore::Page::setIsVisible):
2826         (WebCore::Page::visibilityState):
2827         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
2828         * page/Page.h:
2829         (WebCore::Page::isVisible):
2830         (WebCore::Page::isInWindow):
2831
2832 2014-01-21  Chris Fleizach  <cfleizach@apple.com>
2833
2834         AX: Mac: Expose the visible text of a password field to AX
2835         https://bugs.webkit.org/show_bug.cgi?id=127353
2836
2837         Reviewed by Brent Fulgham.
2838
2839         The Mac platform should now expose the rendered value of password fields through AX.
2840
2841         Test: accessibility/password-field-value.html
2842
2843         * accessibility/AccessibilityRenderObject.cpp:
2844         (WebCore::AccessibilityRenderObject::textLength):
2845         (WebCore::AccessibilityRenderObject::passwordFieldValue):
2846
2847 2014-01-21  Robert Sipka  <sipka@inf.u-szeged.hu>
2848
2849         Support SSL error handling in case of synchronous job.
2850         https://bugs.webkit.org/show_bug.cgi?id=125301
2851
2852         Reviewed by Brent Fulgham.
2853
2854         Set ssl error informations for the users.
2855
2856         * platform/network/curl/ResourceHandleManager.cpp:
2857         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
2858
2859 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
2860
2861         Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
2862         https://bugs.webkit.org/show_bug.cgi?id=127360
2863
2864         Reviewed by Andy Estes.
2865         
2866         MobileSafari inappropriately calls these WebCore functions directly,
2867         so export them.
2868
2869         * WebCore.exp.in:
2870
2871 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
2872
2873         Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
2874         https://bugs.webkit.org/show_bug.cgi?id=127362
2875
2876         Reviewed by Dave Hyatt.
2877
2878         Various platforms customize the rect used to layout position:fixed elements,
2879         and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
2880         ways.
2881         
2882         Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
2883         and moving the platform hacks into it.
2884
2885         * rendering/RenderBox.cpp:
2886         (WebCore::RenderBox::availableLogicalHeightUsing):
2887         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2888         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
2889         * rendering/RenderView.cpp:
2890         (WebCore::RenderView::clientLogicalWidthForFixedPosition):
2891         (WebCore::RenderView::clientLogicalHeightForFixedPosition):
2892         * rendering/RenderView.h:
2893
2894 2014-01-21  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2895
2896         ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
2897         <https://webkit.org/b/108184>
2898
2899         Reviewed by Philip Rogers.
2900
2901         In the case a SMILElement timing had a syncbase dependency on an indefinite value
2902         the assert were raised. The assert has been removed and a check has been added
2903         instead that prevents the addition of indefinite times to the time list.
2904
2905         Test: svg/animations/smil-syncbase-self-dependency.svg
2906
2907         * svg/animation/SVGSMILElement.cpp:
2908         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
2909           ASSERT removed.
2910
2911 2014-01-21  Tim Horton  <timothy_horton@apple.com>
2912
2913         Address late review naming comments after r162453.
2914
2915         * WebCore.xcodeproj/project.pbxproj:
2916         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2917         * platform/graphics/mac/CALayerWebAdditions.h: Removed.
2918         * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
2919         * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
2920         * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
2921         (-[CALayer web_disableAllActions]):
2922
2923 2014-01-21  Tim Horton  <timothy_horton@apple.com>
2924
2925         Keep CALayer implicit animation disabling code in a single place
2926         https://bugs.webkit.org/show_bug.cgi?id=127355
2927
2928         Reviewed by Simon Fraser.
2929
2930         * WebCore.xcodeproj/project.pbxproj:
2931         Add CALayerWebAdditions.{h,mm}.
2932
2933         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2934         (PlatformCALayerMac::commonInit):
2935         Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
2936
2937         * platform/graphics/mac/CALayerWebAdditions.h: Added.
2938         * platform/graphics/mac/CALayerWebAdditions.mm: Added.
2939         (-[CALayer web_disableAllActions]):
2940         Added. Disable all implicit actions on the layer.
2941
2942 2014-01-21  Gavin Barraclough  <barraclough@apple.com>
2943
2944         Change Page, FocusController to use ViewState
2945         https://bugs.webkit.org/show_bug.cgi?id=126533
2946
2947         Reviewed by Tim Horton.
2948
2949         These classes currently maintain a set of separate fields to represent the view state;
2950         combine these into a single field, and allow WebPage to send the combined update rather
2951         than individual changes.
2952
2953         Maintain existing interface for WebKit1 clients.
2954
2955         * WebCore.exp.in:
2956             - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
2957         * page/FocusController.cpp:
2958         (WebCore::FocusController::FocusController):
2959             - Initialize combined m_viewState.
2960         (WebCore::FocusController::setFocused):
2961             - Calls setViewState.
2962         (WebCore::FocusController::setFocusedInternal):
2963             - setFocused -> setFocusedInternal.
2964         (WebCore::FocusController::setViewState):
2965             - Added, update all ViewState flags.
2966         (WebCore::FocusController::setActive):
2967             - Calls setViewState.
2968         (WebCore::FocusController::setActiveInternal):
2969             - setActive -> setActiveInternal.
2970         (WebCore::FocusController::setContentIsVisible):
2971             - Calls setViewState.
2972         (WebCore::FocusController::setContentIsVisibleInternal):
2973             - setContentIsVisible -> setContentIsVisibleInternal.
2974         * page/FocusController.h:
2975         (WebCore::FocusController::isActive):
2976         (WebCore::FocusController::isFocused):
2977         (WebCore::FocusController::contentIsVisible):
2978             - Implemented in terms of ViewState.
2979         * page/Page.cpp:
2980         (WebCore::Page::Page):
2981             - Initialize using PageInitialViewState.
2982         (WebCore::Page::setIsInWindow):
2983             - Calls setViewState.
2984         (WebCore::Page::setIsInWindowInternal):
2985             - setIsInWindow -> setIsInWindowInternal.
2986         (WebCore::Page::setIsVisuallyIdleInternal):
2987             - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
2988         (WebCore::Page::setViewState):
2989             - Added, update all ViewState flags, including FocusController.
2990         (WebCore::Page::setIsVisible):
2991             - Calls setViewState.
2992         (WebCore::Page::setIsVisibleInternal):
2993             - setIsVisible -> setIsVisibleInternal.
2994         (WebCore::Page::visibilityState):
2995             - m_isVisible -> isVisible()
2996         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
2997             - m_isVisible -> isVisible()
2998         * page/Page.h:
2999         (WebCore::Page::isVisible):
3000         (WebCore::Page::isInWindow):
3001             - Implemented in terms of ViewState.
3002         (WebCore::Page::scriptedAnimationsSuspended):
3003             - Combined member fields into ViewState::Flags.
3004
3005 2014-01-21  Lauro Neto  <lauro.neto@openbossa.org>
3006
3007         Remove PLATFORM(NIX) from WebCore
3008         https://bugs.webkit.org/show_bug.cgi?id=127299
3009
3010         Reviewed by Anders Carlsson.
3011
3012         * editing/Editor.cpp:
3013         (WebCore::Editor::cut):
3014         (WebCore::Editor::copy):
3015         (WebCore::Editor::copyImage):
3016         * editing/Editor.h:
3017         * html/HTMLCanvasElement.h:
3018         * loader/EmptyClients.h:
3019         * loader/FrameLoader.cpp:
3020         (WebCore::FrameLoader::defaultObjectContentType):
3021         * page/ChromeClient.h:
3022         * page/DragController.cpp:
3023         (WebCore::DragController::startDrag):
3024         * platform/Cursor.h:
3025         * platform/DragData.h:
3026         * platform/DragImage.h:
3027         * platform/FileSystem.h:
3028         * platform/LocalizedStrings.h:
3029         * platform/Widget.h:
3030         * platform/audio/FFTFrame.h:
3031         * platform/audio/HRTFElevation.cpp:
3032         * platform/cairo/WidgetBackingStore.h:
3033         * platform/graphics/ANGLEWebKitBridge.h:
3034         * platform/graphics/FontPlatformData.h:
3035         * platform/graphics/GLContext.cpp:
3036         (WebCore::GLContext::createContextForWindow):
3037         * platform/graphics/GLContext.h:
3038         * platform/graphics/GraphicsContext3D.h:
3039         * platform/graphics/GraphicsContext3DPrivate.cpp:
3040         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
3041         * platform/graphics/OpenGLESShims.h:
3042         * platform/graphics/OpenGLShims.cpp:
3043         (WebCore::getProcAddress):
3044         * platform/graphics/OpenGLShims.h:
3045         * platform/graphics/PlatformLayer.h:
3046         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3047         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3048         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
3049         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
3050         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
3051         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
3052         (WebCore::Extensions3DOpenGL::supportsExtension):
3053         * platform/graphics/opengl/Extensions3DOpenGL.h:
3054         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3055         * platform/graphics/opengl/Extensions3DOpenGLES.h:
3056         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3057         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3058         (WebCore::GraphicsContext3D::reshape):
3059         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
3060         * platform/graphics/texmap/TextureMapper.h:
3061         * platform/network/ResourceHandle.h:
3062         * plugins/PluginPackage.cpp:
3063         * plugins/PluginView.cpp:
3064         (WebCore::PluginView::PluginView):
3065         * plugins/PluginView.h:
3066         * plugins/PluginViewNone.cpp:
3067         * rendering/SimpleLineLayout.cpp:
3068         (WebCore::SimpleLineLayout::canUseFor):
3069
3070 2014-01-21  Eric Carlson  <eric.carlson@apple.com>
3071
3072         Add &lrm; &rlm; and &nbsp; to WebVTT parser
3073         https://bugs.webkit.org/show_bug.cgi?id=85112
3074
3075         Reviewed by Jer Noble.
3076
3077         No new tests, track-webvtt-tc022-entities.html was updated to test this.
3078
3079         * html/track/WebVTTTokenizer.cpp:
3080         (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
3081
3082 2014-01-21  Commit Queue  <commit-queue@webkit.org>
3083
3084         Unreviewed, rolling out r162354.
3085         http://trac.webkit.org/changeset/162354
3086         https://bugs.webkit.org/show_bug.cgi?id=127354
3087
3088         Appears to have broken accessibility in a non-trivial way
3089         (Requested by ap on #webkit).
3090
3091         * platform/ScrollView.cpp:
3092         (WebCore::ScrollView::updateScrollbars):
3093
3094 2014-01-21  Commit Queue  <commit-queue@webkit.org>
3095
3096         Unreviewed, rolling out r162445.
3097         http://trac.webkit.org/changeset/162445
3098         https://bugs.webkit.org/show_bug.cgi?id=127351
3099
3100         It broke the 32 bit GTK build (Requested by Ossy on #webkit).
3101
3102         * rendering/style/StyleRareInheritedData.cpp:
3103
3104 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
3105
3106         Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
3107         https://bugs.webkit.org/show_bug.cgi?id=127346
3108
3109         Efl build fix.
3110
3111         Reviewed by Csaba Osztrogonác.
3112
3113         * rendering/style/StyleRareInheritedData.cpp:
3114
3115 2014-01-21  Antti Koivisto  <antti@apple.com>
3116
3117         Delay initial layer flush during loading on all platforms
3118         https://bugs.webkit.org/show_bug.cgi?id=127347
3119
3120         Reviewed by Andreas Kling.
3121
3122         To reduce unnecessary repaints enable the same behaviour as iOS already has.
3123
3124         * rendering/RenderLayerCompositor.cpp:
3125         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3126         
3127             Set the initial state of m_layerFlushThrottlingEnabled correctly.
3128
3129         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
3130         (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
3131         * rendering/RenderLayerCompositor.h:
3132         
3133             Enable initial layer flush delay on all platforms.
3134
3135 2014-01-21  Mihai Tica  <mitica@adobe.com>
3136
3137         If you set a tiled cross-faded-image or a tiled gradient as
3138         a background layer, -webkit-background-blend-mode doesn't work.
3139         The problem consists in the blendMode parameter not being set
3140         for these specific drawing paths.
3141
3142         https://bugs.webkit.org/show_bug.cgi?id=126888
3143         Reviewed by Dirk Schulze.
3144
3145         Test: css3/compositing/background-blend-mode-tiled-layers.html
3146
3147         * platform/graphics/CrossfadeGeneratedImage.cpp:
3148         (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
3149         * platform/graphics/GradientImage.cpp:
3150         (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
3151         * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
3152         * platform/graphics/cairo/ImageBufferCairo.cpp:
3153         (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
3154         * platform/graphics/cg/ImageBufferCG.cpp:
3155         (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
3156         * platform/graphics/wince/ImageBufferWinCE.cpp:
3157         (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.
3158
3159 2014-01-21  Gurpreet Kaur  <k.gurpreet@samsung.com>
3160
3161         The WebCore.vcxproj.filters doesnot apply
3162         https://bugs.webkit.org/show_bug.cgi?id=127338
3163
3164         Reviewed by Csaba Osztrogonác.
3165
3166         * WebCore.vcxproj/WebCore.vcxproj.filters:
3167         Modified the WebCore.vcxproj.filters so that it is applied when loading
3168         WebCore.vcxproj file.
3169
3170 2014-01-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3171
3172         Fix SVG animations which set rx or ry attributes
3173         https://bugs.webkit.org/show_bug.cgi?id=127337
3174
3175         Reviewed by Dirk Schulze.
3176
3177         Test: svg/stroke/animated-non-scaling-rxry.html
3178
3179         Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
3180
3181         * rendering/svg/RenderSVGRect.cpp:
3182         (WebCore::RenderSVGRect::updateShapeFromElement):
3183         * rendering/svg/SVGPathData.cpp:
3184         (WebCore::updatePathFromRectElement):
3185
3186 2014-01-21  Krzysztof Czech  <k.czech@samsung.com>
3187
3188         [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
3189         https://bugs.webkit.org/show_bug.cgi?id=127291
3190
3191         Reviewed by Mario Sanchez Prada.
3192
3193         Test: accessibility/aria-flowto.html
3194
3195         Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
3196         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
3197
3198         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3199         (setAtkRelationSetFromCoreObject):
3200
3201 2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
3202
3203         [CMAKE] Remove Nix from CMake scripts
3204         https://bugs.webkit.org/show_bug.cgi?id=127264
3205
3206         Reviewed by Anders Carlsson.
3207
3208         * CMakeLists.txt:
3209
3210 2014-01-20  Anders Carlsson  <andersca@apple.com>
3211
3212         Remove an unused PageGroup function
3213         https://bugs.webkit.org/show_bug.cgi?id=127327
3214
3215         Reviewed by Andreas Kling.
3216
3217         * WebCore.exp.in:
3218         * page/PageGroup.cpp:
3219         * page/PageGroup.h:
3220
3221 2014-01-20  Anders Carlsson  <andersca@apple.com>
3222
3223         Move user style sheet handling to UserContentController
3224         https://bugs.webkit.org/show_bug.cgi?id=127322
3225         <rdar://problem/15861296>
3226
3227         Reviewed by Andreas Kling.
3228
3229         * dom/DocumentStyleSheetCollection.cpp:
3230         (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
3231         * page/PageGroup.cpp:
3232         (WebCore::PageGroup::addUserStyleSheetToWorld):
3233         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
3234         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
3235         (WebCore::PageGroup::removeAllUserContent):
3236         * page/PageGroup.h:
3237         * page/UserContentController.cpp:
3238         (WebCore::UserContentController::addUserStyleSheet):
3239         (WebCore::UserContentController::removeUserStyleSheet):
3240         (WebCore::UserContentController::removeUserStyleSheets):
3241         (WebCore::UserContentController::removeAllUserContent):
3242         (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
3243         * page/UserContentController.h:
3244         (WebCore::UserContentController::userStyleSheets):
3245
3246 2014-01-20  Benjamin Poulain  <benjamin@webkit.org>
3247
3248         Add a nicer way to iterate over all the attributes of an element
3249         https://bugs.webkit.org/show_bug.cgi?id=127266
3250
3251         Reviewed by Geoffrey Garen.
3252
3253         When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
3254         accessor:
3255         -If the element data is unique, the length and data comes from the attribute Vector.
3256         -If the element data is shared, the data comes from the tail of elementData itself.
3257
3258         The choice was done for every access, which caused the assembly to be a little
3259         hard to follow.
3260         This patch unify the data access by doing everything as a array pointer with offset (getting
3261         that data from Vector when necessary).
3262
3263         To make it easier to do the right thing, a new iterator was added so that range-based loops
3264         can replace all the faulty cases.
3265
3266         * css/SelectorChecker.cpp:
3267         (WebCore::anyAttributeMatches):
3268         * css/SelectorChecker.h:
3269         (WebCore::SelectorChecker::checkExactAttribute):
3270         * dom/DatasetDOMStringMap.cpp:
3271         (WebCore::DatasetDOMStringMap::getNames):
3272         (WebCore::DatasetDOMStringMap::item):
3273         (WebCore::DatasetDOMStringMap::contains):
3274         * dom/Element.cpp:
3275         (WebCore::Element::normalizeAttributes):
3276         (WebCore::Element::detachAllAttrNodesFromElement):
3277         (WebCore::Element::cloneAttributesFromElement):
3278         * dom/Element.h:
3279         (WebCore::Element::attributesIterator):
3280         * dom/ElementData.cpp:
3281         (WebCore::ElementData::isEquivalent):
3282         (WebCore::ElementData::findAttributeIndexByNameSlowCase):
3283         * dom/ElementData.h:
3284         (WebCore::AttributeConstIterator::AttributeConstIterator):
3285         (WebCore::AttributeConstIterator::operator*):
3286         (WebCore::AttributeConstIterator::operator->):
3287         (WebCore::AttributeConstIterator::operator++):
3288         (WebCore::AttributeConstIterator::operator==):
3289         (WebCore::AttributeConstIterator::operator!=):
3290         (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
3291         (WebCore::AttributeIteratorAccessor::begin):
3292         (WebCore::AttributeIteratorAccessor::end):
3293         (WebCore::ElementData::attributesIterator):
3294         * dom/Node.cpp:
3295         (WebCore::Node::isDefaultNamespace):
3296         (WebCore::Node::lookupNamespaceURI):
3297         (WebCore::Node::lookupNamespacePrefix):
3298         (WebCore::Node::compareDocumentPosition):
3299         * dom/StyledElement.cpp:
3300         (WebCore::StyledElement::makePresentationAttributeCacheKey):
3301         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
3302         * editing/MarkupAccumulator.cpp:
3303         (WebCore::MarkupAccumulator::appendElement):
3304         * editing/markup.cpp:
3305         (WebCore::completeURLs):
3306         (WebCore::StyledMarkupAccumulator::appendElement):
3307         * html/HTMLEmbedElement.cpp:
3308         (WebCore::HTMLEmbedElement::parametersForPlugin):
3309         * html/HTMLObjectElement.cpp:
3310         (WebCore::HTMLObjectElement::parametersForPlugin):
3311         * inspector/DOMPatchSupport.cpp:
3312         (WebCore::DOMPatchSupport::innerPatchNode):
3313         (WebCore::DOMPatchSupport::createDigest):
3314         * inspector/InspectorDOMAgent.cpp:
3315         (WebCore::InspectorDOMAgent::setAttributesAsText):
3316         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
3317         * inspector/InspectorNodeFinder.cpp:
3318         (WebCore::InspectorNodeFinder::matchesElement):
3319         * page/PageSerializer.cpp:
3320         (WebCore::isCharsetSpecifyingNode):
3321         * xml/XPathNodeSet.cpp:
3322         (WebCore::XPath::NodeSet::traversalSort):
3323         * xml/XPathStep.cpp:
3324         (WebCore::XPath::Step::nodesInAxis):
3325         * xml/parser/XMLDocumentParserLibxml2.cpp:
3326         (WebCore::XMLDocumentParser::XMLDocumentParser):
3327
3328 2014-01-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3329
3330         Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
3331         https://bugs.webkit.org/show_bug.cgi?id=126869
3332
3333         Reviewed by Dirk Schulze.
3334
3335         Some SVG functions have done a first iteration by using a boolean flag. This is
3336         one of poor implementations. This patch fix it by extracting a logic into a new method.
3337         Additionally it would be good to use do-while() loop instead of using while() in
3338         renderStyleForLengthResolving() because a first condition is always true.
3339
3340         Merge r165358 from blink.
3341
3342         * svg/SVGLengthContext.cpp:
3343         (WebCore::renderStyleForLengthResolving):
3344         * svg/SVGLinearGradientElement.cpp:
3345         (WebCore::setGradientAttributes):
3346         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
3347         * svg/SVGRadialGradientElement.cpp:
3348         (WebCore::setGradientAttributes):
3349         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
3350
3351 2014-01-20  Anders Carlsson  <andersca@apple.com>
3352
3353         UserContentController should keep track of user scripts
3354         https://bugs.webkit.org/show_bug.cgi?id=127317
3355         <rdar://problem/15861296>
3356
3357         Reviewed by Andreas Kling.
3358
3359         Move handling of user scripts from PageGroup to UserContentController.
3360
3361         * page/Frame.cpp:
3362         (WebCore::Frame::injectUserScripts):
3363         * page/PageGroup.cpp:
3364         (WebCore::PageGroup::addUserScriptToWorld):
3365         (WebCore::PageGroup::removeUserScriptFromWorld):
3366         (WebCore::PageGroup::removeUserScriptsFromWorld):
3367         (WebCore::PageGroup::removeAllUserContent):
3368         * page/PageGroup.h:
3369         * page/UserContentController.cpp:
3370         (WebCore::UserContentController::addUserScript):
3371         (WebCore::UserContentController::removeUserScript):
3372         (WebCore::UserContentController::removeUserScripts):
3373         (WebCore::UserContentController::removeAllUserContent):
3374         * page/UserContentController.h:
3375         (WebCore::UserContentController::userScripts):
3376
3377 2014-01-20  Anders Carlsson  <andersca@apple.com>
3378
3379         Give each page a UserContentController
3380         https://bugs.webkit.org/show_bug.cgi?id=127315
3381         <rdar://problem/15861296>
3382
3383         Reviewed by Andreas Kling.
3384
3385         Add a UserContentController object to PageGroup and have the page group set it on any
3386         pages that are added to the page group.
3387
3388         This is another step towards moving handling of user content away from PageGroup and make it
3389         possible for each page to have different user content.
3390
3391         * page/Page.cpp:
3392         (WebCore::Page::~Page):
3393         (WebCore::Page::setUserContentController):
3394         * page/Page.h:
3395         (WebCore::Page::userContentController):
3396         * page/PageGroup.cpp:
3397         (WebCore::PageGroup::PageGroup):
3398         (WebCore::PageGroup::addPage):
3399         (WebCore::PageGroup::removePage):
3400         * page/PageGroup.h:
3401         * page/UserContentController.cpp:
3402         (WebCore::UserContentController::addPage):
3403         (WebCore::UserContentController::removePage):
3404         * page/UserContentController.h:
3405
3406 2014-01-20  Jeremy Jones  <jeremyj@apple.com>
3407
3408         Add AVKit fullscreen video interface.
3409         https://bugs.webkit.org/show_bug.cgi?id=126818
3410
3411         Reviewed by Eric Carlson.
3412
3413         No new tests, no observable change in functionality.
3414
3415         * WebCore.exp.in:
3416         * WebCore.xcodeproj/project.pbxproj:
3417         * html/HTMLMediaElement.cpp:
3418         (WebCore::HTMLMediaElement::parseAttribute):
3419         * html/HTMLMediaElement.h:
3420         Add ability for fullscreen to borrow the AVPlayerLayer.
3421         * page/Settings.cpp:
3422         * page/Settings.h:
3423         (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
3424         (WebCore::Settings::mediaPlaybackFullscreenAVKit):
3425         Add a disabled setting.
3426         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3427         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
3428         Enabled fullscreen for iOS.
3429         * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
3430         * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
3431         (-[WebAVPlayerController init]):
3432         (-[WebAVPlayerController dealloc]):
3433         (-[WebAVPlayerController forwardingTargetForSelector:]):
3434         (-[WebAVPlayerController shouldDismissForDone]):
3435         (-[WebAVPlayerController play:]):
3436         (-[WebAVPlayerController pause:]):
3437         (-[WebAVPlayerController togglePlayback:]):
3438         (-[WebAVPlayerController isPlaying]):
3439         (-[WebAVPlayerController setPlaying:]):
3440         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
3441         (-[WebAVPlayerController seekToTime:]):
3442         (-[WebAVPlayerController updateTimingWithCurrentTime:]):
3443         (-[WebAVPlayerController effectiveRate]):
3444         (-[WebAVPlayerController setMediaElement:]):
3445         (-[WebAVPlayerController handleEvent:]):
3446         (-[WebVideoFullscreenController init]):
3447         (-[WebVideoFullscreenController dealloc]):
3448         (-[WebVideoFullscreenController setMediaElement:]):
3449         (-[WebVideoFullscreenController mediaElement]):
3450         (-[WebVideoFullscreenController enterFullscreen:]):
3451         (-[WebVideoFullscreenController exitFullscreen]):
3452         Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
3453
3454 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
3455
3456         Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
3457         https://bugs.webkit.org/show_bug.cgi?id=127306
3458
3459         Reviewed by Darin Adler.
3460
3461         Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
3462         std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
3463         Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
3464
3465         * Modules/webaudio/ConvolverNode.cpp:
3466         (WebCore::ConvolverNode::uninitialize):
3467         * Modules/webaudio/DynamicsCompressorNode.cpp:
3468         (WebCore::DynamicsCompressorNode::uninitialize):
3469         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
3470         (WebCore::MediaElementAudioSourceNode::setFormat):
3471         * Modules/webaudio/PannerNode.cpp:
3472         (WebCore::PannerNode::uninitialize):
3473         * platform/audio/AudioChannel.h:
3474         (WebCore::AudioChannel::set):
3475         * platform/audio/HRTFDatabaseLoader.cpp:
3476         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
3477         * platform/audio/HRTFKernel.h:
3478         (WebCore::HRTFKernel::create):
3479
3480 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
3481
3482         Modernize WebCore/inspector with nullptr
3483         https://bugs.webkit.org/show_bug.cgi?id=127303
3484
3485         Reviewed by Anders Carlsson.
3486
3487         Ran clang-modernize -use-nullptr over WebCore/inspector.
3488
3489         * inspector/ConsoleMessage.cpp:
3490         (WebCore::ConsoleMessage::ConsoleMessage):
3491         * inspector/ConsoleMessage.h:
3492         * inspector/ContentSearchUtils.cpp:
3493         (WebCore::ContentSearchUtils::findMagicComment):
3494         * inspector/DOMEditor.cpp:
3495         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
3496         * inspector/DOMPatchSupport.cpp:
3497         (WebCore::DOMPatchSupport::patchDocument):
3498         (WebCore::DOMPatchSupport::patchNode):
3499         (WebCore::DOMPatchSupport::diff):
3500         (WebCore::DOMPatchSupport::innerPatchChildren):
3501         * inspector/InspectorApplicationCacheAgent.cpp:
3502         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
3503         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
3504         * inspector/InspectorCanvasAgent.cpp:
3505         (WebCore::InspectorCanvasAgent::disable):
3506         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
3507         (WebCore::InspectorCanvasAgent::frameNavigated):
3508         * inspector/InspectorConsoleAgent.cpp:
3509         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3510         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
3511         (WebCore::InspectorConsoleAgent::clearMessages):
3512         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
3513         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3514         (WebCore::InspectorConsoleAgent::didFailLoading):
3515         * inspector/InspectorConsoleAgent.h:
3516         * inspector/InspectorController.cpp:
3517         (WebCore::InspectorController::inspectedPageDestroyed):
3518         * inspector/InspectorDOMDebuggerAgent.cpp:
3519         (WebCore::InspectorDOMDebuggerAgent::disable):
3520         (WebCore::InspectorDOMDebuggerAgent::discardAgent):
3521         * inspector/InspectorDOMStorageAgent.cpp:
3522         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
3523         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
3524         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
3525         (WebCore::InspectorDOMStorageAgent::findStorageArea):
3526         * inspector/InspectorDatabaseAgent.cpp:
3527         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
3528         (WebCore::InspectorDatabaseAgent::findByFileName):
3529         (WebCore::InspectorDatabaseAgent::databaseForId):
3530         * inspector/InspectorDebuggerAgent.cpp:
3531         (WebCore::InspectorDebuggerAgent::addMessageToConsole):
3532         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
3533         (WebCore::InspectorDebuggerAgent::didParseSource):
3534         (WebCore::InspectorDebuggerAgent::didContinue):
3535         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
3536         * inspector/InspectorFrontendHost.cpp:
3537         (WebCore::FrontendMenuProvider::disconnect):
3538         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
3539         (WebCore::InspectorFrontendHost::disconnectClient):
3540         * inspector/InspectorHeapProfilerAgent.cpp:
3541         (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
3542         * inspector/InspectorIndexedDBAgent.cpp:
3543         (WebCore::assertDocument):
3544         (WebCore::assertIDBFactory):
3545         (WebCore::InspectorIndexedDBAgent::requestData):
3546         * inspector/InspectorInstrumentation.cpp:
3547         (WebCore::frameForScriptExecutionContext):
3548         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
3549         (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
3550         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
3551         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
3552         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3553         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
3554         (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
3555         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
3556         * inspector/InspectorInstrumentation.h:
3557         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
3558         (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
3559         (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
3560         * inspector/InspectorLayerTreeAgent.cpp:
3561         (WebCore::InspectorLayerTreeAgent::disable):
3562         * inspector/InspectorNodeFinder.cpp:
3563         (WebCore::InspectorNodeFinder::searchUsingXPath):
3564         * inspector/InspectorOverlay.cpp:
3565         (WebCore::buildObjectForElementInfo):
3566         * inspector/InspectorPageAgent.cpp:
3567         (WebCore::InspectorPageAgent::cachedResourceContent):
3568         (WebCore::InspectorPageAgent::sharedBufferContent):
3569         (WebCore::InspectorPageAgent::disable):
3570         (WebCore::InspectorPageAgent::frameForId):
3571         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
3572         * inspector/InspectorProfilerAgent.cpp:
3573         (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
3574         * inspector/InspectorProfilerAgent.h:
3575         * inspector/InspectorResourceAgent.cpp:
3576         (WebCore::buildObjectForResourceResponse):
3577         (WebCore::InspectorResourceAgent::willSendRequest):
3578         (WebCore::InspectorResourceAgent::didReceiveResponse):
3579         (WebCore::InspectorResourceAgent::didFinishLoading):
3580         (WebCore::InspectorResourceAgent::didFailLoading):
3581         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3582         (WebCore::InspectorResourceAgent::disable):
3583         * inspector/InspectorRuntimeAgent.cpp:
3584         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3585         * inspector/InspectorStyleSheet.cpp:
3586         (ParsedStyleSheet::ruleSourceDataAt):
3587         (WebCore::buildSourceRangeObject):
3588         (WebCore::asCSSRuleList):
3589         (WebCore::fillMediaListChain):
3590         (WebCore::InspectorStyle::setPropertyText):
3591         (WebCore::InspectorStyle::populateAllProperties):
3592         (WebCore::InspectorStyle::extractSourceData):
3593         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
3594         (WebCore::InspectorStyleSheet::addRule):
3595         (WebCore::InspectorStyleSheet::ruleForId):
3596         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3597         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
3598         (WebCore::InspectorStyleSheet::buildObjectForRule):
3599         (WebCore::InspectorStyleSheet::styleForId):
3600         (WebCore::InspectorStyleSheet::inspectorStyleForId):
3601         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
3602         * inspector/InspectorStyleSheet.h:
3603         (WebCore::InspectorCSSId::asProtocolValue):
3604         * inspector/InspectorTimelineAgent.cpp:
3605         (WebCore::InspectorTimelineAgent::stop):
3606         (WebCore::InspectorTimelineAgent::willComposite):
3607         (WebCore::InspectorTimelineAgent::page):
3608         * inspector/InspectorWorkerAgent.cpp:
3609         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
3610         * inspector/InstrumentingAgents.cpp:
3611         (WebCore::InstrumentingAgents::InstrumentingAgents):
3612         (WebCore::InstrumentingAgents::reset):
3613         * inspector/NetworkResourcesData.cpp:
3614         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
3615         (WebCore::NetworkResourcesData::xhrReplayData):
3616         (WebCore::NetworkResourcesData::removeCachedResource):
3617         (WebCore::NetworkResourcesData::resourceDataForRequestId):
3618         * inspector/PageConsoleAgent.cpp:
3619         (WebCore::PageConsoleAgent::~PageConsoleAgent):
3620         * inspector/PageDebuggerAgent.cpp:
3621         (WebCore::PageDebuggerAgent::disable):
3622         * inspector/PageRuntimeAgent.cpp:
3623         (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
3624         (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
3625         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
3626         * inspector/ScriptArguments.cpp:
3627         (WebCore::ScriptArguments::globalState):
3628         * inspector/WorkerRuntimeAgent.cpp:
3629         (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
3630
3631 2014-01-20  Anders Carlsson  <andersca@apple.com>
3632
3633         Add empty UserContentController class
3634         https://bugs.webkit.org/show_bug.cgi?id=127300
3635         <rdar://problem/15861296>
3636
3637         Reviewed by Dan Bernstein.
3638
3639         This is the first step towards moving handling of user scripts and style sheets from
3640         the page group to a separate objects and ultimately make them be settable per page instead of per page group.
3641
3642         * CMakeLists.txt:
3643         * GNUmakefile.list.am:
3644         * WebCore.vcxproj/WebCore.vcxproj:
3645         * WebCore.vcxproj/WebCore.vcxproj.filters:
3646         * WebCore.xcodeproj/project.pbxproj:
3647         * page/UserContentController.cpp: Added.
3648         (WebCore::UserContentController::create):
3649         (WebCore::UserContentController::UserContentController):
3650         (WebCore::UserContentController::~UserContentController):
3651         * page/UserContentController.h: Added.
3652
3653 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
3654
3655         Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
3656         https://bugs.webkit.org/show_bug.cgi?id=127206
3657
3658         Reviewed by Anders Carlsson.
3659
3660         Let clang-modernize add overrides.
3661
3662         * inspector/DOMEditor.cpp:
3663         * inspector/InspectorApplicationCacheAgent.h:
3664         * inspector/InspectorCSSAgent.h:
3665         * inspector/InspectorCanvasAgent.h:
3666         * inspector/InspectorConsoleAgent.h:
3667         * inspector/InspectorDOMAgent.h:
3668         * inspector/InspectorDOMDebuggerAgent.h:
3669         * inspector/InspectorDOMStorageAgent.h:
3670         * inspector/InspectorDatabaseAgent.cpp:
3671         * inspector/InspectorDatabaseAgent.h:
3672         * inspector/InspectorDebuggerAgent.h:
3673         * inspector/InspectorFrontendHost.cpp:
3674         * inspector/InspectorHeapProfilerAgent.cpp:
3675         (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
3676         (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
3677         * inspector/InspectorHeapProfilerAgent.h:
3678         * inspector/InspectorHistory.cpp:
3679         * inspector/InspectorIndexedDBAgent.cpp:
3680         * inspector/InspectorIndexedDBAgent.h:
3681         * inspector/InspectorInputAgent.h:
3682         * inspector/InspectorLayerTreeAgent.h:
3683         * inspector/InspectorMemoryAgent.h:
3684         * inspector/InspectorPageAgent.h:
3685         * inspector/InspectorProfilerAgent.cpp:
3686         * inspector/InspectorProfilerAgent.h:
3687         * inspector/InspectorResourceAgent.h:
3688         * inspector/InspectorRuntimeAgent.h:
3689         * inspector/InspectorStyleSheet.h:
3690         * inspector/InspectorTimelineAgent.h:
3691         * inspector/InspectorWorkerAgent.cpp:
3692         * inspector/InspectorWorkerAgent.h:
3693         * inspector/PageConsoleAgent.h:
3694         * inspector/PageDebuggerAgent.h:
3695         * inspector/PageRuntimeAgent.h:
3696         * inspector/WorkerConsoleAgent.h:
3697         * inspector/WorkerDebuggerAgent.cpp:
3698         * inspector/WorkerInspectorController.cpp:
3699         * inspector/WorkerRuntimeAgent.h:
3700
3701 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
3702
3703         Move WebAudio source code to std::unique_ptr
3704         https://bugs.webkit.org/show_bug.cgi?id=127274
3705
3706         Reviewed by Eric Carlson.
3707
3708         Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
3709         in the WebAudio module and the WebAudio code in the platform layer.
3710
3711         * Modules/webaudio/AsyncAudioDecoder.cpp:
3712         * Modules/webaudio/AsyncAudioDecoder.h:
3713         * Modules/webaudio/AudioBasicInspectorNode.cpp:
3714         (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
3715         * Modules/webaudio/AudioBasicProcessorNode.cpp:
3716         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
3717         * Modules/webaudio/AudioBasicProcessorNode.h:
3718         * Modules/webaudio/AudioBufferSourceNode.cpp:
3719         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
3720         * Modules/webaudio/AudioContext.cpp:
3721         * Modules/webaudio/AudioContext.h:
3722         * Modules/webaudio/AudioDestinationNode.cpp:
3723         (WebCore::AudioDestinationNode::AudioDestinationNode):
3724         * Modules/webaudio/AudioNode.cpp:
3725         (WebCore::AudioNode::addInput):
3726         (WebCore::AudioNode::addOutput):
3727         (WebCore::AudioNode::checkNumberOfChannelsForInput):
3728         * Modules/webaudio/AudioNode.h:
3729         * Modules/webaudio/BiquadFilterNode.cpp:
3730         (WebCore::BiquadFilterNode::BiquadFilterNode):
3731         * Modules/webaudio/BiquadProcessor.cpp:
3732         (WebCore::BiquadProcessor::createKernel):
3733         (WebCore::BiquadProcessor::getFrequencyResponse):
3734         * Modules/webaudio/BiquadProcessor.h:
3735         * Modules/webaudio/ChannelMergerNode.cpp:
3736         (WebCore::ChannelMergerNode::ChannelMergerNode):
3737         * Modules/webaudio/ChannelSplitterNode.cpp:
3738         (WebCore::ChannelSplitterNode::ChannelSplitterNode):
3739         * Modules/webaudio/ConvolverNode.cpp:
3740         (WebCore::ConvolverNode::ConvolverNode):
3741         (WebCore::ConvolverNode::uninitialize):
3742         (WebCore::ConvolverNode::setBuffer):
3743         * Modules/webaudio/ConvolverNode.h:
3744         * Modules/webaudio/DefaultAudioDestinationNode.h:
3745         * Modules/webaudio/DelayNode.cpp:
3746         (WebCore::DelayNode::DelayNode):
3747         * Modules/webaudio/DelayProcessor.cpp:
3748         (WebCore::DelayProcessor::createKernel):
3749         * Modules/webaudio/DelayProcessor.h:
3750         * Modules/webaudio/DynamicsCompressorNode.cpp:
3751         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3752         (WebCore::DynamicsCompressorNode::initialize):
3753         (WebCore::DynamicsCompressorNode::uninitialize):
3754         * Modules/webaudio/DynamicsCompressorNode.h:
3755         * Modules/webaudio/GainNode.cpp:
3756         (WebCore::GainNode::GainNode):
3757         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
3758         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
3759         (WebCore::MediaElementAudioSourceNode::setFormat):
3760         * Modules/webaudio/MediaElementAudioSourceNode.h:
3761         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
3762         * Modules/webaudio/MediaStreamAudioSource.cpp:
3763         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
3764         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
3765         * Modules/webaudio/MediaStreamAudioSourceNode.h:
3766         * Modules/webaudio/OscillatorNode.cpp:
3767         (WebCore::OscillatorNode::OscillatorNode):
3768         * Modules/webaudio/PannerNode.cpp:
3769         (WebCore::PannerNode::PannerNode):
3770         (WebCore::PannerNode::uninitialize):
3771         (WebCore::PannerNode::setPanningModel):
3772         * Modules/webaudio/PannerNode.h:
3773         * Modules/webaudio/PeriodicWave.cpp:
3774         (WebCore::PeriodicWave::createBandLimitedTables):
3775         * Modules/webaudio/PeriodicWave.h:
3776         * Modules/webaudio/RealtimeAnalyser.cpp:
3777         (WebCore::RealtimeAnalyser::RealtimeAnalyser):
3778         (WebCore::RealtimeAnalyser::setFftSize):
3779         * Modules/webaudio/RealtimeAnalyser.h:
3780         * Modules/webaudio/ScriptProcessorNode.cpp:
3781         (WebCore::ScriptProcessorNode::ScriptProcessorNode):
3782         * Modules/webaudio/WaveShaperDSPKernel.cpp:
3783         (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
3784         * Modules/webaudio/WaveShaperDSPKernel.h:
3785         * Modules/webaudio/WaveShaperNode.cpp:
3786         (WebCore::WaveShaperNode::WaveShaperNode):
3787         * Modules/webaudio/WaveShaperProcessor.cpp:
3788         (WebCore::WaveShaperProcessor::createKernel):
3789         * Modules/webaudio/WaveShaperProcessor.h:
3790         * platform/audio/AudioBus.cpp:
3791         (WebCore::AudioBus::AudioBus):
3792         (WebCore::AudioBus::copyWithGainFrom):
3793         * platform/audio/AudioBus.h:
3794         * platform/audio/AudioChannel.cpp:
3795         * platform/audio/AudioChannel.h:
3796         (WebCore::AudioChannel::AudioChannel):
3797         (WebCore::AudioChannel::set):
3798         * platform/audio/AudioDSPKernelProcessor.h:
3799         * platform/audio/AudioDestination.h:
3800         * platform/audio/AudioResampler.cpp:
3801         (WebCore::AudioResampler::AudioResampler):
3802         (WebCore::AudioResampler::configureChannels):
3803         * platform/audio/AudioResampler.h:
3804         * platform/audio/AudioSession.h:
3805         * platform/audio/DynamicsCompressor.cpp:
3806         (WebCore::DynamicsCompressor::setNumberOfChannels):
3807         * platform/audio/DynamicsCompressor.h:
3808         * platform/audio/DynamicsCompressorKernel.cpp:
3809         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
3810         * platform/audio/DynamicsCompressorKernel.h:
3811         * platform/audio/FFTFrame.cpp:
3812         (WebCore::FFTFrame::createInterpolatedFrame):
3813         * platform/audio/FFTFrame.h:
3814         * platform/audio/HRTFDatabase.cpp:
3815         (WebCore::HRTFDatabase::HRTFDatabase):
3816         * platform/audio/HRTFDatabase.h:
3817         * platform/audio/HRTFDatabaseLoader.cpp:
3818         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
3819         (WebCore::HRTFDatabaseLoader::load):
3820         * platform/audio/HRTFDatabaseLoader.h:
3821         * platform/audio/HRTFElevation.cpp:
3822         (WebCore::HRTFElevation::createForSubject):
3823         (WebCore::HRTFElevation::createByInterpolatingSlices):
3824         * platform/audio/HRTFElevation.h:
3825         (WebCore::HRTFElevation::HRTFElevation):
3826         * platform/audio/HRTFKernel.cpp:
3827         (WebCore::HRTFKernel::HRTFKernel):
3828         (WebCore::HRTFKernel::createImpulseResponse):
3829         (WebCore::HRTFKernel::createInterpolatedKernel):
3830         * platform/audio/HRTFKernel.h:
3831         (WebCore::HRTFKernel::create):
3832         (WebCore::HRTFKernel::HRTFKernel):
3833         * platform/audio/MultiChannelResampler.cpp:
3834         (WebCore::MultiChannelResampler::MultiChannelResampler):
3835         * platform/audio/MultiChannelResampler.h:
3836         * platform/audio/Panner.cpp:
3837         (WebCore::Panner::create):
3838         * platform/audio/Panner.h:
3839         * platform/audio/Reverb.cpp:
3840         (WebCore::Reverb::initialize):
3841         * platform/audio/Reverb.h:
3842         * platform/audio/ReverbConvolver.h:
3843         * platform/audio/ReverbConvolverStage.cpp:
3844         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3845         * platform/audio/ReverbConvolverStage.h:
3846         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3847         (WebCore::AudioDestination::create):
3848         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
3849         * platform/audio/ios/AudioDestinationIOS.cpp:
3850         (WebCore::AudioDestination::create):
3851         * platform/audio/ios/AudioSessionIOS.mm:
3852         (WebCore::AudioSession::AudioSession):
3853         * platform/audio/mac/AudioDestinationMac.cpp:
3854         (WebCore::AudioDestination::create):
3855         * platform/audio/mac/AudioDestinationMac.h:
3856         * platform/audio/mac/AudioSessionMac.cpp:
3857         (WebCore::AudioSession::AudioSession):
3858
3859 2014-01-20  Morten Stenshorne  <mstensho@opera.com>
3860
3861         Region based multicol: support explicit column breaks
3862         https://bugs.webkit.org/show_bug.cgi?id=123993
3863
3864         Reviewed by David Hyatt.
3865
3866         Merely supporting insertion of explicit (forced) column breaks in
3867         the region based multicol implementation is really simple: just
3868         hook up with what the CSS regions code is already doing.
3869
3870         However, there is one complication: column balancing. In order to
3871         balance columns as nicely as possible when there are explicit
3872         breaks, we need to figure out between which explicit breaks the
3873         implicit breaks will occur (if there's room for any at all).
3874
3875         Tests: fast/multicol/newmulticol/break-after.html
3876                fast/multicol/newmulticol/break-before.html
3877                fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
3878                fast/multicol/newmulticol/breaks-2-columns-3.html
3879                fast/multicol/newmulticol/breaks-3-columns-3.html
3880                fast/multicol/newmulticol/fixed-height-fill-balance-2.html
3881
3882         * rendering/RenderBlockFlow.cpp:
3883         (WebCore::RenderBlockFlow::applyBeforeBreak):
3884         (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
3885         existing region breaking code when inserting breaks in region
3886         based multicol.
3887         * rendering/RenderFlowThread.h:
3888         * rendering/RenderMultiColumnBlock.cpp:
3889         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
3890         (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
3891         re-balancing if the multicol's contents were not laid out. Apart
3892         from being good for performance, this is now necessary because of
3893         how explicit breaks are implemented.
3894         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
3895         Detect if the contents are going to be laid out, or skipped, so
3896         that we can tell if we need to (re-)balance the columns
3897         afterwards.
3898         * rendering/RenderMultiColumnBlock.h:
3899         * rendering/RenderMultiColumnFlowThread.cpp:
3900         (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
3901         Locate the appropriate multi-column set and call its
3902         addForcedBreak().
3903         * rendering/RenderMultiColumnFlowThread.h:
3904         * rendering/RenderMultiColumnSet.cpp:
3905         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
3906         (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
3907         (WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
3908         out how many implicit breaks each single "content run" should
3909         contain. The taller the content run, the more implicit breaks.
3910         (WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
3911         now a const method that only does half of what the old
3912         calculateBalancedHeight() did. The rest (such as actually storing
3913         the new column height) is done by recalculateBalancedHeight().
3914         (WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
3915         called between each layout pass, to clear the list of "content
3916         runs".
3917         (WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
3918         columns are to be balanced. It receives explicit (forced) breaks
3919         and stores them as "content runs". When layout is done, we'll go
3920         through the list of content runs, and see where implicit breaks
3921         should be inserted (if there's room for any). The goal is to
3922         insert implicit breaks in such a way that the final columns become
3923         as short as possible.
3924         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
3925         Calculates and sets a new balanced column height. This used to be
3926         done directly in calculateBalancedHeight(), but that method is now
3927         const and it now only calculates the new height and returns it.
3928         (WebCore::RenderMultiColumnSet::prepareForLayout):
3929         * rendering/RenderMultiColumnSet.h: Remove old data members
3930         intended for forced breaks (they were unused), and introduce a
3931         "content run" vector instead. A new content run is triggered by an
3932         explicit break. This is only used when column balancing is
3933         enabled. When not balanced, RenderMultiColumnSet doesn't need to
3934         do anything when explicit breaks are inserted.
3935
3936 2014-01-20  Eric Carlson  <eric.carlson@apple.com>
3937
3938         Allow MediaSessionManager to restrict 'preload' behavior
3939         https://bugs.webkit.org/show_bug.cgi?id=127297
3940
3941         Reviewed by Jer Noble.
3942
3943         Tests: media/video-restricted-no-preload-auto.html
3944                media/video-restricted-no-preload-metadata.html
3945
3946         * html/HTMLMediaElement.cpp:
3947         (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
3948             passing to media engine.
3949         (WebCore::HTMLMediaElement::loadResource): Ditto.
3950
3951         * html/HTMLMediaSession.cpp:
3952         (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
3953         * html/HTMLMediaSession.h:
3954
3955         * platform/audio/MediaSessionManager.h:
3956         * platform/audio/ios/MediaSessionManagerIOS.mm:
3957         (WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by
3958             static deviceClass initialization cleanup.
3959
3960         * testing/Internals.cpp:
3961         (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
3962             AutoPreloadingNotPermitted.
3963
3964 2014-01-20  Andreas Kling  <akling@apple.com>
3965
3966         Let RenderImage construct its RenderImageResource.
3967         <https://webkit.org/b/127290>
3968
3969         Everyone who creates a RenderImage immediately follows up with
3970         creating a RenderImageResource and assigning it to the image.
3971
3972         Let the RenderImage constructor do this instead, and make the
3973         imageResource() accessors return references. This exposed a
3974         number of unnecessary null checks.
3975
3976         Also modernized the touched code with std::unique_ptr.
3977
3978         Reviewed by Antti Koivisto.
3979
3980         * html/HTMLImageElement.cpp:
3981         (WebCore::HTMLImageElement::createElementRenderer):
3982         (WebCore::HTMLImageElement::didAttachRenderers):
3983         * html/HTMLPlugInImageElement.cpp:
3984         (WebCore::HTMLPlugInImageElement::createElementRenderer):
3985         * html/HTMLVideoElement.cpp:
3986         (WebCore::HTMLVideoElement::didAttachRenderers):
3987         (WebCore::HTMLVideoElement::parseAttribute):
3988         * html/ImageInputType.cpp:
3989         (WebCore::ImageInputType::createInputRenderer):
3990         (WebCore::ImageInputType::attach):
3991         * loader/ImageLoader.cpp:
3992         (WebCore::ImageLoader::renderImageResource):
3993         * rendering/RenderElement.cpp:
3994         (WebCore::RenderElement::createFor):
3995         * rendering/RenderImage.cpp:
3996         (WebCore::RenderImage::RenderImage):
3997         (WebCore::RenderImage::~RenderImage):
3998         (WebCore::RenderImage::styleDidChange):
3999         (WebCore::RenderImage::imageChanged):
4000         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
4001         (WebCore::RenderImage::updateInnerContentRect):
4002         (WebCore::RenderImage::imageDimensionsChanged):
4003         (WebCore::RenderImage::notifyFinished):
4004         (WebCore::RenderImage::paintReplaced):
4005         (WebCore::RenderImage::paintIntoRect):
4006         (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
4007         (WebCore::RenderImage::minimumReplacedHeight):
4008         (WebCore::RenderImage::computeIntrinsicRatioInformation):
4009         (WebCore::RenderImage::embeddedContentBox):
4010         * rendering/RenderImage.h:
4011         (WebCore::RenderImage::imageResource):
4012         (WebCore::RenderImage::cachedImage):
4013         * rendering/RenderImageResource.h:
4014         * rendering/RenderImageResourceStyleImage.h:
4015         * rendering/RenderMedia.cpp:
4016         (WebCore::RenderMedia::RenderMedia):
4017         * rendering/RenderSnapshottedPlugIn.cpp:
4018         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
4019         * rendering/RenderSnapshottedPlugIn.h:
4020         * rendering/RenderVideo.cpp:
4021         (WebCore::RenderVideo::calculateIntrinsicSize):
4022         * rendering/style/ContentData.cpp:
4023         (WebCore::ImageContentData::createContentRenderer):
4024         * rendering/svg/RenderSVGImage.cpp:
4025         (WebCore::RenderSVGImage::RenderSVGImage):
4026         (WebCore::RenderSVGImage::~RenderSVGImage):
4027         (WebCore::RenderSVGImage::updateImageViewport):
4028         (WebCore::RenderSVGImage::paint):
4029         (WebCore::RenderSVGImage::paintForeground):
4030         * rendering/svg/RenderSVGImage.h:
4031         * svg/SVGImageElement.cpp:
4032         (WebCore::SVGImageElement::didAttachRenderers):
4033
4034 2014-01-20  Antti Koivisto  <antti@apple.com>
4035
4036         Update overlay scrollbars in single pass
4037         https://bugs.webkit.org/show_bug.cgi?id=127289
4038
4039         Reviewed by Anders Carlsson.
4040