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