48267591864754ab198b8b9c13a823504ae4e8f0
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Web Inspector: InspectorBackendDispatcher improvements
4         https://bugs.webkit.org/show_bug.cgi?id=124330
5
6         Reviewed by Timothy Hatcher.
7
8         * inspector/InspectorBackendDispatcher.cpp:
9         (WebCore::InspectorBackendDispatcher::sendResponse):
10         (WebCore::InspectorBackendDispatcher::reportProtocolError):
11         * inspector/InspectorBackendDispatcher.h:
12         (WebCore::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
13
14 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
15
16         Unreviewed Windows Build Fix after r159268.
17
18         Missed adding InspectorBackendDispatcher.h and cpp to the Windows build.
19
20         * WebCore.vcxproj/WebCore.vcxproj:
21         * WebCore.vcxproj/WebCore.vcxproj.filters:
22
23 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
24
25         Web Inspector: Generate Individual InspectorBackendDispatchers, add base InspectorBackendDispatcher
26         https://bugs.webkit.org/show_bug.cgi?id=124296
27
28         Reviewed by Timothy Hatcher.
29
30         No new tests, this is just refactoring without changing functionality.
31         Set of changes made:
32
33           - Add inspector/InspectorBackendDispatcher.{h,cpp}. This used to be almost entirely
34             written in the code generator strings file, but make it actual source files
35             because there is nothing changing in the code. Also clean this up a bit.
36           - Give the base dispatcher a list of domain dispatchers and a way to register.
37           - Make InspectorBackendDispatcher::dispatch read the domain of incoming request
38             and pass the request on to the domain dispatcher.
39           - Create per-domain dispatcher classes named "InspectorFooBackendDispatcher"
40           - Convert "InspectorBackendDispatcher::FooCommandHandler" interfaces to
41             "InspectorFooBackendDispatcherHandler" interfaces.
42           - Convert all "InspectorBackendDispatcherImpl::FooDomain_fooMethod" methods to
43             "InspectorFooBackendDispatcher::fooMethod" methods. These can also remove their
44             "if (!agent)" checks because that can never be the case anymore.
45           - Remove InspectorBackendDispatcherImpl, now that there are base and domain dispatchers.
46           - Add ASCIILiteral in many places in generated code where possible.
47           - In all agents, create dispatchers in didCreateFrontendAndBackend and clear
48             them in willDestroyFrontendAndBackend, right alongside frontend dispatchers.
49
50         * inspector/CodeGeneratorInspector.py:
51         (DomainNameFixes.get_fixed_data.Res):
52         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
53         (Generator):
54         (Generator.go):
55         (Generator.process_command):
56         (Generator.generate_send_method):
57         * inspector/CodeGeneratorInspectorStrings.py:
58         (void):
59         (HashMap):
60         (InspectorBackendDispatchers_h):
61         * inspector/InspectorAgent.cpp:
62         (WebCore::InspectorAgent::didCreateFrontendAndBackend):
63         (WebCore::InspectorAgent::willDestroyFrontendAndBackend):
64         * inspector/InspectorAgent.h:
65         * inspector/InspectorAllInOne.cpp:
66         * inspector/InspectorApplicationCacheAgent.cpp:
67         (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
68         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
69         * inspector/InspectorApplicationCacheAgent.h:
70         * inspector/InspectorBackendDispatcher.cpp: Added.
71         (WebCore::InspectorBackendDispatcher::CallbackBase::CallbackBase):
72         (WebCore::InspectorBackendDispatcher::CallbackBase::isActive):
73         (WebCore::InspectorBackendDispatcher::CallbackBase::sendFailure):
74         (WebCore::InspectorBackendDispatcher::CallbackBase::sendIfActive):
75         (WebCore::InspectorBackendDispatcher::create):
76         (WebCore::InspectorBackendDispatcher::registerDispatcherForDomain):
77         (WebCore::InspectorBackendDispatcher::dispatch):
78         (WebCore::InspectorBackendDispatcher::sendResponse):
79         (WebCore::InspectorBackendDispatcher::reportProtocolError):
80         (WebCore::InspectorBackendDispatcher::getPropertyValue):
81         (WebCore::AsMethodBridges::asInt):
82         (WebCore::AsMethodBridges::asDouble):
83         (WebCore::AsMethodBridges::asString):
84         (WebCore::AsMethodBridges::asBoolean):
85         (WebCore::AsMethodBridges::asObject):
86         (WebCore::AsMethodBridges::asArray):
87         (WebCore::InspectorBackendDispatcher::getInt):
88         (WebCore::InspectorBackendDispatcher::getDouble):
89         (WebCore::InspectorBackendDispatcher::getString):
90         (WebCore::InspectorBackendDispatcher::getBoolean):
91         (WebCore::InspectorBackendDispatcher::getObject):
92         (WebCore::InspectorBackendDispatcher::getArray):
93         * inspector/InspectorBackendDispatcher.h: Added.
94         (WebCore::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
95         (WebCore::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher):
96         (WebCore::InspectorBackendDispatcher::~InspectorBackendDispatcher):
97         (WebCore::InspectorBackendDispatcher::clearFrontend):
98         (WebCore::InspectorBackendDispatcher::isActive):
99         (WebCore::InspectorBackendDispatcher::InspectorBackendDispatcher):
100         * inspector/InspectorCSSAgent.cpp:
101         (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
102         (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
103         * inspector/InspectorCSSAgent.h:
104         * inspector/InspectorCanvasAgent.cpp:
105         (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
106         (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
107         * inspector/InspectorCanvasAgent.h:
108         * inspector/InspectorConsoleAgent.cpp:
109         (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
110         (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
111         * inspector/InspectorConsoleAgent.h:
112         * inspector/InspectorDOMAgent.cpp:
113         (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
114         (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
115         * inspector/InspectorDOMAgent.h:
116         * inspector/InspectorDOMDebuggerAgent.cpp:
117         (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
118         (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
119         * inspector/InspectorDOMDebuggerAgent.h:
120         * inspector/InspectorDOMStorageAgent.cpp:
121         (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
122         (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
123         * inspector/InspectorDOMStorageAgent.h:
124         * inspector/InspectorDatabaseAgent.cpp:
125         (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
126         (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
127         * inspector/InspectorDatabaseAgent.h:
128         * inspector/InspectorDebuggerAgent.cpp:
129         (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
130         (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
131         * inspector/InspectorDebuggerAgent.h:
132         * inspector/InspectorHeapProfilerAgent.cpp:
133         (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
134         (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
135         * inspector/InspectorHeapProfilerAgent.h:
136         * inspector/InspectorIndexedDBAgent.cpp:
137         (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
138         (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
139         * inspector/InspectorIndexedDBAgent.h:
140         * inspector/InspectorInputAgent.cpp:
141         (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
142         (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
143         * inspector/InspectorInputAgent.h:
144         * inspector/InspectorLayerTreeAgent.cpp:
145         (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
146         (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
147         * inspector/InspectorLayerTreeAgent.h:
148         * inspector/InspectorMemoryAgent.cpp:
149         (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
150         (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
151         * inspector/InspectorMemoryAgent.h:
152         * inspector/InspectorPageAgent.cpp:
153         (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
154         (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
155         (WebCore::InspectorPageAgent::getScriptExecutionStatus):
156         * inspector/InspectorPageAgent.h:
157         * inspector/InspectorProfilerAgent.cpp:
158         (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
159         (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
160         * inspector/InspectorProfilerAgent.h:
161         * inspector/InspectorResourceAgent.cpp:
162         (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
163         (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
164         * inspector/InspectorResourceAgent.h:
165         * inspector/InspectorRuntimeAgent.h:
166         * inspector/InspectorTimelineAgent.cpp:
167         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
168         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
169         * inspector/InspectorTimelineAgent.h:
170         * inspector/InspectorWorkerAgent.cpp:
171         (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
172         (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
173         * inspector/InspectorWorkerAgent.h:
174         * inspector/PageRuntimeAgent.cpp:
175         (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
176         (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
177         * inspector/PageRuntimeAgent.h:
178         * inspector/WorkerRuntimeAgent.cpp:
179         (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
180         (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
181         * inspector/WorkerRuntimeAgent.h:
182
183 2013-11-13  Andy Estes  <aestes@apple.com>
184
185         Use NSCalendarIdentifierGregorian instead of NSGregorianCalendar on OS X 10.9 and iOS
186         https://bugs.webkit.org/show_bug.cgi?id=124323
187
188         Reviewed by Mark Rowe.
189
190         NSGregorianCalendar was deprecated in OS X 10.9 and iOS 7.
191
192         * platform/text/mac/LocaleMac.mm:
193         (WebCore::LocaleMac::LocaleMac):
194
195 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
196
197         Web Inspector: Rename InspectorBackendDispatcher.h to InspectorBackendDispatchers.h
198         https://bugs.webkit.org/show_bug.cgi?id=124257
199
200         Reviewed by Timothy Hatcher.
201
202         Soon each domain will generate its own dispatcher, and the generic
203         InspectorBackendDispatcher will no longer be generated, it will just
204         live in WebCore/inspector.
205
206         * CMakeLists.txt:
207         * GNUmakefile.am:
208         * GNUmakefile.list.am:
209         * WebCore.vcxproj/WebCore.vcxproj:
210         * WebCore.vcxproj/WebCore.vcxproj.filters:
211         * WebCore.xcodeproj/project.pbxproj:
212         * inspector/CodeGeneratorInspector.py:
213         * inspector/CodeGeneratorInspectorStrings.py:
214         (InspectorBackendDispatchers_h):
215         * inspector/InspectorBaseAgent.h:
216         * inspector/InspectorController.cpp:
217         * inspector/InspectorFrontendClientLocal.cpp:
218         * inspector/WorkerInspectorController.cpp:
219
220 2013-11-13  Andreas Kling  <akling@apple.com>
221
222         Remove Document::m_savedRenderView pointer.
223         <https://webkit.org/b/124310>
224
225         This pointer held a copy of m_renderView while the document was in
226         page cache, and null while it wasn't. It was not used for anything.
227
228         Reviewed by Anders Carlsson.
229
230 2013-11-13  Brady Eidson  <beidson@apple.com>
231
232         Move setIndexKeys() to the IDBServerConnection
233         https://bugs.webkit.org/show_bug.cgi?id=124301
234
235         Reviewed by Anders Carlsson.
236
237         This is a big step towards moving knowledge of the backing store out of the frontend.
238
239         * Modules/indexeddb/IDBBackingStoreInterface.h:
240
241         * Modules/indexeddb/IDBDatabaseBackend.cpp:
242         (WebCore::IDBDatabaseBackend::setIndexKeys):
243
244         * Modules/indexeddb/IDBServerConnection.h:
245         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
246         (WebCore::IDBServerConnectionLevelDB::setIndexKeys):
247         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
248
249         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
250         (WebCore::PutOperation::perform):
251
252         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
253         (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
254         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
255
256 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
257
258         Web Inspector: Extract InspectorFrontendDispatchers from InspectorFrontend
259         https://bugs.webkit.org/show_bug.cgi?id=124246
260
261         Reviewed by Timothy Hatcher.
262
263         No new tests, this is just refactoring without changing functionality.
264         Set of changes made:
265
266           - Remove "class InspectorFrontend" that currently does nothing but hold
267             sub-frontend dispatcher classes. Catches some stale code.
268           - Generate individual "class InspectorFooFrontendDispatcher" classes for
269             domains that have events. Catches some unnecessary classes.
270           - Simplify the Base Agent interface from optional set/clearFrontend/register
271             to required didCreateFrontendAndBackend/willDestroyFrontendAndBackend.
272             New agents must implement this and this will be their cue to setup
273             frontend and backend dispatchers.
274           - Base Agent no longer needs to be templated or have an Interface class.
275           - While we are changing subclass BaseAgent superclass calls, use ASCIILiteral
276           - In agents with events, convert "InspectorFrontend::Foo* m_frontend" to
277             "unique_ptr<InspectorFooFrontendDispatcher> m_frontendDispatcher" and
278             update uses as appropriate within the classes.
279           - In agents with events, create dispatchers in didCreateFrontendAndBackend
280             and clear them in willDestroyFrontendAndBackend.
281
282         * inspector/CodeGeneratorInspector.py:
283         (Generator):
284         (Generator.go):
285         (Generator.process_event):
286         * inspector/CodeGeneratorInspectorStrings.py:
287         (InspectorFrontendChannel):
288         * inspector/ConsoleMessage.cpp:
289         (WebCore::ConsoleMessage::addToFrontend):
290         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
291         * inspector/ConsoleMessage.h:
292         * inspector/InjectedScriptHost.h:
293         * inspector/InspectorAgent.cpp:
294         (WebCore::InspectorAgent::InspectorAgent):
295         (WebCore::InspectorAgent::didCreateFrontendAndBackend):
296         (WebCore::InspectorAgent::willDestroyFrontendAndBackend):
297         (WebCore::InspectorAgent::enable):
298         (WebCore::InspectorAgent::evaluateForTestInFrontend):
299         (WebCore::InspectorAgent::inspect):
300         * inspector/InspectorAgent.h:
301         (WebCore::InspectorAgent::hasFrontend):
302         * inspector/InspectorAgentRegistry.cpp:
303         (WebCore::InspectorAgentRegistry::append):
304         (WebCore::InspectorAgentRegistry::didCreateFrontendAndBackend):
305         (WebCore::InspectorAgentRegistry::willDestroyFrontendAndBackend):
306         * inspector/InspectorAgentRegistry.h:
307         * inspector/InspectorApplicationCacheAgent.cpp:
308         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
309         (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
310         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
311         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
312         (WebCore::InspectorApplicationCacheAgent::networkStateChanged):
313         * inspector/InspectorApplicationCacheAgent.h:
314         * inspector/InspectorBaseAgent.h:
315         (WebCore::InspectorBaseAgent::discardAgent):
316         (WebCore::InspectorBaseAgent::InspectorBaseAgent):
317         * inspector/InspectorCSSAgent.cpp:
318         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
319         (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
320         (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
321         (WebCore::InspectorCSSAgent::mediaQueryResultChanged):
322         (WebCore::InspectorCSSAgent::didCreateNamedFlow):
323         (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
324         (WebCore::InspectorCSSAgent::regionLayoutUpdated):
325         (WebCore::InspectorCSSAgent::regionOversetChanged):
326         (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
327         (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
328         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
329         (WebCore::InspectorCSSAgent::styleSheetChanged):
330         * inspector/InspectorCSSAgent.h:
331         * inspector/InspectorCanvasAgent.cpp:
332         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
333         (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
334         (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
335         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
336         (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
337         (WebCore::InspectorCanvasAgent::frameNavigated):
338         * inspector/InspectorCanvasAgent.h:
339         * inspector/InspectorConsoleAgent.cpp:
340         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
341         (WebCore::InspectorConsoleAgent::enable):
342         (WebCore::InspectorConsoleAgent::clearMessages):
343         (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
344         (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
345         (WebCore::InspectorConsoleAgent::addMessageToConsole):
346         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
347         (WebCore::InspectorConsoleAgent::addConsoleMessage):
348         * inspector/InspectorConsoleAgent.h:
349         * inspector/InspectorController.cpp:
350         (WebCore::InspectorController::InspectorController):
351         (WebCore::InspectorController::connectFrontend):
352         (WebCore::InspectorController::disconnectFrontend):
353         (WebCore::InspectorController::show):
354         (WebCore::InspectorController::close):
355         * inspector/InspectorController.h:
356         (WebCore::InspectorController::hasFrontend):
357         * inspector/InspectorDOMAgent.cpp:
358         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
359         (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
360         (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
361         (WebCore::InspectorDOMAgent::setDocument):
362         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
363         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
364         (WebCore::InspectorDOMAgent::focusNode):
365         (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
366         (WebCore::InspectorDOMAgent::didCommitLoad):
367         (WebCore::InspectorDOMAgent::didInsertDOMNode):
368         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
369         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
370         (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
371         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
372         (WebCore::InspectorDOMAgent::characterDataModified):
373         (WebCore::InspectorDOMAgent::didPushShadowRoot):
374         (WebCore::InspectorDOMAgent::willPopShadowRoot):
375         * inspector/InspectorDOMAgent.h:
376         * inspector/InspectorDOMDebuggerAgent.cpp:
377         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
378         (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
379         (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
380         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
381         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
382         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
383         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
384         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
385         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
386         * inspector/InspectorDOMDebuggerAgent.h:
387         * inspector/InspectorDOMStorageAgent.cpp:
388         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
389         (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
390         (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
391         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
392         * inspector/InspectorDOMStorageAgent.h:
393         * inspector/InspectorDatabaseAgent.cpp:
394         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
395         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
396         (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
397         (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
398         (WebCore::InspectorDatabaseAgent::enable):
399         * inspector/InspectorDatabaseAgent.h:
400         * inspector/InspectorDatabaseResource.cpp:
401         (WebCore::InspectorDatabaseResource::bind):
402         * inspector/InspectorDatabaseResource.h:
403         * inspector/InspectorDebuggerAgent.cpp:
404         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
405         (WebCore::InspectorDebuggerAgent::enable):
406         (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
407         (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
408         (WebCore::InspectorDebuggerAgent::addMessageToConsole):
409         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
410         (WebCore::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
411         (WebCore::InspectorDebuggerAgent::didParseSource):
412         (WebCore::InspectorDebuggerAgent::failedToParseSource):
413         (WebCore::InspectorDebuggerAgent::didPause):
414         (WebCore::InspectorDebuggerAgent::didContinue):
415         (WebCore::InspectorDebuggerAgent::breakProgram):
416         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
417         (WebCore::InspectorDebuggerAgent::reset):
418         * inspector/InspectorDebuggerAgent.h:
419         * inspector/InspectorHeapProfilerAgent.cpp:
420         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
421         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
422         (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
423         (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
424         (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
425         (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
426         * inspector/InspectorHeapProfilerAgent.h:
427         * inspector/InspectorIndexedDBAgent.cpp:
428         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
429         (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
430         (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
431         * inspector/InspectorIndexedDBAgent.h:
432         * inspector/InspectorInputAgent.cpp:
433         (WebCore::InspectorInputAgent::InspectorInputAgent):
434         (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
435         (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
436         * inspector/InspectorInputAgent.h:
437         * inspector/InspectorLayerTreeAgent.cpp:
438         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
439         (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
440         (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
441         (WebCore::InspectorLayerTreeAgent::layerTreeDidChange):
442         * inspector/InspectorLayerTreeAgent.h:
443         * inspector/InspectorMemoryAgent.cpp:
444         (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
445         (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
446         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
447         * inspector/InspectorMemoryAgent.h:
448         * inspector/InspectorPageAgent.cpp:
449         (WebCore::InspectorPageAgent::InspectorPageAgent):
450         (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
451         (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
452         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
453         (WebCore::InspectorPageAgent::domContentEventFired):
454         (WebCore::InspectorPageAgent::loadEventFired):
455         (WebCore::InspectorPageAgent::frameNavigated):
456         (WebCore::InspectorPageAgent::frameDetached):
457         (WebCore::InspectorPageAgent::frameStartedLoading):
458         (WebCore::InspectorPageAgent::frameStoppedLoading):
459         (WebCore::InspectorPageAgent::frameScheduledNavigation):
460         (WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
461         (WebCore::InspectorPageAgent::willRunJavaScriptDialog):
462         (WebCore::InspectorPageAgent::didRunJavaScriptDialog):
463         (WebCore::InspectorPageAgent::scriptsEnabled):
464         * inspector/InspectorPageAgent.h:
465         * inspector/InspectorProfilerAgent.cpp:
466         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
467         (WebCore::InspectorProfilerAgent::addProfile):
468         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
469         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
470         (WebCore::InspectorProfilerAgent::getHeapSnapshot):
471         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
472         (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
473         (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
474         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
475         (WebCore::InspectorProfilerAgent::toggleRecordButton):
476         * inspector/InspectorProfilerAgent.h:
477         * inspector/InspectorResourceAgent.cpp:
478         (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
479         (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
480         (WebCore::InspectorResourceAgent::willSendRequest):
481         (WebCore::InspectorResourceAgent::markResourceAsCached):
482         (WebCore::InspectorResourceAgent::didReceiveResponse):
483         (WebCore::InspectorResourceAgent::didReceiveData):
484         (WebCore::InspectorResourceAgent::didFinishLoading):
485         (WebCore::InspectorResourceAgent::didFailLoading):
486         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
487         (WebCore::InspectorResourceAgent::didCreateWebSocket):
488         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
489         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
490         (WebCore::InspectorResourceAgent::didCloseWebSocket):
491         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
492         (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
493         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
494         (WebCore::InspectorResourceAgent::enable):
495         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
496         * inspector/InspectorResourceAgent.h:
497         * inspector/InspectorRuntimeAgent.cpp:
498         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
499         * inspector/InspectorRuntimeAgent.h:
500         * inspector/InspectorTimelineAgent.cpp:
501         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
502         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
503         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
504         (WebCore::InspectorTimelineAgent::start):
505         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
506         (WebCore::InspectorTimelineAgent::sendEvent):
507         * inspector/InspectorTimelineAgent.h:
508         * inspector/InspectorWorkerAgent.cpp:
509         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
510         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::dispatchMessageFromWorker):
511         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
512         (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
513         (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
514         (WebCore::InspectorWorkerAgent::enable):
515         (WebCore::InspectorWorkerAgent::disable):
516         (WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
517         (WebCore::InspectorWorkerAgent::workerGlobalScopeTerminated):
518         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
519         * inspector/InspectorWorkerAgent.h:
520         * inspector/PageRuntimeAgent.cpp:
521         (WebCore::PageRuntimeAgent::PageRuntimeAgent):
522         (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
523         (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
524         (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
525         (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
526         (WebCore::PageRuntimeAgent::notifyContextCreated):
527         * inspector/PageRuntimeAgent.h:
528         * inspector/TimelineRecordFactory.h:
529         * inspector/WorkerInspectorController.cpp:
530         (WebCore::WorkerInspectorController::connectFrontend):
531         (WebCore::WorkerInspectorController::disconnectFrontend):
532         * inspector/WorkerInspectorController.h:
533         (WebCore::WorkerInspectorController::hasFrontend):
534         * inspector/WorkerRuntimeAgent.cpp:
535         (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
536         (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
537         * inspector/WorkerRuntimeAgent.h:
538         * inspector/protocol/Input.json:
539
540 2013-11-13  Simon Fraser  <simon.fraser@apple.com>
541
542         Rename FrameView's repaintFixedElementsAfterScrolling and updateFixedElementsAfterScrolling
543         https://bugs.webkit.org/show_bug.cgi?id=124306
544
545         Reviewed by Tim Horton.
546         
547         FrameView::repaintFixedElementsAfterScrolling() didn't do any repainting, and didn't
548         just apply to fixed elements. Rename it to updateLayerPositionsAfterScrolling().
549         
550         updateFixedElementsAfterScrolling() was also confusingly named; rename it
551         to updateCompositingLayersAfterScrolling().
552
553         * page/FrameView.cpp:
554         (WebCore::FrameView::setFixedVisibleContentRect):
555         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
556         (WebCore::FrameView::updateLayerPositionsAfterScrolling):
557         (WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
558         (WebCore::FrameView::updateCompositingLayersAfterScrolling):
559         * page/FrameView.h:
560         * platform/ScrollView.cpp:
561         (WebCore::ScrollView::scrollTo):
562         * platform/ScrollView.h:
563         (WebCore::ScrollView::updateLayerPositionsAfterScrolling):
564         (WebCore::ScrollView::updateCompositingLayersAfterScrolling):
565
566 2013-11-13  Andreas Kling  <akling@apple.com>
567
568         Generate casting helpers for SVGPaint and SVGColor.
569         <https://webkit.org/b/124285>
570
571         Use CSS_VALUE_TYPE_CASTS to generate type casting helpers for the
572         SVGPaint and SVGColor classes.
573
574         Reviewed by Anders Carlsson.
575
576 2013-11-13  Benjamin Poulain  <bpoulain@apple.com>
577
578         Update ResourceHandleCF to use the didReceiveBuffer() callback
579         https://bugs.webkit.org/show_bug.cgi?id=124256
580
581         Reviewed by Alexey Proskuryakov.
582
583         Use didReceiveBuffer() instead of didReceiveData() to pass data back to
584         the ResourceHandleClient. This unify the update code with the NSURLConnection loader.
585
586         * platform/network/cf/ResourceHandleCFNet.cpp:
587         (WebCore::didReceiveData):
588         (WebCore::ResourceHandle::handleDataArray):
589
590 2013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
591
592         Web Inspector: Split Inspector.json into individual domain json files
593         https://bugs.webkit.org/show_bug.cgi?id=124098
594
595         Reviewed by Timothy Hatcher.
596
597         Split the Inspector domains into their own json file. Generate a
598         combined Inspector.json from all of the json files at build time
599         so that the CodeGenerator is unchanged.
600
601         * .gitattributes:
602         * CMakeLists.txt:
603         * DerivedSources.make:
604         * GNUmakefile.am:
605         * WebCore.xcodeproj/project.pbxproj:
606         * inspector/CodeGeneratorInspector.py:
607         (TypeMap.__init__):
608         * inspector/Inspector.json: Removed.
609         * inspector/Scripts/generate-combined-inspector-json.py: Added.
610         * inspector/protocol/ApplicationCache.json: Added.
611         * inspector/protocol/CSS.json: Added.
612         * inspector/protocol/Canvas.json: Added.
613         * inspector/protocol/Console.json: Added.
614         * inspector/protocol/DOM.json: Added.
615         * inspector/protocol/DOMDebugger.json: Added.
616         * inspector/protocol/DOMStorage.json: Added.
617         * inspector/protocol/Database.json: Added.
618         * inspector/protocol/Debugger.json: Added.
619         * inspector/protocol/FileSystem.json: Added.
620         * inspector/protocol/HeapProfiler.json: Added.
621         * inspector/protocol/IndexedDB.json: Added.
622         * inspector/protocol/Input.json: Added.
623         * inspector/protocol/InspectorDomain.json: Added.
624         * inspector/protocol/LayerTree.json: Added.
625         * inspector/protocol/Memory.json: Added.
626         * inspector/protocol/Network.json: Added.
627         * inspector/protocol/Page.json: Added.
628         * inspector/protocol/Profiler.json: Added.
629         * inspector/protocol/Runtime.json: Added.
630         * inspector/protocol/Timeline.json: Added.
631         * inspector/protocol/Worker.json: Added.
632
633 2013-11-13  Zalan Bujtas  <zalan@apple.com>
634
635         Code cleanup: change FrameView::doLayoutWithFrameFlattening() to make it more explicit.
636         https://bugs.webkit.org/show_bug.cgi?id=124238
637
638         Reviewed by Simon Fraser.
639
640         Rename doLayoutWithFrameFlattening() and change its signature so that it's inline with
641         what it does.
642
643         Covered by existing tests.
644
645         * page/FrameView.cpp:
646         (WebCore::FrameView::layout):
647         (WebCore::FrameView::startLayoutAtMainFrameViewIfNeeded):
648         * page/FrameView.h:
649
650 2013-11-13  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
651
652         Modifying RTCSessionDescription object construction to match the spec
653         https://bugs.webkit.org/show_bug.cgi?id=124212
654
655         Reviewed by Eric Carlson.
656
657         According to the spec the RTCSessionDescriptionInit parameter in RTCSessionDescription constructor is optional,
658         which must not be nullable. If the 'type' and/or 'sdp' keys are not present, the string object that stores
659         them in the RTCSessionDescription class, must be null in those cases. Also, if an object that is not a
660         Dictionary is passed as argument to the constructor, an exception must be raised.
661
662         Existing test was updated.
663
664         * GNUmakefile.list.am:
665         * Modules/mediastream/RTCSessionDescription.cpp:
666         (WebCore::RTCSessionDescription::create):
667         * Modules/mediastream/RTCSessionDescription.idl:
668         * UseJSC.cmake:
669         * WebCore.vcxproj/WebCore.vcxproj:
670         * WebCore.vcxproj/WebCore.vcxproj.filters:
671         * WebCore.xcodeproj/project.pbxproj:
672         * bindings/js/JSRTCSessionDescriptionCustom.cpp: Added.
673         (WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
674
675 2013-11-13  Tim Horton  <timothy_horton@apple.com>
676
677         Fix release build after r159224.
678
679         * WebCore.exp.in:
680
681 2013-11-13  Anders Carlsson  <andersca@apple.com>
682
683         Remove ChromeClient::paintCustomOverhangArea
684         https://bugs.webkit.org/show_bug.cgi?id=124304
685
686         Reviewed by Beth Dakin.
687
688         This function always returns false now; get rid of it.
689
690         * page/Chrome.cpp:
691         * page/ChromeClient.h:
692         * page/FrameView.cpp:
693         (WebCore::FrameView::paintOverhangAreas):
694
695 2013-11-09  Martin Robinson  <mrobinson@igalia.com>
696
697         [MathML] The double bar vertical delimiter does not stretch properly
698         https://bugs.webkit.org/show_bug.cgi?id=123543
699
700         Reviewed by Chris Fleizach.
701
702         * rendering/mathml/RenderMathMLOperator.cpp: Add stretching support for U+2225, which
703         is another version of the vertical bar.
704
705 2013-11-13  Simon Fraser  <simon.fraser@apple.com>
706
707         ASSERTION FAILED: m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) after r135816
708         https://bugs.webkit.org/show_bug.cgi?id=103432
709
710         Reviewed by Dave Hyatt.
711
712         RenderLayer caches repaint rects in m_repaintRect, and on updating layer
713         positions after scrolling, asserts that the cached rect is correct. However,
714         this assertion would sometimes fail if we were scrolling as a result of
715         doing adjustViewSize() in the middle of layout, because we haven't updated
716         layer positions post-layout yet.
717         
718         Fix by having the poorly named FrameView::repaintFixedElementsAfterScrolling()
719         skip the layer updating if this FrameView is inside of adjusetViewSize() in
720         layout.
721         
722         In order to know if we're inside view size adjusting, add a LayoutPhase
723         member to FrameView, replacing two existing bools that track laying out state.
724
725         Investigative work showed that there are many, many ways to re-enter FrameView::layout(),
726         which makes it hard (but desirable) to more assertions about state changes, but
727         indicated that saving and restoring the state (via TemporaryChange<LayoutPhase>)
728         was a good idea.
729
730         * page/FrameView.cpp:
731         (WebCore::FrameView::FrameView):
732         (WebCore::FrameView::reset):
733         (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
734         (WebCore::FrameView::layout):
735         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
736         * page/FrameView.h:
737
738 2013-11-13  Myles C. Maxfield  <mmaxfield@apple.com>
739
740         Delete unused TextPainter function
741         https://bugs.webkit.org/show_bug.cgi?id=124292
742
743         Reviewed by Tim Horton.
744
745         New tests are unnecessary since there is no behavior change
746
747         * rendering/TextPainter.cpp:
748         (WebCore::TextPainter::paintText):
749         * rendering/TextPainter.h:
750
751 2013-11-13  Alexey Proskuryakov  <ap@apple.com>
752
753         Check WebCrypto parameter types when casting
754         https://bugs.webkit.org/show_bug.cgi?id=124297
755
756         Reviewed by Sam Weinig.
757
758         Also changed existing toCryptoXXX functions to use TYPE_CASTS_BASE mechanism.
759
760         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
761         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
762         And sure enough, there was a bug caught by the added checks.
763
764         * bindings/js/JSCryptoKeySerializationJWK.cpp:
765         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
766         * crypto/CryptoAlgorithmParameters.h:
767         (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
768         (WebCore::CryptoAlgorithmParameters::parametersClass):
769         * crypto/CryptoKey.h:
770         * crypto/CryptoKeyData.h:
771         * crypto/CryptoKeySerialization.h:
772         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
773         (WebCore::CryptoAlgorithmAES_CBC::generateKey):
774         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
775         (WebCore::CryptoAlgorithmHMAC::generateKey):
776         (WebCore::CryptoAlgorithmHMAC::importKey):
777         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
778         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
779         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
780         * crypto/keys/CryptoKeyAES.h:
781         * crypto/keys/CryptoKeyDataOctetSequence.h:
782         (WebCore::isCryptoKeyDataOctetSequence):
783         * crypto/keys/CryptoKeyDataRSAComponents.h:
784         (WebCore::isCryptoKeyDataRSAComponents):
785         * crypto/keys/CryptoKeyHMAC.h:
786         * crypto/keys/CryptoKeyRSA.h:
787         * crypto/keys/CryptoKeySerializationRaw.h:
788         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
789         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
790         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
791         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
792         (WebCore::CryptoAlgorithmHMAC::sign):
793         (WebCore::CryptoAlgorithmHMAC::verify):
794         * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
795         * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
796         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
797         * crypto/parameters/CryptoAlgorithmHmacParams.h:
798         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
799         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h:
800         * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
801
802 2013-11-13  Alexey Proskuryakov  <ap@apple.com>
803
804         crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html is failing on Maverics release bot
805         https://bugs.webkit.org/show_bug.cgi?id=124280
806
807         Reviewed by Anders Carlsson.
808
809         * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
810         Don't be a muppet, initialize your variables.
811
812 2013-11-12  Jer Noble  <jer.noble@apple.com>
813
814         Add support for HTMLMediaElement.fastSeek()
815         https://bugs.webkit.org/show_bug.cgi?id=124262
816
817         Reviewed by Eric Carlson.
818
819         Test: media/video-fast-seek.html
820
821         Add the fastSeek() method to HTMLMediaElement, and use fastSeek() in
822         the JavaScript media controls.
823
824         Add the new fastSeek() method:
825         * html/HTMLMediaElement.cpp:
826         (HTMLMediaElement::fastSeek): Call seekWithTolerance.
827         (HTMLMediaElement::seek): Call seekWithTolerance with 0 tolerance.
828         (HTMLMediaElement::seekWithTolerance): Renamed from seek().
829         * html/HTMLMediaElement.h:
830         * html/HTMLMediaElement.idl:
831
832         Add seekWithTolerance() to MediaPlayer:
833         * platform/graphics/MediaPlayer.cpp:
834         (WebCore::MediaPlayer::seekWithTolerance): Pass to MediaPlayerPrivate.
835         * platform/graphics/MediaPlayer.h:
836         * platform/graphics/MediaPlayerPrivate.h:
837         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance): Default implementation which
838             calls seek().
839         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
840         (WebCore::MediaPlayerPrivateAVFoundation::seek): Call seekWithTolerance with 0 tolerance.
841         (WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance): Renamed from seek().
842         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
843         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
844         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
845         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Take tolerance parameters.
846
847         Use the new fastSeek() method while actively scrubbing.
848         * Modules/mediacontrols/mediaControlsApple.js:
849         (Controller.prototype.createControls): Add mouse up and down handlers.
850         (Controller.prototype.handleTimeUpdate): Only update the timeline when not scrubbing.
851         (Controller.prototype.handleTimelineChange): Use fastSeek().
852         (Controller.prototype.handleTimelineMouseDown): Start scrubbing.
853         (Controller.prototype.handleTimelineMouseUp): Stop scrubbing.
854
855 2013-11-13  Andreas Kling  <akling@apple.com>
856
857         Generate casting helpers for scrolling tree classes.
858         <https://webkit.org/b/124286>
859
860         Added SCROLLING_STATE_NODE_TYPE_CASTS and used it to replace the
861         hand-written toFoo() casts for ScrollingStateNode subclasses.
862
863         Reviewed by Anders Carlsson.
864
865 2013-11-13  Hans Muller  <hmuller@adobe.com>
866
867         [CSS Shapes] Determining if a line is inside of a shape should only happen in one place
868         https://bugs.webkit.org/show_bug.cgi?id=121708
869
870         Reviewed by Andreas Kling.
871
872         The ShapeInfo::lineOverlapsShapeBounds() methods now delegate to the Shape object. The
873         logic for the Shape overlap test is now the same for ShapeInsideInfo and ShapeOutsideInfo.
874
875         No new tests, this is just a refactoring of existing code.
876
877         * rendering/shapes/Shape.h:
878         (WebCore::Shape::lineOverlapsShapeMarginBounds): Apply lineOverlapsLayoutRect() to the shape-margin bounds LayoutRect.
879         (WebCore::Shape::lineOverlapsShapePaddingBounds): Apply lineOverlapsLayoutRect() to the shape-padding bounds LayoutRect.
880         (WebCore::Shape::lineOverlapsLayoutRect): The common code for checking if a line and a LayoutRect overlap.
881         * rendering/shapes/ShapeInsideInfo.h: Use lineOverlapsShapePaddingBounds() for lineOverlapShapeBounds().
882         * rendering/shapes/ShapeOutsideInfo.h: Use lineOverlapsShapeMarginBounds() for lineOverlapShapeBounds().
883
884 2013-11-13  Jochen Eisinger  <jochen@chromium.org>
885
886         Restrict UserGestureIndicator to main thread
887         https://bugs.webkit.org/show_bug.cgi?id=124277
888
889         Reviewed by Andreas Kling.
890
891         Certain classes that interact with UserGestureIndicators, e.g.
892         the DOMTimer, can also live on worker threads. Since a
893         background thread cannot possible get a user gesture in the
894         first place, and to avoid races, we turn a UserGestureIndicator
895         on a background thread into a no-op.
896
897         * dom/UserGestureIndicator.cpp:
898         (WebCore::UserGestureIndicator::UserGestureIndicator):
899         (WebCore::UserGestureIndicator::~UserGestureIndicator):
900         (WebCore::UserGestureIndicator::processingUserGesture):
901         * dom/UserGestureIndicator.h:
902
903 2013-11-13  Antti Koivisto  <antti@apple.com>
904
905         Factor simple line creation loop to function
906         https://bugs.webkit.org/show_bug.cgi?id=124279
907
908         Reviewed by Andreas Kling.
909
910         * rendering/SimpleLineLayout.cpp:
911         (WebCore::SimpleLineLayout::Style::Style):
912         
913             Capture style that affects line layout to a struct.
914
915         (WebCore::SimpleLineLayout::textWidth):
916         (WebCore::SimpleLineLayout::measureWord):
917         (WebCore::SimpleLineLayout::createLineRuns):
918         
919             Factor the line loop here.
920
921         (WebCore::SimpleLineLayout::createTextRuns):
922
923 2013-11-12  Antti Koivisto  <antti@apple.com>
924
925         Support overflow-wrap:break-word on simple line path
926         https://bugs.webkit.org/show_bug.cgi?id=124206
927
928         Reviewed by Andreas Kling.
929
930         Pure text documents are rendered with break-word. It is also common in discussion board type sites.
931         
932         This also makes many <textarea>'s rendered using the simple line path.
933
934         Tests: fast/forms/basic-textareas-quirks-simple-lines.html
935                fast/forms/linebox-overflow-in-textarea-padding-simple-lines.html
936                fast/forms/negativeLineHeight-simple-lines.html
937                fast/forms/textAreaLineHeight-simple-lines.html
938
939         * rendering/RenderBlock.cpp:
940         (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
941         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
942         
943             Invalidate the cached line layout mode on shape-inside style change.
944
945         * rendering/SimpleLineLayout.cpp:
946         (WebCore::SimpleLineLayout::canUseForText):
947         (WebCore::SimpleLineLayout::canUseFor):
948         (WebCore::SimpleLineLayout::createTextRuns):
949
950 2013-11-13  Andreas Kling  <akling@apple.com>
951
952         Turn some not-so-rare ElementRareData bits into Node flags.
953         <https://webkit.org/b/124275>
954
955         The following 4 bits seem to be the most commonly set:
956
957         - childrenAffectedByHover()
958         - childrenAffectedByFirstChildRules()
959         - childrenAffectedByLastChildRules()
960         - childrenAffectedByDirectAdjacentRules()
961
962         Turning them into Node flags means we don't have to allocate full
963         ElementRareData object in many cases. I also took this opportunity
964         to make Node's flag twiddling functions available to subclasses.
965
966         1.38 MB progression on HTML5-8266 locally.
967
968         Reviewed by Antti Koivisto.
969
970 2013-11-13  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
971
972         Cleanup the build from unused parameters in WebCore
973         https://bugs.webkit.org/show_bug.cgi?id=124199.
974
975         Reviewed by Csaba Osztrogonác.
976
977         * css/CSSCursorImageValue.cpp:
978         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
979         * dom/Document.cpp:
980         (WebCore::Document::scriptedAnimationControllerSetThrottled):
981         * fileapi/ThreadableBlobRegistry.cpp:
982         (WebCore::ThreadableBlobRegistry::registerBlobURL):
983         * html/HTMLAnchorElement.cpp:
984         (WebCore::shouldProhibitLinks):
985         * html/parser/XSSAuditor.cpp:
986         (WebCore::isSemicolonSeparatedAttribute):
987         * inspector/InspectorConsoleInstrumentation.h:
988         (WebCore::InspectorInstrumentation::addMessageToConsole):
989         * loader/DocumentThreadableLoader.cpp:
990         (WebCore::DocumentThreadableLoader::didReceiveData):
991         (WebCore::DocumentThreadableLoader::didFail):
992         (WebCore::DocumentThreadableLoader::preflightFailure):
993         * loader/cache/CachedImage.cpp:
994         (WebCore::CachedImage::imageSizeForRenderer):
995         * page/animation/ImplicitAnimation.cpp:
996         (WebCore::ImplicitAnimation::animate):
997         * page/animation/KeyframeAnimation.cpp:
998         (WebCore::KeyframeAnimation::animate):
999         * platform/graphics/WidthIterator.cpp:
1000         (WebCore::applyFontTransforms):
1001         * rendering/RenderView.cpp:
1002         (WebCore::RenderView::setIsInWindow):
1003         * rendering/style/RenderStyle.cpp:
1004         (WebCore::RenderStyle::changeRequiresLayout):
1005         (WebCore::RenderStyle::changeRequiresLayerRepaint):
1006         (WebCore::RenderStyle::changeRequiresRecompositeLayer):
1007         * testing/Internals.cpp:
1008         (WebCore::Internals::setHeaderHeight):
1009         (WebCore::Internals::setCaptionsStyleSheetOverride):
1010
1011 2013-11-13  Andreas Kling  <akling@apple.com>
1012
1013         Refalize CSSCursorImageValue.
1014         <https://webkit.org/b/124272>
1015
1016         Make CSSCursorImageValue constructor return a PassRef, and have it
1017         take the image CSSValue as a PassRef (and store it internally in a
1018         Ref<CSSValue>.)
1019
1020         Had to add a Ref version of compareCSSValuePtr() to make this work.
1021
1022         Reviewed by Antti Koivisto.
1023
1024 2013-11-13  Andreas Kling  <akling@apple.com>
1025
1026         RenderTableSection: Cell structures don't need allocation padding.
1027         <https://webkit.org/b/124263>
1028
1029         The row structure data gets shrunk-to-fit once we get to layout,
1030         but per-row cell structures get no such luxury. Fortuntely we know
1031         ahead of time how many cells a row needs to accomodate, so we can
1032         just use Vector::resizeToFit() instead of Vector::grow().
1033
1034         1.25 MB progression on HTML5-8266 locally.
1035
1036         Reviewed by Antti Koivisto.
1037
1038 2013-11-13  Andreas Kling  <akling@apple.com>
1039
1040         Avoid unnecessarily padding the FontDescription families vector.
1041         <https://webkit.org/b/124267>
1042
1043         Use a bit of reserveInitialCapacity+uncheckedAppend grease to avoid
1044         jumping all the way to capacity=16 when a style has more than just
1045         a single font-family in it.
1046
1047         130 kB progression on HTML5-8266 locally.
1048
1049         Reviewed by Antti Koivisto.
1050
1051         * css/DeprecatedStyleBuilder.cpp:
1052         (WebCore::ApplyPropertyFontFamily::applyValue):
1053
1054 2013-11-13  Andreas Kling  <akling@apple.com>
1055
1056         Make remaining CSSPrimitiveValue constructors return PassRef.
1057         <https://webkit.org/b/124270>
1058
1059         ..and same with the corresponding CSSValuePool functions.
1060
1061         Reviewed by Antti Koivisto.
1062
1063 2013-11-13  Alexey Proskuryakov  <ap@apple.com>
1064
1065         Implement key generation and JWK import for RSASSA-PKCS1-v1_5
1066         https://bugs.webkit.org/show_bug.cgi?id=124236
1067
1068         Reviewed by Sam Weinig.
1069
1070         Tests: crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
1071                crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html
1072
1073         * WebCore.xcodeproj/project.pbxproj: Added new files.
1074
1075         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
1076         (WebCore::JSCryptoAlgorithmBuilder::add):
1077         * bindings/js/JSCryptoAlgorithmBuilder.h:
1078         * crypto/CryptoAlgorithmDescriptionBuilder.h:
1079         Added a way to add an Uint8Array, as needed for RSA key.algorithm.publicExponent.
1080
1081         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1082         (WebCore::createAesCbcParams): Removed unneeded JSC prefixes.
1083         (WebCore::createAesKeyGenParams): Ditto.
1084         (WebCore::createHmacParams): Ditto.
1085         (WebCore::createHmacKeyParams): Ditto.
1086         (WebCore::createRsaKeyGenParams): Added. 
1087         (WebCore::createRsaSsaKeyParams): Added. WebCrypto currently doesn't specify any
1088         parameters for importKey, so the structure remains blank (unlike with JWK).
1089         (WebCore::createRsaSsaParams): Added (currently unused, will be sued for sign/verify soon).
1090         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Removed unneeded JSC prefixes.
1091         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
1092         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): Added support for RSAES_PKCS1_v1_5.
1093         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): Ditto.
1094         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): Removed unneeded JSC prefixes.
1095         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Ditto.
1096         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey): Ditto.
1097         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits): Ditto.
1098         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Added support for RSAES_PKCS1_v1_5.
1099         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Removed unneeded JSC prefixes.
1100         (WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey): Ditto.
1101         (WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey): Ditto.
1102
1103         * bindings/js/JSCryptoKeySerializationJWK.h:
1104         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1105         (WebCore::getJSArrayFromJSON): Added.
1106         (WebCore::getBigIntegerVectorFromJSON): Added.
1107         (WebCore::createRSASSAKeyParameters): Create parameters for key import. The key
1108         will remember which algorithm it's allowed to be used with.
1109         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): Added support for
1110         RS256...RS512 (tha is, RSAES_PKCS1_v1_5 with SHA-256...SHA-512).
1111         (WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): Split out of keyData().
1112         (WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Added code to read
1113         RSA key components from JWK.
1114         (WebCore::JSCryptoKeySerializationJWK::keyData): Call one of the above functions.
1115
1116         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Added.
1117         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
1118         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
1119         Placeholders.
1120
1121         * crypto/CryptoKey.h: (WebCore::CryptoKeyClass): Added RSA key class for poor man's RTTI.
1122
1123         * crypto/CryptoKeyData.h: (WebCore::CryptoKeyData::FormatRSAComponents): Added RSAComponents
1124         for poor man's RTTI.
1125
1126         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::importKey): 
1127         * crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::importKey):
1128         * crypto/keys/CryptoKeyAES.h:
1129         (WebCore::isCryptoKeyAES):
1130         (WebCore::toCryptoKeyAES):
1131         * crypto/keys/CryptoKeyDataOctetSequence.h:
1132         (WebCore::toCryptoKeyDataOctetSequence):
1133         * crypto/keys/CryptoKeyHMAC.h:
1134         (WebCore::isCryptoKeyHMAC):
1135         (WebCore::toCryptoKeyHMAC):
1136         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
1137         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
1138         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
1139         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
1140         (WebCore::CryptoAlgorithmHMAC::sign):
1141         (WebCore::CryptoAlgorithmHMAC::verify):
1142         Switched from "as" functions to "is" and "to" ones, as that's more idiomatic.
1143
1144         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Added.
1145         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Added.
1146         Glue code for importKey/generateKey for now.
1147
1148         * crypto/keys/CryptoKeyDataRSAComponents.cpp: Added.
1149         (WebCore::CryptoKeyDataRSAComponents::CryptoKeyDataRSAComponents):
1150         (WebCore::CryptoKeyDataRSAComponents::~CryptoKeyDataRSAComponents):
1151         * crypto/keys/CryptoKeyDataRSAComponents.h: Added.
1152         (WebCore::toCryptoKeyDataRSAComponents):
1153         Added a structure to hold RSA key components, extracted from JWK or another format.
1154
1155         * crypto/keys/CryptoKeyRSA.h: Added.
1156         * crypto/mac/CryptoKeyRSAMac.cpp: Added.
1157
1158         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1159         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1160         Register RSASSA_PKCS1_v1_5.
1161
1162         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added a constructor to make
1163         sure that hasLength is never left uninitialized, even when reading formats that
1164         don't contain a length.
1165
1166         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
1167         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Added.
1168         * crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Added.
1169         Added parameter structures that are needed for RSASSA_PKCS1_v1_5.
1170
1171 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
1172
1173         Disable WebCrypto on Mountain Lion
1174         https://bugs.webkit.org/show_bug.cgi?id=124261
1175
1176         Rubber-stamped by Sam Weinig.
1177
1178         * Configurations/FeatureDefines.xcconfig:
1179
1180 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
1181
1182         Manage XMLHttpRequestUpload, XSLImportRule, XMLErrors, XML pending callback classes through std::unique_ptr
1183         https://bugs.webkit.org/show_bug.cgi?id=124224
1184
1185         Reviewed by Anders Carlsson.
1186
1187         Use std::unique_ptr to handle objects of various XML classes that were previously managed by OwnPtr.
1188         This removes usage of OwnPtr and PassOwnPtr under Source/WebCore/xml/.
1189
1190         * xml/XMLHttpRequest.cpp:
1191         (WebCore::XMLHttpRequest::upload):
1192         * xml/XMLHttpRequest.h:
1193         * xml/XMLHttpRequestUpload.h:
1194         * xml/XSLImportRule.h:
1195         * xml/XSLStyleSheet.h:
1196         * xml/XSLStyleSheetLibxslt.cpp:
1197         (WebCore::XSLStyleSheet::loadChildSheet):
1198         * xml/parser/XMLDocumentParser.cpp:
1199         (WebCore::XMLDocumentParser::handleError):
1200         * xml/parser/XMLDocumentParser.h:
1201         * xml/parser/XMLDocumentParserLibxml2.cpp:
1202         (WebCore::PendingCallbacks::PendingCallbacks):
1203         (WebCore::PendingCallbacks::appendStartElementNSCallback):
1204         (WebCore::PendingCallbacks::appendEndElementNSCallback):
1205         (WebCore::PendingCallbacks::appendCharactersCallback):
1206         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
1207         (WebCore::PendingCallbacks::appendCDATABlockCallback):
1208         (WebCore::PendingCallbacks::appendCommentCallback):
1209         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
1210         (WebCore::PendingCallbacks::appendErrorCallback):
1211         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
1212         (WebCore::XMLDocumentParser::XMLDocumentParser):
1213
1214 2013-11-12  Brady Eidson  <beidson@apple.com>
1215
1216         Move basic IDBBackingStoreTransaction operations to IDBServerConnection
1217         https://bugs.webkit.org/show_bug.cgi?id=124244
1218
1219         Reviewed by Tim Horton (and unofficially Anders Carlsson).
1220
1221         This patch:
1222         - Makes IDBBackingStore the owner of an IDBBackingStoreTransaction.
1223         - Adds the integer transaction ID to IDBBackingStoreTransaction for reference.
1224         - Removes IDBTransactionBackend’s reliance on IDBBackingStoreTransaction by moving
1225           necessary methods to IDBServerConnection.
1226         - Renames the IDBTransactionBackend::backingStoreTransaction() accessor to
1227           deprecatedBackingStoreTransaction to make it clear it’s on the way out.
1228
1229         * Modules/indexeddb/IDBBackingStoreInterface.h:
1230
1231         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1232         (WebCore::IDBDatabaseBackend::setIndexKeys):
1233
1234         * Modules/indexeddb/IDBServerConnection.h:
1235
1236         * Modules/indexeddb/IDBTransactionBackend.cpp:
1237         (WebCore::IDBTransactionBackend::IDBTransactionBackend):
1238         (WebCore::IDBTransactionBackend::~IDBTransactionBackend):
1239         (WebCore::IDBTransactionBackend::deprecatedBackingStoreTransaction):
1240         (WebCore::IDBTransactionBackend::scheduleTask):
1241         (WebCore::IDBTransactionBackend::abort):
1242         (WebCore::IDBTransactionBackend::commit):
1243         (WebCore::IDBTransactionBackend::taskTimerFired):
1244         * Modules/indexeddb/IDBTransactionBackend.h:
1245
1246         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1247         (WebCore::CreateObjectStoreOperation::perform):
1248         (WebCore::CreateIndexOperation::perform):
1249         (WebCore::DeleteIndexOperation::perform):
1250         (WebCore::GetOperation::perform):
1251         (WebCore::PutOperation::perform):
1252         (WebCore::OpenCursorOperation::perform):
1253         (WebCore::CountOperation::perform):
1254         (WebCore::DeleteRangeOperation::perform):
1255         (WebCore::ClearOperation::perform):
1256         (WebCore::DeleteObjectStoreOperation::perform):
1257         (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
1258
1259         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1260         (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
1261         (WebCore::IDBBackingStoreLevelDB::generateKey):
1262         (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
1263         (WebCore::IDBBackingStoreLevelDB::establishBackingStoreTransaction):
1264         (WebCore::IDBBackingStoreLevelDB::deprecatedBackingStoreTransaction):
1265         (WebCore::IDBBackingStoreLevelDB::removeBackingStoreTransaction):
1266         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1267
1268         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp:
1269         (WebCore::IDBBackingStoreTransactionLevelDB::IDBBackingStoreTransactionLevelDB):
1270         (WebCore::IDBBackingStoreTransactionLevelDB::~IDBBackingStoreTransactionLevelDB):
1271         (WebCore::IDBBackingStoreTransactionLevelDB::resetTransaction):
1272         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
1273
1274         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1275         (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
1276         (WebCore::IDBServerConnectionLevelDB::deprecatedBackingStoreTransaction):
1277         (WebCore::IDBServerConnectionLevelDB::openTransaction):
1278         (WebCore::IDBServerConnectionLevelDB::beginTransaction):
1279         (WebCore::IDBServerConnectionLevelDB::commitTransaction):
1280         (WebCore::IDBServerConnectionLevelDB::resetTransaction):
1281         (WebCore::IDBServerConnectionLevelDB::rollbackTransaction):
1282         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1283
1284 2013-11-12  Andy Estes  <aestes@apple.com>
1285
1286         Fix the Mountain Lion build after r159171.
1287
1288         * platform/mac/HTMLConverter.mm:
1289         (_dateForString): +[NSCalendar calendarWithIdentifier:] only exists on
1290         10.9. Use -[NSCalendar initWithIdentifier:] instead.
1291
1292 2013-11-12  Andy Estes  <aestes@apple.com>
1293
1294         [Mac] Fix some deprecation warnings
1295         https://bugs.webkit.org/show_bug.cgi?id=124252
1296
1297         Reviewed by Mark Rowe.
1298
1299         * loader/archive/cf/LegacyWebArchive.cpp:
1300         (WebCore::LegacyWebArchive::create): Use CFPropertyListCreateWithData()
1301         instead of CFPropertyListCreateFromXMLData().
1302         (WebCore::LegacyWebArchive::rawDataRepresentation): Use
1303         CFPropertyListWrite() instead of CFPropertyListWriteToStream().
1304         * platform/mac/HTMLConverter.mm:
1305         (_dateForString): Rewrite this method in terms of NSDateComponents and
1306         NSCalendar instead of using CFGregorianDate.
1307
1308 2013-11-12  Commit Queue  <commit-queue@webkit.org>
1309
1310         Unreviewed, rolling out r159160, r159161, and r159164.
1311         http://trac.webkit.org/changeset/159160
1312         http://trac.webkit.org/changeset/159161
1313         http://trac.webkit.org/changeset/159164
1314         https://bugs.webkit.org/show_bug.cgi?id=124253
1315
1316         Too many errors (make fewer) (Requested by ap on #webkit).
1317
1318         * WebCore.xcodeproj/project.pbxproj:
1319         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
1320         * bindings/js/JSCryptoAlgorithmBuilder.h:
1321         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1322         (WebCore::createAesCbcParams):
1323         (WebCore::createAesKeyGenParams):
1324         (WebCore::createHmacParams):
1325         (WebCore::createHmacKeyParams):
1326         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
1327         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
1328         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
1329         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
1330         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
1331         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
1332         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
1333         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
1334         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
1335         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
1336         (WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey):
1337         (WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey):
1338         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1339         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
1340         (WebCore::JSCryptoKeySerializationJWK::keyData):
1341         * bindings/js/JSCryptoKeySerializationJWK.h:
1342         * crypto/CryptoAlgorithmDescriptionBuilder.h:
1343         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Removed.
1344         * crypto/CryptoKey.h:
1345         (WebCore::ENUM_CLASS):
1346         * crypto/CryptoKeyData.h:
1347         (WebCore::CryptoKeyData::ENUM_CLASS):
1348         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
1349         (WebCore::CryptoAlgorithmAES_CBC::importKey):
1350         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
1351         (WebCore::CryptoAlgorithmHMAC::importKey):
1352         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Removed.
1353         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Removed.
1354         * crypto/keys/CryptoKeyAES.h:
1355         (WebCore::asCryptoKeyAES):
1356         * crypto/keys/CryptoKeyDataOctetSequence.h:
1357         (WebCore::asCryptoKeyDataOctetSequence):
1358         * crypto/keys/CryptoKeyDataRSAComponents.cpp: Removed.
1359         * crypto/keys/CryptoKeyDataRSAComponents.h: Removed.
1360         * crypto/keys/CryptoKeyHMAC.h:
1361         (WebCore::asCryptoKeyHMAC):
1362         * crypto/keys/CryptoKeyRSA.h: Removed.
1363         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
1364         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
1365         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
1366         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
1367         (WebCore::CryptoAlgorithmHMAC::sign):
1368         (WebCore::CryptoAlgorithmHMAC::verify):
1369         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1370         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1371         * crypto/mac/CryptoKeyRSAMac.cpp: Removed.
1372         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
1373         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Removed.
1374         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
1375         * crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Removed.
1376
1377 2013-11-12  Bem Jones-Bey  <bjonesbe@adobe.com>
1378
1379         Make the placed floats tree use LayoutUnit instead of int
1380         https://bugs.webkit.org/show_bug.cgi?id=124207
1381
1382         Reviewed by Alexandru Chiculita.
1383
1384         The dimensions of floats are in LayoutUnits, so it doesn't make sense
1385         to be converting to ints for use in the placed floats tree.
1386
1387         Also add missed "explicit" to single argument FloatingObjects
1388         constructor.
1389
1390         No new tests, no behavior change.
1391
1392         * rendering/FloatingObjects.cpp:
1393         (WebCore::rangesIntersect):
1394         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
1395         (WebCore::ComputeFloatOffsetAdapter::lowValue):
1396         (WebCore::ComputeFloatOffsetAdapter::highValue):
1397         (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
1398         (WebCore::FindNextFloatLogicalBottomAdapter::lowValue):
1399         (WebCore::FindNextFloatLogicalBottomAdapter::highValue):
1400         * rendering/FloatingObjects.h:
1401         * rendering/RenderFlowThread.h:
1402
1403 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
1404
1405         Implement key generation and JWK import for RSASSA-PKCS1-v1_5
1406         https://bugs.webkit.org/show_bug.cgi?id=124236
1407
1408         Build fix.
1409
1410         * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
1411         ifdef out some code on Mountain Lion. Bug 124249 track fixing this.
1412
1413 2013-11-12  Joseph Pecoraro  <pecoraro@apple.com>
1414
1415         Web Inspector: Extract InspectorAgentRegistry from InspectorBaseAgent
1416         https://bugs.webkit.org/show_bug.cgi?id=124190
1417
1418         Reviewed by Timothy Hatcher.
1419
1420         * CMakeLists.txt:
1421         * GNUmakefile.list.am:
1422         * WebCore.vcxproj/WebCore.vcxproj:
1423         * WebCore.vcxproj/WebCore.vcxproj.filters:
1424         * WebCore.xcodeproj/project.pbxproj:
1425         * inspector/InspectorAgentRegistry.cpp: Added.
1426         (WebCore::InspectorAgentRegistry::append):
1427         (WebCore::InspectorAgentRegistry::setFrontend):
1428         (WebCore::InspectorAgentRegistry::clearFrontend):
1429         (WebCore::InspectorAgentRegistry::registerInDispatcher):
1430         (WebCore::InspectorAgentRegistry::discardAgents):
1431         * inspector/InspectorAgentRegistry.h: Added.
1432         * inspector/InspectorAllInOne.cpp:
1433         * inspector/InspectorBaseAgent.cpp: Removed.
1434         * inspector/InspectorBaseAgent.h:
1435         (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
1436         (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
1437         * inspector/InspectorController.h:
1438         * inspector/InspectorMemoryAgent.h:
1439         * inspector/WorkerInspectorController.h:
1440
1441 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
1442
1443         Implement key generation and JWK import for RSASSA-PKCS1-v1_5
1444         https://bugs.webkit.org/show_bug.cgi?id=124236
1445
1446         Release build fix.
1447
1448         * bindings/js/JSCryptoAlgorithmBuilder.cpp: Include TypedArrayInlines.h
1449
1450 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
1451
1452         Implement key generation and JWK import for RSASSA-PKCS1-v1_5
1453         https://bugs.webkit.org/show_bug.cgi?id=124236
1454
1455         Reviewed by Sam Weinig.
1456
1457         Tests: crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
1458                crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html
1459
1460         * WebCore.xcodeproj/project.pbxproj: Added new files.
1461
1462         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
1463         (WebCore::JSCryptoAlgorithmBuilder::add):
1464         * bindings/js/JSCryptoAlgorithmBuilder.h:
1465         * crypto/CryptoAlgorithmDescriptionBuilder.h:
1466         Added a way to add an Uint8Array, as needed for RSA key.algorithm.publicExponent.
1467
1468         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1469         (WebCore::createAesCbcParams): Removed unneeded JSC prefixes.
1470         (WebCore::createAesKeyGenParams): Ditto.
1471         (WebCore::createHmacParams): Ditto.
1472         (WebCore::createHmacKeyParams): Ditto.
1473         (WebCore::createRsaKeyGenParams): Added. 
1474         (WebCore::createRsaSsaKeyParams): Added. WebCrypto currently doesn't specify any
1475         parameters for importKey, so the structure remains blank (unlike with JWK).
1476         (WebCore::createRsaSsaParams): Added (currently unused, will be sued for sign/verify soon).
1477         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Removed unneeded JSC prefixes.
1478         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
1479         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): Added support for RSAES_PKCS1_v1_5.
1480         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): Ditto.
1481         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): Removed unneeded JSC prefixes.
1482         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Ditto.
1483         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey): Ditto.
1484         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits): Ditto.
1485         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Added support for RSAES_PKCS1_v1_5.
1486         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Removed unneeded JSC prefixes.
1487         (WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey): Ditto.
1488         (WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey): Ditto.
1489
1490         * bindings/js/JSCryptoKeySerializationJWK.h:
1491         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1492         (WebCore::getJSArrayFromJSON): Added.
1493         (WebCore::getBigIntegerVectorFromJSON): Added.
1494         (WebCore::createRSASSAKeyParameters): Create parameters for key import. The key
1495         will remember which algorithm it's allowed to be used with.
1496         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): Added support for
1497         RS256...RS512 (tha is, RSAES_PKCS1_v1_5 with SHA-256...SHA-512).
1498         (WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): Split out of keyData().
1499         (WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Added code to read
1500         RSA key components from JWK.
1501         (WebCore::JSCryptoKeySerializationJWK::keyData): Call one of the above functions.
1502
1503         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Added.
1504         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
1505         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
1506         Placeholders.
1507
1508         * crypto/CryptoKey.h: (WebCore::CryptoKeyClass): Added RSA key class for poor man's RTTI.
1509
1510         * crypto/CryptoKeyData.h: (WebCore::CryptoKeyData::FormatRSAComponents): Added RSAComponents
1511         for poor man's RTTI.
1512
1513         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::importKey): 
1514         * crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::importKey):
1515         * crypto/keys/CryptoKeyAES.h:
1516         (WebCore::isCryptoKeyAES):
1517         (WebCore::toCryptoKeyAES):
1518         * crypto/keys/CryptoKeyDataOctetSequence.h:
1519         (WebCore::toCryptoKeyDataOctetSequence):
1520         * crypto/keys/CryptoKeyHMAC.h:
1521         (WebCore::isCryptoKeyHMAC):
1522         (WebCore::toCryptoKeyHMAC):
1523         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
1524         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
1525         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
1526         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
1527         (WebCore::CryptoAlgorithmHMAC::sign):
1528         (WebCore::CryptoAlgorithmHMAC::verify):
1529         Switched from "as" functions to "is" and "to" ones, as that's more idiomatic.
1530
1531         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Added.
1532         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Added.
1533         Glue code for importKey/generateKey for now.
1534
1535         * crypto/keys/CryptoKeyDataRSAComponents.cpp: Added.
1536         (WebCore::CryptoKeyDataRSAComponents::CryptoKeyDataRSAComponents):
1537         (WebCore::CryptoKeyDataRSAComponents::~CryptoKeyDataRSAComponents):
1538         * crypto/keys/CryptoKeyDataRSAComponents.h: Added.
1539         (WebCore::toCryptoKeyDataRSAComponents):
1540         Added a structure to hold RSA key components, extracted from JWK or another format.
1541
1542         * crypto/keys/CryptoKeyRSA.h: Added.
1543         * crypto/mac/CryptoKeyRSAMac.cpp: Added.
1544
1545         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1546         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1547         Register RSASSA_PKCS1_v1_5.
1548
1549         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added a constructor to make
1550         sure that hasLength is never left uninitialized, even when reading formats that
1551         don't contain a length.
1552
1553         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
1554         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Added.
1555         * crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Added.
1556         Added parameter structures that are needed for RSASSA_PKCS1_v1_5.
1557
1558 2013-11-12  Bem Jones-Bey  <bjonesbe@adobe.com>
1559
1560         Move ValueToString out to its own header file to remove duplication
1561         https://bugs.webkit.org/show_bug.cgi?id=124237
1562
1563         Reviewed by Alexandru Chiculita.
1564
1565         The ValueToString struct is used in many places for debugging. Move it
1566         out to its own header file to remove all the duplicated definitions
1567         and make it possible for the specializations to be placed in the
1568         header files with the implementation of the classes they print.
1569
1570         No new tests, no behavior change.
1571
1572         * GNUmakefile.list.am:
1573         * WebCore.xcodeproj/project.pbxproj:
1574         * html/HTMLMediaElement.h:
1575         * platform/LayoutUnit.h:
1576         * platform/PODInterval.h:
1577         * platform/PODIntervalTree.h:
1578         * platform/PODRedBlackTree.h:
1579         * platform/ValueToString.h: Added.
1580         * platform/graphics/FloatPolygon.h:
1581         * rendering/FloatingObjects.cpp:
1582         * rendering/FloatingObjects.h:
1583         * rendering/RenderBlock.h:
1584         * rendering/RenderBlockFlow.h:
1585         * rendering/RenderFlowThread.h:
1586
1587 2013-11-11  David Hyatt  <hyatt@apple.com>
1588
1589         Make RenderBlockRareData be in a hashtable instead of being a member variable.
1590         https://bugs.webkit.org/show_bug.cgi?id=124056
1591
1592         Reviewed by Anders Carlsson.
1593
1594         Right now RenderBlock has 4 bytes taken up by a m_rareData member that is almost
1595         never allocated. This is better off in a separate hash, so that RenderBlock can
1596         get 4 bytes back.
1597         
1598         Since RenderBlockFlow's rare data member was recently removed and folded into
1599         RenderBlock, we need to undo that change and put the rare data member back in
1600         RenderBlockFlow. RenderBlockFlowRareData inheriting from RenderBlockRareData
1601         was not a good idea anyway, since RenderBlockFlows also very rarely need the
1602         RenderBlockRareData members, and were thus paying a heavier cost when the rare
1603         data was created than was necessary.
1604  
1605         * rendering/RenderBlock.cpp:
1606         (WebCore::RenderBlockRareData::RenderBlockRareData):
1607         (WebCore::RenderBlock::~RenderBlock):
1608         (WebCore::RenderBlock::hasRareData):
1609         (WebCore::getRareData):
1610         (WebCore::ensureRareData):
1611         (WebCore::RenderBlock::ensureShapeInsideInfo):
1612         (WebCore::RenderBlock::shapeInsideInfo):
1613         (WebCore::RenderBlock::setShapeInsideInfo):
1614         (WebCore::RenderBlock::paginationStrut):
1615         (WebCore::RenderBlock::pageLogicalOffset):
1616         (WebCore::RenderBlock::setPaginationStrut):
1617         (WebCore::RenderBlock::setPageLogicalOffset):
1618         * rendering/RenderBlock.h:
1619         * rendering/RenderBlockFlow.cpp:
1620         (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
1621         (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
1622         (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
1623         (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
1624         (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
1625         (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
1626         (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
1627         (WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
1628         (WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
1629         (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
1630         (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
1631         (WebCore::RenderBlockFlow::ensureRareBlockFlowData):
1632         (WebCore::RenderBlockFlow::materializeRareBlockFlowData):
1633         * rendering/RenderBlockFlow.h:
1634         (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
1635         (WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
1636         (WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow):
1637         (WebCore::RenderBlockFlow::lineGridBox):
1638         (WebCore::RenderBlockFlow::setLineGridBox):
1639         (WebCore::RenderBlockFlow::renderNamedFlowFragment):
1640         (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
1641         (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
1642         (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
1643         (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
1644         (WebCore::RenderBlockFlow::initMaxMarginValues):
1645         (WebCore::RenderBlockFlow::hasRareBlockFlowData):
1646         (WebCore::RenderBlockFlow::rareBlockFlowData):
1647
1648 2013-11-12  Alex Christensen  <achristensen@webkit.org>
1649
1650         Build GStreamer files on Windows.
1651         https://bugs.webkit.org/show_bug.cgi?id=124180
1652
1653         Reviewed by Brent Fulgham.
1654
1655         * WebCore.vcxproj/WebCore.vcxproj:
1656         * WebCore.vcxproj/WebCore.vcxproj.filters:
1657         * WebCore.vcxproj/copyForwardingHeaders.cmd:
1658         Include gstreamer files in WinCairo build.
1659
1660 2013-11-12  Brady Eidson  <beidson@apple.com>
1661
1662         Introduce IDBServerConnection (and start moving things to it).
1663         https://bugs.webkit.org/show_bug.cgi?id=124193
1664
1665         Reviewed by Alexey Proskuryakov.
1666
1667         IDBServerConnection will be a purely asynchronous interface for database connections, transactions, and cursors.
1668         Its interface will be 100% asynchronous and callback based - Perfect for an IPC divide.
1669         Eventually none of the IDB<Foo>Backend classes will need IDBBackingStore<Foo> classes at all, 
1670         and they’ll all use IDBServerConnection directly.
1671
1672         * CMakeLists.txt:
1673         * GNUmakefile.list.am:
1674         * WebCore.xcodeproj/project.pbxproj:
1675
1676         * Modules/indexeddb/IDBServerConnection.h: Added.
1677         (WebCore::IDBServerConnection::~IDBServerConnection):
1678
1679         Concrete implementation that - for now - wraps an IDBBackingStoreLevelDB:
1680         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Added.
1681         (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
1682         (WebCore::IDBServerConnectionLevelDB::deprecatedBackingStore):
1683         (WebCore::IDBServerConnectionLevelDB::isClosed):
1684         (WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
1685         (WebCore::IDBServerConnectionLevelDB::deleteDatabase):
1686         (WebCore::IDBServerConnectionLevelDB::close):
1687         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Added.
1688
1689         LevelDB created databases get LevelDB server connections:
1690         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1691         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
1692         (WebCore::IDBFactoryBackendLevelDB::open):
1693
1694         Replace most uses of IDBBackingStore with server connection:
1695         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1696         (WebCore::IDBDatabaseBackend::create):
1697         (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
1698         (WebCore::IDBDatabaseBackend::openInternalAsync):
1699         (WebCore::IDBDatabaseBackend::setIndexKeys):
1700         (WebCore::IDBDatabaseBackend::openConnectionInternal):
1701         (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
1702         (WebCore::IDBDatabaseBackend::close):
1703         * Modules/indexeddb/IDBDatabaseBackend.h:
1704         (WebCore::IDBDatabaseBackend::serverConnection):
1705
1706         Change all the operations to access their DatabaseBackend’s server connection instead
1707         if hanging on to a backing store directly:
1708         * Modules/indexeddb/IDBTransactionBackend.cpp:
1709         (WebCore::IDBTransactionBackend::IDBTransactionBackend):
1710         (WebCore::IDBTransactionBackend::scheduleCreateObjectStoreOperation):
1711         (WebCore::IDBTransactionBackend::scheduleDeleteObjectStoreOperation):
1712         (WebCore::IDBTransactionBackend::scheduleCreateIndexOperation):
1713         (WebCore::IDBTransactionBackend::scheduleDeleteIndexOperation):
1714         (WebCore::IDBTransactionBackend::scheduleGetOperation):
1715         (WebCore::IDBTransactionBackend::schedulePutOperation):
1716         (WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
1717         (WebCore::IDBTransactionBackend::scheduleCountOperation):
1718         (WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
1719         (WebCore::IDBTransactionBackend::scheduleClearOperation):
1720         * Modules/indexeddb/IDBTransactionBackend.h:
1721
1722         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1723         (WebCore::CreateObjectStoreOperation::perform):
1724         (WebCore::CreateIndexOperation::perform):
1725         (WebCore::DeleteIndexOperation::perform):
1726         (WebCore::GetOperation::perform):
1727         (WebCore::PutOperation::perform):
1728         (WebCore::OpenCursorOperation::perform):
1729         (WebCore::CountOperation::perform):
1730         (WebCore::DeleteRangeOperation::perform):
1731         (WebCore::ClearOperation::perform):
1732         (WebCore::DeleteObjectStoreOperation::perform):
1733         (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
1734         * Modules/indexeddb/IDBTransactionBackendOperations.h:
1735         (WebCore::CreateObjectStoreOperation::create):
1736         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
1737         (WebCore::DeleteObjectStoreOperation::create):
1738         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
1739         (WebCore::CreateIndexOperation::create):
1740         (WebCore::CreateIndexOperation::CreateIndexOperation):
1741         (WebCore::DeleteIndexOperation::create):
1742         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
1743         (WebCore::GetOperation::create):
1744         (WebCore::GetOperation::GetOperation):
1745         (WebCore::PutOperation::create):
1746         (WebCore::PutOperation::PutOperation):
1747         (WebCore::OpenCursorOperation::create):
1748         (WebCore::OpenCursorOperation::OpenCursorOperation):
1749         (WebCore::CountOperation::create):
1750         (WebCore::CountOperation::CountOperation):
1751         (WebCore::DeleteRangeOperation::create):
1752         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
1753         (WebCore::ClearOperation::create):
1754         (WebCore::ClearOperation::ClearOperation):
1755         * Modules/indexeddb/IDBTransactionCoordinator.h:
1756
1757 2013-11-12  Brent Fulgham  <bfulgham@apple.com>
1758
1759         [Win] Unreviewed gardening.
1760
1761         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct filter file so that source
1762         files show up in their proper directories in Visual Studio.
1763
1764 2013-11-12  Alex Christensen  <achristensen@webkit.org>
1765
1766         [WinCairo] Preparation for ENABLE(VIDEO).
1767         https://bugs.webkit.org/show_bug.cgi?id=57420
1768
1769         Reviewed by Martin Robinson.
1770
1771         * platform/FileSystem.h:
1772         * platform/graphics/MediaPlayer.cpp:
1773         * rendering/RenderMediaControls.cpp:
1774         * rendering/RenderThemeWin.cpp:
1775         (WebCore::RenderThemeWin::adjustSliderThumbSize):
1776         Separated CG code from GStreamer code.
1777
1778 2013-11-12  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
1779
1780         Fix reported build warnings for GTK
1781         https://bugs.webkit.org/show_bug.cgi?id=123439
1782
1783         Reviewed by Carlos Garcia Campos.
1784
1785         There was a void method, that has return value in it's documentation, so I removed it.
1786
1787         * bindings/gobject/WebKitDOMCustom.h:
1788
1789 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
1790
1791         Manage StorageThread through std::unique_ptr
1792         https://bugs.webkit.org/show_bug.cgi?id=124197
1793
1794         Reviewed by Anders Carlsson.
1795
1796         New StorageThread objects are crafted through std::make_unique. This removes the need for the static
1797         StorageThread::create() method but requires that the StorageThread constructor is made public.
1798
1799         * storage/StorageSyncManager.cpp:
1800         (WebCore::StorageSyncManager::StorageSyncManager):
1801         * storage/StorageSyncManager.h:
1802         * storage/StorageThread.cpp:
1803         * storage/StorageThread.h:
1804         * storage/StorageTracker.cpp:
1805         (WebCore::StorageTracker::StorageTracker):
1806         * storage/StorageTracker.h:
1807
1808 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
1809
1810         Remove unnecessary PassOwnPtr.h header includes under Source/WebCore/fileapi
1811         https://bugs.webkit.org/show_bug.cgi?id=124196
1812
1813         Reviewed by Anders Carlsson.
1814
1815         PassOwnPtr is not used anywhere under Source/WebCore/fileapi/, so PassOwnPtr.h inclusions can be removed.
1816
1817         * fileapi/Blob.h:
1818         * fileapi/FileThread.h:
1819         * fileapi/FileThreadTask.h:
1820
1821 2013-11-12  Antti Koivisto  <antti@apple.com>
1822
1823         Text on simple lines sometimes paints one pixel off
1824         https://bugs.webkit.org/show_bug.cgi?id=124200
1825
1826         Reviewed by Andreas Kling.
1827
1828         Test: fast/text/line-runs-simple-lines.html
1829
1830         * rendering/SimpleLineLayout.cpp:
1831         (WebCore::SimpleLineLayout::adjustRunOffsets):
1832         
1833             Don't round on run construction time.
1834
1835         (WebCore::SimpleLineLayout::createTextRuns):
1836         * rendering/SimpleLineLayoutResolver.h:
1837         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1838         
1839             Instead round when generating rects.
1840
1841         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
1842         
1843             Provide the baseline (used by painting) as unrounded FloatPoint.
1844
1845 2013-11-11  Andreas Kling  <akling@apple.com>
1846
1847         Elements with class names automatically get unique ElementData.
1848         <https://webkit.org/b/124184>
1849
1850         We were calling Element::ensureUniqueElementData() for all Elements
1851         with a non-empty list of class names. Doing that on parser-fresh
1852         Elements caused us to upgrade them to UniqueElementData despite not
1853         needing it (ElementData::setClass() is a const function for caching
1854         the "cooked" class and can be called on ShareableElementData.)
1855
1856         1.09 MB progression on HTML5 spec at <http://whatwg.org/c>
1857
1858         Reviewed by Antti Koivisto.
1859
1860 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
1861
1862         JSC bindings generator should generate deletable JSC functions
1863         https://bugs.webkit.org/show_bug.cgi?id=122422
1864
1865         Reviewed by Geoffrey Garen.
1866
1867         The JSC functions that the JSC bindings generator generates should be deletable to conform to
1868         the WebIDL specification, which instructs that the WebIDL operations must be configurable (which
1869         translates to the JSC functions being deletable).
1870
1871         The generator will still produce a non-deletable JSC function for operations under almost all
1872         Web-facing interfaces since they're annotated with the OperationsNotDeletable attribute. The
1873         exception here is the Node interface that is having the attribute removed, with the provided
1874         test case testing that all the functions on the Node prototype object are writable, enumerable
1875         and configurable. This behavior conforms to the WebIDL specification and the behaviors of IE
1876         and Firefox. Chrome at the moment still provides non-configurable functions.
1877
1878         Test: fast/dom/webidl-operations-on-node-prototype.html
1879
1880         * bindings/scripts/CodeGeneratorJS.pm:
1881         (GenerateImplementation): Enforce the non-deletable behavior of the JSC function if either the
1882         operation's interface is annotated with the OperationsNotDeletable attribute or the operation itself
1883         is annotated with the NotDeletable attribute.
1884         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Update the JSC generator test baselines.
1885         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
1886         * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
1887         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
1888         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
1889         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1890         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
1891         * dom/Node.idl: Remove the OperationsNotDeletable attribute.
1892
1893 2013-11-11  Brady Eidson  <beidson@apple.com>
1894
1895         Make IDBTransaction tasks asynchronous
1896         https://bugs.webkit.org/show_bug.cgi?id=124183
1897
1898         Reviewed by Tim Horton.
1899
1900         This is an almost zero-change in behavior.
1901
1902         The one thing that is different is that previously, IDBTransactionBackends would synchronously
1903         run through their entire set of IDBOperation’s without ever returning control to the runloop.
1904
1905         Now, they start one task and then wait for its completion to schedule the start of the next task.
1906
1907         Change IDBOperation’s perform() to take a completion handler so it can be asynchronous.
1908         Add an IDBSynchronousOperation class to handle "Abort" tasks, which never need to perform i/o
1909         and therefore can be entirely synchronous.
1910         * Modules/indexeddb/IDBOperation.h:
1911         (WebCore::IDBSynchronousOperation::~IDBSynchronousOperation):
1912
1913         * Modules/indexeddb/IDBTransactionBackend.cpp:
1914         (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
1915         (WebCore::IDBTransactionBackend::abort):
1916         (WebCore::IDBTransactionBackend::taskTimerFired): Instead of running through the entire set of tasks,
1917           perform a single task asynchronously. The completion handler for the task will reset the task timer
1918           to asynchronously start the next task.
1919         * Modules/indexeddb/IDBTransactionBackend.h:
1920         (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
1921
1922         Update all operations to take completion handlers.
1923         For now, perform things synchronously like before, calling the completion handler when complete.
1924         * Modules/indexeddb/IDBCursorBackend.cpp:
1925         (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called perform() exits.
1926         (WebCore::CallOnDestruct::~CallOnDestruct):
1927         (WebCore::IDBCursorBackend::CursorIterationOperation::create):
1928         (WebCore::IDBCursorBackend::CursorAdvanceOperation::create):
1929         (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::create):
1930         (WebCore::IDBCursorBackend::CursorAdvanceOperation::perform):
1931         (WebCore::IDBCursorBackend::CursorIterationOperation::perform):
1932         (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::perform):
1933
1934         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1935         (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called when perform() exits.
1936         (WebCore::CallOnDestruct::~CallOnDestruct):
1937         (WebCore::CreateObjectStoreOperation::perform):
1938         (WebCore::CreateIndexOperation::perform):
1939         (WebCore::DeleteIndexOperation::perform):
1940         (WebCore::GetOperation::perform):
1941         (WebCore::PutOperation::perform):
1942         (WebCore::SetIndexesReadyOperation::perform):
1943         (WebCore::OpenCursorOperation::perform):
1944         (WebCore::CountOperation::perform):
1945         (WebCore::DeleteRangeOperation::perform):
1946         (WebCore::ClearOperation::perform):
1947         (WebCore::DeleteObjectStoreOperation::perform):
1948         (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
1949
1950         * Modules/indexeddb/IDBTransactionBackendOperations.h:
1951         (WebCore::CreateObjectStoreOperation::create):
1952         (WebCore::DeleteObjectStoreOperation::create):
1953         (WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
1954         (WebCore::CreateObjectStoreAbortOperation::create):
1955         (WebCore::DeleteObjectStoreAbortOperation::create):
1956         (WebCore::IDBDatabaseBackend::VersionChangeAbortOperation::create):
1957         (WebCore::CreateIndexOperation::create):
1958         (WebCore::CreateIndexAbortOperation::create):
1959         (WebCore::DeleteIndexOperation::create):
1960         (WebCore::DeleteIndexAbortOperation::create):
1961         (WebCore::GetOperation::create):
1962         (WebCore::PutOperation::create):
1963         (WebCore::SetIndexesReadyOperation::create):
1964         (WebCore::OpenCursorOperation::create):
1965         (WebCore::CountOperation::create):
1966         (WebCore::DeleteRangeOperation::create):
1967         (WebCore::ClearOperation::create):
1968
1969 2013-11-11  Joseph Pecoraro  <pecoraro@apple.com>
1970
1971         Web Inspector: Remove some unused generated code
1972         https://bugs.webkit.org/show_bug.cgi?id=124179
1973
1974         Reviewed by Timothy Hatcher.
1975
1976         * inspector/CodeGeneratorInspectorStrings.py:
1977
1978 2013-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1979
1980         Clean up static_cast<Element*> usage
1981         https://bugs.webkit.org/show_bug.cgi?id=124133
1982
1983         Reviewed by Andreas Kling.
1984
1985         We need to use toFoo cast function instead of static_cast<>. Though there is toElement(),
1986         static_cast<Element*> is still being used.
1987
1988         No new tests, no behavior changes.
1989
1990         * bindings/gobject/WebKitDOMPrivate.cpp:
1991         (WebKit::wrap):
1992         * dom/ElementTraversal.h:
1993         (WebCore::::lastWithinTemplate):
1994         (WebCore::::nextTemplate):
1995         (WebCore::::previousTemplate):
1996
1997 2013-11-11  Anders Carlsson  <andersca@apple.com>
1998
1999         FrameFilter can just be an std::function instead
2000         https://bugs.webkit.org/show_bug.cgi?id=124176
2001
2002         Reviewed by Tim Horton.
2003
2004         * WebCore.exp.in:
2005         * loader/archive/cf/LegacyWebArchive.cpp:
2006         (WebCore::LegacyWebArchive::create):
2007         * loader/archive/cf/LegacyWebArchive.h:
2008
2009 2013-11-11  Simon Fraser  <simon.fraser@apple.com>
2010
2011         REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong position when element is composited (85647)
2012         https://bugs.webkit.org/show_bug.cgi?id=124090
2013
2014         Reviewed by Beth Dakin.
2015         
2016         After r155660 we did fewer layouts, so were left with overlay scrollbars in the
2017         wrong locations because nothing would update them after RenderLayerBacking
2018         computed a new offsetFromRenderer.
2019         
2020         First part of the fix is to wean positionOverflowControlsLayers() off of
2021         an absolute offset from the root. Do this by not using Widget::frameRect()
2022         to position the layers, but instead RenderLayer::rectFor{Horizontal|Vertical}Scrollbar
2023         which is what we used to position the scrollbars in the first place.
2024         
2025         Second part of the fix is to call positionOverflowControlsLayers() from
2026         RenderLayerBacking::updateGraphicsLayerGeometry() if the offsetFromRenderer
2027         changed.
2028
2029         Test: compositing/overflow/overflow-scrollbar-layer-positions.html
2030
2031         * rendering/RenderLayer.cpp:
2032         (WebCore::RenderLayer::positionOverflowControls):
2033         * rendering/RenderLayerBacking.cpp:
2034         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2035         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
2036         * rendering/RenderLayerBacking.h:
2037
2038 2013-11-11  Brent Fulgham  <bfulgham@apple.com>
2039
2040         [Win] m_isCompositeFontReference is uninitialized.
2041         https://bugs.webkit.org/show_bug.cgi?id=124170
2042
2043         Reviewed by Tim Horton.
2044
2045         Initialize value to false, as is done in the other constructors for this data type.
2046
2047         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2048         (WebCore::FontPlatformData::FontPlatformData): 
2049         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2050         (WebCore::FontPlatformData::FontPlatformData):
2051         * platform/graphics/win/FontPlatformDataWin.cpp:
2052         (WebCore::FontPlatformData::FontPlatformData):
2053
2054 2013-11-11  Myles C. Maxfield  <mmaxfield@apple.com>
2055
2056         [Mac] Characters too close together in complex Arabic text
2057         https://bugs.webkit.org/show_bug.cgi?id=124057
2058
2059         Reviewed by Darin Adler.
2060
2061         We weren't updating our total width variable with run's initial
2062         advance information, leading to widths that were too narrow.
2063
2064         In addition, while initial advances for runs that aren't the first
2065         run are accounted for by baking in the initial advances into the
2066         previous character's advance, the initial advance for the first run
2067         has to be accounted for in ComplexTextController::offsetForPosition.
2068
2069         Test: fast/text/complex-grapheme-cluster-with-initial-advance.html
2070         Test: fast/text/selection-in-initial-advance-region.html
2071
2072         * platform/graphics/mac/ComplexTextController.cpp:
2073         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Update
2074         total width variable
2075         (WebCore::ComplexTextController::offsetOfPosition): Account for
2076         the first run's initial advance.
2077
2078 2013-11-11  Brady Eidson  <beidson@apple.com>
2079
2080         Make IDBBackingStoreTransaction be RefCounted
2081         https://bugs.webkit.org/show_bug.cgi?id=124168
2082
2083         Reviewed by Tim Horton.
2084
2085         This is necessarily to safely add a fully asynchronous interface into the IDB mechanism.
2086
2087         * Modules/indexeddb/IDBBackingStoreInterface.h:
2088         * Modules/indexeddb/IDBBackingStoreTransactionInterface.h:
2089         * Modules/indexeddb/IDBTransactionBackend.h:
2090
2091         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2092         (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
2093         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2094         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
2095
2096 2013-11-11  Antti Koivisto  <antti@apple.com>
2097
2098         End of line whitespace should collapse with white-space:pre-wrap; overflow-wrap:break-word in all cases
2099         https://bugs.webkit.org/show_bug.cgi?id=124158
2100
2101         Reviewed by Dave Hyatt.
2102         
2103         If a word just fits the line but the following space overflows we fail to collapse whitespaces 
2104         at the end of the line. This happens because with break-word we end up taking word breaking
2105         code path that does not have pre-wrap whitespace handling.
2106         
2107         This patch makes the behavior consistent and also matches Firefox.
2108
2109         Test: fast/text/break-word-pre-wrap.html
2110
2111         * rendering/RenderBlockLineLayout.cpp:
2112         (WebCore::BreakingContext::handleText):
2113         
2114             Don't take the word break code path if we are pre-wrap and the current character is space.
2115             Instead proceed to break the line normally as this is a valid break position.
2116
2117 2013-11-11  Bear Travis  <betravis@adobe.com>
2118
2119         Web Inspector: [CSS Shapes] Highlight shape-outside when its element is selected in the Web Inspector
2120         https://bugs.webkit.org/show_bug.cgi?id=124071
2121
2122         Reviewed by Timothy Hatcher.
2123
2124         Adding code to pass computed shape information (path and bounds) to the Inspector overlay
2125         canvas, and the code to display it. The code creates a path based on ShapeInfo's computed
2126         shape. The shape highlight draws whenever an element is highlighted, via selection in
2127         the Inspector elements view.
2128
2129         Test: inspector-protocol/model/highlight-shape-outside.html
2130
2131         * inspector/InspectorOverlay.cpp:
2132         (WebCore::localPointToRoot): Convert a local point to be relative to the root view.
2133         (WebCore::appendPathCommandAndPoints): Helper for building a single segment's worth
2134         of the overall path.
2135         (WebCore::appendPathSegment): Build a single segment's worth of the overall path.
2136         (WebCore::buildObjectForShapeOutside): Build an object to pass to the Inspector overlay
2137         that represents the shape.
2138         (WebCore::buildObjectForElementInfo): Call buildObjectForShapeOutside and pass the
2139         resulting object along.
2140         * inspector/InspectorOverlayPage.js:
2141         (pathCommand): Draw a single path command.
2142         (drawPath): Draw the overall path.
2143         (_drawShapeHighlight): Draw the highlight for the given shapeInfo.
2144         (drawNodeHighlight): Call _drawShapeHighlight.
2145         * rendering/shapes/PolygonShape.h:
2146         (WebCore::PolygonShape::polygon): Expose the underlying vertex information for a
2147         PolygonShape.
2148         * rendering/shapes/RasterShape.h:
2149         * rendering/shapes/RectangleShape.h:
2150         (WebCore::RectangleShape::logicalRx): Expose the logical radii for a shape.
2151         (WebCore::RectangleShape::logicalRy): Ditto.
2152         * rendering/shapes/Shape.h:
2153         * rendering/shapes/ShapeInfo.h:
2154         (WebCore::ShapeInfo::computedShapePhysicalBoundingBox): The physical bounds of a
2155         shape in renderer coordinates.
2156         (WebCore::ShapeInfo::shapeToRendererPoint): Convert shape coordinates to renderer
2157         coordinates.
2158         (WebCore::ShapeInfo::shapeToRendererSize): Ditto.
2159         (WebCore::ShapeInfo::ShapeInfo):
2160
2161 2013-11-11  Alexey Proskuryakov  <ap@apple.com>
2162
2163         Support WebCrypto KeyPair interface
2164         https://bugs.webkit.org/show_bug.cgi?id=124161
2165
2166         Reviewed by Geoffrey Garen.
2167
2168         No new tests yet, will be tested once generateKey is implemented for any RSA algorithms.
2169
2170         * CMakeLists.txt:
2171         * DerivedSources.make:
2172         * GNUmakefile.list.am:
2173         * WebCore.xcodeproj/project.pbxproj:
2174         Added new files.
2175
2176         * bindings/js/JSDOMPromise.h: Support returning a key pair via a promise.
2177
2178         * bindings/js/JSCryptoKeyPairCustom.cpp: Added.
2179         (WebCore::JSCryptoKeyPair::visitChildren):
2180         * crypto/CryptoKey.idl:
2181         CryptoKey wrapper is reachable through KeyPair, but it doesn't have (or need)
2182         a back pointer.
2183
2184         * crypto/CryptoKeyPair.cpp: Added.
2185         (WebCore::CryptoKeyPair::CryptoKeyPair):
2186         (WebCore::CryptoKeyPair::~CryptoKeyPair):
2187         * crypto/CryptoKeyPair.h: Added.
2188         (WebCore::CryptoKeyPair::create):
2189         (WebCore::CryptoKeyPair::publicKey):
2190         (WebCore::CryptoKeyPair::privateKey):
2191         * crypto/CryptoKeyPair.idl: Added.
2192
2193 2013-11-11  Nick Diego Yamane  <nick.yamane@openbossa.org>
2194
2195         Fix build after r158967
2196         https://bugs.webkit.org/show_bug.cgi?id=124160
2197
2198         Reviewed by Anders Carlsson.
2199
2200         After r158967, gcc debug builds with "-Werror=type-limits" enabled
2201         fail. This patch fixes it.
2202
2203         * rendering/shapes/RasterShape.h:
2204         (WebCore::RasterShapeIntervals::intervalsAt):
2205
2206 2013-11-11  Zan Dobersek  <zdobersek@igalia.com>
2207
2208         Remove the OperationsNotDeletable attribute from most of the WebIDL interfaces
2209         https://bugs.webkit.org/show_bug.cgi?id=124151
2210
2211         Reviewed by Geoffrey Garen.
2212
2213         The OperationsNotDeletable attribute currently doesn't have any effect, but will soon enforce
2214         non-configurability of operations on the interface that uses the attribute. Non-configurability
2215         of operations is the default behavior at the moment, but will be changed to follow the WebIDL
2216         specification which requires that the operations are configurable (i.e. -- in JSC terms -- deletable).
2217         IE and Firefox already exhibit this behavior in the majority of cases, while Chrome and Opera don't.
2218
2219         The attribute remains in use on the Location interface to mimic the Unforgeable attribute which
2220         also makes operations of an interface non-configurable. Unforgeable attribute will be used instead
2221         when support for it will be added to the JSC bindings generator.
2222
2223         * Modules/battery/BatteryManager.idl:
2224         * Modules/encryptedmedia/MediaKeySession.idl:
2225         * Modules/encryptedmedia/MediaKeys.idl:
2226         * Modules/gamepad/GamepadList.idl:
2227         * Modules/geolocation/Geolocation.idl:
2228         * Modules/indexeddb/IDBCursor.idl:
2229         * Modules/indexeddb/IDBDatabase.idl:
2230         * Modules/indexeddb/IDBFactory.idl:
2231         * Modules/indexeddb/IDBIndex.idl:
2232         * Modules/indexeddb/IDBKeyRange.idl:
2233         * Modules/indexeddb/IDBObjectStore.idl:
2234         * Modules/indexeddb/IDBTransaction.idl:
2235         * Modules/indexeddb/IDBVersionChangeEvent.idl:
2236         * Modules/mediacontrols/MediaControlsHost.idl:
2237         * Modules/mediasource/MediaSource.idl:
2238         * Modules/mediasource/SourceBuffer.idl:
2239         * Modules/mediasource/SourceBufferList.idl:
2240         * Modules/mediastream/MediaStream.idl:
2241         * Modules/mediastream/MediaStreamTrack.idl:
2242         * Modules/mediastream/RTCDTMFSender.idl:
2243         * Modules/mediastream/RTCDataChannel.idl:
2244         * Modules/mediastream/RTCPeerConnection.idl:
2245         * Modules/mediastream/RTCStatsReport.idl:
2246         * Modules/mediastream/RTCStatsResponse.idl:
2247         * Modules/networkinfo/NetworkInfoConnection.idl:
2248         * Modules/notifications/Notification.idl:
2249         * Modules/notifications/NotificationCenter.idl:
2250         * Modules/proximity/DeviceProximityEvent.idl:
2251         * Modules/quota/StorageInfo.idl:
2252         * Modules/quota/StorageQuota.idl:
2253         * Modules/speech/SpeechGrammarList.idl:
2254         * Modules/speech/SpeechRecognition.idl:
2255         * Modules/speech/SpeechRecognitionResult.idl:
2256         * Modules/speech/SpeechRecognitionResultList.idl:
2257         * Modules/speech/SpeechSynthesis.idl:
2258         * Modules/webaudio/AnalyserNode.idl:
2259         * Modules/webaudio/AudioBuffer.idl:
2260         * Modules/webaudio/AudioBufferSourceNode.idl:
2261         * Modules/webaudio/AudioContext.idl:
2262         * Modules/webaudio/AudioListener.idl:
2263         * Modules/webaudio/AudioNode.idl:
2264         * Modules/webaudio/AudioParam.idl:
2265         * Modules/webaudio/BiquadFilterNode.idl:
2266         * Modules/webaudio/OscillatorNode.idl:
2267         * Modules/webaudio/PannerNode.idl:
2268         * Modules/webdatabase/Database.idl:
2269         * Modules/webdatabase/DatabaseSync.idl:
2270         * Modules/webdatabase/SQLResultSetRowList.idl:
2271         * Modules/webdatabase/SQLTransaction.idl:
2272         * Modules/webdatabase/SQLTransactionSync.idl:
2273         * Modules/websockets/WebSocket.idl:
2274         * crypto/CryptoKey.idl:
2275         * crypto/SubtleCrypto.idl:
2276         * css/CSSHostRule.idl:
2277         * css/CSSMediaRule.idl:
2278         * css/CSSPrimitiveValue.idl:
2279         * css/CSSRuleList.idl:
2280         * css/CSSStyleDeclaration.idl:
2281         * css/CSSStyleSheet.idl:
2282         * css/CSSSupportsRule.idl:
2283         * css/CSSValueList.idl:
2284         * css/DOMWindowCSS.idl:
2285         * css/FontLoader.idl:
2286         * css/MediaList.idl:
2287         * css/MediaQueryList.idl:
2288         * css/MediaQueryListListener.idl:
2289         * css/StyleMedia.idl:
2290         * css/StyleSheet.idl:
2291         * css/StyleSheetList.idl:
2292         * css/WebKitCSSFilterValue.idl:
2293         * css/WebKitCSSKeyframesRule.idl:
2294         * css/WebKitCSSMatrix.idl:
2295         * css/WebKitCSSTransformValue.idl:
2296         * dom/CharacterData.idl:
2297         * dom/ChildNode.idl:
2298         * dom/ClientRectList.idl:
2299         * dom/Clipboard.idl:
2300         * dom/CompositionEvent.idl:
2301         * dom/CustomEvent.idl:
2302         * dom/DOMCoreException.idl:
2303         * dom/DOMImplementation.idl:
2304         * dom/DOMNamedFlowCollection.idl:
2305         * dom/DOMStringList.idl:
2306         * dom/DOMStringMap.idl:
2307         * dom/DataTransferItem.idl:
2308         * dom/DataTransferItemList.idl:
2309         * dom/DeviceMotionEvent.idl:
2310         * dom/DeviceOrientationEvent.idl:
2311         * dom/Document.idl:
2312         * dom/DocumentFragment.idl:
2313         * dom/DocumentType.idl:
2314         * dom/Element.idl:
2315         * dom/Event.idl:
2316         * dom/EventException.idl:
2317         * dom/EventListener.idl:
2318         * dom/EventTarget.idl:
2319         * dom/HashChangeEvent.idl:
2320         * dom/KeyboardEvent.idl:
2321         * dom/MessageEvent.idl:
2322         * dom/MessagePort.idl:
2323         * dom/MouseEvent.idl:
2324         * dom/MutationEvent.idl:
2325         * dom/MutationObserver.idl:
2326         * dom/NamedNodeMap.idl:
2327         * dom/Node.idl:
2328         * dom/NodeFilter.idl:
2329         * dom/NodeIterator.idl:
2330         * dom/NodeList.idl:
2331         * dom/Range.idl:
2332         * dom/RangeException.idl:
2333         * dom/ShadowRoot.idl:
2334         * dom/Text.idl:
2335         * dom/TextEvent.idl:
2336         * dom/TouchEvent.idl:
2337         * dom/TouchList.idl:
2338         * dom/TreeWalker.idl:
2339         * dom/UIEvent.idl:
2340         * dom/WebKitNamedFlow.idl:
2341         * dom/WheelEvent.idl:
2342         * fileapi/Blob.idl:
2343         * fileapi/FileException.idl:
2344         * fileapi/FileList.idl:
2345         * fileapi/FileReader.idl:
2346         * fileapi/FileReaderSync.idl:
2347         * html/DOMFormData.idl:
2348         * html/DOMSettableTokenList.idl:
2349         * html/DOMTokenList.idl:
2350         * html/DOMURL.idl:
2351         * html/HTMLAllCollection.idl:
2352         * html/HTMLAnchorElement.idl:
2353         * html/HTMLButtonElement.idl:
2354         * html/HTMLCanvasElement.idl:
2355         * html/HTMLCollection.idl:
2356         * html/HTMLDocument.idl:
2357         * html/HTMLElement.idl:
2358         * html/HTMLEmbedElement.idl:
2359         * html/HTMLFieldSetElement.idl:
2360         * html/HTMLFormControlsCollection.idl:
2361         * html/HTMLFormElement.idl:
2362         * html/HTMLFrameElement.idl:
2363         * html/HTMLIFrameElement.idl:
2364         * html/HTMLInputElement.idl:
2365         * html/HTMLKeygenElement.idl:
2366         * html/HTMLMarqueeElement.idl:
2367         * html/HTMLMediaElement.idl:
2368         * html/HTMLObjectElement.idl:
2369         * html/HTMLOptionsCollection.idl:
2370         * html/HTMLOutputElement.idl:
2371         * html/HTMLSelectElement.idl:
2372         * html/HTMLTableElement.idl:
2373         * html/HTMLTableRowElement.idl:
2374         * html/HTMLTableSectionElement.idl:
2375         * html/HTMLTextAreaElement.idl:
2376         * html/HTMLVideoElement.idl:
2377         * html/MediaController.idl:
2378         * html/RadioNodeList.idl:
2379         * html/TimeRanges.idl:
2380         * html/canvas/CanvasGradient.idl:
2381         * html/canvas/CanvasRenderingContext2D.idl:
2382         * html/canvas/DOMPath.idl:
2383         * html/canvas/EXTDrawBuffers.idl:
2384         * html/canvas/OESVertexArrayObject.idl:
2385         * html/canvas/WebGLDebugShaders.idl:
2386         * html/canvas/WebGLLoseContext.idl:
2387         * html/canvas/WebGLRenderingContext.idl:
2388         * html/track/AudioTrackList.idl:
2389         * html/track/TextTrack.idl:
2390         * html/track/TextTrackCue.idl:
2391         * html/track/TextTrackCueList.idl:
2392         * html/track/TextTrackList.idl:
2393         * html/track/TextTrackRegionList.idl:
2394         * html/track/VideoTrackList.idl:
2395         * loader/appcache/DOMApplicationCache.idl:
2396         * page/Console.idl:
2397         * page/Crypto.idl:
2398         * page/DOMSecurityPolicy.idl:
2399         * page/DOMSelection.idl:
2400         * page/DOMWindow.idl:
2401         * page/EventSource.idl:
2402         * page/History.idl:
2403         * page/Navigator.idl:
2404         * page/Performance.idl:
2405         * page/PerformanceEntryList.idl:
2406         * page/SpeechInputResultList.idl:
2407         * page/WindowBase64.idl:
2408         * page/WindowTimers.idl:
2409         * plugins/DOMMimeTypeArray.idl:
2410         * plugins/DOMPlugin.idl:
2411         * plugins/DOMPluginArray.idl:
2412         * storage/Storage.idl:
2413         * storage/StorageEvent.idl:
2414         * svg/SVGAngle.idl:
2415         * svg/SVGAnimationElement.idl:
2416         * svg/SVGColor.idl:
2417         * svg/SVGCursorElement.idl:
2418         * svg/SVGDocument.idl:
2419         * svg/SVGElement.idl:
2420         * svg/SVGElementInstanceList.idl:
2421         * svg/SVGException.idl:
2422         * svg/SVGFEDropShadowElement.idl:
2423         * svg/SVGFEGaussianBlurElement.idl:
2424         * svg/SVGFEMorphologyElement.idl:
2425         * svg/SVGFilterElement.idl:
2426         * svg/SVGGraphicsElement.idl:
2427         * svg/SVGLength.idl:
2428         * svg/SVGLengthList.idl:
2429         * svg/SVGMarkerElement.idl:
2430         * svg/SVGMaskElement.idl:
2431         * svg/SVGMatrix.idl:
2432         * svg/SVGNumberList.idl:
2433         * svg/SVGPaint.idl:
2434         * svg/SVGPathElement.idl:
2435         * svg/SVGPathSegList.idl:
2436         * svg/SVGPatternElement.idl:
2437         * svg/SVGPoint.idl:
2438         * svg/SVGPointList.idl:
2439         * svg/SVGSVGElement.idl:
2440         * svg/SVGStringList.idl:
2441         * svg/SVGTests.idl:
2442         * svg/SVGTextContentElement.idl:
2443         * svg/SVGTransform.idl:
2444         * svg/SVGTransformList.idl:
2445         * workers/DedicatedWorkerGlobalScope.idl:
2446         * workers/Worker.idl:
2447         * workers/WorkerGlobalScope.idl:
2448         * workers/WorkerLocation.idl:
2449         * xml/DOMParser.idl:
2450         * xml/XMLHttpRequest.idl:
2451         * xml/XMLHttpRequestException.idl:
2452         * xml/XMLHttpRequestUpload.idl:
2453         * xml/XMLSerializer.idl:
2454         * xml/XPathEvaluator.idl:
2455         * xml/XPathException.idl:
2456         * xml/XPathExpression.idl:
2457         * xml/XPathNSResolver.idl:
2458         * xml/XPathResult.idl:
2459         * xml/XSLTProcessor.idl:
2460
2461 2013-11-11  Javier Fernandez  <jfernandez@igalia.com>
2462
2463         [CSS Regions] Selection focusNode set to the "region" block, instead of the "source" block
2464         https://bugs.webkit.org/show_bug.cgi?id=120769
2465
2466         Reviewed by David Hyatt.
2467
2468         When a point hits a Region block, current positionForPoint algorithm determines its
2469         position in the DOM and returns either the start or end offset for such block, since
2470         Region blocks have no children in the DOM.
2471
2472         It's necessary to map the point into Flow Thread coordinates in order to determine
2473         the DOM position of the specific element rendered by the Region.
2474
2475         Top margin, padding and border points should be mapped to the beginning of the Region
2476         block, while bottom points are mapped to the block end. The Left coordinate its just
2477         adjusted to fit in the Flow Thread boundaries, since its not affected by the Flow
2478         direction.
2479
2480         Besides, when inspecting the Flow Thread blocks looking for the last candidate box,
2481         the Region originally associated to the point might be taken into account. Only the
2482         blocks/boxes rendered by the Region are potential candidates.
2483
2484         Tests: fast/regions/selection/position-for-point-1-vert-lr.html
2485                fast/regions/selection/position-for-point-1-vert-rl.html
2486                fast/regions/selection/position-for-point-1.html
2487                fast/regions/selection/position-for-point-vert-lr.html
2488                fast/regions/selection/position-for-point-vert-rl.html
2489                fast/regions/selection/position-for-point.html
2490
2491         * rendering/RenderBlock.cpp:
2492         (WebCore::isChildHitTestCandidate):
2493         (WebCore::RenderBlock::positionForPoint):
2494         * rendering/RenderBlockFlow.cpp:
2495         (WebCore::RenderBlockFlow::positionForPoint): Added.
2496         It just redirects the call to the associated RenderNamedFlowFragment instance.
2497         * rendering/RenderBlockFlow.h:
2498         * rendering/RenderRegion.cpp:
2499         (WebCore::RenderRegion::mapRegionPointIntoFlowThreadCoordinates): Added.
2500         It performs the coordinates mapping.
2501         (WebCore::RenderRegion::positionForPoint): Added.
2502         It determines the corresponding LayoutPoint in the FlowThread the Region
2503         is associated to, forwarding the call to the RenderBlock class using the
2504         FlowThread's first child block and such new point.
2505         * rendering/RenderRegion.h:
2506
2507 2013-11-11  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
2508
2509         [curl] Remove unused includes.
2510         https://bugs.webkit.org/show_bug.cgi?id=120415
2511
2512         Reviewed by Csaba Osztrogonác.
2513
2514         Original patch by 2013-08-28  Tamas Czene  <tczene@inf.u-szeged.hu>
2515
2516         * platform/network/curl/ProxyServerCurl.cpp:
2517         * platform/network/curl/ResourceHandleCurl.cpp:
2518         * platform/network/curl/ResourceHandleManager.cpp:
2519
2520 2013-11-11  Csaba Osztrogonác  <ossy@webkit.org>
2521
2522         URTBF after r159027 to make Apple Windows build happy.
2523
2524         * platform/graphics/cg/ImageSourceCG.cpp:
2525         (WebCore::sharedBufferGetBytesAtPosition):
2526
2527 2013-11-11  Andreas Kling  <akling@apple.com>
2528
2529         Kill InlineFlowBox::rendererLineBoxes().
2530         <https://webkit.org/b/124141>
2531
2532         We only ever used this to access the RenderLineBoxList for non-root
2533         boxes, and those always have a RenderInline renderer.
2534
2535         Tighten things up by losing the virtual rendererLineBoxes() and
2536         calling RenderInline::lineBoxes() directly.
2537
2538         Reviewed by Antti Koivisto.
2539
2540 2013-11-11  Andreas Kling  <akling@apple.com>
2541
2542         Bring the LineFragmentationData back to RootInlineBox.
2543         <https://webkit.org/b/124136>
2544
2545         Now that we have the simple line layout path, almost all the root
2546         line boxes end up with some kind of fragmentation data, so we might
2547         as well put the members back on RootInlineBox and avoid the extra
2548         allocation (and indirection.)
2549
2550         1.74 MB progression on HTML5 spec at <http://whatwg.org/c>
2551
2552         Reviewed by Antti Koivisto.
2553
2554 2013-11-10  Andreas Kling  <akling@apple.com>
2555
2556         Shrink RenderInline.
2557         <https://webkit.org/b/124134>
2558
2559         Move the "always create line boxes" bit from RenderInline up to
2560         RenderElement. I didn't do this earlier because there were no bits
2561         free on RenderObject but thanks to RenderElement we now have tons!
2562
2563         540 kB progression on HTML5 spec at <http://whatwg.org/c>
2564
2565         Reviewed by Anders Carlsson.
2566
2567 2013-11-10  Sam Weinig  <sam@webkit.org>
2568
2569         Make childShouldCreateRenderer() take a Node reference
2570         https://bugs.webkit.org/show_bug.cgi?id=124132
2571
2572         Reviewed by Andreas Kling.
2573
2574         The Node passed to childShouldCreateRenderer() is never null.
2575
2576 2013-11-10  Frédéric Wang  <fred.wang@free.fr>
2577
2578         CSS direction must be reset to ltr on <math> element.
2579         <https://webkit.org/b/124121>
2580
2581         Reviewed by Darin Adler.
2582
2583         Test: mathml/presentation/direction.html
2584
2585         * css/mathml.css:
2586         (math): set direction: ltr; on the <math> element.
2587
2588 2013-11-10  Sam Weinig  <sam@webkit.org>
2589
2590         Reduce the size of RenderBlockFlow by making its rare data inherit from RenderBlockRareData
2591         https://bugs.webkit.org/show_bug.cgi?id=124124
2592
2593         Reviewed by Anders Carlsson.
2594
2595         Reduce RenderBlockFlow by one word.
2596
2597         * rendering/RenderBlock.cpp:
2598         * rendering/RenderBlock.h:
2599         * rendering/RenderBlockFlow.cpp:
2600         * rendering/RenderBlockFlow.h:
2601
2602 2013-11-10  Antti Koivisto  <antti@apple.com>
2603
2604         Use start/end instead of textOffset/textLength for simple text runs
2605         https://bugs.webkit.org/show_bug.cgi?id=124130
2606
2607         Reviewed by Oliver Hunt.
2608         
2609         The code reads better this way.
2610
2611         * rendering/SimpleLineLayout.cpp:
2612         (WebCore::SimpleLineLayout::createTextRuns):
2613         * rendering/SimpleLineLayout.h:
2614         (WebCore::SimpleLineLayout::Run::Run):
2615         * rendering/SimpleLineLayoutFunctions.h:
2616         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
2617         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
2618         (WebCore::SimpleLineLayout::containsTextCaretOffset):
2619         (WebCore::SimpleLineLayout::isTextRendered):
2620         * rendering/SimpleLineLayoutResolver.h:
2621         (WebCore::SimpleLineLayout::RunResolver::Run::text):
2622
2623 2013-11-10  Antti Koivisto  <antti@apple.com>
2624
2625         Implement white-space property on simple line layout path
2626         https://bugs.webkit.org/show_bug.cgi?id=124122
2627
2628         Reviewed by Andreas Kling.
2629         
2630         Support all values of the white-space property and the tab-size property.
2631
2632         Tests: fast/forms/basic-textareas-simple-lines.html
2633                fast/text/embed-at-end-of-pre-wrap-line-simple-lines.html
2634                fast/text/whitespace/pre-wrap-line-test-simple-lines.html
2635                fast/text/whitespace/pre-wrap-long-word-simple-lines.html
2636                fast/text/whitespace/pre-wrap-spaces-after-newline-simple-lines.html
2637
2638         * rendering/SimpleLineLayout.cpp:
2639         (WebCore::SimpleLineLayout::canUseFor):
2640         (WebCore::SimpleLineLayout::isWhitespace):
2641         (WebCore::SimpleLineLayout::skipWhitespaces):
2642         (WebCore::SimpleLineLayout::textWidth):
2643         (WebCore::SimpleLineLayout::measureWord):
2644         (WebCore::SimpleLineLayout::createTextRuns):
2645         * rendering/SimpleLineLayoutFunctions.cpp:
2646         (WebCore::SimpleLineLayout::paintDebugBorders):
2647         (WebCore::SimpleLineLayout::paintFlow):
2648
2649 2013-11-10  Sergio Correia  <sergio.correia@openbossa.org>
2650
2651         Fix EFL build after r159027
2652         https://bugs.webkit.org/show_bug.cgi?id=124127
2653
2654         Reviewed by Anders Carlsson.
2655
2656         No new tests, build fix.
2657
2658         * page/Settings.in: Add std to numeric_limits, since we don't have
2659         'using std' directives anymore.
2660
2661 2013-11-10  Anders Carlsson  <andersca@apple.com>
2662
2663         Fix build.
2664
2665         * rendering/RenderMultiColumnBlock.cpp:
2666         (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
2667         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
2668
2669 2013-11-10  Anders Carlsson  <andersca@apple.com>
2670
2671         Remove all 'std' using directives from WebCore
2672         https://bugs.webkit.org/show_bug.cgi?id=124125
2673
2674         Reviewed by Sam Weinig.
2675
2676         As per the coding style guidelines.
2677
2678         * loader/CrossOriginPreflightResultCache.cpp:
2679         (WebCore::CrossOriginPreflightResultCache::appendEntry):
2680         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
2681         * loader/WorkerThreadableLoader.cpp:
2682         * loader/appcache/ApplicationCacheStorage.cpp:
2683         (WebCore::ApplicationCacheStorage::loadCache):
2684         * loader/appcache/ManifestParser.cpp:
2685         (WebCore::parseManifest):
2686         * loader/cache/MemoryCache.cpp:
2687         (WebCore::MemoryCache::deadCapacity):
2688         (WebCore::MemoryCache::lruListFor):
2689         * page/CaptionUserPreferencesMediaAF.cpp:
2690         * page/Chrome.cpp:
2691         * page/DOMTimer.cpp:
2692         (WebCore::DOMTimer::intervalClampedToMinimum):
2693         * page/FocusController.cpp:
2694         * page/Frame.cpp:
2695         (WebCore::Frame::resizePageRectsKeepingRatio):
2696         * page/PageGroupLoadDeferrer.cpp:
2697         * page/Settings.cpp:
2698         * page/animation/AnimationBase.cpp:
2699         (WebCore::solveStepsFunction):
2700         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
2701         (WebCore::AnimationBase::timeToNextService):
2702         (WebCore::AnimationBase::fractionalTime):
2703         (WebCore::AnimationBase::getTimeToNextEvent):
2704         * page/animation/KeyframeAnimation.cpp:
2705         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
2706         * platform/DateComponents.cpp:
2707         * platform/ScrollAnimator.cpp:
2708         (WebCore::ScrollAnimator::handleWheelEvent):
2709         * platform/ScrollView.cpp:
2710         (WebCore::ScrollView::unscaledVisibleContentSize):
2711         (WebCore::ScrollView::setScrollOffset):
2712         (WebCore::ScrollView::updateScrollbars):
2713         (WebCore::ScrollView::scrollContents):
2714         * platform/Scrollbar.cpp:
2715         (WebCore::Scrollbar::moveThumb):
2716         * platform/ScrollbarThemeComposite.cpp:
2717         (WebCore::usedTotalSize):
2718         (WebCore::ScrollbarThemeComposite::thumbPosition):
2719         (WebCore::ScrollbarThemeComposite::thumbLength):
2720         * platform/SharedBuffer.cpp:
2721         (WebCore::SharedBuffer::append):
2722         (WebCore::SharedBuffer::copyBufferAndClear):
2723         (WebCore::SharedBuffer::getSomeData):
2724         * platform/ThreadTimers.cpp:
2725         (WebCore::ThreadTimers::updateSharedTimer):
2726         * platform/Timer.cpp:
2727         (WebCore::TimerHeapLessThanFunction::operator()):
2728         (WebCore::TimerBase::heapPop):
2729         (WebCore::TimerBase::nextUnalignedFireInterval):
2730         * platform/URL.cpp:
2731         (WebCore::findHostnamesInMailToURL):
2732         (WebCore::portAllowed):
2733         * platform/audio/AudioResampler.cpp:
2734         (WebCore::AudioResampler::setRate):
2735         * platform/audio/AudioResamplerKernel.cpp:
2736         (WebCore::AudioResamplerKernel::process):
2737         * platform/audio/Distance.cpp:
2738         (WebCore::DistanceEffect::gain):
2739         * platform/audio/DynamicsCompressorKernel.cpp:
2740         (WebCore::DynamicsCompressorKernel::process):
2741         * platform/audio/EqualPowerPanner.cpp:
2742         (WebCore::EqualPowerPanner::pan):
2743         * platform/audio/HRTFDatabase.cpp:
2744         (WebCore::HRTFDatabase::indexFromElevationAngle):
2745         * platform/audio/HRTFElevation.cpp:
2746         (WebCore::HRTFElevation::createForSubject):
2747         * platform/audio/HRTFKernel.cpp:
2748         (WebCore::HRTFKernel::HRTFKernel):
2749         (WebCore::HRTFKernel::createInterpolatedKernel):
2750         * platform/audio/HRTFPanner.cpp:
2751         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
2752         * platform/audio/Reverb.cpp:
2753         * platform/audio/SincResampler.cpp:
2754         (WebCore::SincResampler::process):
2755         * platform/cf/URLCF.cpp:
2756         * platform/graphics/Color.cpp:
2757         (WebCore::makeRGB):
2758         (WebCore::makeRGBA):
2759         (WebCore::colorFloatToRGBAByte):
2760         (WebCore::Color::light):
2761         (WebCore::Color::dark):
2762         * platform/graphics/CrossfadeGeneratedImage.cpp:
2763         * platform/graphics/FloatQuad.cpp:
2764         (WebCore::min4):
2765         (WebCore::max4):
2766         (WebCore::withinEpsilon):
2767         * platform/graphics/FloatSize.cpp:
2768         (WebCore::FloatSize::isZero):
2769         * platform/graphics/FontFastPath.cpp:
2770         (WebCore::Font::floatWidthForSimpleText):
2771         * platform/graphics/FontPlatformData.cpp:
2772         * platform/graphics/GraphicsContext.cpp:
2773         * platform/graphics/RoundedRect.cpp:
2774         (WebCore::RoundedRect::Radii::expand):
2775         * platform/graphics/ShadowBlur.cpp:
2776         (WebCore::calculateLobes):
2777         (WebCore::computeSliceSizesFromRadii):
2778         * platform/graphics/SimpleFontData.cpp:
2779         (WebCore::SimpleFontData::initCharWidths):
2780         * platform/graphics/WidthIterator.cpp:
2781         (WebCore::WidthIterator::WidthIterator):
2782         (WebCore::WidthIterator::advanceInternal):
2783         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2784         (WebCore::InbandTextTrackPrivateAVF::processCue):
2785         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2786         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
2787         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
2788         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2789         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2790         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime):
2791         * platform/graphics/ca/GraphicsLayerCA.cpp:
2792         (WebCore::GraphicsLayerCA::setOpacity):
2793         (WebCore::GraphicsLayerCA::setNeedsDisplay):
2794         (WebCore::GraphicsLayerCA::setupAnimation):
2795         (WebCore::clampedContentsScaleForScale):
2796         * platform/graphics/ca/mac/TileController.mm:
2797         (WebCore::TileController::getTileIndexRangeForRect):
2798         (WebCore::TileController::computeTileCoverageRect):
2799         * platform/graphics/cg/GraphicsContextCG.cpp:
2800         (WebCore::GraphicsContext::setPlatformShadow):
2801         (WebCore::computeLineBoundsAndAntialiasingModeForText):
2802         * platform/graphics/cg/ImageBufferCG.cpp:
2803         * platform/graphics/cg/ImageBufferDataCG.cpp:
2804         (WebCore::ImageBufferData::getData):
2805         * platform/graphics/cg/ImageSourceCG.cpp:
2806         * platform/graphics/filters/FEDropShadow.cpp:
2807         * platform/graphics/filters/FEGaussianBlur.cpp:
2808         (WebCore::boxBlur):
2809         (WebCore::FEGaussianBlur::platformApplyGeneric):
2810         (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
2811         (WebCore::FEGaussianBlur::calculateStdDeviation):
2812         * platform/graphics/gpu/Texture.cpp:
2813         (WebCore::Texture::updateSubRect):
2814         * platform/graphics/gpu/TilingData.cpp:
2815         (WebCore::computeNumTiles):
2816         (WebCore::TilingData::tileXIndexFromSrcCoord):
2817         (WebCore::TilingData::tileYIndexFromSrcCoord):
2818         * platform/graphics/mac/ComplexTextController.cpp:
2819         (WebCore::ComplexTextController::ComplexTextController):
2820         (WebCore::ComplexTextController::offsetForPosition):
2821         (WebCore::ComplexTextController::advance):
2822         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2823         * platform/graphics/mac/FontComplexTextMac.cpp:
2824         (WebCore::Font::floatWidthForComplexText):
2825         * platform/graphics/mac/FontMac.mm:
2826         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2827         (WebCore::MediaPlayerPrivateQTKit::duration):
2828         * platform/graphics/mac/SimpleFontDataMac.mm:
2829         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
2830         * platform/graphics/transforms/MatrixTransformOperation.cpp:
2831         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
2832         * platform/graphics/transforms/RotateTransformOperation.cpp:
2833         * platform/graphics/transforms/TransformOperations.cpp:
2834         (WebCore::TransformOperations::blendByMatchingOperations):
2835         * platform/graphics/transforms/TransformationMatrix.cpp:
2836         (WebCore::clampEdgeValue):
2837         * platform/mac/ScrollAnimatorMac.mm:
2838         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
2839         * platform/mac/ScrollViewMac.mm:
2840         (WebCore::ScrollView::platformSetContentsSize):
2841         (WebCore::ScrollView::platformSetScrollPosition):
2842         * platform/mac/ScrollbarThemeMac.mm:
2843         * platform/mac/ThemeMac.mm:
2844         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
2845         (-[WebVideoFullscreenHUDWindowController incrementVolume]):
2846         (timeToString):
2847         * platform/network/HTTPHeaderMap.cpp:
2848         (WebCore::HTTPHeaderMap::copyData):
2849         * platform/network/ResourceRequestBase.cpp:
2850         * platform/network/ResourceResponseBase.cpp:
2851         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2852         * platform/network/cf/ResourceResponseCFNet.cpp:
2853         * platform/network/mac/ResourceResponseMac.mm:
2854         (WebCore::ResourceResponse::initNSURLResponse):
2855         * platform/text/TextBreakIteratorICU.cpp:
2856         (WebCore::textClone):
2857         (WebCore::textLatin1MoveInPrimaryContext):
2858         (WebCore::textLatin1MoveInPriorContext):
2859         (WebCore::textInChunkOrOutOfRange):
2860         (WebCore::textOpenLatin1):
2861         (WebCore::textUTF16MoveInPrimaryContext):
2862         (WebCore::textUTF16MoveInPriorContext):
2863         (WebCore::textOpenUTF16):
2864         * platform/text/TextCodecUTF16.cpp:
2865         (WebCore::TextCodecUTF16::encode):
2866         * platform/text/TextCodecUTF8.cpp:
2867         (WebCore::TextCodecUTF8::encode):
2868         * platform/text/TextStream.cpp:
2869         * platform/text/mac/LocaleMac.mm:
2870         * platform/text/mac/TextCodecMac.cpp:
2871         (WebCore::TextCodecMac::decode):
2872         * rendering/AutoTableLayout.cpp:
2873         (WebCore::AutoTableLayout::recalcColumn):
2874         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
2875         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
2876         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2877         (WebCore::AutoTableLayout::layout):
2878         * rendering/FixedTableLayout.cpp:
2879         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
2880         * rendering/FloatingObjects.cpp:
2881         (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
2882         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
2883         (WebCore::FloatingObjects::logicalRightOffset):
2884         * rendering/InlineBox.cpp:
2885         * rendering/InlineFlowBox.cpp:
2886         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
2887         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2888         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2889         (WebCore::InlineFlowBox::computeMaxLogicalTop):
2890         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2891         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
2892         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2893         (WebCore::InlineFlowBox::nodeAtPoint):
2894         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
2895         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
2896         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
2897         (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
2898         * rendering/InlineTextBox.cpp:
2899         (WebCore::InlineTextBox::isSelected):
2900         (WebCore::InlineTextBox::localSelectionRect):
2901         (WebCore::InlineTextBox::placeEllipsisBox):
2902         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
2903         (WebCore::InlineTextBox::paint):
2904         (WebCore::InlineTextBox::selectionStartEnd):
2905         (WebCore::InlineTextBox::paintSelection):
2906         (WebCore::InlineTextBox::paintCompositionBackground):
2907         (WebCore::computeUnderlineOffset):
2908         (WebCore::InlineTextBox::paintDecoration):
2909         (WebCore::InlineTextBox::paintDocumentMarker):
2910         (WebCore::InlineTextBox::paintTextMatchMarker):
2911         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2912         (WebCore::InlineTextBox::paintCompositionUnderline):
2913         * rendering/RenderBlock.cpp:
2914         (WebCore::RenderBlock::computeOverflow):
2915         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
2916         (WebCore::RenderBlock::paintChild):
2917         (WebCore::RenderBlock::blockSelectionGap):
2918         (WebCore::RenderBlock::logicalLeftSelectionGap):
2919         (WebCore::RenderBlock::logicalRightSelectionGap):
2920         (WebCore::RenderBlock::calcColumnWidth):
2921         (WebCore::RenderBlock::adjustRectForColumns):
2922         (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
2923         (WebCore::RenderBlock::computePreferredLogicalWidths):
2924         (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
2925         (WebCore::updatePreferredWidth):
2926         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2927         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2928         * rendering/RenderBlockFlow.cpp:
2929         (WebCore::RenderBlockFlow::clearFloats):
2930         (WebCore::RenderBlockFlow::layoutBlock):
2931         (WebCore::RenderBlockFlow::layoutBlockChild):
2932         (WebCore::RenderBlockFlow::collapseMargins):
2933         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
2934         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
2935         (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
2936         (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
2937         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
2938         (WebCore::calculateMinimumPageHeight):
2939         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
2940         (WebCore::RenderBlockFlow::removeFloatingObject):
2941         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
2942         (WebCore::RenderBlockFlow::positionNewFloats):
2943         (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
2944         (WebCore::RenderBlockFlow::addOverhangingFloats):
2945         (WebCore::RenderBlockFlow::getClearDelta):
2946         (WebCore::RenderBlockFlow::adjustForBorderFit):
2947         (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
2948         (WebCore::RenderBlockFlow::updateLogicalHeight):
2949         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
2950         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
2951         (WebCore::RenderBlockFlow::relayoutForPagination):
2952         * rendering/RenderBlockLineLayout.cpp:
2953         (WebCore::updateLogicalWidthForLeftAlignedBlock):
2954         (WebCore::updateLogicalWidthForRightAlignedBlock):
2955         (WebCore::updateLogicalWidthForCenterAlignedBlock):
2956         (WebCore::setLogicalWidthForTextRun):
2957         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
2958         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
2959         (WebCore::RenderBlockFlow::layoutLineBoxes):
2960         (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
2961         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
2962         (WebCore::tryHyphenating):
2963         * rendering/RenderBox.cpp:
2964         (WebCore::RenderBox::scrollWidth):
2965         (WebCore::RenderBox::scrollHeight):
2966         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
2967         (WebCore::RenderBox::constrainLogicalHeightByMinMax):
2968         (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
2969         (WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing):
2970         (WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing):
2971         (WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing):
2972         (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
2973         (WebCore::RenderBox::repaintLayerRectsForImage):
2974         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
2975         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
2976         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
2977         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
2978         (WebCore::RenderBox::computeLogicalWidthInRegion):
2979         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
2980         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2981         (WebCore::RenderBox::computeInlineDirectionMargins):
2982         (WebCore::RenderBox::computeLogicalHeight):
2983         (WebCore::RenderBox::computePercentageLogicalHeight):
2984         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
2985         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
2986         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2987         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2988         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2989         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
2990         (WebCore::RenderBox::applyVisualEffectOverflow):
2991         (WebCore::RenderBox::addLayoutOverflow):
2992         * rendering/RenderBoxModelObject.cpp:
2993         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2994         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
2995         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
2996         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
2997         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2998         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2999         (WebCore::calculateAdjustedInnerBorder):
3000         (WebCore::RenderBoxModelObject::paintBoxShadow):
3001         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
3002         * rendering/RenderDeprecatedFlexibleBox.cpp:
3003         (WebCore::FlexBoxIterator::next):
3004         (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
3005         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
3006         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3007         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3008         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
3009         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
3010         * rendering/RenderFileUploadControl.cpp:
3011         (WebCore::RenderFileUploadControl::maxFilenameWidth):
3012         (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
3013         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
3014         * rendering/RenderImage.cpp:
3015         (WebCore::RenderImage::setImageSizeForAltText):
3016         * rendering/RenderInline.cpp:
3017         (WebCore::computeMargin):
3018         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
3019         (WebCore::RenderInline::paintOutline):
3020         (WebCore::RenderInline::paintOutlineForLine):
3021         * rendering/RenderLayer.cpp:
3022         (WebCore::RenderLayer::clampScrollOffset):
3023         (WebCore::RenderLayer::scrollRectToVisible):
3024         (WebCore::RenderLayer::visibleContentRect):
3025         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
3026         (WebCore::RenderLayer::hitTestOverflowControls):
3027         (WebCore::RenderLayer::hitTestLayer):
3028         (WebCore::RenderLayer::calculateLayerBounds):
3029         * rendering/RenderLayerBacking.cpp:
3030         * rendering/RenderLayerModelObject.cpp:
3031         * rendering/RenderLineBoxList.cpp:
3032         (WebCore::RenderLineBoxList::rangeIntersectsRect):
3033         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
3034         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
3035         (WebCore::RenderLineBoxList::paint):
3036         * rendering/RenderListBox.cpp:
3037         (WebCore::RenderListBox::updateFromElement):
3038         (WebCore::RenderListBox::layout):
3039         (WebCore::RenderListBox::computePreferredLogicalWidths):
3040         (WebCore::RenderListBox::size):
3041         (WebCore::RenderListBox::numVisibleItems):
3042         (WebCore::RenderListBox::panScroll):
3043         (WebCore::RenderListBox::scrollHeight):
3044         * rendering/RenderListItem.cpp:
3045         * rendering/RenderListMarker.cpp:
3046         * rendering/RenderMarquee.cpp:
3047         (WebCore::RenderMarquee::marqueeSpeed):
3048         (WebCore::RenderMarquee::computePosition):
3049         (WebCore::RenderMarquee::timerFired):
3050         * rendering/RenderMediaControls.cpp:
3051         * rendering/RenderMenuList.cpp:
3052         (WebCore::RenderMenuList::updateOptionsWidth):
3053         (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
3054         (WebCore::RenderMenuList::computePreferredLogicalWidths):
3055         * rendering/RenderMeter.cpp:
3056         * rendering/RenderMultiColumnBlock.cpp:
3057         * rendering/RenderMultiColumnSet.cpp:
3058         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
3059         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
3060         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
3061         * rendering/RenderNamedFlowFragment.cpp:
3062         * rendering/RenderObject.cpp:
3063         (WebCore::RenderObject::drawLineForBoxSide):
3064         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3065         (WebCore::RenderObject::caretMaxOffset):
3066         * rendering/RenderProgress.cpp:
3067         * rendering/RenderRegion.cpp:
3068         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
3069         * rendering/RenderReplaced.cpp:
3070         (WebCore::RenderReplaced::shouldPaint):
3071         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
3072         (WebCore::RenderReplaced::computePreferredLogicalWidths):
3073         * rendering/RenderRubyBase.cpp:
3074         * rendering/RenderRubyRun.cpp:
3075         (WebCore::RenderRubyRun::getOverhang):
3076         * rendering/RenderRubyText.cpp:
3077         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
3078         * rendering/RenderScrollbarPart.cpp:
3079         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
3080         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
3081         * rendering/RenderSearchField.cpp:
3082         (WebCore::RenderSearchField::computeControlLogicalHeight):
3083         * rendering/RenderTable.cpp:
3084         (WebCore::RenderTable::updateLogicalWidth):
3085         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
3086         (WebCore::RenderTable::layout):
3087         (WebCore::RenderTable::computePreferredLogicalWidths):
3088         (WebCore::RenderTable::calcBorderStart):
3089         (WebCore::RenderTable::calcBorderEnd):
3090         (WebCore::RenderTable::outerBorderBefore):
3091         (WebCore::RenderTable::outerBorderAfter):
3092         (WebCore::RenderTable::outerBorderStart):
3093         (WebCore::RenderTable::outerBorderEnd):
3094         * rendering/RenderTableCell.cpp:
3095         (WebCore::RenderTableCell::parseColSpanFromDOM):
3096         (WebCore::RenderTableCell::parseRowSpanFromDOM):
3097         (WebCore::RenderTableCell::logicalWidthFromColumns):
3098         (WebCore::RenderTableCell::computePreferredLogicalWidths):
3099         (WebCore::RenderTableCell::layout):
3100         (WebCore::RenderTableCell::setOverrideLogicalContentHeightFromRowHeight):
3101         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3102         (WebCore::RenderTableCell::alignLeftRightBorderPaintRect):
3103         (WebCore::RenderTableCell::alignTopBottomBorderPaintRect):
3104         * rendering/RenderTableSection.cpp:
3105         (WebCore::RenderTableSection::ensureRows):
3106         (WebCore::RenderTableSection::calcRowLogicalHeight):
3107         (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
3108         (WebCore::RenderTableSection::layoutRows):
3109         (WebCore::RenderTableSection::firstLineBaseline):
3110         (WebCore::RenderTableSection::removeCachedCollapsedBorders):
3111         (WebCore::RenderTableSection::setCachedCollapsedBorder):
3112         (WebCore::RenderTableSection::cachedCollapsedBorder):
3113         * rendering/RenderText.cpp:
3114         (WebCore::makeCapitalized):
3115         (WebCore::RenderText::absoluteRectsForRange):
3116         (WebCore::RenderText::absoluteQuadsForRange):
3117         (WebCore::maxWordFragmentWidth):
3118         (WebCore::RenderText::computePreferredLogicalWidths):
3119         * rendering/RenderTextControl.cpp:
3120         (WebCore::RenderTextControl::computePreferredLogicalWidths):
3121         * rendering/RenderTextControlSingleLine.cpp:
3122         * rendering/RenderThemeMac.mm:
3123         (WebCore::RenderThemeMac::paintProgressBar):
3124         (WebCore::RenderThemeMac::paintMenuListButton):
3125         * rendering/RenderWidget.cpp:
3126         * rendering/RootInlineBox.cpp:
3127         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3128         (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
3129         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
3130         (WebCore::RootInlineBox::blockDirectionPointInLine):
3131         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
3132         (WebCore::setAscentAndDescent):
3133         (WebCore::RootInlineBox::ascentAndDescentForBox):
3134         * rendering/mathml/RenderMathMLRoot.cpp:
3135         (WebCore::RenderMathMLRoot::layout):
3136         * rendering/style/RenderStyle.cpp:
3137         (WebCore::calcConstraintScaleFor):
3138         (WebCore::RenderStyle::setFontSize):
3139         (WebCore::RenderStyle::getShadowExtent):
3140         (WebCore::RenderStyle::getShadowInsetExtent):
3141         (WebCore::RenderStyle::getShadowHorizontalExtent):
3142         (WebCore::RenderStyle::getShadowVerticalExtent):
3143         * rendering/style/SVGRenderStyle.cpp:
3144         * rendering/style/ShadowData.cpp:
3145         (WebCore::calculateShadowExtent):
3146         * rendering/svg/RenderSVGResourceFilter.cpp:
3147         * rendering/svg/RenderSVGRoot.cpp:
3148         * rendering/svg/SVGInlineFlowBox.cpp:
3149         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
3150         * rendering/svg/SVGInlineTextBox.cpp:
3151         (WebCore::SVGInlineTextBox::localSelectionRect):
3152         * svg/SVGAnimatedNumber.cpp:
3153         * svg/SVGAnimatedNumberOptionalNumber.cpp:
3154         * svg/animation/SMILTimeContainer.cpp:
3155         (WebCore::SMILTimeContainer::startTimer):
3156         (WebCore::SMILTimeContainer::updateAnimations):
3157         * svg/animation/SVGSMILElement.cpp:
3158         (WebCore::SVGSMILElement::simpleDuration):
3159         (WebCore::SVGSMILElement::repeatingDuration):
3160         (WebCore::SVGSMILElement::resolveActiveEnd):
3161         (WebCore::SVGSMILElement::resolveInterval):
3162         (WebCore::SVGSMILElement::resolveFirstInterval):
3163         (WebCore::SVGSMILElement::resolveNextInterval):
3164         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
3165         * xml/XMLTreeViewer.cpp:
3166         * xml/parser/XMLDocumentParser.cpp:
3167         * xml/parser/XMLDocumentParserLibxml2.cpp:
3168         (WebCore::OffsetBuffer::readOutBytes):
3169
3170 2013-11-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3171
3172         [AX] Clean up static_cast<> to cast from AccessibilityObject 
3173         https://bugs.webkit.org/show_bug.cgi?id=124032
3174
3175         Reviewed by Mario Sanchez Prada.
3176
3177         ACCESSIBILITY_OBJECT_TYPE_CASTS can support more helpful casting functions.
3178         So, we need to use them as much as possible. This patch cleans up all static_cast<> in accessibility.
3179
3180         This patch generates toAccessibilityFoo() in order to replace static_cast<> with it. Below toAccessibilityFoo()
3181         are generated.
3182
3183         - toAccessibilityARIAGridRow()
3184         - toAccessibilityImageMapLink()
3185         - toAccessibilityListBox()
3186         - toAccessibilityListBoxOption()
3187         - toAccessibilityMenuListOption()
3188         - toAccessibilityMenuListPopup()
3189         - toAccessibilityScrollbar()
3190         - toAccessibilitySlider()
3191
3192         No new tests, no behavior changes.
3193
3194         * accessibility/AXObjectCache.cpp:
3195         (WebCore::AXObjectCache::focusedImageMapUIElement):
3196         * accessibility/AccessibilityARIAGridRow.h:
3197         * accessibility/AccessibilityImageMapLink.h:
3198         * accessibility/AccessibilityListBox.cpp:
3199         (WebCore::AccessibilityListBox::setSelectedChildren):
3200         (WebCore::AccessibilityListBox::selectedChildren):
3201         (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
3202         * accessibility/AccessibilityListBox.h:
3203         * accessibility/AccessibilityListBoxOption.h:
3204         * accessibility/AccessibilityMenuList.cpp:
3205         (WebCore::AccessibilityMenuList::addChildren):
3206         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
3207         * accessibility/AccessibilityMenuListOption.h:
3208         * accessibility/AccessibilityMenuListPopup.cpp:
3209         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
3210         * accessibility/AccessibilityMenuListPopup.h:
3211         * accessibility/AccessibilityObject.h:
3212         (WebCore::AccessibilityObject::isListBoxOption):
3213         (WebCore::AccessibilityObject::isSliderThumb):
3214         * accessibility/AccessibilityRenderObject.cpp:
3215         (WebCore::AccessibilityRenderObject::getDocumentLinks):
3216         (WebCore::AccessibilityRenderObject::addImageMapChildren):
3217         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
3218         * accessibility/AccessibilityScrollView.cpp:
3219         (WebCore::AccessibilityScrollView::addChildScrollbar):
3220         * accessibility/AccessibilityScrollbar.h:
3221         * accessibility/AccessibilitySlider.cpp:
3222         (WebCore::AccessibilitySlider::addChildren):
3223         * accessibility/AccessibilitySlider.h:
3224         * accessibility/AccessibilitySpinButton.cpp:
3225         (WebCore::AccessibilitySpinButton::addChildren):
3226         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
3227         (webkitAccessibleSelectionClearSelection):
3228         (webkitAccessibleSelectionSelectAllSelection):
3229         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3230         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3231         (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3232         * rendering/RenderMenuList.cpp:
3233         (WebCore::RenderMenuList::didUpdateActiveOption):
3234
3235 2013-11-10  Andreas Kling  <akling@apple.com>
3236
3237         Rebaseline bindings tests after r158997.
3238
3239         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3240
3241 2013-11-10  Brendan Long  <b.long@cablelabs.com>
3242
3243         [GStreamer] Consolidate more code into TrackPrivateBaseGStreamer
3244         https://bugs.webkit.org/show_bug.cgi?id=124020
3245
3246         Reviewed by Philippe Normand.
3247
3248         No new tests because this is just refactoring.
3249
3250         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
3251         (WebCore::AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer): Don't pass playbin to TrackPrivateBaseGStreamer, and do pass a pointer to "this".
3252         (WebCore::AudioTrackPrivateGStreamer::disconnect): Clear m_playbin().
3253         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Move labelChanged() and languageChanged() to TrackPrivateBaseGStreamer. Move m_playbin to this class (along with disconnect() to clear it).
3254         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: Move tag handling, pad and index to TrackPrivateBaseGStreamer.
3255         (WebCore::textTrackPrivateEventCallback):
3256         (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
3257         (WebCore::InbandTextTrackPrivateGStreamer::disconnect):
3258         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
3259         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp: Add WebKitTextCombinerPad with "tags" property, set in the same was as input-selector's pads.
3260         (webkit_text_combiner_pad_init): Initialize tags to 0.
3261         (webkitTextCombinerPadFinalize): Clear tags.
3262         (webkitTextCombinerPadGetProperty): Handling "tags" property.
3263         (webkitTextCombinerPadEvent): Changed to be a pad event function instead of a pad probe, and now intercepts tags and merges them (like input-selector pads do).
3264         (webkitTextCombinerRequestNewPad): Using WebKitTextCombinerPad instead of just GhostPad.
3265         (webkit_text_combiner_pad_class_init): Setup WebKitTextCombinerPad.
3266         * platform/graphics/gstreamer/TextCombinerGStreamer.h: Remove superfluous code.
3267         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
3268         (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Use "notify::active" so we don't need a playbin, and immediately check for tags after the constructor.
3269         (WebCore::TrackPrivateBaseGStreamer::disconnect): Remove m_playbin.
3270         (WebCore::TrackPrivateBaseGStreamer::getTag): Refactored out from notifyTrackOfTagsChanged.
3271         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Simplify using m_owner (so we can call labelChanged() and languageChanged() directly), and use getTag() above.
3272         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_owner to we can access the owning track, and change some functions to match our needs better.
3273         (WebCore::TrackPrivateBaseGStreamer::setActive): Add empty default since InbandTextTrackPrivateGStreamer doesn't need this.
3274         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: Same as AudioTrackPrivateGStreamer.
3275         (WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer):
3276         (WebCore::VideoTrackPrivateGStreamer::disconnect):
3277         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Same as AudioTrackPrivateGStreamer.
3278
3279 2013-11-10  Andreas Kling  <akling@apple.com>
3280
3281         Generate type casting helpers for Widget classes.
3282         <https://webkit.org/b/124120>
3283
3284         Add a WIDGET_TYPE_CASTS macro and replace all the hand-written
3285         toFoo() helpers we had for Widget subclasses. Fixed up a handful
3286         of places that were still using static_cast.
3287
3288         Reviewed by Antti Koivisto.
3289
3290 2013-11-10  Andreas Kling  <akling@apple.com>
3291
3292         Remove unused FragmentationDisabler class.
3293         <https://webkit.org/b/124118>
3294
3295         This RAII object was added in r144744 to avoid a crash when using
3296         MathML inside CSS regions. Its only user was removed in r157070.
3297
3298         Reviewed by Antti Koivisto.
3299
3300 2013-11-10  Andreas Kling  <akling@apple.com>
3301
3302         Simplify some is-this-a-MathML-element? checks.
3303         <https://webkit.org/b/124119>
3304
3305         As of r158198, the MathML-ness of an Element is determined by
3306         a Node flag, so there's no need to cast to Element before checking
3307         on this. Simplify accordingly.
3308
3309         Reviewed by Antti Koivisto.
3310
3311 2013-11-10  Andreas Kling  <akling@apple.com>
3312
3313         Remove RenderTheme::shouldOpenPickerWithF4Key().
3314
3315         Rubber-stamped by Anders Carlsson.
3316
3317 2013-11-09  Andreas Kling  <akling@apple.com>
3318
3319         CSSValuePool::createFontFamilyValue() should return PassRef.
3320         <https://webkit.org/b/124114>
3321
3322         Unlike createFontFaceValue(), createFontFamilyValue() can never
3323         fail to return an object and thus should return PassRef.
3324
3325         Reviewed by Anders Carlsson.
3326
3327 2013-11-09  Andreas Kling  <akling@apple.com>
3328
3329         RenderIFrame should display its name correctly in DRT output.
3330         <https://webkit.org/b/124117>
3331
3332         Nuke an age-old FIXME about making RenderIFrame show its true name
3333         in DRT output. No more "RenderPartObject {IFRAME}"!
3334
3335         Reviewed by Anders Carlsson.
3336
3337 2013-11-09  Andreas Kling  <akling@apple.com>
3338
3339         SVGTextMetricsBuilder::walkTree() should take a RenderElement.
3340         <https://webkit.org/b/124105>
3341
3342         Make walkTree() take a RenderElement so we can use the non-virtual
3343         firstChild() internally. All call sites had pointers to compatible
3344         objects already.
3345
3346         Reviewed by Anders Carlsson.
3347
3348 2013-11-09  Andreas Kling  <akling@apple.com>
3349
3350         RenderMathMLFenced should pass around operators in tighter types.
3351         <https://webkit.org/b/124115>
3352
3353         Store operator renderers in RenderMathMLOperator pointers instead
3354         of passing them around as RenderObject.
3355
3356         Reviewed by Martin Robinson.
3357
3358 2013-11-09  Andreas Kling  <akling@apple.com>
3359
3360         Use RENDER_OBJECT_TYPE_CASTS for more types.
3361         <https://webkit.org/b/124112>
3362
3363         Generate toRenderFoo() type casting helpers for these classes:
3364
3365             - RenderCombineText
3366             - RenderDetailsMarker
3367             - RenderListMarker
3368             - RenderVideo
3369             - RenderView
3370
3371         Reviewed by Anders Carlsson.
3372
3373 2013-11-09  Andreas Kling  <akling@apple.com>
3374
3375         Move MathML type checking virtuals to RenderObject.
3376         <https://webkit.org/b/124111>
3377
3378         Previously, checking the type of a MathML renderer would require
3379         that you first check if it's a RenderMathMLBlock, and then casting
3380         to that type to access the check you really wanted.
3381
3382         This change moves all the isRenderMathMLFoo() virtual functions
3383         to RenderObject. I also made sure all the overloads were private
3384         and marked them OVERRIDE/FINAL as appropriate.
3385
3386         Finally I replaced all the hand-written casting functions with
3387         autogenerated ones using RENDER_OBJECT_TYPE_CASTS.
3388
3389         Reviewed by Anders Carlsson.
3390
3391 2013-11-09  Martin Robinson  <mrobinson@igalia.com>
3392
3393         [MathML] Poor spacing around delimiters in MathML Torture Test 14
3394         https://bugs.webkit.org/show_bug.cgi?id=122837
3395
3396         Reviewed by Brent Fulgham.
3397
3398         Instead of stretching the vertical bar with the stretchable version, just repeat
3399         the normal vertical bar. This follows what Gecko does when rendering tall vertical
3400         bars and also works around an issue with STIX fonts leading to poor spacing in
3401         formulas.
3402
3403         * rendering/mathml/RenderMathMLOperator.cpp: Stretch the vertical bar with the
3404         normal variant.
3405
3406 2013-11-09  Anders Carlsson  <andersca@apple.com>
3407
3408         Encode form data using the KeyedEncoder
3409         https://bugs.webkit.org/show_bug.cgi?id=124107
3410
3411         Reviewed by Sam Weinig.
3412
3413         * platform/KeyedCoding.h:
3414         (WebCore::KeyedEncoder::encodeEnum):
3415         * platform/network/FormData.cpp:
3416         (WebCore::encodeElement):
3417         (WebCore::FormData::encode):
3418         * platform/network/FormData.h:
3419
3420 2013-11-09  Sam Weinig  <sam@webkit.org>
3421
3422         Modernize CanvasObserverProxy
3423         https://bugs.webkit.org/show_bug.cgi?id=124106
3424
3425         Reviewed by Anders Carlsson.
3426
3427         * css/CSSCanvasValue.h:
3428
3429 2013-11-09  Patrick Gansterer  <paroga@webkit.org>
3430
3431         Move RunLoop from WebCore to WTF
3432         https://bugs.webkit.org/show_bug.cgi?id=116606
3433
3434         Reviewed by Anders Carlsson.
3435
3436         * CMakeLists.txt:
3437         * GNUmakefile.list.am:
3438         * PlatformBlackBerry.cmake:
3439         * PlatformEfl.cmake:
3440         * PlatformGTK.cmake:
3441         * PlatformWin.cmake:
3442         * WebCore.exp.in:
3443         * WebCore.vcxproj/WebCore.vcxproj:
3444         * WebCore.xcodeproj/project.pbxproj:
3445         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3446         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3447
3448 2013-11-09  Andreas Kling  <akling@apple.com>
3449
3450         Tighten typing in SVGResourcesCycleSolver a bit.
3451         <https://webkit.org/b/124104>
3452
3453         Make the SVGResourcesCycleSolver constructor take a RenderElement&
3454         and a SVGResources&.
3455
3456         While I was in the neighborhood, also converted one loop to use a
3457         renderer iterator instead of walking siblings manually.
3458
3459         Finally used "auto" to clean up some overly wordy loops.
3460
3461         Reviewed by Anders Carlsson.
3462
3463 2013-11-09  Andreas Kling  <akling@apple.com>
3464
3465         Beat SVGRenderSupport with the RenderElement stick.
3466         <https://webkit.org/b/124102>
3467
3468         Tighten up all the SVGRenderSupport helper functions by making them
3469         take const RenderElements references instead of raw RenderObject
3470         pointers as much as possible.
3471
3472         This tunes up a bunch of branchy style() calls.
3473
3474         The patch looks big but it's mostly mechanical. I just changed the
3475         signatures and then worked backwards until everything built again.
3476
3477         Reviewed by Antti Koivisto.
3478
3479 2013-11-09  Andreas Kling  <akling@apple.com>
3480
3481         SVGTextLayoutAttributes always has a RenderSVGInlineText.
3482         <https://webkit.org/b/124101>
3483
3484         No SVGTextLayoutAttributes object is without a RenderSVGInlineText
3485         "context" so make context() return a reference.
3486
3487         Reviewed by Antti Koivisto.
3488
3489 2013-11-09  Andreas Kling  <akling@apple.com>
3490
3491         Move BindingSecurity stuff under JSDOMBinding umbrella.
3492         <https://webkit.org/b/124099>
3493
3494         We are hitting shouldAllowAccessToDOMWindow() pretty hard on the
3495         demo here: <http://www.jasondavies.com/maps/rotate/>
3496
3497         Putting it together with the rest of the JSDOMBinding code takes
3498         CPU time spent in there from 8.7% to 6.5%. The abstraction was
3499         only used to support alternate JS engines in the past.
3500
3501         Reviewed by Antti Koivisto.
3502
3503 2013-11-08  Brady Eidson  <beidson@apple.com>
3504
3505         Merge IDBDatabaseBackendInterface and IDBDatabaseBackendImpl
3506         https://bugs.webkit.org/show_bug.cgi?id=124088
3507
3508         Reviewed by Tim Horton.
3509 +
3510         * CMakeLists.txt:
3511         * GNUmakefile.list.am:
3512         * WebCore.vcxproj/WebCore.vcxproj:
3513         * WebCore.xcodeproj/project.pbxproj:
3514
3515         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Removed.
3516
3517         * Modules/indexeddb/IDBDatabaseBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
3518         * Modules/indexeddb/IDBDatabaseBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
3519
3520         * Modules/indexeddb/IDBBackingStoreInterface.h:
3521         * Modules/indexeddb/IDBCallbacks.h:
3522         * Modules/indexeddb/IDBCursor.cpp:
3523         * Modules/indexeddb/IDBCursorBackend.cpp:
3524         * Modules/indexeddb/IDBCursorBackend.h:
3525         * Modules/indexeddb/IDBDatabase.cpp:
3526         * Modules/indexeddb/IDBDatabase.h:
3527         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3528         * Modules/indexeddb/IDBIndex.cpp:
3529         * Modules/indexeddb/IDBIndex.h:
3530         * Modules/indexeddb/IDBIndexWriter.h:
3531         * Modules/indexeddb/IDBObjectStore.cpp:
3532         * Modules/indexeddb/IDBObjectStore.h:
3533         * Modules/indexeddb/IDBOpenDBRequest.cpp:
3534         * Modules/indexeddb/IDBOpenDBRequest.h:
3535         * Modules/indexeddb/IDBPendingDeleteCall.h:
3536         * Modules/indexeddb/IDBRequest.cpp:
3537         * Modules/indexeddb/IDBRequest.h:
3538         * Modules/indexeddb/IDBTransaction.cpp:
3539         * Modules/indexeddb/IDBTransaction.h:
3540         * Modules/indexeddb/IDBTransactionBackend.cpp:
3541         * Modules/indexeddb/IDBTransactionBackend.h:
3542         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3543         * Modules/indexeddb/IDBTransactionBackendOperations.h:
3544         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3545         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3546         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
3547         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
3548
3549 2013-11-08  Andreas Kling  <akling@apple.com>
3550
3551         Reindent JSDOMBinding.h (finally.)
3552
3553         Rubber-stamped by Sam Weinig.
3554
3555 2013-11-08  Sam Weinig  <sam@webkit.org>
3556
3557         Change collectStyleForPresentationAttribute and related functions to take a MutableStylePropertySet by reference
3558         https://bugs.webkit.org/show_bug.cgi?id=124096
3559
3560         Reviewed by Andreas Kling.
3561
3562         Pass MutableStylePropertySet by reference. It is never null.
3563
3564 2013-11-08  Anders Carlsson  <andersca@apple.com>
3565
3566         Implement encoding of arrays of objects
3567         https://bugs.webkit.org/show_bug.cgi?id=124091
3568
3569         Reviewed by Beth Dakin.
3570
3571         * history/HistoryItem.cpp:
3572         (WebCore::HistoryItem::encodeBackForwardTreeNode):
3573         Encode the rest of the members.
3574
3575         * platform/KeyedCoding.h:
3576         (WebCore::KeyedEncoder::encodeObjects):
3577         Call beginArray, then beginArrayElement/endArrayElement for every element and lastly endArray.
3578
3579 2013-11-08  Tim Horton  <timothy_horton@apple.com>
3580
3581         Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache
3582         https://bugs.webkit.org/show_bug.cgi?id=123944
3583
3584         Reviewed by Simon Fraser.
3585
3586         Ensure that the tile cache retrieves repaint rects from the tile layer,
3587         not from the tiled backing layer.
3588
3589         * platform/graphics/ca/PlatformCALayer.h:
3590         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3591         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3592         (PlatformCALayerMac::enumerateRectsBeingDrawn):
3593         Allow the PlatformCALayer to decide how to enumerate rects to paint.
3594
3595         * WebCore.exp.in:
3596         * platform/graphics/mac/WebLayer.h:
3597         Add RepaintRectList, remove some unnecessary WebCore::s.
3598
3599         * platform/graphics/mac/WebLayer.mm:
3600         (WebCore::collectRectsToPaint):
3601         Factor collectRectsToPaint out; it just grabs the rects from
3602         the layer and makes the decision whether to repaint the bounds
3603         of the dirty region or just the subregions.
3604
3605         Move calls to collectRectsToPaint() to callers of drawLayerContents(),
3606         so that TileController can collect rects from the appropriate source
3607         (the Tile layer) and other layers just continue grabbing them from
3608         their relevant layers.
3609
3610         Make sure that the list that comes from collectRectsToPaint() always
3611         has at least one rect in it (appending the clip bounds if we don't
3612         want to repaint subregions) so we can simplify logic in drawLayerContents.
3613
3614         (WebCore::drawLayerContents):
3615         Remove code to support CompositingCoordinatesBottomUp, as it's only
3616         used on Windows, so this Mac-specific code doesn't need to support it.
3617
3618         Simplify logic given that dirtyRects will always be non-empty.
3619
3620         (-[WebLayer drawInContext:]):
3621         (-[WebSimpleLayer setNeedsDisplayInRect:]):
3622         * platform/graphics/ca/mac/TileController.mm:
3623         (WebCore::TileController::platformCALayerPaintContents):
3624         Adopt collectRectsToPaint.
3625
3626 2013-11-08  Anders Carlsson  <andersca@apple.com>
3627
3628         Implement more KeyedEncoder functionality
3629         https://bugs.webkit.org/show_bug.cgi?id=124089
3630
3631         Reviewed by Beth Dakin.
3632
3633         * bindings/js/SerializedScriptValue.h:
3634         * history/HistoryItem.cpp:
3635         (WebCore::HistoryItem::encodeBackForwardTreeNode):
3636         * platform/KeyedCoding.h:
3637         (WebCore::KeyedEncoder::encodeConditionalObject):
3638
3639 2013-11-08  Eric Carlson  <eric.carlson@apple.com>
3640
3641         getCueAsHTML() on an empty cue should return a document fragment
3642         https://bugs.webkit.org/show_bug.cgi?id=124084
3643
3644         Reviewed by Darin Adler.
3645
3646         Test: media/track/track-cue-empty-cue-text.html
3647
3648         * html/track/WebVTTParser.cpp:
3649         (WebCore::WebVTTParser::createDocumentFragmentFromCueText): Don't return early when the
3650             passed an empty string.
3651
3652 2013-11-08  Anders Carlsson  <andersca@apple.com>
3653
3654         KeyedEncoder should be able to encoder objects
3655         https://bugs.webkit.org/show_bug.cgi?id=124085
3656
3657         Reviewed by Sam Weinig.
3658
3659         * history/HistoryItem.cpp:
3660         (WebCore::HistoryItem::encodeBackForwardTree):
3661         Encode the root object.
3662
3663         (WebCore::HistoryItem::encodeBackForwardTreeNode):
3664         Encode the target.
3665
3666         * history/HistoryItem.h:
3667         Add new members.
3668
3669         * platform/KeyedCoding.h:
3670         (WebCore::KeyedEncoder::encodeObject):
3671         Call beginObject, call the functor and then call endObject().
3672
3673 2013-11-08  Sam Weinig  <sam@webkit.org>
3674
3675         Teach CanvasObserver about references
3676         https://bugs.webkit.org/show_bug.cgi?id=124082
3677
3678         Reviewed by Anders Carlsson.
3679
3680         * css/CSSCanvasValue.cpp:
3681         * css/CSSCanvasValue.h:
3682         * html/HTMLCanvasElement.cpp:
3683         * html/HTMLCanvasElement.h:
3684
3685 2013-11-08  Anders Carlsson  <andersca@apple.com>
3686
3687         Begin stubbing out a KeyedEncoder class in WebCore
3688         https://bugs.webkit.org/show_bug.cgi?id=124079
3689
3690         Reviewed by Sam Weinig.
3691
3692         * WebCore.exp.in:
3693         Add symbol needed by WebCore.
3694
3695         * WebCore.xcodeproj/project.pbxproj:
3696         Add new header file.
3697
3698         * history/HistoryItem.cpp:
3699         (WebCore::HistoryItem::encodeBackForwardTree):
3700         * history/HistoryItem.h:
3701         Add an encodeBackForwardTree overload that takes a KeyedEncoder object. Encode the version.
3702
3703         * platform/KeyedCoding.h:
3704         Add a KeyedEncoder class that just has a single encodeUInt32 member function for now.
3705
3706 2013-11-08  Brady Eidson  <beidson@apple.com>
3707
3708         Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl
3709         https://bugs.webkit.org/show_bug.cgi?id=124077
3710
3711         Reviewed by Alexey Proskuryakov.
3712
3713         The abstraction is no longer needed.
3714
3715         * CMakeLists.txt:
3716         * GNUmakefile.list.am:
3717         * WebCore.xcodeproj/project.pbxproj:
3718
3719         * Modules/indexeddb/IDBTransactionBackendInterface.h: Removed.
3720
3721         * Modules/indexeddb/IDBTransactionBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
3722         * Modules/indexeddb/IDBTransactionBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
3723
3724         * Modules/indexeddb/IDBBackingStoreInterface.h:
3725         * Modules/indexeddb/IDBCursorBackend.cpp:
3726         * Modules/indexeddb/IDBCursorBackend.h:
3727         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3728         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3729         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3730         * Modules/indexeddb/IDBTransactionBackendOperations.h:
3731         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
3732         * Modules/indexeddb/IDBTransactionCoordinator.h:
3733         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3734         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3735         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3736         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3737
3738 2013-11-08  Simon Fraser  <simon.fraser@apple.com>
3739
3740         REGRESSION (r155660): Some Etherpad pages not scrollable with overlay scrollbars
3741         https://bugs.webkit.org/show_bug.cgi?id=124075
3742
3743         Reviewed by Beth Dakin.
3744         
3745         In r155660 I removed some scrollbar-related layouts when scrollbars
3746         are in overlay mode.
3747         
3748         However, ScrollView::updateScrollbars() has a case where we still need
3749         to do multiple pases, related to its "Never ever try to both gain/lose a
3750         scrollbar in the same pass" comment. When we avoid making a new scrollbar
3751         because the other was removed, we need to do another pass to bring the
3752         correct scrollbar back.
3753
3754         Can't test overlay scrollbars in tests.
3755
3756         * platform/ScrollView.cpp:
3757         (WebCore::ScrollView::updateScrollbars):
3758
3759 2013-11-08  Hans Muller  <hmuller@adobe.com>
3760
3761         [CSS Shapes] Image valued shape-outside that extends vertically into the margin-box is top-clipped
3762         https://bugs.webkit.org/show_bug.cgi?id=123769
3763
3764         Reviewed by Dirk Schulze.
3765
3766         Remove the assumption that Y coordinates are >= 0 from the RasterShapeIntervals class
3767         and correct its computeShapeMarginIntervals() method. The computeShapeMarginIntervals()
3768         method now generates intervals with Y coordinates that begin at the image shape's
3769         bounds.y - shape-margin, which may be less than 0.
3770
3771         The RasterShapeIntervals::intervalsAt() method now offsets its Y coordinate parameter
3772         by the shape-margin. A non-const overload of the method was added to centralize all
3773         access to m_intervalLists.
3774
3775         Test: fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-004.html
3776               fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-005.html
3777
3778         * rendering/shapes/RasterShape.cpp:
3779         (WebCore::MarginIntervalGenerator::intervalAt): Don't clip X coordinates to 0 since they can extend into the margin-box.
3780         (WebCore::RasterShapeIntervals::appendInterval): Use the non-const intervalsAt() method.
3781         (WebCore::RasterShapeIntervals::uniteMarginInterval): Ditto.
3782         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals): See above.
3783         * rendering/shapes/RasterShape.h:
3784         (WebCore::RasterShapeIntervals::RasterShapeIntervals): Added a field for the margin.
3785         (WebCore::RasterShapeIntervals::intervalsAt): Offset y coordinates by the margin; added a non-const overload.
3786
3787 2013-11-08  Piotr Grad  <p.grad@samsung.com>
3788
3789         Ended event should work also when playback rate is negative
3790         https://bugs.webkit.org/show_bug.cgi?id=123879
3791
3792         Reviewed by Eric Carlson.
3793
3794         According to W3C specification playback is ended also when playback rate is
3795         negative and position is the earliest possible position.
3796
3797         Test: media/video-ended-event-negative-playback.html
3798
3799         * html/HTMLMediaElement.cpp:
3800         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3801
3802 2013-11-08  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3803
3804         Checking for TypeError in RTCPeerConnection object creation
3805         https://bugs.webkit.org/show_bug.cgi?id=124049
3806
3807         Reviewed by Eric Carlson.
3808
3809         If invalid parameters are passed on RTCPeerConnection creation we must throw a TypeError exception.
3810         According to the spec it requires a Dictionary argument, the RTCConfiguration, which is mandatory.
3811
3812         Please notice that this patch does not make every tests run as expected,
3813         RTCPeerConnectionHandlerMock needs to be update to deal with contraints.
3814
3815         Existing tests were updated.
3816
3817         * GNUmakefile.list.am:
3818         * Modules/mediastream/RTCPeerConnection.idl:
3819         * UseJSC.cmake:
3820         * WebCore.vcxproj/WebCore.vcxproj:
3821         * WebCore.vcxproj/WebCore.vcxproj.filters:
3822         * WebCore.xcodeproj/project.pbxproj:
3823         * bindings/js/JSRTCPeerConnectionCustom.cpp: Added.
3824         (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
3825
3826 2013-11-08  Bem Jones-Bey  <bjonesbe@adobe.com>
3827
3828         Use references instead of pointers to RenderBlockFlow in FloatingObjects and ComputeFloatOffsetAdapter
3829         https://bugs.webkit.org/show_bug.cgi?id=124074
3830
3831         Reviewed by Sam Weinig.
3832
3833         Just a straightforward conversion from const pointers to const references.
3834
3835         Also, remove unneeded argument from FloatingObjects constructor.
3836
3837         No new tests, no behavior change.
3838
3839         * rendering/FloatingObjects.cpp:
3840         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
3841         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
3842         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
3843         (WebCore::FloatingObjects::FloatingObjects):
3844         (WebCore::FloatingObjects::clearLineBoxTreePointers):
3845         (WebCore::FloatingObjects::computePlacedFloatsTree):
3846         (WebCore::shapeInfoForFloat):
3847         (WebCore::::updateOffsetIfNeeded):
3848         (WebCore::::collectIfNeeded):
3849         (WebCore::::heightRemaining):
3850         * rendering/FloatingObjects.h:
3851         * rendering/RenderBlockFlow.cpp:
3852         (WebCore::RenderBlockFlow::createFloatingObjects):
3853
3854 2013-11-08  Sam Weinig  <sam@webkit.org>
3855
3856         Teach SubframeLoader a bit about references
3857         https://bugs.webkit.org/show_bug.cgi?id=124076
3858
3859         Reviewed by Anders Carlsson.
3860
3861         * html/HTMLAppletElement.cpp:
3862         * html/HTMLFrameElementBase.cpp:
3863         * html/HTMLMediaElement.cpp:
3864         * loader/SubframeLoader.cpp:
3865         * loader/SubframeLoader.h:
3866
3867 2013-11-08  Brady Eidson  <beidson@apple.com>
3868
3869         Blind Windows build-fix attempt after r158959
3870
3871         * WebCore.vcxproj/WebCore.vcxproj:
3872
3873 2013-11-08  Brady Eidson  <beidson@apple.com>
3874
3875         Merge IDBCursorBackendInterface and IDBCursorBackendImpl
3876         https://bugs.webkit.org/show_bug.cgi?id=124068
3877
3878         Reviewed by Anders Carlsson.
3879
3880         * CMakeLists.txt:
3881         * GNUmakefile.list.am:
3882         * WebCore.xcodeproj/project.pbxproj:
3883
3884         * Modules/indexeddb/IDBCursorBackendInterface.h: Removed.
3885
3886         * Modules/indexeddb/IDBCursorBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
3887         * Modules/indexeddb/IDBCursorBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
3888
3889         * Modules/indexeddb/IDBCallbacks.h:
3890         * Modules/indexeddb/IDBCursor.cpp:
3891         * Modules/indexeddb/IDBCursor.h:
3892         * Modules/indexeddb/IDBCursorWithValue.cpp:
3893         * Modules/indexeddb/IDBCursorWithValue.h:
3894         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3895         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3896         * Modules/indexeddb/IDBRequest.cpp:
3897         * Modules/indexeddb/IDBRequest.h:
3898         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3899         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3900         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3901         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3902         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3903         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3904
3905 2013-11-08  Sam Weinig  <sam@webkit.org>
3906
3907         Modernize FrameLoader a bit
3908         https://bugs.webkit.org/show_bug.cgi?id=124073
3909
3910         Reviewed by Anders Carlsson.
3911
3912         * loader/FrameLoader.cpp:
3913         * loader/FrameLoader.h:
3914         Use std::unique_ptrs rather than OwnPtrs.
3915
3916         * loader/MixedContentChecker.cpp:
3917         * loader/MixedContentChecker.h:
3918         Switch to hold a Frame& rather than Frame*.
3919
3920 2013-11-08  Zan Dobersek  <zdobersek@igalia.com>
3921
3922         Remove code guarded with ENABLE(STREAM)
3923         https://bugs.webkit.org/show_bug.cgi?id=123667
3924
3925         Reviewed by Anders Carlsson.
3926
3927         Remove ENABLE(STREAM)-guarded code. This was added in the effort to provide Stream API support, but
3928         no port enables the feature and the work on this feature has wound down after the Chromium port forked,
3929         leaving this code unmaintained.
3930
3931         * fileapi/FileReaderLoader.cpp:
3932         * fileapi/FileReaderLoader.h:
3933
3934 2013-11-08  Bem Jones-Bey  <bjonesbe@adobe.com>
3935
3936         RenderBlockFlow::nextFloatLogicalBottomBelow should not use ShapeOutsideFloatOffsetMode
3937         https://bugs.webkit.org/show_bug.cgi?id=123931
3938
3939         Reviewed by Sam Weinig.
3940
3941         Rewrite nextFloatLogicalBottomBelow to use the placed floats tree for
3942         the search and to not need ShapeOutsideFloatOffsetMode anymore. This
3943         moves almost all of the logic into FloatingObjects, making a small
3944         reduction in the amount that RenderBlockFlow needs to know about the
3945         implementation of FloatingObjects.
3946
3947         In addition, change ComputeFloatOffsetAdapter to take in LayoutUnits
3948         and roundToInt itself so that all of it's callers can be simplified.
3949
3950         No new tests, no new behavior.
3951
3952         * rendering/FloatingObjects.cpp:
3953         (WebCore::rangesIntersect):
3954         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
3955         (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
3956         (WebCore::FindNextFloatLogicalBottomAdapter::lowValue):
3957         (WebCore::FindNextFloatLogicalBottomAdapter::highValue):
3958         (WebCore::FindNextFloatLogicalBottomAdapter::nextLogicalBottom):
3959         (WebCore::FindNextFloatLogicalBottomAdapter::nextShapeLogicalBottom):
3960         (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
3961         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
3962         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
3963         (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
3964         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
3965         (WebCore::FloatingObjects::logicalLeftOffset):
3966         (WebCore::FloatingObjects::logicalRightOffset):
3967         * rendering/FloatingObjects.h:
3968         * rendering/LineWidth.cpp:
3969         (WebCore::LineWidth::fitBelowFloats):
3970         * rendering/RenderBlockFlow.cpp:
3971         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
3972         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelowForBlock):
3973         (WebCore::RenderBlockFlow::getClearDelta):
3974         * rendering/RenderBlockFlow.h:
3975
3976 2013-11-08  Alexey Proskuryakov  <ap@apple.com>
3977
3978         https://bugs.webkit.org/show_bug.cgi?id=124064
3979         Some WebCrypto files are not in correct directories
3980
3981         Rubber-stamped by Anders Carlsson.
3982
3983         * WebCore.xcodeproj/project.pbxproj:
3984         * crypto/CryptoAlgorithmAesCbcParams.h: Removed.
3985         * crypto/CryptoAlgorithmAesKeyGenParams.h: Removed.
3986         * crypto/CryptoKeyAES.cpp: Removed.
3987         * crypto/CryptoKeyAES.h: Removed.
3988         * crypto/CryptoKeyMac.cpp: Removed.
3989         * crypto/keys/CryptoKeyAES.cpp: Copied from Source/WebCore/crypto/CryptoKeyAES.cpp.
3990         * crypto/keys/CryptoKeyAES.h: Copied from Source/WebCore/crypto/CryptoKeyAES.h.
3991         * crypto/mac/CryptoKeyMac.cpp: Copied from Source/WebCore/crypto/CryptoKeyMac.cpp.
3992         * crypto/parameters/CryptoAlgorithmAesCbcParams.h: Copied from Source/WebCore/crypto/CryptoAlgorithmAesCbcParams.h.
3993         * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h: Copied from Source/WebCore/crypto/CryptoAlgorithmAesKeyGenParams.h.
3994
3995 2013-11-08  Alexey Proskuryakov  <ap@apple.com>
3996
3997         Implement JWK key import for HMAC and AES-CBC
3998         https://bugs.webkit.org/show_bug.cgi?id=124059
3999
4000         Reviewed by Anders Carlsson.
4001
4002         Tests: crypto/subtle/aes-cbc-import-jwk.html
4003                crypto/subtle/hmac-import-jwk.html
4004                crypto/subtle/import-jwk.html
4005
4006         WebCrypto supports multiple key formats - raw, pkcs8, spki, jwk. The design is that
4007         we'll transform these into parsed KeyData subclasses before passing to algorithms.
4008
4009         CryptoKeySerialization is a base class for handling all these formats.
4010
4011         * WebCore.xcodeproj/project.pbxproj: Added new files. Removed CryptoKeyFormat.h.
4012         
4013         * bindings/js/JSCryptoKeySerializationJWK.h: Added.
4014         * bindings/js/JSCryptoKeySerializationJWK.cpp: Added.
4015         (WebCore::getStringFromJSON): A helper. Note that we can rely on the object being
4016         a nice freshly parsed JSON, no getters or anything.
4017         (WebCore::getBooleanFromJSON): Ditto.
4018         (WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
4019         (WebCore::JSCryptoKeySerializationJWK::~JSCryptoKeySerializationJWK):
4020         (WebCore::createHMACParameters): A simple helper.
4021         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): WebCrypto API is weird,
4022         you can have algorithm parameters both inside a JWK key and passed as importKey()
4023         arguments. They need to agree, whatever that means for specific serialization's
4024         algorithm options (not all necessarily have a 1-1 matching to WebCrypto).
4025         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Take an intersection of usages.
4026         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Only extractable if
4027         both JWK and the caller agree.
4028         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Verify validity of&nb