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