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