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