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