Implement key generation and JWK import for RSASSA-PKCS1-v1_5
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
2
3         Implement key generation and JWK import for RSASSA-PKCS1-v1_5
4         https://bugs.webkit.org/show_bug.cgi?id=124236
5
6         Release build fix.
7
8         * bindings/js/JSCryptoAlgorithmBuilder.cpp: Include TypedArrayInlines.h
9
10 2013-11-12  Alexey Proskuryakov  <ap@apple.com>
11
12         Implement key generation and JWK import for RSASSA-PKCS1-v1_5
13         https://bugs.webkit.org/show_bug.cgi?id=124236
14
15         Reviewed by Sam Weinig.
16
17         Tests: crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
18                crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html
19
20         * WebCore.xcodeproj/project.pbxproj: Added new files.
21
22         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
23         (WebCore::JSCryptoAlgorithmBuilder::add):
24         * bindings/js/JSCryptoAlgorithmBuilder.h:
25         * crypto/CryptoAlgorithmDescriptionBuilder.h:
26         Added a way to add an Uint8Array, as needed for RSA key.algorithm.publicExponent.
27
28         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
29         (WebCore::createAesCbcParams): Removed unneeded JSC prefixes.
30         (WebCore::createAesKeyGenParams): Ditto.
31         (WebCore::createHmacParams): Ditto.
32         (WebCore::createHmacKeyParams): Ditto.
33         (WebCore::createRsaKeyGenParams): Added. 
34         (WebCore::createRsaSsaKeyParams): Added. WebCrypto currently doesn't specify any
35         parameters for importKey, so the structure remains blank (unlike with JWK).
36         (WebCore::createRsaSsaParams): Added (currently unused, will be sued for sign/verify soon).
37         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Removed unneeded JSC prefixes.
38         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
39         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): Added support for RSAES_PKCS1_v1_5.
40         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): Ditto.
41         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): Removed unneeded JSC prefixes.
42         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Ditto.
43         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey): Ditto.
44         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits): Ditto.
45         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Added support for RSAES_PKCS1_v1_5.
46         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Removed unneeded JSC prefixes.
47         (WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey): Ditto.
48         (WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey): Ditto.
49
50         * bindings/js/JSCryptoKeySerializationJWK.h:
51         * bindings/js/JSCryptoKeySerializationJWK.cpp:
52         (WebCore::getJSArrayFromJSON): Added.
53         (WebCore::getBigIntegerVectorFromJSON): Added.
54         (WebCore::createRSASSAKeyParameters): Create parameters for key import. The key
55         will remember which algorithm it's allowed to be used with.
56         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): Added support for
57         RS256...RS512 (tha is, RSAES_PKCS1_v1_5 with SHA-256...SHA-512).
58         (WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): Split out of keyData().
59         (WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Added code to read
60         RSA key components from JWK.
61         (WebCore::JSCryptoKeySerializationJWK::keyData): Call one of the above functions.
62
63         * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Added.
64         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
65         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
66         Placeholders.
67
68         * crypto/CryptoKey.h: (WebCore::CryptoKeyClass): Added RSA key class for poor man's RTTI.
69
70         * crypto/CryptoKeyData.h: (WebCore::CryptoKeyData::FormatRSAComponents): Added RSAComponents
71         for poor man's RTTI.
72
73         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::importKey): 
74         * crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::importKey):
75         * crypto/keys/CryptoKeyAES.h:
76         (WebCore::isCryptoKeyAES):
77         (WebCore::toCryptoKeyAES):
78         * crypto/keys/CryptoKeyDataOctetSequence.h:
79         (WebCore::toCryptoKeyDataOctetSequence):
80         * crypto/keys/CryptoKeyHMAC.h:
81         (WebCore::isCryptoKeyHMAC):
82         (WebCore::toCryptoKeyHMAC):
83         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
84         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
85         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
86         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
87         (WebCore::CryptoAlgorithmHMAC::sign):
88         (WebCore::CryptoAlgorithmHMAC::verify):
89         Switched from "as" functions to "is" and "to" ones, as that's more idiomatic.
90
91         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Added.
92         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Added.
93         Glue code for importKey/generateKey for now.
94
95         * crypto/keys/CryptoKeyDataRSAComponents.cpp: Added.
96         (WebCore::CryptoKeyDataRSAComponents::CryptoKeyDataRSAComponents):
97         (WebCore::CryptoKeyDataRSAComponents::~CryptoKeyDataRSAComponents):
98         * crypto/keys/CryptoKeyDataRSAComponents.h: Added.
99         (WebCore::toCryptoKeyDataRSAComponents):
100         Added a structure to hold RSA key components, extracted from JWK or another format.
101
102         * crypto/keys/CryptoKeyRSA.h: Added.
103         * crypto/mac/CryptoKeyRSAMac.cpp: Added.
104
105         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
106         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
107         Register RSASSA_PKCS1_v1_5.
108
109         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added a constructor to make
110         sure that hasLength is never left uninitialized, even when reading formats that
111         don't contain a length.
112
113         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
114         * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Added.
115         * crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Added.
116         Added parameter structures that are needed for RSASSA_PKCS1_v1_5.
117
118 2013-11-12  Bem Jones-Bey  <bjonesbe@adobe.com>
119
120         Move ValueToString out to its own header file to remove duplication
121         https://bugs.webkit.org/show_bug.cgi?id=124237
122
123         Reviewed by Alexandru Chiculita.
124
125         The ValueToString struct is used in many places for debugging. Move it
126         out to its own header file to remove all the duplicated definitions
127         and make it possible for the specializations to be placed in the
128         header files with the implementation of the classes they print.
129
130         No new tests, no behavior change.
131
132         * GNUmakefile.list.am:
133         * WebCore.xcodeproj/project.pbxproj:
134         * html/HTMLMediaElement.h:
135         * platform/LayoutUnit.h:
136         * platform/PODInterval.h:
137         * platform/PODIntervalTree.h:
138         * platform/PODRedBlackTree.h:
139         * platform/ValueToString.h: Added.
140         * platform/graphics/FloatPolygon.h:
141         * rendering/FloatingObjects.cpp:
142         * rendering/FloatingObjects.h:
143         * rendering/RenderBlock.h:
144         * rendering/RenderBlockFlow.h:
145         * rendering/RenderFlowThread.h:
146
147 2013-11-11  David Hyatt  <hyatt@apple.com>
148
149         Make RenderBlockRareData be in a hashtable instead of being a member variable.
150         https://bugs.webkit.org/show_bug.cgi?id=124056
151
152         Reviewed by Anders Carlsson.
153
154         Right now RenderBlock has 4 bytes taken up by a m_rareData member that is almost
155         never allocated. This is better off in a separate hash, so that RenderBlock can
156         get 4 bytes back.
157         
158         Since RenderBlockFlow's rare data member was recently removed and folded into
159         RenderBlock, we need to undo that change and put the rare data member back in
160         RenderBlockFlow. RenderBlockFlowRareData inheriting from RenderBlockRareData
161         was not a good idea anyway, since RenderBlockFlows also very rarely need the
162         RenderBlockRareData members, and were thus paying a heavier cost when the rare
163         data was created than was necessary.
164  
165         * rendering/RenderBlock.cpp:
166         (WebCore::RenderBlockRareData::RenderBlockRareData):
167         (WebCore::RenderBlock::~RenderBlock):
168         (WebCore::RenderBlock::hasRareData):
169         (WebCore::getRareData):
170         (WebCore::ensureRareData):
171         (WebCore::RenderBlock::ensureShapeInsideInfo):
172         (WebCore::RenderBlock::shapeInsideInfo):
173         (WebCore::RenderBlock::setShapeInsideInfo):
174         (WebCore::RenderBlock::paginationStrut):
175         (WebCore::RenderBlock::pageLogicalOffset):
176         (WebCore::RenderBlock::setPaginationStrut):
177         (WebCore::RenderBlock::setPageLogicalOffset):
178         * rendering/RenderBlock.h:
179         * rendering/RenderBlockFlow.cpp:
180         (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
181         (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
182         (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
183         (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
184         (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
185         (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
186         (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
187         (WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
188         (WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
189         (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
190         (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
191         (WebCore::RenderBlockFlow::ensureRareBlockFlowData):
192         (WebCore::RenderBlockFlow::materializeRareBlockFlowData):
193         * rendering/RenderBlockFlow.h:
194         (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
195         (WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
196         (WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow):
197         (WebCore::RenderBlockFlow::lineGridBox):
198         (WebCore::RenderBlockFlow::setLineGridBox):
199         (WebCore::RenderBlockFlow::renderNamedFlowFragment):
200         (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
201         (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
202         (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
203         (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
204         (WebCore::RenderBlockFlow::initMaxMarginValues):
205         (WebCore::RenderBlockFlow::hasRareBlockFlowData):
206         (WebCore::RenderBlockFlow::rareBlockFlowData):
207
208 2013-11-12  Alex Christensen  <achristensen@webkit.org>
209
210         Build GStreamer files on Windows.
211         https://bugs.webkit.org/show_bug.cgi?id=124180
212
213         Reviewed by Brent Fulgham.
214
215         * WebCore.vcxproj/WebCore.vcxproj:
216         * WebCore.vcxproj/WebCore.vcxproj.filters:
217         * WebCore.vcxproj/copyForwardingHeaders.cmd:
218         Include gstreamer files in WinCairo build.
219
220 2013-11-12  Brady Eidson  <beidson@apple.com>
221
222         Introduce IDBServerConnection (and start moving things to it).
223         https://bugs.webkit.org/show_bug.cgi?id=124193
224
225         Reviewed by Alexey Proskuryakov.
226
227         IDBServerConnection will be a purely asynchronous interface for database connections, transactions, and cursors.
228         Its interface will be 100% asynchronous and callback based - Perfect for an IPC divide.
229         Eventually none of the IDB<Foo>Backend classes will need IDBBackingStore<Foo> classes at all, 
230         and they’ll all use IDBServerConnection directly.
231
232         * CMakeLists.txt:
233         * GNUmakefile.list.am:
234         * WebCore.xcodeproj/project.pbxproj:
235
236         * Modules/indexeddb/IDBServerConnection.h: Added.
237         (WebCore::IDBServerConnection::~IDBServerConnection):
238
239         Concrete implementation that - for now - wraps an IDBBackingStoreLevelDB:
240         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Added.
241         (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
242         (WebCore::IDBServerConnectionLevelDB::deprecatedBackingStore):
243         (WebCore::IDBServerConnectionLevelDB::isClosed):
244         (WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
245         (WebCore::IDBServerConnectionLevelDB::deleteDatabase):
246         (WebCore::IDBServerConnectionLevelDB::close):
247         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Added.
248
249         LevelDB created databases get LevelDB server connections:
250         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
251         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
252         (WebCore::IDBFactoryBackendLevelDB::open):
253
254         Replace most uses of IDBBackingStore with server connection:
255         * Modules/indexeddb/IDBDatabaseBackend.cpp:
256         (WebCore::IDBDatabaseBackend::create):
257         (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
258         (WebCore::IDBDatabaseBackend::openInternalAsync):
259         (WebCore::IDBDatabaseBackend::setIndexKeys):
260         (WebCore::IDBDatabaseBackend::openConnectionInternal):
261         (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
262         (WebCore::IDBDatabaseBackend::close):
263         * Modules/indexeddb/IDBDatabaseBackend.h:
264         (WebCore::IDBDatabaseBackend::serverConnection):
265
266         Change all the operations to access their DatabaseBackend’s server connection instead
267         if hanging on to a backing store directly:
268         * Modules/indexeddb/IDBTransactionBackend.cpp:
269         (WebCore::IDBTransactionBackend::IDBTransactionBackend):
270         (WebCore::IDBTransactionBackend::scheduleCreateObjectStoreOperation):
271         (WebCore::IDBTransactionBackend::scheduleDeleteObjectStoreOperation):
272         (WebCore::IDBTransactionBackend::scheduleCreateIndexOperation):
273         (WebCore::IDBTransactionBackend::scheduleDeleteIndexOperation):
274         (WebCore::IDBTransactionBackend::scheduleGetOperation):
275         (WebCore::IDBTransactionBackend::schedulePutOperation):
276         (WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
277         (WebCore::IDBTransactionBackend::scheduleCountOperation):
278         (WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
279         (WebCore::IDBTransactionBackend::scheduleClearOperation):
280         * Modules/indexeddb/IDBTransactionBackend.h:
281
282         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
283         (WebCore::CreateObjectStoreOperation::perform):
284         (WebCore::CreateIndexOperation::perform):
285         (WebCore::DeleteIndexOperation::perform):
286         (WebCore::GetOperation::perform):
287         (WebCore::PutOperation::perform):
288         (WebCore::OpenCursorOperation::perform):
289         (WebCore::CountOperation::perform):
290         (WebCore::DeleteRangeOperation::perform):
291         (WebCore::ClearOperation::perform):
292         (WebCore::DeleteObjectStoreOperation::perform):
293         (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
294         * Modules/indexeddb/IDBTransactionBackendOperations.h:
295         (WebCore::CreateObjectStoreOperation::create):
296         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
297         (WebCore::DeleteObjectStoreOperation::create):
298         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
299         (WebCore::CreateIndexOperation::create):
300         (WebCore::CreateIndexOperation::CreateIndexOperation):
301         (WebCore::DeleteIndexOperation::create):
302         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
303         (WebCore::GetOperation::create):
304         (WebCore::GetOperation::GetOperation):
305         (WebCore::PutOperation::create):
306         (WebCore::PutOperation::PutOperation):
307         (WebCore::OpenCursorOperation::create):
308         (WebCore::OpenCursorOperation::OpenCursorOperation):
309         (WebCore::CountOperation::create):
310         (WebCore::CountOperation::CountOperation):
311         (WebCore::DeleteRangeOperation::create):
312         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
313         (WebCore::ClearOperation::create):
314         (WebCore::ClearOperation::ClearOperation):
315         * Modules/indexeddb/IDBTransactionCoordinator.h:
316
317 2013-11-12  Brent Fulgham  <bfulgham@apple.com>
318
319         [Win] Unreviewed gardening.
320
321         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct filter file so that source
322         files show up in their proper directories in Visual Studio.
323
324 2013-11-12  Alex Christensen  <achristensen@webkit.org>
325
326         [WinCairo] Preparation for ENABLE(VIDEO).
327         https://bugs.webkit.org/show_bug.cgi?id=57420
328
329         Reviewed by Martin Robinson.
330
331         * platform/FileSystem.h:
332         * platform/graphics/MediaPlayer.cpp:
333         * rendering/RenderMediaControls.cpp:
334         * rendering/RenderThemeWin.cpp:
335         (WebCore::RenderThemeWin::adjustSliderThumbSize):
336         Separated CG code from GStreamer code.
337
338 2013-11-12  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
339
340         Fix reported build warnings for GTK
341         https://bugs.webkit.org/show_bug.cgi?id=123439
342
343         Reviewed by Carlos Garcia Campos.
344
345         There was a void method, that has return value in it's documentation, so I removed it.
346
347         * bindings/gobject/WebKitDOMCustom.h:
348
349 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
350
351         Manage StorageThread through std::unique_ptr
352         https://bugs.webkit.org/show_bug.cgi?id=124197
353
354         Reviewed by Anders Carlsson.
355
356         New StorageThread objects are crafted through std::make_unique. This removes the need for the static
357         StorageThread::create() method but requires that the StorageThread constructor is made public.
358
359         * storage/StorageSyncManager.cpp:
360         (WebCore::StorageSyncManager::StorageSyncManager):
361         * storage/StorageSyncManager.h:
362         * storage/StorageThread.cpp:
363         * storage/StorageThread.h:
364         * storage/StorageTracker.cpp:
365         (WebCore::StorageTracker::StorageTracker):
366         * storage/StorageTracker.h:
367
368 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
369
370         Remove unnecessary PassOwnPtr.h header includes under Source/WebCore/fileapi
371         https://bugs.webkit.org/show_bug.cgi?id=124196
372
373         Reviewed by Anders Carlsson.
374
375         PassOwnPtr is not used anywhere under Source/WebCore/fileapi/, so PassOwnPtr.h inclusions can be removed.
376
377         * fileapi/Blob.h:
378         * fileapi/FileThread.h:
379         * fileapi/FileThreadTask.h:
380
381 2013-11-12  Antti Koivisto  <antti@apple.com>
382
383         Text on simple lines sometimes paints one pixel off
384         https://bugs.webkit.org/show_bug.cgi?id=124200
385
386         Reviewed by Andreas Kling.
387
388         Test: fast/text/line-runs-simple-lines.html
389
390         * rendering/SimpleLineLayout.cpp:
391         (WebCore::SimpleLineLayout::adjustRunOffsets):
392         
393             Don't round on run construction time.
394
395         (WebCore::SimpleLineLayout::createTextRuns):
396         * rendering/SimpleLineLayoutResolver.h:
397         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
398         
399             Instead round when generating rects.
400
401         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
402         
403             Provide the baseline (used by painting) as unrounded FloatPoint.
404
405 2013-11-11  Andreas Kling  <akling@apple.com>
406
407         Elements with class names automatically get unique ElementData.
408         <https://webkit.org/b/124184>
409
410         We were calling Element::ensureUniqueElementData() for all Elements
411         with a non-empty list of class names. Doing that on parser-fresh
412         Elements caused us to upgrade them to UniqueElementData despite not
413         needing it (ElementData::setClass() is a const function for caching
414         the "cooked" class and can be called on ShareableElementData.)
415
416         1.09 MB progression on HTML5 spec at <http://whatwg.org/c>
417
418         Reviewed by Antti Koivisto.
419
420 2013-11-12  Zan Dobersek  <zdobersek@igalia.com>
421
422         JSC bindings generator should generate deletable JSC functions
423         https://bugs.webkit.org/show_bug.cgi?id=122422
424
425         Reviewed by Geoffrey Garen.
426
427         The JSC functions that the JSC bindings generator generates should be deletable to conform to
428         the WebIDL specification, which instructs that the WebIDL operations must be configurable (which
429         translates to the JSC functions being deletable).
430
431         The generator will still produce a non-deletable JSC function for operations under almost all
432         Web-facing interfaces since they're annotated with the OperationsNotDeletable attribute. The
433         exception here is the Node interface that is having the attribute removed, with the provided
434         test case testing that all the functions on the Node prototype object are writable, enumerable
435         and configurable. This behavior conforms to the WebIDL specification and the behaviors of IE
436         and Firefox. Chrome at the moment still provides non-configurable functions.
437
438         Test: fast/dom/webidl-operations-on-node-prototype.html
439
440         * bindings/scripts/CodeGeneratorJS.pm:
441         (GenerateImplementation): Enforce the non-deletable behavior of the JSC function if either the
442         operation's interface is annotated with the OperationsNotDeletable attribute or the operation itself
443         is annotated with the NotDeletable attribute.
444         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Update the JSC generator test baselines.
445         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
446         * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
447         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
448         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
449         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
450         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
451         * dom/Node.idl: Remove the OperationsNotDeletable attribute.
452
453 2013-11-11  Brady Eidson  <beidson@apple.com>
454
455         Make IDBTransaction tasks asynchronous
456         https://bugs.webkit.org/show_bug.cgi?id=124183
457
458         Reviewed by Tim Horton.
459
460         This is an almost zero-change in behavior.
461
462         The one thing that is different is that previously, IDBTransactionBackends would synchronously
463         run through their entire set of IDBOperation’s without ever returning control to the runloop.
464
465         Now, they start one task and then wait for its completion to schedule the start of the next task.
466
467         Change IDBOperation’s perform() to take a completion handler so it can be asynchronous.
468         Add an IDBSynchronousOperation class to handle "Abort" tasks, which never need to perform i/o
469         and therefore can be entirely synchronous.
470         * Modules/indexeddb/IDBOperation.h:
471         (WebCore::IDBSynchronousOperation::~IDBSynchronousOperation):
472
473         * Modules/indexeddb/IDBTransactionBackend.cpp:
474         (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
475         (WebCore::IDBTransactionBackend::abort):
476         (WebCore::IDBTransactionBackend::taskTimerFired): Instead of running through the entire set of tasks,
477           perform a single task asynchronously. The completion handler for the task will reset the task timer
478           to asynchronously start the next task.
479         * Modules/indexeddb/IDBTransactionBackend.h:
480         (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
481
482         Update all operations to take completion handlers.
483         For now, perform things synchronously like before, calling the completion handler when complete.
484         * Modules/indexeddb/IDBCursorBackend.cpp:
485         (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called perform() exits.
486         (WebCore::CallOnDestruct::~CallOnDestruct):
487         (WebCore::IDBCursorBackend::CursorIterationOperation::create):
488         (WebCore::IDBCursorBackend::CursorAdvanceOperation::create):
489         (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::create):
490         (WebCore::IDBCursorBackend::CursorAdvanceOperation::perform):
491         (WebCore::IDBCursorBackend::CursorIterationOperation::perform):
492         (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::perform):
493
494         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
495         (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called when perform() exits.
496         (WebCore::CallOnDestruct::~CallOnDestruct):
497         (WebCore::CreateObjectStoreOperation::perform):
498         (WebCore::CreateIndexOperation::perform):
499         (WebCore::DeleteIndexOperation::perform):
500         (WebCore::GetOperation::perform):
501         (WebCore::PutOperation::perform):
502         (WebCore::SetIndexesReadyOperation::perform):
503         (WebCore::OpenCursorOperation::perform):
504         (WebCore::CountOperation::perform):
505         (WebCore::DeleteRangeOperation::perform):
506         (WebCore::ClearOperation::perform):
507         (WebCore::DeleteObjectStoreOperation::perform):
508         (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
509
510         * Modules/indexeddb/IDBTransactionBackendOperations.h:
511         (WebCore::CreateObjectStoreOperation::create):
512         (WebCore::DeleteObjectStoreOperation::create):
513         (WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
514         (WebCore::CreateObjectStoreAbortOperation::create):
515         (WebCore::DeleteObjectStoreAbortOperation::create):
516         (WebCore::IDBDatabaseBackend::VersionChangeAbortOperation::create):
517         (WebCore::CreateIndexOperation::create):
518         (WebCore::CreateIndexAbortOperation::create):
519         (WebCore::DeleteIndexOperation::create):
520         (WebCore::DeleteIndexAbortOperation::create):
521         (WebCore::GetOperation::create):
522         (WebCore::PutOperation::create):
523         (WebCore::SetIndexesReadyOperation::create):
524         (WebCore::OpenCursorOperation::create):
525         (WebCore::CountOperation::create):
526         (WebCore::DeleteRangeOperation::create):
527         (WebCore::ClearOperation::create):
528
529 2013-11-11  Joseph Pecoraro  <pecoraro@apple.com>
530
531         Web Inspector: Remove some unused generated code
532         https://bugs.webkit.org/show_bug.cgi?id=124179
533
534         Reviewed by Timothy Hatcher.
535
536         * inspector/CodeGeneratorInspectorStrings.py:
537
538 2013-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
539
540         Clean up static_cast<Element*> usage
541         https://bugs.webkit.org/show_bug.cgi?id=124133
542
543         Reviewed by Andreas Kling.
544
545         We need to use toFoo cast function instead of static_cast<>. Though there is toElement(),
546         static_cast<Element*> is still being used.
547
548         No new tests, no behavior changes.
549
550         * bindings/gobject/WebKitDOMPrivate.cpp:
551         (WebKit::wrap):
552         * dom/ElementTraversal.h:
553         (WebCore::::lastWithinTemplate):
554         (WebCore::::nextTemplate):
555         (WebCore::::previousTemplate):
556
557 2013-11-11  Anders Carlsson  <andersca@apple.com>
558
559         FrameFilter can just be an std::function instead
560         https://bugs.webkit.org/show_bug.cgi?id=124176
561
562         Reviewed by Tim Horton.
563
564         * WebCore.exp.in:
565         * loader/archive/cf/LegacyWebArchive.cpp:
566         (WebCore::LegacyWebArchive::create):
567         * loader/archive/cf/LegacyWebArchive.h:
568
569 2013-11-11  Simon Fraser  <simon.fraser@apple.com>
570
571         REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong position when element is composited (85647)
572         https://bugs.webkit.org/show_bug.cgi?id=124090
573
574         Reviewed by Beth Dakin.
575         
576         After r155660 we did fewer layouts, so were left with overlay scrollbars in the
577         wrong locations because nothing would update them after RenderLayerBacking
578         computed a new offsetFromRenderer.
579         
580         First part of the fix is to wean positionOverflowControlsLayers() off of
581         an absolute offset from the root. Do this by not using Widget::frameRect()
582         to position the layers, but instead RenderLayer::rectFor{Horizontal|Vertical}Scrollbar
583         which is what we used to position the scrollbars in the first place.
584         
585         Second part of the fix is to call positionOverflowControlsLayers() from
586         RenderLayerBacking::updateGraphicsLayerGeometry() if the offsetFromRenderer
587         changed.
588
589         Test: compositing/overflow/overflow-scrollbar-layer-positions.html
590
591         * rendering/RenderLayer.cpp:
592         (WebCore::RenderLayer::positionOverflowControls):
593         * rendering/RenderLayerBacking.cpp:
594         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
595         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
596         * rendering/RenderLayerBacking.h:
597
598 2013-11-11  Brent Fulgham  <bfulgham@apple.com>
599
600         [Win] m_isCompositeFontReference is uninitialized.
601         https://bugs.webkit.org/show_bug.cgi?id=124170
602
603         Reviewed by Tim Horton.
604
605         Initialize value to false, as is done in the other constructors for this data type.
606
607         * platform/graphics/win/FontPlatformDataCGWin.cpp:
608         (WebCore::FontPlatformData::FontPlatformData): 
609         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
610         (WebCore::FontPlatformData::FontPlatformData):
611         * platform/graphics/win/FontPlatformDataWin.cpp:
612         (WebCore::FontPlatformData::FontPlatformData):
613
614 2013-11-11  Myles C. Maxfield  <mmaxfield@apple.com>
615
616         [Mac] Characters too close together in complex Arabic text
617         https://bugs.webkit.org/show_bug.cgi?id=124057
618
619         Reviewed by Darin Adler.
620
621         We weren't updating our total width variable with run's initial
622         advance information, leading to widths that were too narrow.
623
624         In addition, while initial advances for runs that aren't the first
625         run are accounted for by baking in the initial advances into the
626         previous character's advance, the initial advance for the first run
627         has to be accounted for in ComplexTextController::offsetForPosition.
628
629         Test: fast/text/complex-grapheme-cluster-with-initial-advance.html
630         Test: fast/text/selection-in-initial-advance-region.html
631
632         * platform/graphics/mac/ComplexTextController.cpp:
633         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Update
634         total width variable
635         (WebCore::ComplexTextController::offsetOfPosition): Account for
636         the first run's initial advance.
637
638 2013-11-11  Brady Eidson  <beidson@apple.com>
639
640         Make IDBBackingStoreTransaction be RefCounted
641         https://bugs.webkit.org/show_bug.cgi?id=124168
642
643         Reviewed by Tim Horton.
644
645         This is necessarily to safely add a fully asynchronous interface into the IDB mechanism.
646
647         * Modules/indexeddb/IDBBackingStoreInterface.h:
648         * Modules/indexeddb/IDBBackingStoreTransactionInterface.h:
649         * Modules/indexeddb/IDBTransactionBackend.h:
650
651         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
652         (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
653         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
654         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
655
656 2013-11-11  Antti Koivisto  <antti@apple.com>
657
658         End of line whitespace should collapse with white-space:pre-wrap; overflow-wrap:break-word in all cases
659         https://bugs.webkit.org/show_bug.cgi?id=124158
660
661         Reviewed by Dave Hyatt.
662         
663         If a word just fits the line but the following space overflows we fail to collapse whitespaces 
664         at the end of the line. This happens because with break-word we end up taking word breaking
665         code path that does not have pre-wrap whitespace handling.
666         
667         This patch makes the behavior consistent and also matches Firefox.
668
669         Test: fast/text/break-word-pre-wrap.html
670
671         * rendering/RenderBlockLineLayout.cpp:
672         (WebCore::BreakingContext::handleText):
673         
674             Don't take the word break code path if we are pre-wrap and the current character is space.
675             Instead proceed to break the line normally as this is a valid break position.
676
677 2013-11-11  Bear Travis  <betravis@adobe.com>
678
679         Web Inspector: [CSS Shapes] Highlight shape-outside when its element is selected in the Web Inspector
680         https://bugs.webkit.org/show_bug.cgi?id=124071
681
682         Reviewed by Timothy Hatcher.
683
684         Adding code to pass computed shape information (path and bounds) to the Inspector overlay
685         canvas, and the code to display it. The code creates a path based on ShapeInfo's computed
686         shape. The shape highlight draws whenever an element is highlighted, via selection in
687         the Inspector elements view.
688
689         Test: inspector-protocol/model/highlight-shape-outside.html
690
691         * inspector/InspectorOverlay.cpp:
692         (WebCore::localPointToRoot): Convert a local point to be relative to the root view.
693         (WebCore::appendPathCommandAndPoints): Helper for building a single segment's worth
694         of the overall path.
695         (WebCore::appendPathSegment): Build a single segment's worth of the overall path.
696         (WebCore::buildObjectForShapeOutside): Build an object to pass to the Inspector overlay
697         that represents the shape.
698         (WebCore::buildObjectForElementInfo): Call buildObjectForShapeOutside and pass the
699         resulting object along.
700         * inspector/InspectorOverlayPage.js:
701         (pathCommand): Draw a single path command.
702         (drawPath): Draw the overall path.
703         (_drawShapeHighlight): Draw the highlight for the given shapeInfo.
704         (drawNodeHighlight): Call _drawShapeHighlight.
705         * rendering/shapes/PolygonShape.h:
706         (WebCore::PolygonShape::polygon): Expose the underlying vertex information for a
707         PolygonShape.
708         * rendering/shapes/RasterShape.h:
709         * rendering/shapes/RectangleShape.h:
710         (WebCore::RectangleShape::logicalRx): Expose the logical radii for a shape.
711         (WebCore::RectangleShape::logicalRy): Ditto.
712         * rendering/shapes/Shape.h:
713         * rendering/shapes/ShapeInfo.h:
714         (WebCore::ShapeInfo::computedShapePhysicalBoundingBox): The physical bounds of a
715         shape in renderer coordinates.
716         (WebCore::ShapeInfo::shapeToRendererPoint): Convert shape coordinates to renderer
717         coordinates.
718         (WebCore::ShapeInfo::shapeToRendererSize): Ditto.
719         (WebCore::ShapeInfo::ShapeInfo):
720
721 2013-11-11  Alexey Proskuryakov  <ap@apple.com>
722
723         Support WebCrypto KeyPair interface
724         https://bugs.webkit.org/show_bug.cgi?id=124161
725
726         Reviewed by Geoffrey Garen.
727
728         No new tests yet, will be tested once generateKey is implemented for any RSA algorithms.
729
730         * CMakeLists.txt:
731         * DerivedSources.make:
732         * GNUmakefile.list.am:
733         * WebCore.xcodeproj/project.pbxproj:
734         Added new files.
735
736         * bindings/js/JSDOMPromise.h: Support returning a key pair via a promise.
737
738         * bindings/js/JSCryptoKeyPairCustom.cpp: Added.
739         (WebCore::JSCryptoKeyPair::visitChildren):
740         * crypto/CryptoKey.idl:
741         CryptoKey wrapper is reachable through KeyPair, but it doesn't have (or need)
742         a back pointer.
743
744         * crypto/CryptoKeyPair.cpp: Added.
745         (WebCore::CryptoKeyPair::CryptoKeyPair):
746         (WebCore::CryptoKeyPair::~CryptoKeyPair):
747         * crypto/CryptoKeyPair.h: Added.
748         (WebCore::CryptoKeyPair::create):
749         (WebCore::CryptoKeyPair::publicKey):
750         (WebCore::CryptoKeyPair::privateKey):
751         * crypto/CryptoKeyPair.idl: Added.
752
753 2013-11-11  Nick Diego Yamane  <nick.yamane@openbossa.org>
754
755         Fix build after r158967
756         https://bugs.webkit.org/show_bug.cgi?id=124160
757
758         Reviewed by Anders Carlsson.
759
760         After r158967, gcc debug builds with "-Werror=type-limits" enabled
761         fail. This patch fixes it.
762
763         * rendering/shapes/RasterShape.h:
764         (WebCore::RasterShapeIntervals::intervalsAt):
765
766 2013-11-11  Zan Dobersek  <zdobersek@igalia.com>
767
768         Remove the OperationsNotDeletable attribute from most of the WebIDL interfaces
769         https://bugs.webkit.org/show_bug.cgi?id=124151
770
771         Reviewed by Geoffrey Garen.
772
773         The OperationsNotDeletable attribute currently doesn't have any effect, but will soon enforce
774         non-configurability of operations on the interface that uses the attribute. Non-configurability
775         of operations is the default behavior at the moment, but will be changed to follow the WebIDL
776         specification which requires that the operations are configurable (i.e. -- in JSC terms -- deletable).
777         IE and Firefox already exhibit this behavior in the majority of cases, while Chrome and Opera don't.
778
779         The attribute remains in use on the Location interface to mimic the Unforgeable attribute which
780         also makes operations of an interface non-configurable. Unforgeable attribute will be used instead
781         when support for it will be added to the JSC bindings generator.
782
783         * Modules/battery/BatteryManager.idl:
784         * Modules/encryptedmedia/MediaKeySession.idl:
785         * Modules/encryptedmedia/MediaKeys.idl:
786         * Modules/gamepad/GamepadList.idl:
787         * Modules/geolocation/Geolocation.idl:
788         * Modules/indexeddb/IDBCursor.idl:
789         * Modules/indexeddb/IDBDatabase.idl:
790         * Modules/indexeddb/IDBFactory.idl:
791         * Modules/indexeddb/IDBIndex.idl:
792         * Modules/indexeddb/IDBKeyRange.idl:
793         * Modules/indexeddb/IDBObjectStore.idl:
794         * Modules/indexeddb/IDBTransaction.idl:
795         * Modules/indexeddb/IDBVersionChangeEvent.idl:
796         * Modules/mediacontrols/MediaControlsHost.idl:
797         * Modules/mediasource/MediaSource.idl:
798         * Modules/mediasource/SourceBuffer.idl:
799         * Modules/mediasource/SourceBufferList.idl:
800         * Modules/mediastream/MediaStream.idl:
801         * Modules/mediastream/MediaStreamTrack.idl:
802         * Modules/mediastream/RTCDTMFSender.idl:
803         * Modules/mediastream/RTCDataChannel.idl:
804         * Modules/mediastream/RTCPeerConnection.idl:
805         * Modules/mediastream/RTCStatsReport.idl:
806         * Modules/mediastream/RTCStatsResponse.idl:
807         * Modules/networkinfo/NetworkInfoConnection.idl:
808         * Modules/notifications/Notification.idl:
809         * Modules/notifications/NotificationCenter.idl:
810         * Modules/proximity/DeviceProximityEvent.idl:
811         * Modules/quota/StorageInfo.idl:
812         * Modules/quota/StorageQuota.idl:
813         * Modules/speech/SpeechGrammarList.idl:
814         * Modules/speech/SpeechRecognition.idl:
815         * Modules/speech/SpeechRecognitionResult.idl:
816         * Modules/speech/SpeechRecognitionResultList.idl:
817         * Modules/speech/SpeechSynthesis.idl:
818         * Modules/webaudio/AnalyserNode.idl:
819         * Modules/webaudio/AudioBuffer.idl:
820         * Modules/webaudio/AudioBufferSourceNode.idl:
821         * Modules/webaudio/AudioContext.idl:
822         * Modules/webaudio/AudioListener.idl:
823         * Modules/webaudio/AudioNode.idl:
824         * Modules/webaudio/AudioParam.idl:
825         * Modules/webaudio/BiquadFilterNode.idl:
826         * Modules/webaudio/OscillatorNode.idl:
827         * Modules/webaudio/PannerNode.idl:
828         * Modules/webdatabase/Database.idl:
829         * Modules/webdatabase/DatabaseSync.idl:
830         * Modules/webdatabase/SQLResultSetRowList.idl:
831         * Modules/webdatabase/SQLTransaction.idl:
832         * Modules/webdatabase/SQLTransactionSync.idl:
833         * Modules/websockets/WebSocket.idl:
834         * crypto/CryptoKey.idl:
835         * crypto/SubtleCrypto.idl:
836         * css/CSSHostRule.idl:
837         * css/CSSMediaRule.idl:
838         * css/CSSPrimitiveValue.idl:
839         * css/CSSRuleList.idl:
840         * css/CSSStyleDeclaration.idl:
841         * css/CSSStyleSheet.idl:
842         * css/CSSSupportsRule.idl:
843         * css/CSSValueList.idl:
844         * css/DOMWindowCSS.idl:
845         * css/FontLoader.idl:
846         * css/MediaList.idl:
847         * css/MediaQueryList.idl:
848         * css/MediaQueryListListener.idl:
849         * css/StyleMedia.idl:
850         * css/StyleSheet.idl:
851         * css/StyleSheetList.idl:
852         * css/WebKitCSSFilterValue.idl:
853         * css/WebKitCSSKeyframesRule.idl:
854         * css/WebKitCSSMatrix.idl:
855         * css/WebKitCSSTransformValue.idl:
856         * dom/CharacterData.idl:
857         * dom/ChildNode.idl:
858         * dom/ClientRectList.idl:
859         * dom/Clipboard.idl:
860         * dom/CompositionEvent.idl:
861         * dom/CustomEvent.idl:
862         * dom/DOMCoreException.idl:
863         * dom/DOMImplementation.idl:
864         * dom/DOMNamedFlowCollection.idl:
865         * dom/DOMStringList.idl:
866         * dom/DOMStringMap.idl:
867         * dom/DataTransferItem.idl:
868         * dom/DataTransferItemList.idl:
869         * dom/DeviceMotionEvent.idl:
870         * dom/DeviceOrientationEvent.idl:
871         * dom/Document.idl:
872         * dom/DocumentFragment.idl:
873         * dom/DocumentType.idl:
874         * dom/Element.idl:
875         * dom/Event.idl:
876         * dom/EventException.idl:
877         * dom/EventListener.idl:
878         * dom/EventTarget.idl:
879         * dom/HashChangeEvent.idl:
880         * dom/KeyboardEvent.idl:
881         * dom/MessageEvent.idl:
882         * dom/MessagePort.idl:
883         * dom/MouseEvent.idl:
884         * dom/MutationEvent.idl:
885         * dom/MutationObserver.idl:
886         * dom/NamedNodeMap.idl:
887         * dom/Node.idl:
888         * dom/NodeFilter.idl:
889         * dom/NodeIterator.idl:
890         * dom/NodeList.idl:
891         * dom/Range.idl:
892         * dom/RangeException.idl:
893         * dom/ShadowRoot.idl:
894         * dom/Text.idl:
895         * dom/TextEvent.idl:
896         * dom/TouchEvent.idl:
897         * dom/TouchList.idl:
898         * dom/TreeWalker.idl:
899         * dom/UIEvent.idl:
900         * dom/WebKitNamedFlow.idl:
901         * dom/WheelEvent.idl:
902         * fileapi/Blob.idl:
903         * fileapi/FileException.idl:
904         * fileapi/FileList.idl:
905         * fileapi/FileReader.idl:
906         * fileapi/FileReaderSync.idl:
907         * html/DOMFormData.idl:
908         * html/DOMSettableTokenList.idl:
909         * html/DOMTokenList.idl:
910         * html/DOMURL.idl:
911         * html/HTMLAllCollection.idl:
912         * html/HTMLAnchorElement.idl:
913         * html/HTMLButtonElement.idl:
914         * html/HTMLCanvasElement.idl:
915         * html/HTMLCollection.idl:
916         * html/HTMLDocument.idl:
917         * html/HTMLElement.idl:
918         * html/HTMLEmbedElement.idl:
919         * html/HTMLFieldSetElement.idl:
920         * html/HTMLFormControlsCollection.idl:
921         * html/HTMLFormElement.idl:
922         * html/HTMLFrameElement.idl:
923         * html/HTMLIFrameElement.idl:
924         * html/HTMLInputElement.idl:
925         * html/HTMLKeygenElement.idl:
926         * html/HTMLMarqueeElement.idl:
927         * html/HTMLMediaElement.idl:
928         * html/HTMLObjectElement.idl:
929         * html/HTMLOptionsCollection.idl:
930         * html/HTMLOutputElement.idl:
931         * html/HTMLSelectElement.idl:
932         * html/HTMLTableElement.idl:
933         * html/HTMLTableRowElement.idl:
934         * html/HTMLTableSectionElement.idl:
935         * html/HTMLTextAreaElement.idl:
936         * html/HTMLVideoElement.idl:
937         * html/MediaController.idl:
938         * html/RadioNodeList.idl:
939         * html/TimeRanges.idl:
940         * html/canvas/CanvasGradient.idl:
941         * html/canvas/CanvasRenderingContext2D.idl:
942         * html/canvas/DOMPath.idl:
943         * html/canvas/EXTDrawBuffers.idl:
944         * html/canvas/OESVertexArrayObject.idl:
945         * html/canvas/WebGLDebugShaders.idl:
946         * html/canvas/WebGLLoseContext.idl:
947         * html/canvas/WebGLRenderingContext.idl:
948         * html/track/AudioTrackList.idl:
949         * html/track/TextTrack.idl:
950         * html/track/TextTrackCue.idl:
951         * html/track/TextTrackCueList.idl:
952         * html/track/TextTrackList.idl:
953         * html/track/TextTrackRegionList.idl:
954         * html/track/VideoTrackList.idl:
955         * loader/appcache/DOMApplicationCache.idl:
956         * page/Console.idl:
957         * page/Crypto.idl:
958         * page/DOMSecurityPolicy.idl:
959         * page/DOMSelection.idl:
960         * page/DOMWindow.idl:
961         * page/EventSource.idl:
962         * page/History.idl:
963         * page/Navigator.idl:
964         * page/Performance.idl:
965         * page/PerformanceEntryList.idl:
966         * page/SpeechInputResultList.idl:
967         * page/WindowBase64.idl:
968         * page/WindowTimers.idl:
969         * plugins/DOMMimeTypeArray.idl:
970         * plugins/DOMPlugin.idl:
971         * plugins/DOMPluginArray.idl:
972         * storage/Storage.idl:
973         * storage/StorageEvent.idl:
974         * svg/SVGAngle.idl:
975         * svg/SVGAnimationElement.idl:
976         * svg/SVGColor.idl:
977         * svg/SVGCursorElement.idl:
978         * svg/SVGDocument.idl:
979         * svg/SVGElement.idl:
980         * svg/SVGElementInstanceList.idl:
981         * svg/SVGException.idl:
982         * svg/SVGFEDropShadowElement.idl:
983         * svg/SVGFEGaussianBlurElement.idl:
984         * svg/SVGFEMorphologyElement.idl:
985         * svg/SVGFilterElement.idl:
986         * svg/SVGGraphicsElement.idl:
987         * svg/SVGLength.idl:
988         * svg/SVGLengthList.idl:
989         * svg/SVGMarkerElement.idl:
990         * svg/SVGMaskElement.idl:
991         * svg/SVGMatrix.idl:
992         * svg/SVGNumberList.idl:
993         * svg/SVGPaint.idl:
994         * svg/SVGPathElement.idl:
995         * svg/SVGPathSegList.idl:
996         * svg/SVGPatternElement.idl:
997         * svg/SVGPoint.idl:
998         * svg/SVGPointList.idl:
999         * svg/SVGSVGElement.idl:
1000         * svg/SVGStringList.idl:
1001         * svg/SVGTests.idl:
1002         * svg/SVGTextContentElement.idl:
1003         * svg/SVGTransform.idl:
1004         * svg/SVGTransformList.idl:
1005         * workers/DedicatedWorkerGlobalScope.idl:
1006         * workers/Worker.idl:
1007         * workers/WorkerGlobalScope.idl:
1008         * workers/WorkerLocation.idl:
1009         * xml/DOMParser.idl:
1010         * xml/XMLHttpRequest.idl:
1011         * xml/XMLHttpRequestException.idl:
1012         * xml/XMLHttpRequestUpload.idl:
1013         * xml/XMLSerializer.idl:
1014         * xml/XPathEvaluator.idl:
1015         * xml/XPathException.idl:
1016         * xml/XPathExpression.idl:
1017         * xml/XPathNSResolver.idl:
1018         * xml/XPathResult.idl:
1019         * xml/XSLTProcessor.idl:
1020
1021 2013-11-11  Javier Fernandez  <jfernandez@igalia.com>
1022
1023         [CSS Regions] Selection focusNode set to the "region" block, instead of the "source" block
1024         https://bugs.webkit.org/show_bug.cgi?id=120769
1025
1026         Reviewed by David Hyatt.
1027
1028         When a point hits a Region block, current positionForPoint algorithm determines its
1029         position in the DOM and returns either the start or end offset for such block, since
1030         Region blocks have no children in the DOM.
1031
1032         It's necessary to map the point into Flow Thread coordinates in order to determine
1033         the DOM position of the specific element rendered by the Region.
1034
1035         Top margin, padding and border points should be mapped to the beginning of the Region
1036         block, while bottom points are mapped to the block end. The Left coordinate its just
1037         adjusted to fit in the Flow Thread boundaries, since its not affected by the Flow
1038         direction.
1039
1040         Besides, when inspecting the Flow Thread blocks looking for the last candidate box,
1041         the Region originally associated to the point might be taken into account. Only the
1042         blocks/boxes rendered by the Region are potential candidates.
1043
1044         Tests: fast/regions/selection/position-for-point-1-vert-lr.html
1045                fast/regions/selection/position-for-point-1-vert-rl.html
1046                fast/regions/selection/position-for-point-1.html
1047                fast/regions/selection/position-for-point-vert-lr.html
1048                fast/regions/selection/position-for-point-vert-rl.html
1049                fast/regions/selection/position-for-point.html
1050
1051         * rendering/RenderBlock.cpp:
1052         (WebCore::isChildHitTestCandidate):
1053         (WebCore::RenderBlock::positionForPoint):
1054         * rendering/RenderBlockFlow.cpp:
1055         (WebCore::RenderBlockFlow::positionForPoint): Added.
1056         It just redirects the call to the associated RenderNamedFlowFragment instance.
1057         * rendering/RenderBlockFlow.h:
1058         * rendering/RenderRegion.cpp:
1059         (WebCore::RenderRegion::mapRegionPointIntoFlowThreadCoordinates): Added.
1060         It performs the coordinates mapping.
1061         (WebCore::RenderRegion::positionForPoint): Added.
1062         It determines the corresponding LayoutPoint in the FlowThread the Region
1063         is associated to, forwarding the call to the RenderBlock class using the
1064         FlowThread's first child block and such new point.
1065         * rendering/RenderRegion.h:
1066
1067 2013-11-11  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
1068
1069         [curl] Remove unused includes.
1070         https://bugs.webkit.org/show_bug.cgi?id=120415
1071
1072         Reviewed by Csaba Osztrogonác.
1073
1074         Original patch by 2013-08-28  Tamas Czene  <tczene@inf.u-szeged.hu>
1075
1076         * platform/network/curl/ProxyServerCurl.cpp:
1077         * platform/network/curl/ResourceHandleCurl.cpp:
1078         * platform/network/curl/ResourceHandleManager.cpp:
1079
1080 2013-11-11  Csaba Osztrogonác  <ossy@webkit.org>
1081
1082         URTBF after r159027 to make Apple Windows build happy.
1083
1084         * platform/graphics/cg/ImageSourceCG.cpp:
1085         (WebCore::sharedBufferGetBytesAtPosition):
1086
1087 2013-11-11  Andreas Kling  <akling@apple.com>
1088
1089         Kill InlineFlowBox::rendererLineBoxes().
1090         <https://webkit.org/b/124141>
1091
1092         We only ever used this to access the RenderLineBoxList for non-root
1093         boxes, and those always have a RenderInline renderer.
1094
1095         Tighten things up by losing the virtual rendererLineBoxes() and
1096         calling RenderInline::lineBoxes() directly.
1097
1098         Reviewed by Antti Koivisto.
1099
1100 2013-11-11  Andreas Kling  <akling@apple.com>
1101
1102         Bring the LineFragmentationData back to RootInlineBox.
1103         <https://webkit.org/b/124136>
1104
1105         Now that we have the simple line layout path, almost all the root
1106         line boxes end up with some kind of fragmentation data, so we might
1107         as well put the members back on RootInlineBox and avoid the extra
1108         allocation (and indirection.)
1109
1110         1.74 MB progression on HTML5 spec at <http://whatwg.org/c>
1111
1112         Reviewed by Antti Koivisto.
1113
1114 2013-11-10  Andreas Kling  <akling@apple.com>
1115
1116         Shrink RenderInline.
1117         <https://webkit.org/b/124134>
1118
1119         Move the "always create line boxes" bit from RenderInline up to
1120         RenderElement. I didn't do this earlier because there were no bits
1121         free on RenderObject but thanks to RenderElement we now have tons!
1122
1123         540 kB progression on HTML5 spec at <http://whatwg.org/c>
1124
1125         Reviewed by Anders Carlsson.
1126
1127 2013-11-10  Sam Weinig  <sam@webkit.org>
1128
1129         Make childShouldCreateRenderer() take a Node reference
1130         https://bugs.webkit.org/show_bug.cgi?id=124132
1131
1132         Reviewed by Andreas Kling.
1133
1134         The Node passed to childShouldCreateRenderer() is never null.
1135
1136 2013-11-10  Frédéric Wang  <fred.wang@free.fr>
1137
1138         CSS direction must be reset to ltr on <math> element.
1139         <https://webkit.org/b/124121>
1140
1141         Reviewed by Darin Adler.
1142
1143         Test: mathml/presentation/direction.html
1144
1145         * css/mathml.css:
1146         (math): set direction: ltr; on the <math> element.
1147
1148 2013-11-10  Sam Weinig  <sam@webkit.org>
1149
1150         Reduce the size of RenderBlockFlow by making its rare data inherit from RenderBlockRareData
1151         https://bugs.webkit.org/show_bug.cgi?id=124124
1152
1153         Reviewed by Anders Carlsson.
1154
1155         Reduce RenderBlockFlow by one word.
1156
1157         * rendering/RenderBlock.cpp:
1158         * rendering/RenderBlock.h:
1159         * rendering/RenderBlockFlow.cpp:
1160         * rendering/RenderBlockFlow.h:
1161
1162 2013-11-10  Antti Koivisto  <antti@apple.com>
1163
1164         Use start/end instead of textOffset/textLength for simple text runs
1165         https://bugs.webkit.org/show_bug.cgi?id=124130
1166
1167         Reviewed by Oliver Hunt.
1168         
1169         The code reads better this way.
1170
1171         * rendering/SimpleLineLayout.cpp:
1172         (WebCore::SimpleLineLayout::createTextRuns):
1173         * rendering/SimpleLineLayout.h:
1174         (WebCore::SimpleLineLayout::Run::Run):
1175         * rendering/SimpleLineLayoutFunctions.h:
1176         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
1177         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
1178         (WebCore::SimpleLineLayout::containsTextCaretOffset):
1179         (WebCore::SimpleLineLayout::isTextRendered):
1180         * rendering/SimpleLineLayoutResolver.h:
1181         (WebCore::SimpleLineLayout::RunResolver::Run::text):
1182
1183 2013-11-10  Antti Koivisto  <antti@apple.com>
1184
1185         Implement white-space property on simple line layout path
1186         https://bugs.webkit.org/show_bug.cgi?id=124122
1187
1188         Reviewed by Andreas Kling.
1189         
1190         Support all values of the white-space property and the tab-size property.
1191
1192         Tests: fast/forms/basic-textareas-simple-lines.html
1193                fast/text/embed-at-end-of-pre-wrap-line-simple-lines.html
1194                fast/text/whitespace/pre-wrap-line-test-simple-lines.html
1195                fast/text/whitespace/pre-wrap-long-word-simple-lines.html
1196                fast/text/whitespace/pre-wrap-spaces-after-newline-simple-lines.html
1197
1198         * rendering/SimpleLineLayout.cpp:
1199         (WebCore::SimpleLineLayout::canUseFor):
1200         (WebCore::SimpleLineLayout::isWhitespace):
1201         (WebCore::SimpleLineLayout::skipWhitespaces):
1202         (WebCore::SimpleLineLayout::textWidth):
1203         (WebCore::SimpleLineLayout::measureWord):
1204         (WebCore::SimpleLineLayout::createTextRuns):
1205         * rendering/SimpleLineLayoutFunctions.cpp:
1206         (WebCore::SimpleLineLayout::paintDebugBorders):
1207         (WebCore::SimpleLineLayout::paintFlow):
1208
1209 2013-11-10  Sergio Correia  <sergio.correia@openbossa.org>
1210
1211         Fix EFL build after r159027
1212         https://bugs.webkit.org/show_bug.cgi?id=124127
1213
1214         Reviewed by Anders Carlsson.
1215
1216         No new tests, build fix.
1217
1218         * page/Settings.in: Add std to numeric_limits, since we don't have
1219         'using std' directives anymore.
1220
1221 2013-11-10  Anders Carlsson  <andersca@apple.com>
1222
1223         Fix build.
1224
1225         * rendering/RenderMultiColumnBlock.cpp:
1226         (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
1227         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
1228
1229 2013-11-10  Anders Carlsson  <andersca@apple.com>
1230
1231         Remove all 'std' using directives from WebCore
1232         https://bugs.webkit.org/show_bug.cgi?id=124125
1233
1234         Reviewed by Sam Weinig.
1235
1236         As per the coding style guidelines.
1237
1238         * loader/CrossOriginPreflightResultCache.cpp:
1239         (WebCore::CrossOriginPreflightResultCache::appendEntry):
1240         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
1241         * loader/WorkerThreadableLoader.cpp:
1242         * loader/appcache/ApplicationCacheStorage.cpp:
1243         (WebCore::ApplicationCacheStorage::loadCache):
1244         * loader/appcache/ManifestParser.cpp:
1245         (WebCore::parseManifest):
1246         * loader/cache/MemoryCache.cpp:
1247         (WebCore::MemoryCache::deadCapacity):
1248         (WebCore::MemoryCache::lruListFor):
1249         * page/CaptionUserPreferencesMediaAF.cpp:
1250         * page/Chrome.cpp:
1251         * page/DOMTimer.cpp:
1252         (WebCore::DOMTimer::intervalClampedToMinimum):
1253         * page/FocusController.cpp:
1254         * page/Frame.cpp:
1255         (WebCore::Frame::resizePageRectsKeepingRatio):
1256         * page/PageGroupLoadDeferrer.cpp:
1257         * page/Settings.cpp:
1258         * page/animation/AnimationBase.cpp:
1259         (WebCore::solveStepsFunction):
1260         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
1261         (WebCore::AnimationBase::timeToNextService):
1262         (WebCore::AnimationBase::fractionalTime):
1263         (WebCore::AnimationBase::getTimeToNextEvent):
1264         * page/animation/KeyframeAnimation.cpp:
1265         (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
1266         * platform/DateComponents.cpp:
1267         * platform/ScrollAnimator.cpp:
1268         (WebCore::ScrollAnimator::handleWheelEvent):
1269         * platform/ScrollView.cpp:
1270         (WebCore::ScrollView::unscaledVisibleContentSize):
1271         (WebCore::ScrollView::setScrollOffset):
1272         (WebCore::ScrollView::updateScrollbars):
1273         (WebCore::ScrollView::scrollContents):
1274         * platform/Scrollbar.cpp:
1275         (WebCore::Scrollbar::moveThumb):
1276         * platform/ScrollbarThemeComposite.cpp:
1277         (WebCore::usedTotalSize):
1278         (WebCore::ScrollbarThemeComposite::thumbPosition):
1279         (WebCore::ScrollbarThemeComposite::thumbLength):
1280         * platform/SharedBuffer.cpp:
1281         (WebCore::SharedBuffer::append):
1282         (WebCore::SharedBuffer::copyBufferAndClear):
1283         (WebCore::SharedBuffer::getSomeData):
1284         * platform/ThreadTimers.cpp:
1285         (WebCore::ThreadTimers::updateSharedTimer):
1286         * platform/Timer.cpp:
1287         (WebCore::TimerHeapLessThanFunction::operator()):
1288         (WebCore::TimerBase::heapPop):
1289         (WebCore::TimerBase::nextUnalignedFireInterval):
1290         * platform/URL.cpp:
1291         (WebCore::findHostnamesInMailToURL):
1292         (WebCore::portAllowed):
1293         * platform/audio/AudioResampler.cpp:
1294         (WebCore::AudioResampler::setRate):
1295         * platform/audio/AudioResamplerKernel.cpp:
1296         (WebCore::AudioResamplerKernel::process):
1297         * platform/audio/Distance.cpp:
1298         (WebCore::DistanceEffect::gain):
1299         * platform/audio/DynamicsCompressorKernel.cpp:
1300         (WebCore::DynamicsCompressorKernel::process):
1301         * platform/audio/EqualPowerPanner.cpp:
1302         (WebCore::EqualPowerPanner::pan):
1303         * platform/audio/HRTFDatabase.cpp:
1304         (WebCore::HRTFDatabase::indexFromElevationAngle):
1305         * platform/audio/HRTFElevation.cpp:
1306         (WebCore::HRTFElevation::createForSubject):
1307         * platform/audio/HRTFKernel.cpp:
1308         (WebCore::HRTFKernel::HRTFKernel):
1309         (WebCore::HRTFKernel::createInterpolatedKernel):
1310         * platform/audio/HRTFPanner.cpp:
1311         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
1312         * platform/audio/Reverb.cpp:
1313         * platform/audio/SincResampler.cpp:
1314         (WebCore::SincResampler::process):
1315         * platform/cf/URLCF.cpp:
1316         * platform/graphics/Color.cpp:
1317         (WebCore::makeRGB):
1318         (WebCore::makeRGBA):
1319         (WebCore::colorFloatToRGBAByte):
1320         (WebCore::Color::light):
1321         (WebCore::Color::dark):
1322         * platform/graphics/CrossfadeGeneratedImage.cpp:
1323         * platform/graphics/FloatQuad.cpp:
1324         (WebCore::min4):
1325         (WebCore::max4):
1326         (WebCore::withinEpsilon):
1327         * platform/graphics/FloatSize.cpp:
1328         (WebCore::FloatSize::isZero):
1329         * platform/graphics/FontFastPath.cpp:
1330         (WebCore::Font::floatWidthForSimpleText):
1331         * platform/graphics/FontPlatformData.cpp:
1332         * platform/graphics/GraphicsContext.cpp:
1333         * platform/graphics/RoundedRect.cpp:
1334         (WebCore::RoundedRect::Radii::expand):
1335         * platform/graphics/ShadowBlur.cpp:
1336         (WebCore::calculateLobes):
1337         (WebCore::computeSliceSizesFromRadii):
1338         * platform/graphics/SimpleFontData.cpp:
1339         (WebCore::SimpleFontData::initCharWidths):
1340         * platform/graphics/WidthIterator.cpp:
1341         (WebCore::WidthIterator::WidthIterator):
1342         (WebCore::WidthIterator::advanceInternal):
1343         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1344         (WebCore::InbandTextTrackPrivateAVF::processCue):
1345         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1346         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1347         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
1348         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1349         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
1350         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime):
1351         * platform/graphics/ca/GraphicsLayerCA.cpp:
1352         (WebCore::GraphicsLayerCA::setOpacity):
1353         (WebCore::GraphicsLayerCA::setNeedsDisplay):
1354         (WebCore::GraphicsLayerCA::setupAnimation):
1355         (WebCore::clampedContentsScaleForScale):
1356         * platform/graphics/ca/mac/TileController.mm:
1357         (WebCore::TileController::getTileIndexRangeForRect):
1358         (WebCore::TileController::computeTileCoverageRect):
1359         * platform/graphics/cg/GraphicsContextCG.cpp:
1360         (WebCore::GraphicsContext::setPlatformShadow):
1361         (WebCore::computeLineBoundsAndAntialiasingModeForText):
1362         * platform/graphics/cg/ImageBufferCG.cpp:
1363         * platform/graphics/cg/ImageBufferDataCG.cpp:
1364         (WebCore::ImageBufferData::getData):
1365         * platform/graphics/cg/ImageSourceCG.cpp:
1366         * platform/graphics/filters/FEDropShadow.cpp:
1367         * platform/graphics/filters/FEGaussianBlur.cpp:
1368         (WebCore::boxBlur):
1369         (WebCore::FEGaussianBlur::platformApplyGeneric):
1370         (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
1371         (WebCore::FEGaussianBlur::calculateStdDeviation):
1372         * platform/graphics/gpu/Texture.cpp:
1373         (WebCore::Texture::updateSubRect):
1374         * platform/graphics/gpu/TilingData.cpp:
1375         (WebCore::computeNumTiles):
1376         (WebCore::TilingData::tileXIndexFromSrcCoord):
1377         (WebCore::TilingData::tileYIndexFromSrcCoord):
1378         * platform/graphics/mac/ComplexTextController.cpp:
1379         (WebCore::ComplexTextController::ComplexTextController):
1380         (WebCore::ComplexTextController::offsetForPosition):
1381         (WebCore::ComplexTextController::advance):
1382         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
1383         * platform/graphics/mac/FontComplexTextMac.cpp:
1384         (WebCore::Font::floatWidthForComplexText):
1385         * platform/graphics/mac/FontMac.mm:
1386         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1387         (WebCore::MediaPlayerPrivateQTKit::duration):
1388         * platform/graphics/mac/SimpleFontDataMac.mm:
1389         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
1390         * platform/graphics/transforms/MatrixTransformOperation.cpp:
1391         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
1392         * platform/graphics/transforms/RotateTransformOperation.cpp:
1393         * platform/graphics/transforms/TransformOperations.cpp:
1394         (WebCore::TransformOperations::blendByMatchingOperations):
1395         * platform/graphics/transforms/TransformationMatrix.cpp:
1396         (WebCore::clampEdgeValue):
1397         * platform/mac/ScrollAnimatorMac.mm:
1398         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
1399         * platform/mac/ScrollViewMac.mm:
1400         (WebCore::ScrollView::platformSetContentsSize):
1401         (WebCore::ScrollView::platformSetScrollPosition):
1402         * platform/mac/ScrollbarThemeMac.mm:
1403         * platform/mac/ThemeMac.mm:
1404         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
1405         (-[WebVideoFullscreenHUDWindowController incrementVolume]):
1406         (timeToString):
1407         * platform/network/HTTPHeaderMap.cpp:
1408         (WebCore::HTTPHeaderMap::copyData):
1409         * platform/network/ResourceRequestBase.cpp:
1410         * platform/network/ResourceResponseBase.cpp:
1411         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
1412         * platform/network/cf/ResourceResponseCFNet.cpp:
1413         * platform/network/mac/ResourceResponseMac.mm:
1414         (WebCore::ResourceResponse::initNSURLResponse):
1415         * platform/text/TextBreakIteratorICU.cpp:
1416         (WebCore::textClone):
1417         (WebCore::textLatin1MoveInPrimaryContext):
1418         (WebCore::textLatin1MoveInPriorContext):
1419         (WebCore::textInChunkOrOutOfRange):
1420         (WebCore::textOpenLatin1):
1421         (WebCore::textUTF16MoveInPrimaryContext):
1422         (WebCore::textUTF16MoveInPriorContext):
1423         (WebCore::textOpenUTF16):
1424         * platform/text/TextCodecUTF16.cpp:
1425         (WebCore::TextCodecUTF16::encode):
1426         * platform/text/TextCodecUTF8.cpp:
1427         (WebCore::TextCodecUTF8::encode):
1428         * platform/text/TextStream.cpp:
1429         * platform/text/mac/LocaleMac.mm:
1430         * platform/text/mac/TextCodecMac.cpp:
1431         (WebCore::TextCodecMac::decode):
1432         * rendering/AutoTableLayout.cpp:
1433         (WebCore::AutoTableLayout::recalcColumn):
1434         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
1435         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
1436         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1437         (WebCore::AutoTableLayout::layout):
1438         * rendering/FixedTableLayout.cpp:
1439         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
1440         * rendering/FloatingObjects.cpp:
1441         (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
1442         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
1443         (WebCore::FloatingObjects::logicalRightOffset):
1444         * rendering/InlineBox.cpp:
1445         * rendering/InlineFlowBox.cpp:
1446         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
1447         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1448         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1449         (WebCore::InlineFlowBox::computeMaxLogicalTop):
1450         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1451         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
1452         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1453         (WebCore::InlineFlowBox::nodeAtPoint):
1454         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
1455         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1456         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
1457         (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
1458         * rendering/InlineTextBox.cpp:
1459         (WebCore::InlineTextBox::isSelected):
1460         (WebCore::InlineTextBox::localSelectionRect):
1461         (WebCore::InlineTextBox::placeEllipsisBox):
1462         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
1463         (WebCore::InlineTextBox::paint):
1464         (WebCore::InlineTextBox::selectionStartEnd):
1465         (WebCore::InlineTextBox::paintSelection):
1466         (WebCore::InlineTextBox::paintCompositionBackground):
1467         (WebCore::computeUnderlineOffset):
1468         (WebCore::InlineTextBox::paintDecoration):
1469         (WebCore::InlineTextBox::paintDocumentMarker):
1470         (WebCore::InlineTextBox::paintTextMatchMarker):
1471         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1472         (WebCore::InlineTextBox::paintCompositionUnderline):
1473         * rendering/RenderBlock.cpp:
1474         (WebCore::RenderBlock::computeOverflow):
1475         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
1476         (WebCore::RenderBlock::paintChild):
1477         (WebCore::RenderBlock::blockSelectionGap):
1478         (WebCore::RenderBlock::logicalLeftSelectionGap):
1479         (WebCore::RenderBlock::logicalRightSelectionGap):
1480         (WebCore::RenderBlock::calcColumnWidth):
1481         (WebCore::RenderBlock::adjustRectForColumns):
1482         (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
1483         (WebCore::RenderBlock::computePreferredLogicalWidths):
1484         (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
1485         (WebCore::updatePreferredWidth):
1486         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1487         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
1488         * rendering/RenderBlockFlow.cpp:
1489         (WebCore::RenderBlockFlow::clearFloats):
1490         (WebCore::RenderBlockFlow::layoutBlock):
1491         (WebCore::RenderBlockFlow::layoutBlockChild):
1492         (WebCore::RenderBlockFlow::collapseMargins):
1493         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
1494         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
1495         (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
1496         (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
1497         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
1498         (WebCore::calculateMinimumPageHeight):
1499         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
1500         (WebCore::RenderBlockFlow::removeFloatingObject):
1501         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
1502         (WebCore::RenderBlockFlow::positionNewFloats):
1503         (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
1504         (WebCore::RenderBlockFlow::addOverhangingFloats):
1505         (WebCore::RenderBlockFlow::getClearDelta):
1506         (WebCore::RenderBlockFlow::adjustForBorderFit):
1507         (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
1508         (WebCore::RenderBlockFlow::updateLogicalHeight):
1509         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
1510         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
1511         (WebCore::RenderBlockFlow::relayoutForPagination):
1512         * rendering/RenderBlockLineLayout.cpp:
1513         (WebCore::updateLogicalWidthForLeftAlignedBlock):
1514         (WebCore::updateLogicalWidthForRightAlignedBlock):
1515         (WebCore::updateLogicalWidthForCenterAlignedBlock):
1516         (WebCore::setLogicalWidthForTextRun):
1517         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
1518         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
1519         (WebCore::RenderBlockFlow::layoutLineBoxes):
1520         (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
1521         (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
1522         (WebCore::tryHyphenating):
1523         * rendering/RenderBox.cpp:
1524         (WebCore::RenderBox::scrollWidth):
1525         (WebCore::RenderBox::scrollHeight):
1526         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
1527         (WebCore::RenderBox::constrainLogicalHeightByMinMax):
1528         (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
1529         (WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing):
1530         (WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing):
1531         (WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing):
1532         (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
1533         (WebCore::RenderBox::repaintLayerRectsForImage):
1534         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
1535         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
1536         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
1537         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1538         (WebCore::RenderBox::computeLogicalWidthInRegion):
1539         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
1540         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1541         (WebCore::RenderBox::computeInlineDirectionMargins):
1542         (WebCore::RenderBox::computeLogicalHeight):
1543         (WebCore::RenderBox::computePercentageLogicalHeight):
1544         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
1545         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
1546         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1547         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1548         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1549         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1550         (WebCore::RenderBox::applyVisualEffectOverflow):
1551         (WebCore::RenderBox::addLayoutOverflow):
1552         * rendering/RenderBoxModelObject.cpp:
1553         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1554         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
1555         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
1556         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
1557         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1558         (WebCore::RenderBoxModelObject::paintOneBorderSide):
1559         (WebCore::calculateAdjustedInnerBorder):
1560         (WebCore::RenderBoxModelObject::paintBoxShadow):
1561         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
1562         * rendering/RenderDeprecatedFlexibleBox.cpp:
1563         (WebCore::FlexBoxIterator::next):
1564         (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
1565         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
1566         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1567         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1568         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1569         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
1570         * rendering/RenderFileUploadControl.cpp:
1571         (WebCore::RenderFileUploadControl::maxFilenameWidth):
1572         (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
1573         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
1574         * rendering/RenderImage.cpp:
1575         (WebCore::RenderImage::setImageSizeForAltText):
1576         * rendering/RenderInline.cpp:
1577         (WebCore::computeMargin):
1578         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1579         (WebCore::RenderInline::paintOutline):
1580         (WebCore::RenderInline::paintOutlineForLine):
1581         * rendering/RenderLayer.cpp:
1582         (WebCore::RenderLayer::clampScrollOffset):
1583         (WebCore::RenderLayer::scrollRectToVisible):
1584         (WebCore::RenderLayer::visibleContentRect):
1585         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
1586         (WebCore::RenderLayer::hitTestOverflowControls):
1587         (WebCore::RenderLayer::hitTestLayer):
1588         (WebCore::RenderLayer::calculateLayerBounds):
1589         * rendering/RenderLayerBacking.cpp:
1590         * rendering/RenderLayerModelObject.cpp:
1591         * rendering/RenderLineBoxList.cpp:
1592         (WebCore::RenderLineBoxList::rangeIntersectsRect):
1593         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1594         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1595         (WebCore::RenderLineBoxList::paint):
1596         * rendering/RenderListBox.cpp:
1597         (WebCore::RenderListBox::updateFromElement):
1598         (WebCore::RenderListBox::layout):
1599         (WebCore::RenderListBox::computePreferredLogicalWidths):
1600         (WebCore::RenderListBox::size):
1601         (WebCore::RenderListBox::numVisibleItems):
1602         (WebCore::RenderListBox::panScroll):
1603         (WebCore::RenderListBox::scrollHeight):
1604         * rendering/RenderListItem.cpp:
1605         * rendering/RenderListMarker.cpp:
1606         * rendering/RenderMarquee.cpp:
1607         (WebCore::RenderMarquee::marqueeSpeed):
1608         (WebCore::RenderMarquee::computePosition):
1609         (WebCore::RenderMarquee::timerFired):
1610         * rendering/RenderMediaControls.cpp:
1611         * rendering/RenderMenuList.cpp:
1612         (WebCore::RenderMenuList::updateOptionsWidth):
1613         (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
1614         (WebCore::RenderMenuList::computePreferredLogicalWidths):
1615         * rendering/RenderMeter.cpp:
1616         * rendering/RenderMultiColumnBlock.cpp:
1617         * rendering/RenderMultiColumnSet.cpp:
1618         (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
1619         (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
1620         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
1621         * rendering/RenderNamedFlowFragment.cpp:
1622         * rendering/RenderObject.cpp:
1623         (WebCore::RenderObject::drawLineForBoxSide):
1624         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1625         (WebCore::RenderObject::caretMaxOffset):
1626         * rendering/RenderProgress.cpp:
1627         * rendering/RenderRegion.cpp:
1628         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
1629         * rendering/RenderReplaced.cpp:
1630         (WebCore::RenderReplaced::shouldPaint):
1631         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1632         (WebCore::RenderReplaced::computePreferredLogicalWidths):
1633         * rendering/RenderRubyBase.cpp:
1634         * rendering/RenderRubyRun.cpp:
1635         (WebCore::RenderRubyRun::getOverhang):
1636         * rendering/RenderRubyText.cpp:
1637         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
1638         * rendering/RenderScrollbarPart.cpp:
1639         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1640         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1641         * rendering/RenderSearchField.cpp:
1642         (WebCore::RenderSearchField::computeControlLogicalHeight):
1643         * rendering/RenderTable.cpp:
1644         (WebCore::RenderTable::updateLogicalWidth):
1645         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
1646         (WebCore::RenderTable::layout):
1647         (WebCore::RenderTable::computePreferredLogicalWidths):
1648         (WebCore::RenderTable::calcBorderStart):
1649         (WebCore::RenderTable::calcBorderEnd):
1650         (WebCore::RenderTable::outerBorderBefore):
1651         (WebCore::RenderTable::outerBorderAfter):
1652         (WebCore::RenderTable::outerBorderStart):
1653         (WebCore::RenderTable::outerBorderEnd):
1654         * rendering/RenderTableCell.cpp:
1655         (WebCore::RenderTableCell::parseColSpanFromDOM):
1656         (WebCore::RenderTableCell::parseRowSpanFromDOM):
1657         (WebCore::RenderTableCell::logicalWidthFromColumns):
1658         (WebCore::RenderTableCell::computePreferredLogicalWidths):
1659         (WebCore::RenderTableCell::layout):
1660         (WebCore::RenderTableCell::setOverrideLogicalContentHeightFromRowHeight):
1661         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1662         (WebCore::RenderTableCell::alignLeftRightBorderPaintRect):
1663         (WebCore::RenderTableCell::alignTopBottomBorderPaintRect):
1664         * rendering/RenderTableSection.cpp:
1665         (WebCore::RenderTableSection::ensureRows):
1666         (WebCore::RenderTableSection::calcRowLogicalHeight):
1667         (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
1668         (WebCore::RenderTableSection::layoutRows):
1669         (WebCore::RenderTableSection::firstLineBaseline):
1670         (WebCore::RenderTableSection::removeCachedCollapsedBorders):
1671         (WebCore::RenderTableSection::setCachedCollapsedBorder):
1672         (WebCore::RenderTableSection::cachedCollapsedBorder):
1673         * rendering/RenderText.cpp:
1674         (WebCore::makeCapitalized):
1675         (WebCore::RenderText::absoluteRectsForRange):
1676         (WebCore::RenderText::absoluteQuadsForRange):
1677         (WebCore::maxWordFragmentWidth):
1678         (WebCore::RenderText::computePreferredLogicalWidths):
1679         * rendering/RenderTextControl.cpp:
1680         (WebCore::RenderTextControl::computePreferredLogicalWidths):
1681         * rendering/RenderTextControlSingleLine.cpp:
1682         * rendering/RenderThemeMac.mm:
1683         (WebCore::RenderThemeMac::paintProgressBar):
1684         (WebCore::RenderThemeMac::paintMenuListButton):
1685         * rendering/RenderWidget.cpp:
1686         * rendering/RootInlineBox.cpp:
1687         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1688         (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
1689         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
1690         (WebCore::RootInlineBox::blockDirectionPointInLine):
1691         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
1692         (WebCore::setAscentAndDescent):
1693         (WebCore::RootInlineBox::ascentAndDescentForBox):
1694         * rendering/mathml/RenderMathMLRoot.cpp:
1695         (WebCore::RenderMathMLRoot::layout):
1696         * rendering/style/RenderStyle.cpp:
1697         (WebCore::calcConstraintScaleFor):
1698         (WebCore::RenderStyle::setFontSize):
1699         (WebCore::RenderStyle::getShadowExtent):
1700         (WebCore::RenderStyle::getShadowInsetExtent):
1701         (WebCore::RenderStyle::getShadowHorizontalExtent):
1702         (WebCore::RenderStyle::getShadowVerticalExtent):
1703         * rendering/style/SVGRenderStyle.cpp:
1704         * rendering/style/ShadowData.cpp:
1705         (WebCore::calculateShadowExtent):
1706         * rendering/svg/RenderSVGResourceFilter.cpp:
1707         * rendering/svg/RenderSVGRoot.cpp:
1708         * rendering/svg/SVGInlineFlowBox.cpp:
1709         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1710         * rendering/svg/SVGInlineTextBox.cpp:
1711         (WebCore::SVGInlineTextBox::localSelectionRect):
1712         * svg/SVGAnimatedNumber.cpp:
1713         * svg/SVGAnimatedNumberOptionalNumber.cpp:
1714         * svg/animation/SMILTimeContainer.cpp:
1715         (WebCore::SMILTimeContainer::startTimer):
1716         (WebCore::SMILTimeContainer::updateAnimations):
1717         * svg/animation/SVGSMILElement.cpp:
1718         (WebCore::SVGSMILElement::simpleDuration):
1719         (WebCore::SVGSMILElement::repeatingDuration):
1720         (WebCore::SVGSMILElement::resolveActiveEnd):
1721         (WebCore::SVGSMILElement::resolveInterval):
1722         (WebCore::SVGSMILElement::resolveFirstInterval):
1723         (WebCore::SVGSMILElement::resolveNextInterval):
1724         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
1725         * xml/XMLTreeViewer.cpp:
1726         * xml/parser/XMLDocumentParser.cpp:
1727         * xml/parser/XMLDocumentParserLibxml2.cpp:
1728         (WebCore::OffsetBuffer::readOutBytes):
1729
1730 2013-11-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1731
1732         [AX] Clean up static_cast<> to cast from AccessibilityObject 
1733         https://bugs.webkit.org/show_bug.cgi?id=124032
1734
1735         Reviewed by Mario Sanchez Prada.
1736
1737         ACCESSIBILITY_OBJECT_TYPE_CASTS can support more helpful casting functions.
1738         So, we need to use them as much as possible. This patch cleans up all static_cast<> in accessibility.
1739
1740         This patch generates toAccessibilityFoo() in order to replace static_cast<> with it. Below toAccessibilityFoo()
1741         are generated.
1742
1743         - toAccessibilityARIAGridRow()
1744         - toAccessibilityImageMapLink()
1745         - toAccessibilityListBox()
1746         - toAccessibilityListBoxOption()
1747         - toAccessibilityMenuListOption()
1748         - toAccessibilityMenuListPopup()
1749         - toAccessibilityScrollbar()
1750         - toAccessibilitySlider()
1751
1752         No new tests, no behavior changes.
1753
1754         * accessibility/AXObjectCache.cpp:
1755         (WebCore::AXObjectCache::focusedImageMapUIElement):
1756         * accessibility/AccessibilityARIAGridRow.h:
1757         * accessibility/AccessibilityImageMapLink.h:
1758         * accessibility/AccessibilityListBox.cpp:
1759         (WebCore::AccessibilityListBox::setSelectedChildren):
1760         (WebCore::AccessibilityListBox::selectedChildren):
1761         (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
1762         * accessibility/AccessibilityListBox.h:
1763         * accessibility/AccessibilityListBoxOption.h:
1764         * accessibility/AccessibilityMenuList.cpp:
1765         (WebCore::AccessibilityMenuList::addChildren):
1766         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
1767         * accessibility/AccessibilityMenuListOption.h:
1768         * accessibility/AccessibilityMenuListPopup.cpp:
1769         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
1770         * accessibility/AccessibilityMenuListPopup.h:
1771         * accessibility/AccessibilityObject.h:
1772         (WebCore::AccessibilityObject::isListBoxOption):
1773         (WebCore::AccessibilityObject::isSliderThumb):
1774         * accessibility/AccessibilityRenderObject.cpp:
1775         (WebCore::AccessibilityRenderObject::getDocumentLinks):
1776         (WebCore::AccessibilityRenderObject::addImageMapChildren):
1777         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
1778         * accessibility/AccessibilityScrollView.cpp:
1779         (WebCore::AccessibilityScrollView::addChildScrollbar):
1780         * accessibility/AccessibilityScrollbar.h:
1781         * accessibility/AccessibilitySlider.cpp:
1782         (WebCore::AccessibilitySlider::addChildren):
1783         * accessibility/AccessibilitySlider.h:
1784         * accessibility/AccessibilitySpinButton.cpp:
1785         (WebCore::AccessibilitySpinButton::addChildren):
1786         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
1787         (webkitAccessibleSelectionClearSelection):
1788         (webkitAccessibleSelectionSelectAllSelection):
1789         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1790         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1791         (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1792         * rendering/RenderMenuList.cpp:
1793         (WebCore::RenderMenuList::didUpdateActiveOption):
1794
1795 2013-11-10  Andreas Kling  <akling@apple.com>
1796
1797         Rebaseline bindings tests after r158997.
1798
1799         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1800
1801 2013-11-10  Brendan Long  <b.long@cablelabs.com>
1802
1803         [GStreamer] Consolidate more code into TrackPrivateBaseGStreamer
1804         https://bugs.webkit.org/show_bug.cgi?id=124020
1805
1806         Reviewed by Philippe Normand.
1807
1808         No new tests because this is just refactoring.
1809
1810         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
1811         (WebCore::AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer): Don't pass playbin to TrackPrivateBaseGStreamer, and do pass a pointer to "this".
1812         (WebCore::AudioTrackPrivateGStreamer::disconnect): Clear m_playbin().
1813         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Move labelChanged() and languageChanged() to TrackPrivateBaseGStreamer. Move m_playbin to this class (along with disconnect() to clear it).
1814         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: Move tag handling, pad and index to TrackPrivateBaseGStreamer.
1815         (WebCore::textTrackPrivateEventCallback):
1816         (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
1817         (WebCore::InbandTextTrackPrivateGStreamer::disconnect):
1818         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
1819         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp: Add WebKitTextCombinerPad with "tags" property, set in the same was as input-selector's pads.
1820         (webkit_text_combiner_pad_init): Initialize tags to 0.
1821         (webkitTextCombinerPadFinalize): Clear tags.
1822         (webkitTextCombinerPadGetProperty): Handling "tags" property.
1823         (webkitTextCombinerPadEvent): Changed to be a pad event function instead of a pad probe, and now intercepts tags and merges them (like input-selector pads do).
1824         (webkitTextCombinerRequestNewPad): Using WebKitTextCombinerPad instead of just GhostPad.
1825         (webkit_text_combiner_pad_class_init): Setup WebKitTextCombinerPad.
1826         * platform/graphics/gstreamer/TextCombinerGStreamer.h: Remove superfluous code.
1827         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1828         (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Use "notify::active" so we don't need a playbin, and immediately check for tags after the constructor.
1829         (WebCore::TrackPrivateBaseGStreamer::disconnect): Remove m_playbin.
1830         (WebCore::TrackPrivateBaseGStreamer::getTag): Refactored out from notifyTrackOfTagsChanged.
1831         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Simplify using m_owner (so we can call labelChanged() and languageChanged() directly), and use getTag() above.
1832         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_owner to we can access the owning track, and change some functions to match our needs better.
1833         (WebCore::TrackPrivateBaseGStreamer::setActive): Add empty default since InbandTextTrackPrivateGStreamer doesn't need this.
1834         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: Same as AudioTrackPrivateGStreamer.
1835         (WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer):
1836         (WebCore::VideoTrackPrivateGStreamer::disconnect):
1837         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Same as AudioTrackPrivateGStreamer.
1838
1839 2013-11-10  Andreas Kling  <akling@apple.com>
1840
1841         Generate type casting helpers for Widget classes.
1842         <https://webkit.org/b/124120>
1843
1844         Add a WIDGET_TYPE_CASTS macro and replace all the hand-written
1845         toFoo() helpers we had for Widget subclasses. Fixed up a handful
1846         of places that were still using static_cast.
1847
1848         Reviewed by Antti Koivisto.
1849
1850 2013-11-10  Andreas Kling  <akling@apple.com>
1851
1852         Remove unused FragmentationDisabler class.
1853         <https://webkit.org/b/124118>
1854
1855         This RAII object was added in r144744 to avoid a crash when using
1856         MathML inside CSS regions. Its only user was removed in r157070.
1857
1858         Reviewed by Antti Koivisto.
1859
1860 2013-11-10  Andreas Kling  <akling@apple.com>
1861
1862         Simplify some is-this-a-MathML-element? checks.
1863         <https://webkit.org/b/124119>
1864
1865         As of r158198, the MathML-ness of an Element is determined by
1866         a Node flag, so there's no need to cast to Element before checking
1867         on this. Simplify accordingly.
1868
1869         Reviewed by Antti Koivisto.
1870
1871 2013-11-10  Andreas Kling  <akling@apple.com>
1872
1873         Remove RenderTheme::shouldOpenPickerWithF4Key().
1874
1875         Rubber-stamped by Anders Carlsson.
1876
1877 2013-11-09  Andreas Kling  <akling@apple.com>
1878
1879         CSSValuePool::createFontFamilyValue() should return PassRef.
1880         <https://webkit.org/b/124114>
1881
1882         Unlike createFontFaceValue(), createFontFamilyValue() can never
1883         fail to return an object and thus should return PassRef.
1884
1885         Reviewed by Anders Carlsson.
1886
1887 2013-11-09  Andreas Kling  <akling@apple.com>
1888
1889         RenderIFrame should display its name correctly in DRT output.
1890         <https://webkit.org/b/124117>
1891
1892         Nuke an age-old FIXME about making RenderIFrame show its true name
1893         in DRT output. No more "RenderPartObject {IFRAME}"!
1894
1895         Reviewed by Anders Carlsson.
1896
1897 2013-11-09  Andreas Kling  <akling@apple.com>
1898
1899         SVGTextMetricsBuilder::walkTree() should take a RenderElement.
1900         <https://webkit.org/b/124105>
1901
1902         Make walkTree() take a RenderElement so we can use the non-virtual
1903         firstChild() internally. All call sites had pointers to compatible
1904         objects already.
1905
1906         Reviewed by Anders Carlsson.
1907
1908 2013-11-09  Andreas Kling  <akling@apple.com>
1909
1910         RenderMathMLFenced should pass around operators in tighter types.
1911         <https://webkit.org/b/124115>
1912
1913         Store operator renderers in RenderMathMLOperator pointers instead
1914         of passing them around as RenderObject.
1915
1916         Reviewed by Martin Robinson.
1917
1918 2013-11-09  Andreas Kling  <akling@apple.com>
1919
1920         Use RENDER_OBJECT_TYPE_CASTS for more types.
1921         <https://webkit.org/b/124112>
1922
1923         Generate toRenderFoo() type casting helpers for these classes:
1924
1925             - RenderCombineText
1926             - RenderDetailsMarker
1927             - RenderListMarker
1928             - RenderVideo
1929             - RenderView
1930
1931         Reviewed by Anders Carlsson.
1932
1933 2013-11-09  Andreas Kling  <akling@apple.com>
1934
1935         Move MathML type checking virtuals to RenderObject.
1936         <https://webkit.org/b/124111>
1937
1938         Previously, checking the type of a MathML renderer would require
1939         that you first check if it's a RenderMathMLBlock, and then casting
1940         to that type to access the check you really wanted.
1941
1942         This change moves all the isRenderMathMLFoo() virtual functions
1943         to RenderObject. I also made sure all the overloads were private
1944         and marked them OVERRIDE/FINAL as appropriate.
1945
1946         Finally I replaced all the hand-written casting functions with
1947         autogenerated ones using RENDER_OBJECT_TYPE_CASTS.
1948
1949         Reviewed by Anders Carlsson.
1950
1951 2013-11-09  Martin Robinson  <mrobinson@igalia.com>
1952
1953         [MathML] Poor spacing around delimiters in MathML Torture Test 14
1954         https://bugs.webkit.org/show_bug.cgi?id=122837
1955
1956         Reviewed by Brent Fulgham.
1957
1958         Instead of stretching the vertical bar with the stretchable version, just repeat
1959         the normal vertical bar. This follows what Gecko does when rendering tall vertical
1960         bars and also works around an issue with STIX fonts leading to poor spacing in
1961         formulas.
1962
1963         * rendering/mathml/RenderMathMLOperator.cpp: Stretch the vertical bar with the
1964         normal variant.
1965
1966 2013-11-09  Anders Carlsson  <andersca@apple.com>
1967
1968         Encode form data using the KeyedEncoder
1969         https://bugs.webkit.org/show_bug.cgi?id=124107
1970
1971         Reviewed by Sam Weinig.
1972
1973         * platform/KeyedCoding.h:
1974         (WebCore::KeyedEncoder::encodeEnum):
1975         * platform/network/FormData.cpp:
1976         (WebCore::encodeElement):
1977         (WebCore::FormData::encode):
1978         * platform/network/FormData.h:
1979
1980 2013-11-09  Sam Weinig  <sam@webkit.org>
1981
1982         Modernize CanvasObserverProxy
1983         https://bugs.webkit.org/show_bug.cgi?id=124106
1984
1985         Reviewed by Anders Carlsson.
1986
1987         * css/CSSCanvasValue.h:
1988
1989 2013-11-09  Patrick Gansterer  <paroga@webkit.org>
1990
1991         Move RunLoop from WebCore to WTF
1992         https://bugs.webkit.org/show_bug.cgi?id=116606
1993
1994         Reviewed by Anders Carlsson.
1995
1996         * CMakeLists.txt:
1997         * GNUmakefile.list.am:
1998         * PlatformBlackBerry.cmake:
1999         * PlatformEfl.cmake:
2000         * PlatformGTK.cmake:
2001         * PlatformWin.cmake:
2002         * WebCore.exp.in:
2003         * WebCore.vcxproj/WebCore.vcxproj:
2004         * WebCore.xcodeproj/project.pbxproj:
2005         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2006         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2007
2008 2013-11-09  Andreas Kling  <akling@apple.com>
2009
2010         Tighten typing in SVGResourcesCycleSolver a bit.
2011         <https://webkit.org/b/124104>
2012
2013         Make the SVGResourcesCycleSolver constructor take a RenderElement&
2014         and a SVGResources&.
2015
2016         While I was in the neighborhood, also converted one loop to use a
2017         renderer iterator instead of walking siblings manually.
2018
2019         Finally used "auto" to clean up some overly wordy loops.
2020
2021         Reviewed by Anders Carlsson.
2022
2023 2013-11-09  Andreas Kling  <akling@apple.com>
2024
2025         Beat SVGRenderSupport with the RenderElement stick.
2026         <https://webkit.org/b/124102>
2027
2028         Tighten up all the SVGRenderSupport helper functions by making them
2029         take const RenderElements references instead of raw RenderObject
2030         pointers as much as possible.
2031
2032         This tunes up a bunch of branchy style() calls.
2033
2034         The patch looks big but it's mostly mechanical. I just changed the
2035         signatures and then worked backwards until everything built again.
2036
2037         Reviewed by Antti Koivisto.
2038
2039 2013-11-09  Andreas Kling  <akling@apple.com>
2040
2041         SVGTextLayoutAttributes always has a RenderSVGInlineText.
2042         <https://webkit.org/b/124101>
2043
2044         No SVGTextLayoutAttributes object is without a RenderSVGInlineText
2045         "context" so make context() return a reference.
2046
2047         Reviewed by Antti Koivisto.
2048
2049 2013-11-09  Andreas Kling  <akling@apple.com>
2050
2051         Move BindingSecurity stuff under JSDOMBinding umbrella.
2052         <https://webkit.org/b/124099>
2053
2054         We are hitting shouldAllowAccessToDOMWindow() pretty hard on the
2055         demo here: <http://www.jasondavies.com/maps/rotate/>
2056
2057         Putting it together with the rest of the JSDOMBinding code takes
2058         CPU time spent in there from 8.7% to 6.5%. The abstraction was
2059         only used to support alternate JS engines in the past.
2060
2061         Reviewed by Antti Koivisto.
2062
2063 2013-11-08  Brady Eidson  <beidson@apple.com>
2064
2065         Merge IDBDatabaseBackendInterface and IDBDatabaseBackendImpl
2066         https://bugs.webkit.org/show_bug.cgi?id=124088
2067
2068         Reviewed by Tim Horton.
2069 +
2070         * CMakeLists.txt:
2071         * GNUmakefile.list.am:
2072         * WebCore.vcxproj/WebCore.vcxproj:
2073         * WebCore.xcodeproj/project.pbxproj:
2074
2075         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Removed.
2076
2077         * Modules/indexeddb/IDBDatabaseBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
2078         * Modules/indexeddb/IDBDatabaseBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
2079
2080         * Modules/indexeddb/IDBBackingStoreInterface.h:
2081         * Modules/indexeddb/IDBCallbacks.h:
2082         * Modules/indexeddb/IDBCursor.cpp:
2083         * Modules/indexeddb/IDBCursorBackend.cpp:
2084         * Modules/indexeddb/IDBCursorBackend.h:
2085         * Modules/indexeddb/IDBDatabase.cpp:
2086         * Modules/indexeddb/IDBDatabase.h:
2087         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2088         * Modules/indexeddb/IDBIndex.cpp:
2089         * Modules/indexeddb/IDBIndex.h:
2090         * Modules/indexeddb/IDBIndexWriter.h:
2091         * Modules/indexeddb/IDBObjectStore.cpp:
2092         * Modules/indexeddb/IDBObjectStore.h:
2093         * Modules/indexeddb/IDBOpenDBRequest.cpp:
2094         * Modules/indexeddb/IDBOpenDBRequest.h:
2095         * Modules/indexeddb/IDBPendingDeleteCall.h:
2096         * Modules/indexeddb/IDBRequest.cpp:
2097         * Modules/indexeddb/IDBRequest.h:
2098         * Modules/indexeddb/IDBTransaction.cpp:
2099         * Modules/indexeddb/IDBTransaction.h:
2100         * Modules/indexeddb/IDBTransactionBackend.cpp:
2101         * Modules/indexeddb/IDBTransactionBackend.h:
2102         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2103         * Modules/indexeddb/IDBTransactionBackendOperations.h:
2104         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2105         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2106         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
2107         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
2108
2109 2013-11-08  Andreas Kling  <akling@apple.com>
2110
2111         Reindent JSDOMBinding.h (finally.)
2112
2113         Rubber-stamped by Sam Weinig.
2114
2115 2013-11-08  Sam Weinig  <sam@webkit.org>
2116
2117         Change collectStyleForPresentationAttribute and related functions to take a MutableStylePropertySet by reference
2118         https://bugs.webkit.org/show_bug.cgi?id=124096
2119
2120         Reviewed by Andreas Kling.
2121
2122         Pass MutableStylePropertySet by reference. It is never null.
2123
2124 2013-11-08  Anders Carlsson  <andersca@apple.com>
2125
2126         Implement encoding of arrays of objects
2127         https://bugs.webkit.org/show_bug.cgi?id=124091
2128
2129         Reviewed by Beth Dakin.
2130
2131         * history/HistoryItem.cpp:
2132         (WebCore::HistoryItem::encodeBackForwardTreeNode):
2133         Encode the rest of the members.
2134
2135         * platform/KeyedCoding.h:
2136         (WebCore::KeyedEncoder::encodeObjects):
2137         Call beginArray, then beginArrayElement/endArrayElement for every element and lastly endArray.
2138
2139 2013-11-08  Tim Horton  <timothy_horton@apple.com>
2140
2141         Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache
2142         https://bugs.webkit.org/show_bug.cgi?id=123944
2143
2144         Reviewed by Simon Fraser.
2145
2146         Ensure that the tile cache retrieves repaint rects from the tile layer,
2147         not from the tiled backing layer.
2148
2149         * platform/graphics/ca/PlatformCALayer.h:
2150         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2151         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2152         (PlatformCALayerMac::enumerateRectsBeingDrawn):
2153         Allow the PlatformCALayer to decide how to enumerate rects to paint.
2154
2155         * WebCore.exp.in:
2156         * platform/graphics/mac/WebLayer.h:
2157         Add RepaintRectList, remove some unnecessary WebCore::s.
2158
2159         * platform/graphics/mac/WebLayer.mm:
2160         (WebCore::collectRectsToPaint):
2161         Factor collectRectsToPaint out; it just grabs the rects from
2162         the layer and makes the decision whether to repaint the bounds
2163         of the dirty region or just the subregions.
2164
2165         Move calls to collectRectsToPaint() to callers of drawLayerContents(),
2166         so that TileController can collect rects from the appropriate source
2167         (the Tile layer) and other layers just continue grabbing them from
2168         their relevant layers.
2169
2170         Make sure that the list that comes from collectRectsToPaint() always
2171         has at least one rect in it (appending the clip bounds if we don't
2172         want to repaint subregions) so we can simplify logic in drawLayerContents.
2173
2174         (WebCore::drawLayerContents):
2175         Remove code to support CompositingCoordinatesBottomUp, as it's only
2176         used on Windows, so this Mac-specific code doesn't need to support it.
2177
2178         Simplify logic given that dirtyRects will always be non-empty.
2179
2180         (-[WebLayer drawInContext:]):
2181         (-[WebSimpleLayer setNeedsDisplayInRect:]):
2182         * platform/graphics/ca/mac/TileController.mm:
2183         (WebCore::TileController::platformCALayerPaintContents):
2184         Adopt collectRectsToPaint.
2185
2186 2013-11-08  Anders Carlsson  <andersca@apple.com>
2187
2188         Implement more KeyedEncoder functionality
2189         https://bugs.webkit.org/show_bug.cgi?id=124089
2190
2191         Reviewed by Beth Dakin.
2192
2193         * bindings/js/SerializedScriptValue.h:
2194         * history/HistoryItem.cpp:
2195         (WebCore::HistoryItem::encodeBackForwardTreeNode):
2196         * platform/KeyedCoding.h:
2197         (WebCore::KeyedEncoder::encodeConditionalObject):
2198
2199 2013-11-08  Eric Carlson  <eric.carlson@apple.com>
2200
2201         getCueAsHTML() on an empty cue should return a document fragment
2202         https://bugs.webkit.org/show_bug.cgi?id=124084
2203
2204         Reviewed by Darin Adler.
2205
2206         Test: media/track/track-cue-empty-cue-text.html
2207
2208         * html/track/WebVTTParser.cpp:
2209         (WebCore::WebVTTParser::createDocumentFragmentFromCueText): Don't return early when the
2210             passed an empty string.
2211
2212 2013-11-08  Anders Carlsson  <andersca@apple.com>
2213
2214         KeyedEncoder should be able to encoder objects
2215         https://bugs.webkit.org/show_bug.cgi?id=124085
2216
2217         Reviewed by Sam Weinig.
2218
2219         * history/HistoryItem.cpp:
2220         (WebCore::HistoryItem::encodeBackForwardTree):
2221         Encode the root object.
2222
2223         (WebCore::HistoryItem::encodeBackForwardTreeNode):
2224         Encode the target.
2225
2226         * history/HistoryItem.h:
2227         Add new members.
2228
2229         * platform/KeyedCoding.h:
2230         (WebCore::KeyedEncoder::encodeObject):
2231         Call beginObject, call the functor and then call endObject().
2232
2233 2013-11-08  Sam Weinig  <sam@webkit.org>
2234
2235         Teach CanvasObserver about references
2236         https://bugs.webkit.org/show_bug.cgi?id=124082
2237
2238         Reviewed by Anders Carlsson.
2239
2240         * css/CSSCanvasValue.cpp:
2241         * css/CSSCanvasValue.h:
2242         * html/HTMLCanvasElement.cpp:
2243         * html/HTMLCanvasElement.h:
2244
2245 2013-11-08  Anders Carlsson  <andersca@apple.com>
2246
2247         Begin stubbing out a KeyedEncoder class in WebCore
2248         https://bugs.webkit.org/show_bug.cgi?id=124079
2249
2250         Reviewed by Sam Weinig.
2251
2252         * WebCore.exp.in:
2253         Add symbol needed by WebCore.
2254
2255         * WebCore.xcodeproj/project.pbxproj:
2256         Add new header file.
2257
2258         * history/HistoryItem.cpp:
2259         (WebCore::HistoryItem::encodeBackForwardTree):
2260         * history/HistoryItem.h:
2261         Add an encodeBackForwardTree overload that takes a KeyedEncoder object. Encode the version.
2262
2263         * platform/KeyedCoding.h:
2264         Add a KeyedEncoder class that just has a single encodeUInt32 member function for now.
2265
2266 2013-11-08  Brady Eidson  <beidson@apple.com>
2267
2268         Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl
2269         https://bugs.webkit.org/show_bug.cgi?id=124077
2270
2271         Reviewed by Alexey Proskuryakov.
2272
2273         The abstraction is no longer needed.
2274
2275         * CMakeLists.txt:
2276         * GNUmakefile.list.am:
2277         * WebCore.xcodeproj/project.pbxproj:
2278
2279         * Modules/indexeddb/IDBTransactionBackendInterface.h: Removed.
2280
2281         * Modules/indexeddb/IDBTransactionBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
2282         * Modules/indexeddb/IDBTransactionBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
2283
2284         * Modules/indexeddb/IDBBackingStoreInterface.h:
2285         * Modules/indexeddb/IDBCursorBackend.cpp:
2286         * Modules/indexeddb/IDBCursorBackend.h:
2287         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2288         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2289         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2290         * Modules/indexeddb/IDBTransactionBackendOperations.h:
2291         * Modules/indexeddb/IDBTransactionCoordinator.cpp:
2292         * Modules/indexeddb/IDBTransactionCoordinator.h:
2293         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2294         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2295         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2296         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2297
2298 2013-11-08  Simon Fraser  <simon.fraser@apple.com>
2299
2300         REGRESSION (r155660): Some Etherpad pages not scrollable with overlay scrollbars
2301         https://bugs.webkit.org/show_bug.cgi?id=124075
2302
2303         Reviewed by Beth Dakin.
2304         
2305         In r155660 I removed some scrollbar-related layouts when scrollbars
2306         are in overlay mode.
2307         
2308         However, ScrollView::updateScrollbars() has a case where we still need
2309         to do multiple pases, related to its "Never ever try to both gain/lose a
2310         scrollbar in the same pass" comment. When we avoid making a new scrollbar
2311         because the other was removed, we need to do another pass to bring the
2312         correct scrollbar back.
2313
2314         Can't test overlay scrollbars in tests.
2315
2316         * platform/ScrollView.cpp:
2317         (WebCore::ScrollView::updateScrollbars):
2318
2319 2013-11-08  Hans Muller  <hmuller@adobe.com>
2320
2321         [CSS Shapes] Image valued shape-outside that extends vertically into the margin-box is top-clipped
2322         https://bugs.webkit.org/show_bug.cgi?id=123769
2323
2324         Reviewed by Dirk Schulze.
2325
2326         Remove the assumption that Y coordinates are >= 0 from the RasterShapeIntervals class
2327         and correct its computeShapeMarginIntervals() method. The computeShapeMarginIntervals()
2328         method now generates intervals with Y coordinates that begin at the image shape's
2329         bounds.y - shape-margin, which may be less than 0.
2330
2331         The RasterShapeIntervals::intervalsAt() method now offsets its Y coordinate parameter
2332         by the shape-margin. A non-const overload of the method was added to centralize all
2333         access to m_intervalLists.
2334
2335         Test: fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-004.html
2336               fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-005.html
2337
2338         * rendering/shapes/RasterShape.cpp:
2339         (WebCore::MarginIntervalGenerator::intervalAt): Don't clip X coordinates to 0 since they can extend into the margin-box.
2340         (WebCore::RasterShapeIntervals::appendInterval): Use the non-const intervalsAt() method.
2341         (WebCore::RasterShapeIntervals::uniteMarginInterval): Ditto.
2342         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals): See above.
2343         * rendering/shapes/RasterShape.h:
2344         (WebCore::RasterShapeIntervals::RasterShapeIntervals): Added a field for the margin.
2345         (WebCore::RasterShapeIntervals::intervalsAt): Offset y coordinates by the margin; added a non-const overload.
2346
2347 2013-11-08  Piotr Grad  <p.grad@samsung.com>
2348
2349         Ended event should work also when playback rate is negative
2350         https://bugs.webkit.org/show_bug.cgi?id=123879
2351
2352         Reviewed by Eric Carlson.
2353
2354         According to W3C specification playback is ended also when playback rate is
2355         negative and position is the earliest possible position.
2356
2357         Test: media/video-ended-event-negative-playback.html
2358
2359         * html/HTMLMediaElement.cpp:
2360         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2361
2362 2013-11-08  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2363
2364         Checking for TypeError in RTCPeerConnection object creation
2365         https://bugs.webkit.org/show_bug.cgi?id=124049
2366
2367         Reviewed by Eric Carlson.
2368
2369         If invalid parameters are passed on RTCPeerConnection creation we must throw a TypeError exception.
2370         According to the spec it requires a Dictionary argument, the RTCConfiguration, which is mandatory.
2371
2372         Please notice that this patch does not make every tests run as expected,
2373         RTCPeerConnectionHandlerMock needs to be update to deal with contraints.
2374
2375         Existing tests were updated.
2376
2377         * GNUmakefile.list.am:
2378         * Modules/mediastream/RTCPeerConnection.idl:
2379         * UseJSC.cmake:
2380         * WebCore.vcxproj/WebCore.vcxproj:
2381         * WebCore.vcxproj/WebCore.vcxproj.filters:
2382         * WebCore.xcodeproj/project.pbxproj:
2383         * bindings/js/JSRTCPeerConnectionCustom.cpp: Added.
2384         (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
2385
2386 2013-11-08  Bem Jones-Bey  <bjonesbe@adobe.com>
2387
2388         Use references instead of pointers to RenderBlockFlow in FloatingObjects and ComputeFloatOffsetAdapter
2389         https://bugs.webkit.org/show_bug.cgi?id=124074
2390
2391         Reviewed by Sam Weinig.
2392
2393         Just a straightforward conversion from const pointers to const references.
2394
2395         Also, remove unneeded argument from FloatingObjects constructor.
2396
2397         No new tests, no behavior change.
2398
2399         * rendering/FloatingObjects.cpp:
2400         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
2401         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
2402         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
2403         (WebCore::FloatingObjects::FloatingObjects):
2404         (WebCore::FloatingObjects::clearLineBoxTreePointers):
2405         (WebCore::FloatingObjects::computePlacedFloatsTree):
2406         (WebCore::shapeInfoForFloat):
2407         (WebCore::::updateOffsetIfNeeded):
2408         (WebCore::::collectIfNeeded):
2409         (WebCore::::heightRemaining):
2410         * rendering/FloatingObjects.h:
2411         * rendering/RenderBlockFlow.cpp:
2412         (WebCore::RenderBlockFlow::createFloatingObjects):
2413
2414 2013-11-08  Sam Weinig  <sam@webkit.org>
2415
2416         Teach SubframeLoader a bit about references
2417         https://bugs.webkit.org/show_bug.cgi?id=124076
2418
2419         Reviewed by Anders Carlsson.
2420
2421         * html/HTMLAppletElement.cpp:
2422         * html/HTMLFrameElementBase.cpp:
2423         * html/HTMLMediaElement.cpp:
2424         * loader/SubframeLoader.cpp:
2425         * loader/SubframeLoader.h:
2426
2427 2013-11-08  Brady Eidson  <beidson@apple.com>
2428
2429         Blind Windows build-fix attempt after r158959
2430
2431         * WebCore.vcxproj/WebCore.vcxproj:
2432
2433 2013-11-08  Brady Eidson  <beidson@apple.com>
2434
2435         Merge IDBCursorBackendInterface and IDBCursorBackendImpl
2436         https://bugs.webkit.org/show_bug.cgi?id=124068
2437
2438         Reviewed by Anders Carlsson.
2439
2440         * CMakeLists.txt:
2441         * GNUmakefile.list.am:
2442         * WebCore.xcodeproj/project.pbxproj:
2443
2444         * Modules/indexeddb/IDBCursorBackendInterface.h: Removed.
2445
2446         * Modules/indexeddb/IDBCursorBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
2447         * Modules/indexeddb/IDBCursorBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
2448
2449         * Modules/indexeddb/IDBCallbacks.h:
2450         * Modules/indexeddb/IDBCursor.cpp:
2451         * Modules/indexeddb/IDBCursor.h:
2452         * Modules/indexeddb/IDBCursorWithValue.cpp:
2453         * Modules/indexeddb/IDBCursorWithValue.h:
2454         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2455         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2456         * Modules/indexeddb/IDBRequest.cpp:
2457         * Modules/indexeddb/IDBRequest.h:
2458         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2459         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2460         * Modules/indexeddb/IDBTransactionBackendInterface.h:
2461         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2462         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2463         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2464
2465 2013-11-08  Sam Weinig  <sam@webkit.org>
2466
2467         Modernize FrameLoader a bit
2468         https://bugs.webkit.org/show_bug.cgi?id=124073
2469
2470         Reviewed by Anders Carlsson.
2471
2472         * loader/FrameLoader.cpp:
2473         * loader/FrameLoader.h:
2474         Use std::unique_ptrs rather than OwnPtrs.
2475
2476         * loader/MixedContentChecker.cpp:
2477         * loader/MixedContentChecker.h:
2478         Switch to hold a Frame& rather than Frame*.
2479
2480 2013-11-08  Zan Dobersek  <zdobersek@igalia.com>
2481
2482         Remove code guarded with ENABLE(STREAM)
2483         https://bugs.webkit.org/show_bug.cgi?id=123667
2484
2485         Reviewed by Anders Carlsson.
2486
2487         Remove ENABLE(STREAM)-guarded code. This was added in the effort to provide Stream API support, but
2488         no port enables the feature and the work on this feature has wound down after the Chromium port forked,
2489         leaving this code unmaintained.
2490
2491         * fileapi/FileReaderLoader.cpp:
2492         * fileapi/FileReaderLoader.h:
2493
2494 2013-11-08  Bem Jones-Bey  <bjonesbe@adobe.com>
2495
2496         RenderBlockFlow::nextFloatLogicalBottomBelow should not use ShapeOutsideFloatOffsetMode
2497         https://bugs.webkit.org/show_bug.cgi?id=123931
2498
2499         Reviewed by Sam Weinig.
2500
2501         Rewrite nextFloatLogicalBottomBelow to use the placed floats tree for
2502         the search and to not need ShapeOutsideFloatOffsetMode anymore. This
2503         moves almost all of the logic into FloatingObjects, making a small
2504         reduction in the amount that RenderBlockFlow needs to know about the
2505         implementation of FloatingObjects.
2506
2507         In addition, change ComputeFloatOffsetAdapter to take in LayoutUnits
2508         and roundToInt itself so that all of it's callers can be simplified.
2509
2510         No new tests, no new behavior.
2511
2512         * rendering/FloatingObjects.cpp:
2513         (WebCore::rangesIntersect):
2514         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
2515         (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
2516         (WebCore::FindNextFloatLogicalBottomAdapter::lowValue):
2517         (WebCore::FindNextFloatLogicalBottomAdapter::highValue):
2518         (WebCore::FindNextFloatLogicalBottomAdapter::nextLogicalBottom):
2519         (WebCore::FindNextFloatLogicalBottomAdapter::nextShapeLogicalBottom):
2520         (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
2521         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
2522         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
2523         (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
2524         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
2525         (WebCore::FloatingObjects::logicalLeftOffset):
2526         (WebCore::FloatingObjects::logicalRightOffset):
2527         * rendering/FloatingObjects.h:
2528         * rendering/LineWidth.cpp:
2529         (WebCore::LineWidth::fitBelowFloats):
2530         * rendering/RenderBlockFlow.cpp:
2531         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
2532         (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelowForBlock):
2533         (WebCore::RenderBlockFlow::getClearDelta):
2534         * rendering/RenderBlockFlow.h:
2535
2536 2013-11-08  Alexey Proskuryakov  <ap@apple.com>
2537
2538         https://bugs.webkit.org/show_bug.cgi?id=124064
2539         Some WebCrypto files are not in correct directories
2540
2541         Rubber-stamped by Anders Carlsson.
2542
2543         * WebCore.xcodeproj/project.pbxproj:
2544         * crypto/CryptoAlgorithmAesCbcParams.h: Removed.
2545         * crypto/CryptoAlgorithmAesKeyGenParams.h: Removed.
2546         * crypto/CryptoKeyAES.cpp: Removed.
2547         * crypto/CryptoKeyAES.h: Removed.
2548         * crypto/CryptoKeyMac.cpp: Removed.
2549         * crypto/keys/CryptoKeyAES.cpp: Copied from Source/WebCore/crypto/CryptoKeyAES.cpp.
2550         * crypto/keys/CryptoKeyAES.h: Copied from Source/WebCore/crypto/CryptoKeyAES.h.
2551         * crypto/mac/CryptoKeyMac.cpp: Copied from Source/WebCore/crypto/CryptoKeyMac.cpp.
2552         * crypto/parameters/CryptoAlgorithmAesCbcParams.h: Copied from Source/WebCore/crypto/CryptoAlgorithmAesCbcParams.h.
2553         * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h: Copied from Source/WebCore/crypto/CryptoAlgorithmAesKeyGenParams.h.
2554
2555 2013-11-08  Alexey Proskuryakov  <ap@apple.com>
2556
2557         Implement JWK key import for HMAC and AES-CBC
2558         https://bugs.webkit.org/show_bug.cgi?id=124059
2559
2560         Reviewed by Anders Carlsson.
2561
2562         Tests: crypto/subtle/aes-cbc-import-jwk.html
2563                crypto/subtle/hmac-import-jwk.html
2564                crypto/subtle/import-jwk.html
2565
2566         WebCrypto supports multiple key formats - raw, pkcs8, spki, jwk. The design is that
2567         we'll transform these into parsed KeyData subclasses before passing to algorithms.
2568
2569         CryptoKeySerialization is a base class for handling all these formats.
2570
2571         * WebCore.xcodeproj/project.pbxproj: Added new files. Removed CryptoKeyFormat.h.
2572         
2573         * bindings/js/JSCryptoKeySerializationJWK.h: Added.
2574         * bindings/js/JSCryptoKeySerializationJWK.cpp: Added.
2575         (WebCore::getStringFromJSON): A helper. Note that we can rely on the object being
2576         a nice freshly parsed JSON, no getters or anything.
2577         (WebCore::getBooleanFromJSON): Ditto.
2578         (WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
2579         (WebCore::JSCryptoKeySerializationJWK::~JSCryptoKeySerializationJWK):
2580         (WebCore::createHMACParameters): A simple helper.
2581         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): WebCrypto API is weird,
2582         you can have algorithm parameters both inside a JWK key and passed as importKey()
2583         arguments. They need to agree, whatever that means for specific serialization's
2584         algorithm options (not all necessarily have a 1-1 matching to WebCrypto).
2585         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Take an intersection of usages.
2586         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Only extractable if
2587         both JWK and the caller agree.
2588         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Verify validity of JWK key.
2589         (WebCore::JSCryptoKeySerializationJWK::keyData): Return an appropriate KeyData
2590         subclass.
2591
2592         * bindings/js/JSSubtleCryptoCustom.cpp:
2593         (WebCore::ENUM_CLASS): Moved CryptoKeyFormat here.
2594         (WebCore::cryptoKeyFormatFromJSValue): Added a human readable string to an exception.
2595         (WebCore::JSSubtleCrypto::importKey): Support multiple key formats, not just raw.
2596
2597         * crypto/CryptoAlgorithm.cpp: (WebCore::CryptoAlgorithm::importKey):
2598         * crypto/CryptoAlgorithm.h:
2599         Updated signature for importKey to one that makes more sense. Decoding formats all
2600         the way from a binary blob is not something that CryptoAlgorithm subclasses should
2601         do, we now pass a KeyData subclass instead.
2602         Removed exportKey/wrapKey/unwrapKey altogether, because I don't yet know what the
2603         signatures will be.
2604
2605         * crypto/CryptoKeyData.h: Added.
2606         (WebCore::CryptoKeyData::ENUM_CLASS):
2607         (WebCore::CryptoKeyData::CryptoKeyData):
2608         (WebCore::CryptoKeyData::~CryptoKeyData):
2609         (WebCore::CryptoKeyData::format):
2610         A base class for passing key material to algorithms. Currently, only one type is
2611         supported, that being OctetSequence for secret keys. Keys for RSA and EC are more
2612         complicated, and secret/public ones are different too.
2613
2614         * crypto/CryptoKeyFormat.h: Removed. There are too many key format classes
2615         confusingly floating around, and this was only needed in one file for parsing.
2616
2617         * crypto/CryptoKeySerialization.h: Added.
2618         Base class for handling raw/pkcs8/spki/jwk keys.
2619
2620         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
2621         (WebCore::CryptoAlgorithmAES_CBC::importKey):
2622         * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
2623         Updated to use CryptoKeyData.
2624
2625         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2626         (WebCore::CryptoAlgorithmHMAC::importKey):
2627         * crypto/algorithms/CryptoAlgorithmHMAC.h:
2628         Updated to use CryptoKeyData.
2629
2630         * crypto/keys/CryptoKeyDataOctetSequence.cpp: Added.
2631         (WebCore::CryptoKeyDataOctetSequence::CryptoKeyDataOctetSequence):
2632         (WebCore::CryptoKeyDataOctetSequence::~CryptoKeyDataOctetSequence):
2633         * crypto/keys/CryptoKeyDataOctetSequence.h: Added.
2634         (WebCore::asCryptoKeyDataOctetSequence):
2635         * crypto/keys/CryptoKeySerializationRaw.cpp: Added.
2636         (WebCore::CryptoKeySerializationRaw::CryptoKeySerializationRaw):
2637         (WebCore::CryptoKeySerializationRaw::~CryptoKeySerializationRaw):
2638         (WebCore::CryptoKeySerializationRaw::reconcileAlgorithm):
2639         (WebCore::CryptoKeySerializationRaw::reconcileUsages):
2640         (WebCore::CryptoKeySerializationRaw::reconcileExtractable):
2641         (WebCore::CryptoKeySerializationRaw::keyData):
2642         * crypto/keys/CryptoKeySerializationRaw.h: Added.
2643         Much code to pass around a Vector<char>.
2644
2645 2013-11-08  Mark Lam  <mark.lam@apple.com>
2646
2647         Move breakpoint (and exception break) functionality into JSC::Debugger.
2648         https://bugs.webkit.org/show_bug.cgi?id=121796.
2649
2650         Reviewed by Geoffrey Garen.
2651
2652         No new tests.
2653
2654         - In ScriptDebugServer and JSC::Debugger, SourceID and BreakpointID are
2655           now numeric tokens.
2656
2657         - JSC::Debugger now tracks user defined breakpoints in a JSC::Breakpoint
2658           record. Previously, this info is tracked in the ScriptBreakpoint record
2659           in ScriptDebugServer. The only element of ScriptBreakpoint that is not
2660           being tracked by JSC::Breakpoint is the ScriptBreakpointAction.
2661              The ScriptBreakpointAction is still tracked by the ScriptDebugServer
2662           in a list keyed on the corresponding BreakpointID.
2663              The ScriptBreakpoint record is now only used as a means of passing
2664           breakpoint paramaters to the ScriptDebugServer.
2665
2666         - ScriptDebugServer now no longer accesses the JSC::CallFrame* directly.
2667           It always goes through the DebuggerCallFrame.
2668
2669         * GNUmakefile.list.am:
2670         * WebCore.vcxproj/WebCore.vcxproj:
2671         * WebCore.vcxproj/WebCore.vcxproj.filters:
2672         * WebCore.xcodeproj/project.pbxproj:
2673         * bindings/js/BreakpointID.h: Added.
2674         * bindings/js/ScriptDebugServer.cpp:
2675         (WebCore::ScriptDebugServer::ScriptDebugServer):
2676         (WebCore::ScriptDebugServer::setBreakpoint):
2677         (WebCore::ScriptDebugServer::removeBreakpoint):
2678         (WebCore::ScriptDebugServer::clearBreakpoints):
2679         (WebCore::ScriptDebugServer::dispatchDidPause):
2680         (WebCore::ScriptDebugServer::dispatchDidContinue):
2681         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2682         (WebCore::ScriptDebugServer::notifyDoneProcessingDebuggerEvents):
2683         (WebCore::ScriptDebugServer::needPauseHandling):
2684         (WebCore::ScriptDebugServer::handleBreakpointHit):
2685         (WebCore::ScriptDebugServer::handleExceptionInBreakpointCondition):
2686         (WebCore::ScriptDebugServer::handlePause):
2687         * bindings/js/ScriptDebugServer.h:
2688         * bindings/js/SourceID.h: Added.
2689         * bindings/js/WorkerScriptDebugServer.cpp:
2690         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
2691         * bindings/js/WorkerScriptDebugServer.h:
2692         * inspector/InspectorDebuggerAgent.cpp:
2693         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2694         (WebCore::parseLocation):
2695         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2696         (WebCore::InspectorDebuggerAgent::continueToLocation):
2697         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2698         (WebCore::InspectorDebuggerAgent::searchInContent):
2699         (WebCore::InspectorDebuggerAgent::getScriptSource):
2700         (WebCore::InspectorDebuggerAgent::didParseSource):
2701         (WebCore::InspectorDebuggerAgent::didPause):
2702         (WebCore::InspectorDebuggerAgent::clear):
2703         * inspector/InspectorDebuggerAgent.h:
2704         * inspector/ScriptDebugListener.h:
2705
2706 2013-11-08  László Langó  <lango@inf.u-szeged.hu>
2707
2708         InspectorConsoleAgent::didFinishXHRLoading ConsoleMessage should include a column number
2709         https://bugs.webkit.org/show_bug.cgi?id=114316
2710
2711         Reviewed by Timothy Hatcher.
2712
2713         InspectorConsoleAgent::didFinishXHRLoading creates a ConsoleMessage with a line number, 
2714         but it should also include a column number. It looks like ultimately the line number comes from
2715         JSXMLHttpRequest::send, it should also be possible to get the column number at the time.
2716         The column number would be needed by the Web Inspector to jump to the proper place in source code 
2717         to show where the XHR originated from.
2718
2719         * bindings/js/JSXMLHttpRequestCustom.cpp:
2720         (WebCore::SendFunctor::SendFunctor):
2721         (WebCore::SendFunctor::column):
2722         (WebCore::SendFunctor::operator()):
2723         (WebCore::JSXMLHttpRequest::send):
2724         * inspector/InspectorConsoleAgent.cpp:
2725         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
2726         * inspector/InspectorConsoleAgent.h:
2727         * inspector/InspectorInstrumentation.cpp:
2728         (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
2729         * inspector/InspectorInstrumentation.h:
2730         (WebCore::InspectorInstrumentation::didFinishXHRLoading):
2731         * xml/XMLHttpRequest.cpp:
2732         (WebCore::XMLHttpRequest::XMLHttpRequest):
2733         (WebCore::XMLHttpRequest::setLastSendLineAndColumnNumber):
2734         (WebCore::XMLHttpRequest::didFinishLoading):
2735         * xml/XMLHttpRequest.h:
2736
2737 2013-11-08  Simon Fraser  <simon.fraser@apple.com>
2738
2739         Left sidebar on cubic-bezier.com flickers
2740         https://bugs.webkit.org/show_bug.cgi?id=123128
2741
2742         Reviewed by Dean Jackson.
2743         
2744         The logic that determined whether position:fixed elements outside the viewport
2745         should be composited was incorrect if the fixed element also had a transform.
2746         
2747         layer.calculateLayerBounds() only takes into account painted transforms (since they
2748         affect layer bounds). So we need to compute the bounds relative to the layer
2749         itself, then use localToContainerQuad() to map them to document coordinates,
2750         but only to the RenderView so that we don't hit the page scale transform.
2751
2752         Tests: compositing/layer-creation/fixed-position-transformed-into-view.html
2753                compositing/layer-creation/fixed-position-transformed-outside-view.html
2754
2755         * rendering/RenderLayerCompositor.cpp:
2756         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2757
2758 2013-11-08  Martin Robinson  <mrobinson@igalia.com>
2759
2760         [MathML] Center of stretched curly bracket not always vertically centered
2761         https://bugs.webkit.org/show_bug.cgi?id=123715
2762
2763         Reviewed by Brent Fulgham.
2764
2765         * rendering/mathml/RenderMathMLOperator.cpp:
2766         (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Update an assertion and
2767         handle the case where two glyph pieces abut.
2768         (WebCore::RenderMathMLOperator::paint): Do not offset the center glyph by y().
2769
2770 2013-10-30  Jer Noble  <jer.noble@apple.com>
2771
2772         [MSE] Bring SourceBuffer.append up to the most recent spec.
2773         https://bugs.webkit.org/show_bug.cgi?id=123377
2774
2775         Reviewed by Eric Carlson.
2776
2777         Test: media/media-source/media-source-append-failed.html
2778
2779         Bring the MediaSource append() implementation up to the current spec.
2780
2781         * Modules/mediasource/SourceBuffer.cpp:
2782         (WebCore::SourceBuffer::appendBufferInternal):
2783         (WebCore::SourceBuffer::appendBufferTimerFired):
2784         * platform/graphics/SourceBufferPrivate.h:
2785         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
2786         (WebCore::MockSourceBufferPrivate::append):
2787         (WebCore::MockSourceBufferPrivate::evictCodedFrames):
2788         (WebCore::MockSourceBufferPrivate::isFull):
2789         * platform/mock/mediasource/MockSourceBufferPrivate.h:
2790
2791 2013-11-07  Jer Noble  <jer.noble@apple.com>
2792
2793         [Mac] Crash at com.apple.WebCore: WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange + 26
2794         https://bugs.webkit.org/show_bug.cgi?id=124031
2795
2796         Reviewed by Eric Carlson.
2797
2798         WTF::bind() causes errors when given a bare id pointer as a parameter,
2799         when that parameter is casted to a specific NS type pointer (in this
2800         case, a NSArray*) in order to pass it as a parameter to the bound
2801         function.
2802
2803         Instead of passing around bare id pointers, wrap them in RetainPtr<>
2804         objects before passing them to WTF::bind().
2805
2806         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2807         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2808         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesDidChange):
2809         (WebCore::MediaPlayerPrivateAVFoundationObjC::loadedTimeRangesDidChange):
2810         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange):
2811         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
2812
2813 2013-11-08  Antti Koivisto  <antti@apple.com>
2814
2815         Templated LChar/UChar paths for simple line layout
2816         https://bugs.webkit.org/show_bug.cgi?id=124035
2817
2818         Reviewed by Andreas Kling.
2819
2820         * rendering/SimpleLineLayout.cpp:
2821         (WebCore::SimpleLineLayout::canUseForText):
2822         (WebCore::SimpleLineLayout::canUseFor):
2823         
2824             Use a templated function to check for illegal characters.
2825
2826         (WebCore::SimpleLineLayout::skipWhitespaces):
2827         
2828             Make a template function.
2829
2830         (WebCore::SimpleLineLayout::textWidth):
2831         
2832             Make a template function plus some argument changes.
2833
2834         (WebCore::SimpleLineLayout::createTextRuns):
2835         
2836             Template function for creating runs while operating with either LChars or UChar.
2837             Also simplified line breaking and text width measuring logic.
2838
2839         (WebCore::SimpleLineLayout::create):
2840         
2841             Pick the template.
2842
2843         * rendering/break_lines.cpp:
2844         * rendering/break_lines.h:
2845         
2846             Move the implementation to the header (except for the table) so we can use the template
2847             versions directly.
2848
2849         (WebCore::isBreakableSpace):
2850         (WebCore::shouldBreakAfter):
2851         (WebCore::needsLineBreakIterator):
2852         (WebCore::nextBreakablePosition):
2853         (WebCore::nextBreakablePositionIgnoringNBSP):
2854
2855 2013-11-08  Mario Sanchez Prada  <mario.prada@samsung.com>
2856
2857         AX: [ATK] <span> elements exposed through ATK when not needed
2858         https://bugs.webkit.org/show_bug.cgi?id=123885
2859
2860         Reviewed by Chris Fleizach.
2861
2862         As per SVN r158195, the way it's decided whether <span> elements
2863         should be ignored or not has slightly changed, causing that the
2864         GTK/EFL ports expose them in cases that they should be ignored,
2865         such as for text elements that neither are focusable (e.g. by
2866         explicitly setting tabindex) nor have a meaningful accessible name
2867         suggesting they should be exposed.
2868
2869         As a result, the flattening that ATK based ports normally do for
2870         this kind of elements (by folding them into their parents) do not
2871         work correctly anymore, making two tests to fail:
2872
2873             platform/gtk/accessibility/spans-paragraphs-and-divs.html
2874             platform/gtk/accessibility/spans.html
2875
2876         This patch encapsulates the part of the logic that affects this in
2877         the computeAccessibilityIsIgnored() method, placing it in a
2878         new method of AccessibilityObject that we can call from ATK's
2879         accessibilityPlatformIncludesObject() to ensure we hide those
2880         <span> elements when they don't fulfill those requirements.
2881
2882         * accessibility/AccessibilityObject.cpp:
2883         (WebCore::AccessibilityObject::hasAttributesRequiredForInclusion):
2884         New virtual method encapsulating part of the logic from the function
2885         that computes whether accessibility should be ignored or not.
2886         * accessibility/AccessibilityObject.h:
2887
2888         * accessibility/AccessibilityNodeObject.cpp:
2889         (WebCore::AccessibilityNodeObject::hasAttributesRequiredForInclusion):
2890         Override of the new method adding additional checks, as extracted from
2891         the original bits in computeAccessibilityIsIgnored().
2892         * accessibility/AccessibilityNodeObject.h:
2893
2894         * accessibility/AccessibilityRenderObject.cpp:
2895         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2896         Use the newly added function where we had the original code before.
2897
2898         * accessibility/atk/AccessibilityObjectAtk.cpp:
2899         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2900         Make sure <span> elements are ignored if they are not focusable
2901         and they don't have a meaningful accessible name.
2902
2903 2013-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2904
2905         [GTK] Add missing symbols to WebKitDOMEventTarget.symbols
2906         https://bugs.webkit.org/show_bug.cgi?id=123990
2907
2908         Reviewed by Philippe Normand.
2909
2910         Add webkit_dom_event_target_add_event_listener_with_closure and
2911         webkit_dom_event_target_remove_event_listener_with_closure to the
2912         symbols files.
2913
2914         * bindings/gobject/WebKitDOMEventTarget.symbols:
2915         * bindings/gobject/webkitdom.symbols:
2916
2917 2013-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2918
2919         [GTK] Use deprecation guards around deprecated API in GObject DOM bindings
2920         https://bugs.webkit.org/show_bug.cgi?id=123899
2921
2922         Reviewed by Martin Robinson.
2923
2924         Do not include deprecated API when compiling with
2925         WEBKIT_DISABLE_DEPRECATED option.
2926
2927         * bindings/scripts/CodeGeneratorGObject.pm:
2928         (GenerateFunction):
2929         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2930         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
2931
2932 2013-11-07  Brady Eidson  <beidson@apple.com>
2933
2934         Enhance SQL journal_mode setting code to be less likely to log an error.
2935         <rdar://problem/15418577> and https://bugs.webkit.org/show_bug.cgi?id=124018
2936
2937         Reviewed by Anders Carlsson.
2938
2939         Even though the docs says SQLITE_ROW will always be returned, apparently SQLITE_OK is sometimes returned.
2940         Change the code to handle that.
2941
2942         * platform/sql/SQLiteDatabase.cpp:
2943         (WebCore::SQLiteDatabase::open): Save the statement result value, and accept SQLITE_OK as a non-error condition.
2944
2945 2013-11-07  Brady Eidson  <beidson@apple.com>
2946
2947         Update an out-dated ASSERT in IconDatabase code.
2948         <rdar://problem/15171118> and https://bugs.webkit.org/show_bug.cgi?id=124030.
2949
2950         Reviewed by Andreas Kling.
2951
2952         With the asynchronous interfaces that have been added and the support for WK2 that has been added, 
2953         this ASSERT can incorrectly fire if an icon is asked for before database cleanup is allowed.
2954
2955         * loader/icon/IconDatabase.cpp:
2956         (WebCore::IconDatabase::synchronousIconForPageURL): Update an invalid ASSERT.
2957
2958 2013-11-07  Andreas Kling  <akling@apple.com>
2959
2960         RenderSVGResource helpers should take RenderStyle by const reference.
2961         <https://webkit.org/b/124029>
2962
2963         Take const RenderStyle& instead of RenderStyle* in a few more places
2964         so we can get rid of some ampersands and assertions.
2965
2966         Reviewed by Anders Carlsson.
2967
2968 2013-11-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2969
2970         [AX] Generate toAccessibilityTableRow|Column|Cell to detect bad type casts
2971         https://bugs.webkit.org/show_bug.cgi?id=123984
2972
2973         Reviewed by Mario Sanchez Prada.
2974
2975         As a step to let static_cast<> use TYPE_CASTS_BASE, AccessibilityTableRow|Column|Cell use
2976         ACCESSIBILITY_OBJECT_TYPE_CASTS which can support more helper functions rather than manual
2977         static_cast<>. This change will help to detect bad type casts further.
2978
2979         No new tests, no behavior changes.
2980
2981         * accessibility/AccessibilityARIAGrid.cpp:
2982         (WebCore::AccessibilityARIAGrid::addTableCellChild):
2983         (WebCore::AccessibilityARIAGrid::addChildren):
2984         * accessibility/AccessibilityARIAGridCell.cpp:
2985         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2986         * accessibility/AccessibilityTable.cpp:
2987         (WebCore::AccessibilityTable::addChildren):
2988         (WebCore::AccessibilityTable::rowHeaders):
2989         (WebCore::AccessibilityTable::columnHeaders):
2990         (WebCore::AccessibilityTable::cellForColumnAndRow):
2991         * accessibility/AccessibilityTableCell.h:
2992         * accessibility/AccessibilityTableColumn.h:
2993         * accessibility/AccessibilityTableRow.cpp:
2994         (WebCore::AccessibilityTableRow::headerObject):
2995         * accessibility/AccessibilityTableRow.h:
2996         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2997         (cellAtIndex):
2998         (webkitAccessibleTableGetColumnHeader):
2999         (webkitAccessibleTableGetRowHeader):
3000         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3001         (-[WebAccessibilityObjectWrapper tableCellParent]):
3002         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3003         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3004
3005 2013-11-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3006
3007         REGRESSION (r154375): Image is oriented incorrectly
3008         https://bugs.webkit.org/show_bug.cgi?id=123831
3009
3010         Reviewed by Antonio Gomes.
3011
3012         r154375 made that shouldRespectImageOrientation() isn't used by drawImage().
3013         It causes an image isn't oriented correctly. This patch sets shouldRespectImageOrientation()
3014         value by default.
3015
3016         * rendering/RenderImage.cpp:
3017         (WebCore::RenderImage::paintReplaced):
3018         (WebCore::RenderImage::paintIntoRect):
3019
3020 2013-11-07  Hans Muller  <hmuller@adobe.com>
3021
3022         [CSS Shapes] Image shape-outside with vertical gaps is handled incorrectly
3023         https://bugs.webkit.org/show_bug.cgi?id=123934
3024
3025         Reviewed by Andreas Kling.
3026
3027         RasterShapeIntervals::getExcludedIntervals() was returning an empty
3028         list when the line overlapped any vertical gap in the image. This short-circuit
3029         had been mistakenly copied from getIncludedIntervals(), where it makes sense.
3030
3031         Test: fast/shapes/shape-outside-floats/shape-outside-floats-image-vgap.html
3032
3033         * rendering/shapes/RasterShape.cpp:
3034         (WebCore::RasterShapeIntervals::getExcludedIntervals):
3035
3036 2013-11-07  Simon Fraser  <simon.fraser@apple.com>
3037
3038         Make contents layer borders more visible
3039         https://bugs.webkit.org/show_bug.cgi?id=124025
3040
3041         Reviewed by Tim Horton.
3042
3043         Layer borders for contents layers are impossible to see when the
3044         contentsLayer has the same bounds as its parent; make the contents
3045         layer border 4px thick to make it more visible.
3046
3047         * platform/graphics/ca/GraphicsLayerCA.cpp:
3048         (WebCore::GraphicsLayerCA::setupContentsLayer):
3049
3050 2013-11-07  Andreas Kling  <akling@apple.com>
3051
3052         InlineFlowBox always has a RenderBoxModelObject, take advantage.
3053         <https://webkit.org/b/124024>
3054
3055         Since InlineFlowBox already has the branch-less renderer() returning
3056         a RenderBoxModelObject&, avoid using InlineBox::boxModelObject()
3057         wherever we have a tightly-typed box. One branch disappears from
3058         every call site.
3059
3060         Deleted boxModelObject() on InlineFlowBox to prevent new code from
3061         calling the less efficient function.
3062
3063         Reviewed by Anders Carlsson.
3064
3065 2013-11-07  Andreas Kling  <akling@apple.com>
3066
3067         CTTE: Scrolling tree nodes should always have a ScrollingTree&.
3068         <https://webkit.org/b/124022>
3069
3070         Let ScrollingTreeNode and subclasses store the backpointer to the
3071         tree as a ScrollingTree& reference.
3072
3073         Reviewed by Anders Carlsson.
3074
3075 2013-11-07  Simon Fraser  <simon.fraser@apple.com>
3076
3077         Lots of layers get solid color but transparent contents layers now
3078         https://bugs.webkit.org/show_bug.cgi?id=123537
3079
3080         Reviewed by Tim Horton.
3081         
3082         We call rendererBackgroundColor() to determine the layer's background color,
3083         but on most elements this returns the transparent color (a valid color).
3084         This caused us to allocate a contentsLayer, and use the transparent color as its
3085         backgroundColor, which was wasteful.
3086         
3087         Fix by only making a background-color layer if the color is not transparent (zero alpha).
3088         
3089         Also avoid making a new contents layer on every color change, and make sure that
3090         we don't do implicit animations for backgroundColor, and some other properties
3091         that were omitted by mistake.
3092
3093         Layer tree dumps don't dump content layers, so no way to test easily.
3094
3095         * platform/graphics/ca/GraphicsLayerCA.cpp:
3096         (WebCore::GraphicsLayerCA::setContentsToSolidColor):
3097         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3098         (nullActionsDictionary):
3099
3100 2013-11-07  Ryosuke Niwa  <rniwa@webkit.org>
3101
3102         DOMTokenList::add can add duplicated values if arguments had duplicated values
3103         https://bugs.webkit.org/show_bug.cgi?id=123962
3104
3105         Reviewed by Benjamin Poulain.
3106
3107         Merge https://chromium.googlesource.com/chromium/blink/+/bd3822ad4ae3fc5d8f89f433a7bf04f697334305
3108
3109         In case we do element.classList.add('a', 'a') we need to ensure that we do not add the same token twice.
3110         See http://dom.spec.whatwg.org/#dom-domtokenlist-add
3111
3112         * html/DOMTokenList.cpp:
3113         (WebCore::DOMTokenList::add): Make sure filtered tokens are unique among themselves.
3114
3115 2013-11-07  Eric Carlson  <eric.carlson@apple.com>
3116
3117         Remove npr.org specific hack in HTMLMediaElement
3118         https://bugs.webkit.org/show_bug.cgi?id=123859
3119
3120         Reviewed by Jer Noble.
3121
3122         Remove the site specific hack added in r57820, it is no longer necessary.
3123
3124         * html/HTMLMediaElement.cpp:
3125         (WebCore::HTMLMediaElement::HTMLMediaElement): Remove m_dispatchingCanPlayEvent.
3126         (HTMLMediaElement::play): Don't special case npr.org.
3127         * html/HTMLMediaElement.h:
3128
3129 2013-11-07  Simon Fraser  <simon.fraser@apple.com>
3130
3131         Attempt to fix the 32-bit build. Virtual thunks seem to have different
3132         symbol names between 32- and 64-bit.
3133         
3134         * WebCore.exp.in:
3135
3136 2013-11-07  Ryosuke Niwa  <rniwa@webkit.org>
3137
3138         Crash in HTMLMediaElement::contextDestroyed
3139         https://bugs.webkit.org/show_bug.cgi?id=123963
3140
3141         Reviewed by Eric Carlson.
3142
3143         Merge https://chromium.googlesource.com/chromium/blink/+/177999cdb34b707465670f0feff723922939f278
3144
3145         * html/HTMLMediaElement.cpp:
3146         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3147
3148 2013-11-07  Jer Noble  <jer.noble@apple.com>
3149
3150         [Mac] Crash at com.apple.WebCore: -[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:] + 2084 
3151         https://bugs.webkit.org/show_bug.cgi?id=124012
3152
3153         Reviewed by Eric Carlson.
3154
3155         The value of the 'duration' key is a NSConcreteValue wrapping a CMTime, not a NSNumber.
3156
3157         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3158         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
3159
3160 2013-11-07  Ryosuke Niwa  <rniwa@webkit.org>
3161
3162         Crash when submitting form in a document with null encoding
3163         https://bugs.webkit.org/show_bug.cgi?id=123975
3164
3165         Reviewed by Alexey Proskuryakov.
3166
3167         Merge https://chromium.googlesource.com/chromium/blink/+/bba01a7fff09e3053ada96ababac2a6e4261fe5f
3168         
3169         The CString object which is passed to normalizeLineEndingsToCRLF() can be
3170         a null string. It is created in FormDataList::appendString(), and it
3171         produces a null CString if FormDataList::m_encoding is a null encoding.
3172
3173         Test: fast/forms/form-submit-in-image-document.html
3174
3175         * platform/text/LineEnding.cpp:
3176         (internalNormalizeLineEndingsToCRLF):
3177
3178 2013-11-07  Anders Carlsson  <andersca@apple.com>
3179
3180         Use std::function for all policy continuation functions
3181         https://bugs.webkit.org/show_bug.cgi?id=124011
3182
3183         Reviewed by Sam Weinig.
3184
3185         * loader/DocumentLoader.cpp:
3186         (WebCore::DocumentLoader::willSendRequest):
3187         (WebCore::DocumentLoader::responseReceived):
3188         * loader/DocumentLoader.h:
3189         * loader/FrameLoader.cpp:
3190         (WebCore::FrameLoader::loadURL):
3191         (WebCore::FrameLoader::load):
3192         (WebCore::FrameLoader::loadWithDocumentLoader):
3193         (WebCore::FrameLoader::loadPostRequest):
3194         * loader/PolicyCallback.cpp:
3195         (WebCore::PolicyCallback::clear):
3196         (WebCore::PolicyCallback::set):
3197         (WebCore::PolicyCallback::call):
3198         (WebCore::PolicyCallback::clearRequest):
3199         (WebCore::PolicyCallback::cancel):
3200         * loader/PolicyCallback.h:
3201         * loader/PolicyChecker.cpp:
3202         (WebCore::PolicyChecker::checkNavigationPolicy):
3203         (WebCore::PolicyChecker::checkNewWindowPolicy):
3204         (WebCore::PolicyChecker::checkContentPolicy):
3205         * loader/PolicyChecker.h:
3206
3207 2013-11-07  Brady Eidson  <beidson@apple.com>
3208
3209         Use SQLite journal mode WAL (WriteAheadLogging)
3210         https://bugs.webkit.org/show_bug.cgi?id=124009
3211
3212         Reviewed by Anders Carlsson.
3213
3214         WriteAheadLogging journalling is better than the traditional rollback model.
3215
3216         * platform/sql/SQLiteDatabase.cpp:
3217         (WebCore::SQLiteDatabase::open): Use a PRAGMA to set journal_mode to WAL.
3218
3219 2013-11-07  Mark Lam  <mark.lam@apple.com>
3220
3221         Cosmetic: rename xxxId to xxxID for ScriptId, SourceId, and BreakpointId.
3222         https://bugs.webkit.org/show_bug.cgi?id=123945.
3223
3224         Reviewed by Geoffrey Garen.
3225
3226         No new tests.
3227
3228         * bindings/js/JSInjectedScriptHostCustom.cpp:
3229         (WebCore::JSInjectedScriptHost::functionDetails):
3230         * bindings/js/JavaScriptCallFrame.h:
3231         (WebCore::JavaScriptCallFrame::sourceID):
3232         * bindings/js/ScriptDebugServer.cpp:
3233         (WebCore::ScriptDebugServer::ScriptDebugServer):
3234         (WebCore::ScriptDebugServer::setBreakpoint):
3235         (WebCore::ScriptDebugServer::removeBreakpoint):
3236         (WebCore::ScriptDebugServer::hasBreakpoint):
3237         (WebCore::ScriptDebugServer::clearBreakpoints):
3238         (WebCore::ScriptDebugServer::updateCallFrame):
3239         (WebCore::ScriptDebugServer::pauseIfNeeded):
3240         * bindings/js/ScriptDebugServer.h:
3241         * inspector/InspectorConsoleAgent.cpp:
3242         (WebCore::InspectorConsoleAgent::addMessageToConsole):
3243         * inspector/InspectorConsoleAgent.h:
3244         * inspector/InspectorConsoleInstrumentation.h:
3245         (WebCore::InspectorInstrumentation::addMessageToConsole):
3246         * inspector/InspectorDOMAgent.cpp:
3247         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3248         * inspector/InspectorDebuggerAgent.cpp:
3249         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3250         (WebCore::parseLocation):
3251         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3252         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
3253         (WebCore::InspectorDebuggerAgent::continueToLocation):
3254         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
3255         (WebCore::InspectorDebuggerAgent::searchInContent):
3256         (WebCore::InspectorDebuggerAgent::setScriptSource):
3257         (WebCore::InspectorDebuggerAgent::getScriptSource):
3258         (WebCore::InspectorDebuggerAgent::compileScript):
3259         (WebCore::InspectorDebuggerAgent::runScript):
3260         (WebCore::InspectorDebuggerAgent::didParseSource):
3261         (WebCore::InspectorDebuggerAgent::didPause):
3262         (WebCore::InspectorDebuggerAgent::clear):
3263         (WebCore::InspectorDebuggerAgent::reset):
3264         * inspector/InspectorDebuggerAgent.h:
3265         * inspector/InspectorInstrumentation.cpp:
3266         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3267         * inspector/InspectorInstrumentation.h:
3268         * inspector/ScriptDebugListener.h:
3269
3270 2013-11-07  Cidorvan Leite  <cidorvan.leite@openbossa.org>
3271
3272         Avoid invalid cairo matrix when drawing surfaces too small
3273         https://bugs.webkit.org/show_bug.cgi?id=123810
3274
3275         Drawing surfaces too small makes inverse matrix with values too big,
3276         when this happen, cairo context is not valid anymore and it stops to draw anything.
3277
3278         Reviewed by Martin Robinson.
3279
3280         Test: fast/canvas/drawImage-with-small-values.html
3281
3282         * platform/graphics/cairo/PlatformContextCairo.cpp:
3283         (WebCore::PlatformContextCairo::drawSurfaceToContext):
3284
3285 2013-11-07  Antti Koivisto  <antti@apple.com>
3286
3287         Simple line layout crashes with SVG fonts
3288         https://bugs.webkit.org/show_bug.cgi?id=124002
3289
3290         Reviewed by Simon Fraser.
3291         
3292         Don't use simple line layout for flows using SVG fonts. They crash if kerning is enabled.
3293
3294         Test: fast/text/svg-font-simple-line-crash.html
3295
3296         * platform/graphics/Font.h:
3297         (WebCore::Font::isSVGFont):
3298         
3299             Add isSVGFont() so callers don't need to go via primaryFont().
3300
3301         * rendering/InlineTextBox.cpp:
3302         (WebCore::InlineTextBox::constructTextRun):
3303         * rendering/RenderBlock.cpp:
3304         (WebCore::constructTextRunInternal):
3305         * rendering/SimpleLineLayout.cpp:
3306         (WebCore::SimpleLineLayout::canUseFor):
3307         
3308             Disallow SVG fonts.
3309
3310         * rendering/svg/SVGInlineTextBox.cpp:
3311         (WebCore::SVGInlineTextBox::constructTextRun):
3312         * rendering/svg/SVGTextMetrics.cpp:
3313         (WebCore::SVGTextMetrics::constructTextRun):
3314         (WebCore::SVGTextMetrics::SVGTextMetrics):
3315         * rendering/svg/SVGTextRunRenderingContext.h:
3316         
3317             Get rid of the abstract textRunNeedsRenderingContext in favor of just testing isSVGFont().
3318
3319 2013-11-07  Simon Fraser  <simon.fraser@apple.com>
3320
3321         Allow customization of the contentsScale of TileController tiles
3322         https://bugs.webkit.org/show_bug.cgi?id=124004
3323
3324         Reviewed by Tim Horton.
3325
3326         On some platorms, zooming out on pages with TiledBacking compositing
3327         layers can cause very high memory use, because the TiledBacking retains
3328         the original page scale while the zoom is in flight, but can be asked
3329         to cover a large area.
3330         
3331         Make it possible to reduce memory use in this case by allowing RenderLayerCompositor
3332         to provide an additional scale factor for newly created tiles. Platforms can
3333         then customize this to create low-res tiles when necessary.
3334
3335         * WebCore.exp.in:
3336         * platform/graphics/GraphicsLayerClient.h:
3337         (WebCore::GraphicsLayerClient::contentsScaleMultiplierForNewTiles):
3338         * platform/graphics/ca/GraphicsLayerCA.cpp:
3339         (WebCore::GraphicsLayerCA::platformCALayerContentsScaleMultiplierForNewTiles):
3340         * platform/graphics/ca/GraphicsLayerCA.h:
3341         * platform/graphics/ca/PlatformCALayerClient.h:
3342         (WebCore::PlatformCALayerClient::platformCALayerContentsScaleMultiplierForNewTiles):
3343         * platform/graphics/ca/mac/TileController.h:
3344         * platform/graphics/ca/mac/TileController.mm:
3345         (WebCore::TileController::TileController):
3346         (WebCore::TileController::setScale):
3347         (WebCore::TileController::createTileLayer):
3348         * rendering/RenderLayerBacking.cpp:
3349         (WebCore::RenderLayerBacking::contentsScaleMultiplierForNewTiles):
3350         * rendering/RenderLayerBacking.h:
3351         * rendering/RenderLayerCompositor.cpp:
3352         (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles):
3353         * rendering/RenderLayerCompositor.h:
3354
3355 2013-11-07  Jer Noble  <jer.noble@apple.com>
3356
3357         Unreviewed Win build fix after r158855; wrap shapeInfoForFloat() in an ENABLE(CSS_SHAPES) guard.
3358
3359         * rendering/FloatingObjects.cpp:
3360
3361 2013-11-07  Bem Jones-Bey  <bjonesbe@adobe.com>
3362
3363         Refactor logical left/right offset for line methods
3364         https://bugs.webkit.org/show_bug.cgi?id=123898
3365
3366         Reviewed by David Hyatt.
3367
3368         Simplify the logical left/right offset for line methods and their
3369         implementation, including the ComputeFloatOffsetAdapter. This also
3370         reduces the number of line offset methods in RenderBlock.
3371
3372         No new tests, no behavior change.
3373
3374         * rendering/FloatingObjects.cpp:
3375         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
3376         (WebCore::ComputeFloatOffsetAdapter::offset): Add a method to return
3377             the offset instead of using a confusing out parameter.
3378         (WebCore::::shapeOffset): Method to return the offset modified by the
3379             shape delta. Moving the computation to this method allowed for
3380             simplification of the users of ComputeFloatOffsetAdapter.
3381         (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat): Added this
3382             method so that ShapeOutsideFloatOffsetMode isn't needed. Returns the
3383             offset based on the float margin box.
3384         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat): Ditto.
3385         (WebCore::FloatingObjects::logicalLeftOffset): This now only returns
3386             the offset based on the shape's contour.
3387         (WebCore::FloatingObjects::logicalRightOffset): Ditto.
3388         (WebCore::::heightRemaining): Rename to properly follow the getter
3389             naming convention.
3390         * rendering/FloatingObjects.h:
3391         * rendering/RenderBlock.h:
3392         (WebCore::RenderBlock::logicalRightOffsetForLine): Update to remove
3393             use of ShapeOutsideFloatOffsetMode and heightRemaining.
3394         (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
3395         (WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
3396         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Ditto.
3397         * rendering/RenderBlockFlow.cpp:
3398         (WebCore::RenderBlockFlow::logicalLeftOffsetForPositioningFloat):
3399             Positioning a float is the only case where the float margin box
3400             should be used, and also the only case where heightRemaining is
3401             needed. This handles that case.
3402         (WebCore::RenderBlockFlow::logicalRightOffsetForPositioningFloat):
3403             Ditto.
3404         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat): Update to
3405             use logical(Left|Right)OffsetForPositioningFloatOnLine.
3406         (WebCore::RenderBlockFlow::logicalLeftFloatOffsetForLine): Update to
3407             remove use for ShapeOutsideFloatOffsetMode and heightRemaining.
3408         (WebCore::RenderBlockFlow::logicalRightFloatOffsetForLine): Ditto.
3409         * rendering/RenderBlockFlow.h:
3410
3411 2013-11-07  Alexandru Chiculita  <achicu@adobe.com>
3412
3413         Web Inspector: CSS Regions: Removing a content node of a ContentFlow from the DOM will send a 0 nodeId
3414         https://bugs.webkit.org/show_bug.cgi?id=123577
3415
3416         Reviewed by Timothy Hatcher.
3417
3418         Test: inspector-protocol/model/content-flow-content-removal.html
3419
3420         Do not send unregister events for the content nodes of a flow when the element is not part of the DOM
3421         anymore. We already send an unbind event, so the inspector is already notified that the node was removed.
3422
3423         * inspector/InspectorCSSAgent.cpp:
3424         (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
3425
3426 2013-10-30  Jer Noble  <jer.noble@apple.com>
3427
3428         [MSE] Add mock MediaSource classes for testing.
3429         https://bugs.webkit.org/show_bug.cgi?id=123322
3430
3431         Reviewed by Eric Carlson.
3432
3433         Tests: media/media-source/media-source-addsourcebuffer.html
3434                media/media-source/media-source-append-buffer.html
3435                media/media-source/media-source-canplaythrough.html
3436                media/media-source/media-source-closed.html
3437                media/media-source/media-source-play.html
3438                media/media-source/media-source-track-enabled.html
3439                media/media-source/media-source-tracks.html
3440
3441
3442         Add mock implementation of platform MediaSource classes, allowing ports to test the
3443         MediaSource API without having a platform implementation.
3444
3445         The MockMediaSource will support a byteformat defined in MockBox.h: a simple box-style media
3446         format with an initialization segment containing a number of tracks, followed by a list of
3447         samples.
3448
3449         Add a means to insert a new media engine factory at runtime, so the internals object can add
3450         a MockMediaSourceMediaPlayer:
3451         * platform/graphics/MediaPlayer.cpp:
3452         (WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine):
3453         * platform/graphics/MediaPlayer.h: