cb2f39ee2bc11348aaabb125f54e8c2f918bdabc
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2016-01-12  Myles C. Maxfield  <mmaxfield@apple.com>
2
3         Cleanup in font loading code
4         https://bugs.webkit.org/show_bug.cgi?id=153023
5
6         Reviewed by Zalan Bujtas.
7
8         See detailed notes below.
9
10         No new tests because there is no behavior change.
11
12         * css/CSSFontFace.cpp:
13         (WebCore::CSSFontFace::isLoaded): Deleted. Never called.
14         * css/CSSFontFace.h: Ditto.
15         * css/CSSFontFaceSource.cpp:
16         (WebCore::CSSFontFaceSource::font): No need to use a helper
17         isLoaded() function.
18         (WebCore::CSSFontFaceSource::isLoaded): Deleted. Unnecessary.
19         * css/CSSFontFaceSource.h:
20         * css/CSSFontFaceSrcValue.cpp:
21         (WebCore::CSSFontFaceSrcValue::cachedFont): Un-indent code.
22         * css/CSSFontSelector.cpp:
23         (WebCore::registerLocalFontFacesForFamily): constructFamilyFontFaces()
24         always returns an empty Vector. Therefore, the function of this function
25         is to perform the ancillary processing related to the case where the Faces
26         don't already exist. Renames the function and removes the empty vector
27         return.
28         (WebCore::CSSFontSelector::addFontFaceRule): Update for
29         registerLocalFontFacesForFamily().
30         (WebCore::FontFaceComparator::FontFaceComparator): Instead of using a static,
31         construct a wrapper class around the comparator.
32         (WebCore::FontFaceComparator::operator()): Ditto.
33         (WebCore::CSSFontSelector::getFontFace): Un-indent code and update to use
34         FontFaceComparator.
35         (WebCore::CSSFontSelector::fallbackFontAt): Migrate off PassRefPtr.
36         (WebCore::constructFamilyFontFaces): Deleted.
37         (WebCore::compareFontFaces): Deleted.
38         (WebCore::CSSFontSelector::resolvesFamilyFor): Deleted. Never called.
39         * css/CSSFontSelector.h:
40         * css/CSSSegmentedFontFace.cpp:
41         (WebCore::CSSSegmentedFontFace::isValid): Deleted.
42         (WebCore::CSSSegmentedFontFace::fontRanges): Cache negative validity results.
43         * css/CSSSegmentedFontFace.h:
44         * platform/graphics/FontCascade.h:
45         (WebCore::FontCascade::fontSelector): Use nullptr.
46         * platform/graphics/FontSelector.h:
47
48 2016-01-12  Ryosuke Niwa  <rniwa@webkit.org>
49
50         Add a build flag for custom element
51         https://bugs.webkit.org/show_bug.cgi?id=153005
52
53         Reviewed by Alex Christensen.
54
55         Added a build flag for enabling custom elements.
56
57         * Configurations/FeatureDefines.xcconfig:
58
59 2016-01-12  Adam Bergkvist  <adam.bergkvist@ericsson.com>
60
61         WebRTC: Update RTCPeerConnection.add/removeTrack() and add test
62         https://bugs.webkit.org/show_bug.cgi?id=153010
63
64         Reviewed by Eric Carlson.
65
66         RTCPeerConnection.add/removeTrack() are not fully spec compliant yet, since that would
67         require support for RTCRtpTransceiver which is a new work-in-progress feature. Use
68         Vector, instead of map, for senders and receivers since nothing is removed from these
69         sets anymore.
70
71         Test: fast/mediastream/RTCPeerConnection-add-removeTrack.html
72
73         * Modules/mediastream/RTCPeerConnection.cpp:
74         (WebCore::RTCPeerConnection::addTrack):
75         (WebCore::RTCPeerConnection::removeTrack):
76         (WebCore::RTCPeerConnection::queuedCreateOffer): Deleted.
77         * Modules/mediastream/RTCPeerConnection.h:
78         * Modules/mediastream/RTCRtpSender.cpp:
79         (WebCore::RTCRtpSender::RTCRtpSender):
80         * Modules/mediastream/RTCRtpSender.h:
81         (WebCore::RTCRtpSender::create):
82         (WebCore::RTCRtpSender::mediaStreamIds):
83
84 2016-01-12  Brady Eidson  <beidson@apple.com>
85
86         Modern IDB: Check in empty SQLite backing store implementation.
87         https://bugs.webkit.org/show_bug.cgi?id=153022
88
89         Reviewed by Alex Christensen.
90
91         No new tests (No change in behavior).
92
93         Just to get the implementation files in the tree, this backing store currently does nothing
94         other than return errors for every operation.
95
96         * CMakeLists.txt:
97         * WebCore.xcodeproj/project.pbxproj:
98
99         * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: Added.
100         (WebCore::IDBServer::SQLiteIDBBackingStore::SQLiteIDBBackingStore):
101         (WebCore::IDBServer::SQLiteIDBBackingStore::~SQLiteIDBBackingStore):
102         (WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
103         (WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
104         (WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
105         (WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
106         (WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
107         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
108         (WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
109         (WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
110         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
111         (WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
112         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
113         (WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
114         (WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
115         (WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
116         (WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
117         (WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):
118         (WebCore::IDBServer::SQLiteIDBBackingStore::revertGeneratedKeyNumber):
119         (WebCore::IDBServer::SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber):
120         (WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
121         (WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):
122         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
123         * Modules/indexeddb/server/SQLiteIDBBackingStore.h: Added.
124
125 2016-01-12  Brady Eidson  <beidson@apple.com>
126
127         Modern IDB: storage/indexeddb/dont-wedge.html is flaky.
128         https://bugs.webkit.org/show_bug.cgi?id=152892
129
130         Reviewed by Alex Christensen.
131
132         No new tests (Reenabled existing test).
133
134         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
135         (WebCore::IDBClient::IDBConnectionToServer::abortOpenAndUpgradeNeeded):
136         * Modules/indexeddb/client/IDBConnectionToServer.h:
137         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
138
139         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
140         (WebCore::IDBClient::IDBOpenDBRequest::requestCompleted): If the database was opened
141           or an upgrade transaction was started, but the script execution context is already
142           stopped, immediately message back to the server so it doesn't wedge.
143
144         * Modules/indexeddb/server/IDBServer.cpp:
145         (WebCore::IDBServer::IDBServer::abortOpenAndUpgradeNeeded):
146         * Modules/indexeddb/server/IDBServer.h:
147
148         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
149         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::abortWithoutCallback):
150         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
151
152         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
153         (WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded):
154         * Modules/indexeddb/shared/InProcessIDBServer.h:
155
156 2016-01-12  Commit Queue  <commit-queue@webkit.org>
157
158         Unreviewed, rolling out r194826.
159         https://bugs.webkit.org/show_bug.cgi?id=153020
160
161         Appears to have regressed PLT (Requested by kling on #webkit).
162
163         Reverted changeset:
164
165         "Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
166         cont'd"
167         https://bugs.webkit.org/show_bug.cgi?id=152902
168         http://trac.webkit.org/changeset/194826
169
170 2016-01-12  Antti Koivisto  <antti@apple.com>
171
172         Don't reuse memory cache entries with different charset
173         https://bugs.webkit.org/show_bug.cgi?id=110031
174         rdar://problem/13666418
175
176         Reviewed by Andreas Kling.
177
178         Test: fast/loader/cache-encoding.html
179
180         * loader/cache/CachedResourceLoader.cpp:
181         (WebCore::CachedResourceLoader::requestResource):
182         (WebCore::logResourceRevalidationDecision):
183         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
184
185             Pass full CachedResourceRequest to the function.
186             If charset differs don't reuse the cache entry.
187
188         * loader/cache/CachedResourceLoader.h:
189
190 2016-01-12  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
191
192         Use a pointer instead of PassRefPtr in AbstractView argument of UIEvent class
193         https://bugs.webkit.org/show_bug.cgi?id=152829
194
195         Reviewed by Darin Adler.
196
197         As a step to reduce uses of PassRefPtr, UIEvent class doesn't need to use PassRefPtr for AbstractView argument.
198         Nobody hands us ownership when making one of these objects.
199
200         * dom/FocusEvent.cpp:
201         (WebCore::FocusEvent::FocusEvent):
202         * dom/FocusEvent.h:
203         * dom/KeyboardEvent.cpp:
204         (WebCore::KeyboardEvent::KeyboardEvent):
205         * dom/MouseEvent.cpp:
206         (WebCore::MouseEvent::create):
207         (WebCore::MouseEvent::MouseEvent):
208         (WebCore::MouseEvent::initMouseEvent):
209         (WebCore::SimulatedMouseEvent::create):
210         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
211         * dom/MouseEvent.h:
212         * dom/MouseRelatedEvent.cpp:
213         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
214         * dom/MouseRelatedEvent.h:
215         * dom/TextEvent.cpp:
216         (WebCore::TextEvent::create):
217         (WebCore::TextEvent::createForPlainTextPaste):
218         (WebCore::TextEvent::createForFragmentPaste):
219         (WebCore::TextEvent::createForDrop):
220         (WebCore::TextEvent::createForDictation):
221         (WebCore::TextEvent::TextEvent):
222         (WebCore::TextEvent::initTextEvent):
223         * dom/TextEvent.h:
224         * dom/TouchEvent.cpp:
225         (WebCore::TouchEvent::TouchEvent):
226         (WebCore::TouchEvent::initTouchEvent):
227         * dom/TouchEvent.h:
228         * dom/UIEvent.cpp:
229         (WebCore::UIEvent::UIEvent):
230         (WebCore::UIEvent::initUIEvent):
231         * dom/UIEvent.h:
232         (WebCore::UIEvent::create):
233         (WebCore::UIEvent::view):
234         * dom/UIEventWithKeyState.h:
235         (WebCore::UIEventWithKeyState::UIEventWithKeyState):
236
237 2016-01-12  Csaba Osztrogonác  <ossy@webkit.org>
238
239         Fix unused-private-field warnings in DisplayListItems.h
240         https://bugs.webkit.org/show_bug.cgi?id=153012
241
242         Reviewed by Michael Catanzaro.
243
244         * platform/graphics/displaylists/DisplayListItems.cpp:
245         (WebCore::DisplayList::DrawNativeImage::DrawNativeImage):
246         * platform/graphics/displaylists/DisplayListItems.h:
247
248 2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
249
250         Unreviewed. Fix isRecording condition logic in GraphicsContext::roundToDevicePixels after r194816.
251
252         This looks like a typo introduced in r194816, we want to return early logging
253         a message when isRecording() returns true.
254
255         * platform/graphics/cairo/GraphicsContextCairo.cpp:
256         (WebCore::GraphicsContext::roundToDevicePixels):
257         * platform/graphics/cg/GraphicsContextCG.cpp:
258         (WebCore::GraphicsContext::roundToDevicePixels):
259
260 2016-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
261
262         Inconsistencies in main resource load delegates when loading from history
263         https://bugs.webkit.org/show_bug.cgi?id=150927
264
265         Reviewed by Michael Catanzaro.
266
267         When restoring a page from the page cache, even though there
268         isn't an actual load of resources, we are still emitting the load
269         delegates to let the API layer know there are contents being
270         loaded in the web view. This makes the page cache restoring
271         transparent for the API layer. However, when restoring a page from
272         the cache, all the delegates are emitted after the load is
273         committed. This is not consistent with real loads, where we first
274         load the main resource and once we get a response we commit the
275         load. This inconsistency is problematic if the API layer expects
276         to always have a main resource with a response when the load is
277         committed. This is the case of the GTK+ port, for example. So,
278         this patch ensures that when a page is restored from the page
279         cache, the main resource load delegates that are emitted until a
280         response is received in normal loads, are emitted before the load
281         is committed.
282
283         Test: http/tests/loading/main-resource-delegates-on-back-navigation.html
284
285         * loader/FrameLoader.cpp:
286         (WebCore::FrameLoader::commitProvisionalLoad): When loading from
287         the page cache, send delegate messages up to didReceiveResponse
288         for the main resource before the load is committed, and the
289         remaining messages afterwards.
290
291 2016-01-09  Andy Estes  <aestes@apple.com>
292
293         [Cocoa] Add SPI to opt out a URL scheme from the memory cache
294         https://bugs.webkit.org/show_bug.cgi?id=152950
295         rdar://problem/24066652
296
297         Reviewed by Tim Horton.
298
299         Added a list of schemes to SchemeRegistry whose resources should always be revalidated. Taught CachedResource to
300         return a freshness lifetime of 0 for these resources, unless the scheme is one that should be cached indefinitely.
301
302         New API test: WebKit2.AlwaysRevalidatedURLSchemes
303
304         * loader/cache/CachedResource.cpp:
305         (WebCore::shouldCacheSchemeIndefinitely): Moved from SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely().
306         (WebCore::CachedResource::freshnessLifetime): For a scheme that should not be cached indefinitely, return 0 if
307         that scheme should always be revalidated according to SchemeRegistry.
308         * platform/SchemeRegistry.cpp:
309         (WebCore::alwaysRevalidatedSchemes):
310         (WebCore::SchemeRegistry::registerURLSchemeAsAlwaysRevalidated):
311         (WebCore::SchemeRegistry::shouldAlwaysRevalidateURLScheme):
312         (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely): Moved to WebCore::shouldCacheSchemeIndefinitely().
313         There was no reason for this to be in SchemeRegistry.
314         * platform/SchemeRegistry.h:
315
316 2016-01-11  Brady Eidson  <beidson@apple.com>
317
318         Modern IDB: storage/indexeddb/index-multientry.html fails under GuardMalloc/ASAN.
319         https://bugs.webkit.org/show_bug.cgi?id=152990
320
321         Reviewed by Alex Christensen.
322
323         No new tests (Covered by re-enabling existing test).
324
325         * Modules/indexeddb/client/IDBRequestImpl.cpp:
326         (WebCore::IDBClient::IDBRequest::dispatchEvent): Use String::utf8() instead of AtomicString::characters8() for
327           the format string, as the latter fails under ASAN.
328           
329         * Modules/indexeddb/server/IndexValueStore.cpp:
330         (WebCore::IDBServer::IndexValueStore::removeEntriesWithValueKey): We can't save off pointers to IDBKeyDatas
331           used as keys in the map, because the moment we start mutating the map the keys can be rehashed, invalidating
332           our pointers. Save off the IDBKeyDatas by value instead.
333
334 2016-01-11  Joseph Pecoraro  <pecoraro@apple.com>
335
336         Web Inspector: Migrate Page Timeline recording to ScriptProfiler
337         https://bugs.webkit.org/show_bug.cgi?id=152727
338
339         Reviewed by Brian Burg.
340
341         Test: inspector/script-profiler/event-type-Other.html
342
343         This now shares the JavaScript profiling code between JSContext and Page
344         inspection. It also moves forward splitting the Page's Timeline domain
345         into smaller components that can be turned on/off individually.
346
347         * bindings/js/JSCallbackData.cpp:
348         (WebCore::JSCallbackData::invokeCallback):
349         * bindings/js/JSErrorHandler.cpp:
350         (WebCore::JSErrorHandler::handleEvent):
351         * bindings/js/JSEventListener.cpp:
352         (WebCore::JSEventListener::handleEvent):
353         * bindings/js/JSMainThreadExecState.h:
354         (WebCore::JSMainThreadExecState::profiledCall):
355         (WebCore::JSMainThreadExecState::profiledEvaluate):
356         * bindings/js/JSMutationCallback.cpp:
357         (WebCore::JSMutationCallback::call):
358         * bindings/js/ScheduledAction.cpp:
359         (WebCore::ScheduledAction::executeFunctionInContext):
360         * bindings/js/ScriptController.cpp:
361         (WebCore::ScriptController::evaluateInWorld):
362         * bindings/objc/WebScriptObject.mm:
363         (-[WebScriptObject callWebScriptMethod:withArguments:]):
364         (-[WebScriptObject evaluateWebScript:]):
365         Identify entry points into JSC that we want to profile for the frontend.
366         These were nearly all already classified for the Timeline. We added missing
367         support for ErrorHandlers (window.onerror handler functions).
368
369         * inspector/InspectorTimelineAgent.cpp:
370         (WebCore::InspectorTimelineAgent::didCallFunction):
371         (WebCore::InspectorTimelineAgent::didEvaluateScript):
372         (WebCore::startProfiling): Deleted.
373         (WebCore::stopProfiling): Deleted.
374         (WebCore::InspectorTimelineAgent::willCallFunction): Deleted.
375         (WebCore::InspectorTimelineAgent::willEvaluateScript): Deleted.
376         * inspector/InspectorTimelineAgent.h:
377         TimelineAgent no longer needs to start/stop the Legacy Profiler
378         since ScriptProfiler will automatically do that for us. Delete
379         all code associated with that. There is still an open question
380         regarding `console.profile` and `console.profileEnd` that
381         starts/stops the profiler.
382
383 2016-01-11  Anders Carlsson  <andersca@apple.com>
384
385         Get rid of CFMakeCollectable, it is a no-op
386         https://bugs.webkit.org/show_bug.cgi?id=152988
387
388         Reviewed by Sam Weinig.
389
390         * platform/mac/WebCoreNSURLExtras.mm:
391         (WebCore::URLByTruncatingOneCharacterBeforeComponent):
392         (WebCore::URLByRemovingComponentAndSubsequentCharacter):
393
394 2016-01-11  Commit Queue  <commit-queue@webkit.org>
395
396         Unreviewed, rolling out r194866.
397         https://bugs.webkit.org/show_bug.cgi?id=152986
398
399         This change broke the mac build (Requested by ryanhaddad on
400         #webkit).
401
402         Reverted changeset:
403
404         "[Cocoa] Add SPI to opt out a URL scheme from the memory
405         cache"
406         https://bugs.webkit.org/show_bug.cgi?id=152950
407         http://trac.webkit.org/changeset/194866
408
409 2016-01-11  Zalan Bujtas  <zalan@apple.com>
410
411         Padding added to table-cell element after font-size change.
412         https://bugs.webkit.org/show_bug.cgi?id=152796
413
414         Reviewed by David Hyatt.
415
416         Do not include intrinsicPaddingBefore value while figuring out the height of a row.
417         In RenderTableSection::calcRowLogicalHeight() we are interested in the height of the content
418         without the additional padding (normal padding is included).
419
420         Test: fast/table/table-baseline-grows.html
421
422         * rendering/RenderTableSection.cpp:
423         (WebCore::RenderTableSection::calcRowLogicalHeight):
424
425 2016-01-11  Andy Estes  <aestes@apple.com>
426
427         [Cocoa] Add SPI to opt out a URL scheme from the memory cache
428         https://bugs.webkit.org/show_bug.cgi?id=152950
429         rdar://problem/24066652
430
431         Reviewed by Tim Horton.
432
433         Added a list of schemes to SchemeRegistry whose resources should always be revalidated. Taught CachedResource to
434         return a freshness lifetime of 0 for these resources, unless the scheme is one that should be cached indefinitely.
435
436         New API test: WebKit2.AlwaysRevalidatedURLSchemes
437
438         * loader/cache/CachedResource.cpp:
439         (WebCore::shouldCacheSchemeIndefinitely): Moved from SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely().
440         (WebCore::CachedResource::freshnessLifetime): For a scheme that should not be cached indefinitely, return 0 if
441         that scheme should always be revalidated according to SchemeRegistry.
442         * platform/SchemeRegistry.cpp:
443         (WebCore::alwaysRevalidatedSchemes):
444         (WebCore::SchemeRegistry::registerURLSchemeAsAlwaysRevalidated):
445         (WebCore::SchemeRegistry::shouldAlwaysRevalidateURLScheme):
446         (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely): Moved to WebCore::shouldCacheSchemeIndefinitely().
447         There was no reason for this to be in SchemeRegistry.
448         * platform/SchemeRegistry.h:
449
450 2016-01-11  Dave Hyatt  <hyatt@apple.com>
451
452         Picture element needs to work with the preload scanner and select the correct
453         source element instead of loading the image.
454         https://bugs.webkit.org/show_bug.cgi?id=152983
455
456         Reviewed by Dean Jackson.
457
458         Added new tests in http/tests/loading.
459
460         * html/parser/HTMLPreloadScanner.cpp:
461         (WebCore::TokenPreloadScanner::tagIdFor):
462         (WebCore::TokenPreloadScanner::initiatorFor):
463         (WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner):
464         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
465         (WebCore::TokenPreloadScanner::StartTagScanner::processImageAndScriptAttribute):
466         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
467         (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
468         (WebCore::TokenPreloadScanner::scan):
469         * html/parser/HTMLPreloadScanner.h:
470         (WebCore::TokenPreloadScanner::setPredictedBaseElementURL):
471         (WebCore::TokenPreloadScanner::inPicture):
472
473 2016-01-11  Brady Eidson  <beidson@apple.com>
474
475         Modern IDB: storage/indexeddb/key-generator.html fails.
476         https://bugs.webkit.org/show_bug.cgi?id=152981
477
478         Reviewed by Alex Christensen.
479
480         No new tests (One failing test now passes, and one test's results get a progression).
481
482         * Modules/indexeddb/server/IDBBackingStore.h:
483         
484         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
485         (WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber): Throw an error if the current
486           value is already over 2^53.
487         (WebCore::IDBServer::MemoryIDBBackingStore::revertGeneratedKeyNumber):
488         (WebCore::IDBServer::MemoryIDBBackingStore::maybeUpdateKeyGeneratorNumber): Handle double -> uint64_t
489           conversions properly when calculating the next key.
490         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
491         
492         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
493         (WebCore::IDBServer::ScopeGuard::ScopeGuard): Add this utility class to call a function 
494           any time it goes out of scope.
495         (WebCore::IDBServer::ScopeGuard::~ScopeGuard):
496         (WebCore::IDBServer::ScopeGuard::enable):
497         (WebCore::IDBServer::ScopeGuard::disable):
498         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): Revert the key generator value if
499           the put/add operation ends in error.
500
501 2016-01-11  Brady Eidson  <beidson@apple.com>
502
503         Modern IDB: storage/indexeddb/lazy-index-population.html fails.
504         https://bugs.webkit.org/show_bug.cgi?id=152976
505
506         Reviewed by Alex Christensen.
507
508         No new tests (At least one failing test now passes).
509
510         We were restoring objectstores/indexes incorrectly on transaction abort.
511
512         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
513         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
514         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
515         (WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
516
517 2016-01-11  Brady Eidson  <beidson@apple.com>
518
519         Modern IDB: Make MemoryIndex and MemoryObjectStore RefCounted.
520         https://bugs.webkit.org/show_bug.cgi?id=152966
521
522         Reviewed by Alex Christensen.
523
524         No new tests (Refactor, no change in behavior)
525
526         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
527         (WebCore::IDBServer::MemoryBackingStoreTransaction::indexDeleted):
528         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
529         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
530         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
531         
532         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
533         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
534         (WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
535         (WebCore::IDBServer::MemoryIDBBackingStore::restoreObjectStoreForVersionChangeAbort):
536         (WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore):
537         (WebCore::IDBServer::MemoryIDBBackingStore::takeObjectStoreByName):
538         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
539         
540         * Modules/indexeddb/server/MemoryIndex.cpp:
541         (WebCore::IDBServer::MemoryIndex::create):
542         * Modules/indexeddb/server/MemoryIndex.h:
543         
544         * Modules/indexeddb/server/MemoryObjectStore.cpp:
545         (WebCore::IDBServer::MemoryObjectStore::create):
546         (WebCore::IDBServer::MemoryObjectStore::createIndex):
547         (WebCore::IDBServer::MemoryObjectStore::maybeRestoreDeletedIndex):
548         (WebCore::IDBServer::MemoryObjectStore::takeIndexByName):
549         (WebCore::IDBServer::MemoryObjectStore::deleteIndex):
550         (WebCore::IDBServer::MemoryObjectStore::updateIndexesForDeleteRecord):
551         (WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord):
552         (WebCore::IDBServer::MemoryObjectStore::registerIndex):
553         * Modules/indexeddb/server/MemoryObjectStore.h:
554
555 2016-01-11  Andreas Kling  <akling@apple.com>
556
557         Fix other builds after my MSVC build fix. :-|
558
559         * css/StyleResolver.cpp:
560
561 2016-01-11  Andreas Kling  <akling@apple.com>
562
563         Fix MSVC build after r194848.
564
565         Since MSVC refuses to recognize the friendship between LazyNeverDestroyed
566         and some CSS*Value classes, make their constructors public in MSVC builds.
567
568         Added FIXME's to make it look extra gross.
569
570         * css/CSSInheritedValue.h:
571         (WebCore::CSSInheritedValue::create): Deleted.
572         * css/CSSInitialValue.h:
573         * css/CSSPrimitiveValue.h:
574         * css/CSSRevertValue.h:
575         (WebCore::CSSRevertValue::create): Deleted.
576         * css/CSSUnsetValue.h:
577         (WebCore::CSSUnsetValue::create): Deleted.
578         * css/StyleResolver.cpp:
579         (WebCore::StyleResolver::applyProperty):
580
581 2016-01-11  Andreas Kling  <akling@apple.com>
582
583         CSSValuePool should use nonfragmented storage for eternal caches.
584         <https://webkit.org/b/152960>
585
586         Reviewed by Antti Koivisto.
587
588         Store all of the common cached CSS value objects in contiguous arrays
589         instead of lazily allocating them on the heap.
590
591         This reduces heap fragmentation (win) and removes indirection (win)
592
593         * css/CSSInheritedValue.h:
594         * css/CSSInitialValue.h:
595         * css/CSSPrimitiveValue.h:
596         * css/CSSRevertValue.h:
597         * css/CSSUnsetValue.h:
598         * css/CSSValuePool.cpp:
599         (WebCore::CSSValuePool::CSSValuePool):
600         (WebCore::CSSValuePool::createIdentifierValue):
601         (WebCore::CSSValuePool::createColorValue):
602         (WebCore::CSSValuePool::createValue):
603         (WebCore::CSSValuePool::drain): Deleted.
604         * css/CSSValuePool.h:
605         (WebCore::CSSValuePool::createInheritedValue):
606         (WebCore::CSSValuePool::createImplicitInitialValue):
607         (WebCore::CSSValuePool::createExplicitInitialValue):
608         (WebCore::CSSValuePool::createUnsetValue):
609         (WebCore::CSSValuePool::createRevertValue):
610
611 2016-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
612
613         [GTK] Cleanup RenderThemeGtk
614         https://bugs.webkit.org/show_bug.cgi?id=152888
615
616         Reviewed by Michael Catanzaro.
617
618         Use a common path for GTK+ 3.19 and previous versions, simplifying
619         the code and removing a lot of ifdefs.
620
621          - createStyleContext() now receives a theme part enum value, and
622            an optional parent GtkStyleContext. It encapsulates all the
623            differences between GTK+ 3.19 and previous version leaving the
624            rendering code common and free of ifdefs.
625          - Stock icons support have been removed, simplifying the code
626            that now always renders symbolic icons, updating the colors
627            depending on the current state.
628          - Media button and colors have been removed, because they are
629            unused now that we render the media controls with CSS.
630          - ComboBox separators support has also been removed. In GTK+ 3.19
631            combo boxes no longer have separators and most of the GTK+
632            themes don't use the either, so it's better to simple not render
633            them anymore in WebKit either.
634          - Code to paint caps lock indicator has been removed too, since
635            caps lock indicator is now shadow dom and automatically
636            rendered by WebCore.
637
638         * rendering/RenderThemeGtk.cpp:
639         (WebCore::createStyleContext):
640         (WebCore::loadThemedIcon):
641         (WebCore::gtkIconStateFlags):
642         (WebCore::RenderThemeGtk::adjustRepaintRect):
643         (WebCore::setToggleSize):
644         (WebCore::paintToggle):
645         (WebCore::RenderThemeGtk::setCheckboxSize):
646         (WebCore::RenderThemeGtk::paintCheckbox):
647         (WebCore::RenderThemeGtk::setRadioSize):
648         (WebCore::RenderThemeGtk::paintRadio):
649         (WebCore::RenderThemeGtk::paintButton):
650         (WebCore::getComboBoxMetrics):
651         (WebCore::RenderThemeGtk::popupInternalPaddingLeft):
652         (WebCore::RenderThemeGtk::popupInternalPaddingRight):
653         (WebCore::RenderThemeGtk::popupInternalPaddingTop):
654         (WebCore::RenderThemeGtk::popupInternalPaddingBottom):
655         (WebCore::RenderThemeGtk::paintMenuList):
656         (WebCore::RenderThemeGtk::paintTextField):
657         (WebCore::adjustSearchFieldIconStyle):
658         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
659         (WebCore::paintIcon):
660         (WebCore::paintEntryIcon):
661         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecorationPart):
662         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
663         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
664         (WebCore::RenderThemeGtk::shouldHaveCapsLockIndicator):
665         (WebCore::RenderThemeGtk::paintSliderTrack):
666         (WebCore::RenderThemeGtk::paintSliderThumb):
667         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
668         (WebCore::RenderThemeGtk::paintProgressBar):
669         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
670         (WebCore::paintSpinArrowButton):
671         (WebCore::RenderThemeGtk::paintInnerSpinButton):
672         (WebCore::styleColor):
673         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
674         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
675         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
676         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
677         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
678         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
679         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
680         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
681         (WebCore::RenderThemeGtk::systemColor):
682         (WebCore::RenderThemeGtk::paintMediaButton):
683         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
684         (WebCore::RenderThemeGtk::paintMediaMuteButton):
685         (WebCore::RenderThemeGtk::paintMediaPlayButton):
686         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
687         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
688         (WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
689         * rendering/RenderThemeGtk.h:
690
691 2016-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
692
693         [GTK] Cleanup ScrollbarThemeGtk
694         https://bugs.webkit.org/show_bug.cgi?id=152830
695
696         Reviewed by Michael Catanzaro.
697
698         Use a common path for GTK+ 3.19 and previous versions, simplifying
699         the code and removing a lot of ifdefs. Use always a new
700         GtkStyleContext, but when painting cache the newly created one so
701         all paint methods use that one. We were also caching some theme
702         properties assuming they don't change unless the theme changes,
703         but some of them can have different values depending on the state,
704         for example, when hovered or pressed. Those properties are now
705         only cached when we create a new GtkStyleContext.
706         The method updateScrollbarsFrameThickness() has also been removed,
707         since the Scrollbar constructor already initializes the frame rect
708         using the scrollbarThickness(). This method was not doing anything
709         anyway, since that was called on the constructor of the theme,
710         when there were no scrollbars registered. This also means we no
711         longer need to track registered/unregistered scrollbars.
712
713         * platform/gtk/ScrollbarThemeGtk.cpp:
714         (WebCore::ScrollbarThemeGtk::backButtonRect): Use the cached
715         GtkStyleContext and properties or create a new.
716         (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
717         (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
718         (WebCore::orientationStyleClass):
719         (WebCore::ScrollbarThemeGtk::getOrCreateStyleContext): Create a
720         new GtkStyleContext for the scrollbar if there isn't a cached
721         one. Also initialize the properties that depend on the state.
722         (WebCore::createChildStyleContext): Create a new GtkStyleContext
723         from a parent one.
724         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Get the
725         properties that can only change when the theme changes.
726         (WebCore::ScrollbarThemeGtk::thumbRect): Use the cached
727         GtkStyleContext and properties or create a new.
728         (WebCore::adjustRectAccordingToMargin): Use always the
729         GtkStyleContext state instead of receiving it and setting it again.
730         (WebCore::ScrollbarThemeGtk::paintTrackBackground): Get or create
731         a GtkStyleContext for the scrollbar and create a child one for the trough.
732         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Use the
733         cached GtkStyleContext or create a new one.
734         (WebCore::ScrollbarThemeGtk::paintThumb): Get or create a
735         GtkStyleContext for the scrollbar and create a child ones for
736         trough and slider.
737         (WebCore::ScrollbarThemeGtk::paintButton): Get or create a
738         GtkStyleContext for the scrollbar and create a child one for the button.
739         (WebCore::ScrollbarThemeGtk::paint): Create a GtkStyleContext and
740         cache it temporarily using TemporaryChange until the method finishes.
741         (WebCore::ScrollbarThemeGtk::scrollbarThickness): Use the cached
742         GtkStyleContext and properties or create a new.
743         (WebCore::ScrollbarThemeGtk::buttonSize): Ditto.
744         * platform/gtk/ScrollbarThemeGtk.h:
745
746 2016-01-10  Myles C. Maxfield  <mmaxfield@apple.com>
747
748         [SVG -> OTF Converter] Parsing failures cause use of incomplete fonts
749         https://bugs.webkit.org/show_bug.cgi?id=152772
750         <rdar://problem/24043104>
751
752         Reviewed by Simon Fraser.
753
754         Originally, if we fail to parse a glyph, we would simply skip the glyph. However, this means that
755         we will create an incomplete font without all the necessary glyphs. This causes very distressing
756         text where all the occurances of a particular letter are missing. Instead, we should treat the
757         entire font as invalid.
758
759         Test: fast/text/svg-font-invalid-glyph-path-failure.html
760
761         * css/CSSFontFaceSource.cpp:
762         (WebCore::CSSFontFaceSource::font):
763         * loader/cache/CachedSVGFont.cpp:
764         (WebCore::CachedSVGFont::ensureCustomFontData):
765         * svg/SVGToOTFFontConversion.cpp:
766         (WebCore::SVGToOTFFontConverter::error):
767         (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
768         (WebCore::SVGToOTFFontConverter::processGlyphElement):
769         (WebCore::convertSVGToOTFFont):
770         * svg/SVGToOTFFontConversion.h:
771
772 2016-01-10  Andreas Kling  <akling@apple.com>
773
774         Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL cont'd
775         <https://webkit.org/b/152902>
776
777         Reviewed by Andy Estes.
778
779         Convert some more of the remaining clients to use NeverDestroyed.
780
781         * html/track/VTTRegion.cpp:
782         (WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
783         (WebCore::VTTRegion::textTrackRegionShadowPseudoId):
784         * svg/properties/SVGAnimatedPropertyMacros.h:
785
786 2016-01-09  Simon Fraser  <simon.fraser@apple.com>
787
788         Hook up display-list drawing in GraphicsLayerCA
789         https://bugs.webkit.org/show_bug.cgi?id=152946
790
791         Reviewed by Zalan Bujtas.
792
793         Have GraphicsLayerCA hold a DisplayList. If enabled, do a display-list record
794         in GraphicsLayerCA::recursiveCommitChanges(), and a playback in GraphicsLayerCA::platformCALayerPaintContents().
795         
796         GraphicsLayerCA needs to maintain a m_hasEverPainted flag to know to do a full record
797         at first paint (when there are no dirty rects).
798         
799         Plumb 'isUsingDisplayListDrawing' through to TileGrid via PlatformCALayer{Client}
800         so that we can decorate the tile paint counters with an outline.
801         
802         Have RenderLayerCompositor push the displayListDrawingEnabled state down through
803         RenderLayerBackings to GraphicsLayers.
804         
805         Convert RenderLayerCompositor to use initializers.
806
807         * platform/graphics/GraphicsLayer.cpp:
808         (WebCore::GraphicsLayer::GraphicsLayer):
809         * platform/graphics/GraphicsLayer.h:
810         (WebCore::GraphicsLayer::usesDisplayListDrawing):
811         (WebCore::GraphicsLayer::setUsesDisplayListDrawing):
812         * platform/graphics/ca/GraphicsLayerCA.cpp:
813         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
814         (WebCore::GraphicsLayerCA::setUsesDisplayListDrawing):
815         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
816         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
817         (WebCore::GraphicsLayerCA::updateDrawsContent):
818         (WebCore::GraphicsLayerCA::dumpAdditionalProperties):
819         * platform/graphics/ca/GraphicsLayerCA.h:
820         * platform/graphics/ca/PlatformCALayer.cpp:
821         (WebCore::PlatformCALayer::drawRepaintIndicator):
822         * platform/graphics/ca/PlatformCALayerClient.h:
823         (WebCore::PlatformCALayerClient::isUsingDisplayListDrawing):
824         * platform/graphics/ca/TileGrid.cpp:
825         (WebCore::TileGrid::platformCALayerShowRepaintCounter):
826         (WebCore::TileGrid::isUsingDisplayListDrawing):
827         * platform/graphics/ca/TileGrid.h:
828         * platform/graphics/displaylists/DisplayList.h: Sadly need to include DisplayListItems.h
829         to get things to compile. I wasn't able to avoid this even when making functions non-inline.
830         * rendering/RenderLayerBacking.cpp:
831         (WebCore::RenderLayerBacking::createGraphicsLayer):
832         * rendering/RenderLayerCompositor.cpp:
833         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
834         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
835         * rendering/RenderLayerCompositor.h:
836
837 2016-01-09  Zalan Bujtas  <zalan@apple.com>
838
839         REGRESSION (r194426): First email field is not autofilled on amazon.com
840         https://bugs.webkit.org/show_bug.cgi?id=152945
841         <rdar://problem/24082914>
842
843         Reviewed by Simon Fraser.
844
845         r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).
846
847         Test: fast/forms/multiple-subtree-layout-failure.html
848
849         * page/FrameView.cpp:
850         (WebCore::FrameView::scheduleRelayoutOfSubtree):
851
852 2016-01-09  Dan Bernstein  <mitz@apple.com>
853
854         [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
855         https://bugs.webkit.org/show_bug.cgi?id=152926
856
857         Reviewed by Tim Horton.
858
859         Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
860         where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
861         WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
862
863         Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
864
865         * Configurations/WebCore.xcconfig:
866         - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with
867           WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
868         - Define WEBCORE_FRAMEWORKS_DIR and PRODUCTION_FRAMEWORKS_DIR based on
869           WK_OVERRIDE_FRAMEWORKS_DIR.
870
871         * WebCore.xcodeproj/project.pbxproj: Work around make’s inability to handle spaces in paths
872           by creating a symlink to JAVASCRIPTCORE_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and
873           using the symlink as the value of JavaScriptCore_SCRIPTS_DIR.
874
875 2016-01-09  Andreas Kling  <akling@apple.com>
876
877         Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
878         <https://webkit.org/b/152902>
879
880         Reviewed by Anders Carlsson.
881
882         Mostly mechanical conversion to NeverDestroyed throughout WebCore.
883
884         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
885         (WebCore::stringForPlaybackTargetAvailability):
886         * Modules/indexeddb/IDBCursor.cpp:
887         (WebCore::IDBCursor::directionNext):
888         (WebCore::IDBCursor::directionNextUnique):
889         (WebCore::IDBCursor::directionPrev):
890         (WebCore::IDBCursor::directionPrevUnique):
891         * Modules/indexeddb/IDBTransaction.cpp:
892         (WebCore::IDBTransaction::modeReadOnly):
893         (WebCore::IDBTransaction::modeReadWrite):
894         (WebCore::IDBTransaction::modeVersionChange):
895         (WebCore::IDBTransaction::modeReadOnlyLegacy):
896         (WebCore::IDBTransaction::modeReadWriteLegacy):
897         * Modules/indexeddb/legacy/LegacyRequest.cpp:
898         (WebCore::LegacyRequest::readyState):
899         * Modules/mediacontrols/MediaControlsHost.cpp:
900         (WebCore::MediaControlsHost::automaticKeyword):
901         (WebCore::MediaControlsHost::forcedOnlyKeyword):
902         (WebCore::MediaControlsHost::alwaysOnKeyword):
903         (WebCore::MediaControlsHost::externalDeviceType):
904         * Modules/mediasource/MediaSource.cpp:
905         (WebCore::MediaSource::openKeyword):
906         (WebCore::MediaSource::closedKeyword):
907         (WebCore::MediaSource::endedKeyword):
908         (WebCore::MediaSource::streamEndedWithError):
909         * Modules/plugins/QuickTimePluginReplacement.mm:
910         (WebCore::quickTimePluginReplacementScript):
911         (WebCore::QuickTimePluginReplacement::supportsMimeType):
912         (WebCore::QuickTimePluginReplacement::supportsFileExtension):
913         * Modules/speech/SpeechSynthesis.cpp:
914         (WebCore::SpeechSynthesis::boundaryEventOccurred):
915         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
916         (WebCore::cssPropertyIDForJSCSSPropertyName):
917         * bridge/c/c_instance.cpp:
918         (JSC::Bindings::globalExceptionString):
919         * css/MediaList.cpp:
920         (WebCore::addResolutionWarningMessageToConsole):
921         * css/StyleSheetContents.cpp:
922         (WebCore::StyleSheetContents::parseAuthorStyleSheet):
923         * dom/ChildListMutationScope.cpp:
924         (WebCore::accumulatorMap):
925         * dom/DOMImplementation.cpp:
926         (WebCore::isSupportedSVG10Feature):
927         (WebCore::isSupportedSVG11Feature):
928         * dom/Document.cpp:
929         (WebCore::Document::readyState):
930         * dom/Element.cpp:
931         (WebCore::Element::webkitRegionOverset):
932         * dom/EventDispatcher.cpp:
933         (WebCore::EventDispatcher::dispatchSimulatedClick):
934         * dom/InlineStyleSheetOwner.cpp:
935         (WebCore::isValidCSSContentType):
936         * dom/MutationObserver.cpp:
937         (WebCore::activeMutationObservers):
938         (WebCore::suspendedMutationObservers):
939         * dom/MutationRecord.cpp:
940         * dom/PseudoElement.cpp:
941         (WebCore::pseudoElementTagName):
942         (WebCore::PseudoElement::pseudoElementNameForEvents):
943         * dom/QualifiedName.cpp:
944         (WebCore::qualifiedNameCache):
945         (WebCore::nullQName):
946         * dom/ScriptElement.cpp:
947         (WebCore::isLegacySupportedJavaScriptLanguage):
948         (WebCore::ScriptElement::notifyFinished):
949         * editing/ApplyStyleCommand.cpp:
950         (WebCore::styleSpanClassString):
951         * editing/MarkupAccumulator.cpp:
952         (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
953         * editing/ReplaceSelectionCommand.cpp:
954         (WebCore::isInterchangeNewlineNode):
955         (WebCore::isInterchangeConvertedSpaceSpan):
956         * editing/htmlediting.cpp:
957         (WebCore::nonBreakingSpaceString):
958         * editing/markup.cpp:
959         (WebCore::StyledMarkupAccumulator::styleNodeCloseTag):
960         (WebCore::createMarkupInternal):
961         * fileapi/Blob.cpp:
962         (WebCore::BlobURLRegistry::registry):
963         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
964         (WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):
965         * html/DateInputType.cpp:
966         (WebCore::DateInputType::createStepRange):
967         * html/DateTimeInputType.cpp:
968         (WebCore::DateTimeInputType::createStepRange):
969         * html/DateTimeLocalInputType.cpp:
970         (WebCore::DateTimeLocalInputType::createStepRange):
971         * html/EmailInputType.cpp:
972         (WebCore::isValidEmailAddress):
973         * html/FormController.cpp:
974         (WebCore::FormKeyGenerator::formKey):
975         (WebCore::formStateSignature):
976         * html/HTMLAnchorElement.cpp:
977         (WebCore::rootEditableElementMap):
978         * html/HTMLButtonElement.cpp:
979         (WebCore::HTMLButtonElement::formControlType):
980         * html/HTMLFieldSetElement.cpp:
981         (WebCore::HTMLFieldSetElement::formControlType):
982         * html/HTMLFrameOwnerElement.h:
983         (WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
984         * html/HTMLKeygenElement.cpp:
985         (WebCore::HTMLKeygenElement::formControlType):
986         * html/HTMLLinkElement.cpp:
987         (WebCore::linkLoadEventSender):
988         * html/HTMLMediaElement.cpp:
989         (WebCore::documentToElementSetMap):
990         * html/HTMLObjectElement.cpp:
991         (WebCore::isRecognizedTagName):
992         * html/HTMLOptGroupElement.cpp:
993         (WebCore::HTMLOptGroupElement::formControlType):
994         * html/HTMLOutputElement.cpp:
995         (WebCore::HTMLOutputElement::formControlType):
996         * html/HTMLPlugInElement.cpp:
997         (WebCore::registeredPluginReplacements):
998         * html/HTMLPlugInImageElement.cpp:
999         (WebCore::titleText):
1000         (WebCore::subtitleText):
1001         (WebCore::HTMLPlugInImageElement::partOfSnapshotOverlay):
1002         * html/HTMLSelectElement.cpp:
1003         (WebCore::HTMLSelectElement::formControlType):
1004         * html/HTMLStyleElement.cpp:
1005         (WebCore::styleLoadEventSender):
1006         * html/HTMLTextAreaElement.cpp:
1007         (WebCore::HTMLTextAreaElement::formControlType):
1008         * html/HTMLTextFormControlElement.cpp:
1009         (WebCore::directionString):
1010         * html/ImageInputType.cpp:
1011         (WebCore::ImageInputType::appendFormData):
1012         * html/InputTypeNames.cpp:
1013         (WebCore::InputTypeNames::button):
1014         (WebCore::InputTypeNames::checkbox):
1015         (WebCore::InputTypeNames::color):
1016         (WebCore::InputTypeNames::date):
1017         (WebCore::InputTypeNames::datetime):
1018         (WebCore::InputTypeNames::datetimelocal):
1019         (WebCore::InputTypeNames::email):
1020         (WebCore::InputTypeNames::file):
1021         (WebCore::InputTypeNames::hidden):
1022         (WebCore::InputTypeNames::image):
1023         (WebCore::InputTypeNames::month):
1024         (WebCore::InputTypeNames::number):
1025         (WebCore::InputTypeNames::password):
1026         (WebCore::InputTypeNames::radio):
1027         (WebCore::InputTypeNames::range):
1028         (WebCore::InputTypeNames::reset):
1029         (WebCore::InputTypeNames::search):
1030         (WebCore::InputTypeNames::submit):
1031         (WebCore::InputTypeNames::telephone):
1032         (WebCore::InputTypeNames::text):
1033         (WebCore::InputTypeNames::time):
1034         (WebCore::InputTypeNames::url):
1035         (WebCore::InputTypeNames::week):
1036         * html/MediaController.cpp:
1037         (playbackStateWaiting):
1038         (playbackStatePlaying):
1039         (playbackStateEnded):
1040         * html/MonthInputType.cpp:
1041         (WebCore::MonthInputType::createStepRange):
1042         * html/NumberInputType.cpp:
1043         (WebCore::NumberInputType::createStepRange):
1044         * html/RangeInputType.cpp:
1045         (WebCore::RangeInputType::createStepRange):
1046         * html/StepRange.cpp:
1047         (WebCore::StepRange::acceptableError):
1048         (WebCore::StepRange::alignValueForStep):
1049         (WebCore::StepRange::stepMismatch):
1050         * html/TimeInputType.cpp:
1051         (WebCore::TimeInputType::createStepRange):
1052         * html/WeekInputType.cpp:
1053         (WebCore::WeekInputType::createStepRange):
1054         * html/canvas/CanvasRenderingContext2D.cpp:
1055         (WebCore::CanvasRenderingContext2D::getImageData):
1056         * html/parser/XSSAuditor.cpp:
1057         (WebCore::XSSAuditor::init):
1058         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
1059         * html/shadow/MediaControlElements.cpp:
1060         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
1061         (WebCore::getMediaControlTimeRemainingDisplayElementShadowPseudoId):
1062         (WebCore::getMediaControlCurrentTimeDisplayElementShadowPseudoId):
1063         * html/shadow/MeterShadowElement.cpp:
1064         (WebCore::MeterInnerElement::MeterInnerElement):
1065         (WebCore::MeterValueElement::valuePseudoId):
1066         * html/shadow/MeterShadowElement.h:
1067         * html/shadow/SliderThumbElement.cpp:
1068         (WebCore::sliderThumbShadowPseudoId):
1069         (WebCore::mediaSliderThumbShadowPseudoId):
1070         (WebCore::SliderContainerElement::shadowPseudoId):
1071         * html/track/AudioTrack.cpp:
1072         (WebCore::AudioTrack::alternativeKeyword):
1073         (WebCore::AudioTrack::descriptionKeyword):
1074         (WebCore::AudioTrack::mainKeyword):
1075         (WebCore::AudioTrack::mainDescKeyword):
1076         (WebCore::AudioTrack::translationKeyword):
1077         (WebCore::AudioTrack::commentaryKeyword):
1078         * html/track/TextTrack.cpp:
1079         (WebCore::TextTrack::subtitlesKeyword):
1080         (WebCore::TextTrack::captionsKeyword):
1081         (WebCore::TextTrack::descriptionsKeyword):
1082         (WebCore::TextTrack::chaptersKeyword):
1083         (WebCore::TextTrack::metadataKeyword):
1084         (WebCore::TextTrack::forcedKeyword):
1085         (WebCore::TextTrack::disabledKeyword):
1086         (WebCore::TextTrack::hiddenKeyword):
1087         (WebCore::TextTrack::showingKeyword):
1088         * html/track/TextTrackCue.h:
1089         (WebCore::TextTrackCue::cueShadowPseudoId):
1090         * html/track/VTTCue.cpp:
1091         (WebCore::startKeyword):
1092         (WebCore::middleKeyword):
1093         (WebCore::endKeyword):
1094         (WebCore::leftKeyword):
1095         (WebCore::rightKeyword):
1096         (WebCore::verticalGrowingLeftKeyword):
1097         (WebCore::verticalGrowingRightKeyword):
1098         (WebCore::VTTCueBox::vttCueBoxShadowPseudoId):
1099         (WebCore::VTTCue::cueBackdropShadowPseudoId):
1100         (WebCore::VTTCue::determineTextDirection):
1101         (WebCore::VTTCue::markFutureAndPastNodes):
1102         * html/track/VTTRegion.cpp:
1103         (WebCore::VTTRegion::scroll):
1104         (WebCore::VTTRegion::setScroll):
1105         (WebCore::VTTRegion::parseSettingValue):
1106         (WebCore::VTTRegion::textTrackCueContainerScrollingClass):
1107         * html/track/VideoTrack.cpp:
1108         (WebCore::VideoTrack::alternativeKeyword):
1109         (WebCore::VideoTrack::captionsKeyword):
1110         (WebCore::VideoTrack::mainKeyword):
1111         (WebCore::VideoTrack::signKeyword):
1112         (WebCore::VideoTrack::subtitlesKeyword):
1113         (WebCore::VideoTrack::commentaryKeyword):
1114         * html/track/WebVTTElement.cpp:
1115         (WebCore::nodeTypeToTagName):
1116         * html/track/WebVTTElement.h:
1117         * html/track/WebVTTParser.cpp:
1118         (WebCore::WebVTTParser::collectMetadataHeader):
1119         * inspector/InspectorCSSAgent.cpp:
1120         (WebCore::computePseudoClassMask):
1121         * inspector/InspectorPageAgent.cpp:
1122         (WebCore::InspectorPageAgent::sourceMapURLForResource):
1123         * inspector/InspectorStyleSheet.cpp:
1124         (WebCore::selectorsFromSource):
1125         * inspector/PageDebuggerAgent.cpp:
1126         (WebCore::PageDebuggerAgent::sourceMapURLForScript):
1127         * loader/ImageLoader.cpp:
1128         (WebCore::ImageLoader::notifyFinished):
1129         * loader/TextTrackLoader.cpp:
1130         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
1131         * loader/cache/CachedResourceRequest.cpp:
1132         (WebCore::CachedResourceRequest::initiatorName):
1133         * loader/icon/IconDatabase.cpp:
1134         (WebCore::IconDatabase::defaultDatabaseFilename):
1135         * page/CaptionUserPreferences.cpp:
1136         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
1137         * page/CaptionUserPreferencesMediaAF.cpp:
1138         (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
1139         (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
1140         * page/ContentSecurityPolicy.cpp:
1141         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
1142         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
1143         (WebCore::CSPDirectiveList::allowInlineScript):
1144         (WebCore::CSPDirectiveList::allowInlineStyle):
1145         (WebCore::CSPDirectiveList::allowEval):
1146         (WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
1147         * page/DOMWindow.cpp:
1148         (WebCore::windowsWithUnloadEventListeners):
1149         (WebCore::windowsWithBeforeUnloadEventListeners):
1150         * page/EventHandler.cpp:
1151         (WebCore::EventHandler::dragState):
1152         (WebCore::focusDirectionForKey):
1153         * page/Frame.cpp:
1154         (WebCore::createRegExpForLabels):
1155         * page/NavigatorBase.cpp:
1156         (WebCore::NavigatorBase::platform):
1157         * page/PageVisibilityState.cpp:
1158         (WebCore::pageVisibilityStateString):
1159         * page/SecurityPolicy.cpp:
1160         (WebCore::originAccessMap):
1161         * page/UserContentURLPattern.cpp:
1162         (WebCore::UserContentURLPattern::parse):
1163         * page/animation/CSSPropertyAnimation.cpp:
1164         (WebCore::shadowForBlending):
1165         * page/animation/CompositeAnimation.cpp:
1166         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1167         * platform/Cursor.cpp:
1168         (WebCore::pointerCursor):
1169         (WebCore::crossCursor):
1170         (WebCore::handCursor):
1171         (WebCore::moveCursor):
1172         (WebCore::verticalTextCursor):
1173         (WebCore::cellCursor):
1174         (WebCore::contextMenuCursor):
1175         (WebCore::aliasCursor):
1176         (WebCore::zoomInCursor):
1177         (WebCore::zoomOutCursor):
1178         (WebCore::copyCursor):
1179         (WebCore::noneCursor):
1180         (WebCore::progressCursor):
1181         (WebCore::noDropCursor):
1182         (WebCore::notAllowedCursor):
1183         (WebCore::iBeamCursor):
1184         (WebCore::waitCursor):
1185         (WebCore::helpCursor):
1186         (WebCore::eastResizeCursor):
1187         (WebCore::northResizeCursor):
1188         (WebCore::northEastResizeCursor):
1189         (WebCore::northWestResizeCursor):
1190         (WebCore::southResizeCursor):
1191         (WebCore::southEastResizeCursor):
1192         (WebCore::southWestResizeCursor):
1193         (WebCore::westResizeCursor):
1194         (WebCore::northSouthResizeCursor):
1195         (WebCore::eastWestResizeCursor):
1196         (WebCore::northEastSouthWestResizeCursor):
1197         (WebCore::northWestSouthEastResizeCursor):
1198         (WebCore::columnResizeCursor):
1199         (WebCore::rowResizeCursor):
1200         (WebCore::middlePanningCursor):
1201         (WebCore::eastPanningCursor):
1202         (WebCore::northPanningCursor):
1203         (WebCore::northEastPanningCursor):
1204         (WebCore::northWestPanningCursor):
1205         (WebCore::southPanningCursor):
1206         (WebCore::southEastPanningCursor):
1207         (WebCore::southWestPanningCursor):
1208         (WebCore::westPanningCursor):
1209         (WebCore::grabCursor):
1210         (WebCore::grabbingCursor):
1211         * platform/Language.cpp:
1212         (WebCore::preferredLanguagesOverride):
1213         * platform/LocalizedStrings.cpp:
1214         (WebCore::truncatedStringForLookupMenuItem):
1215         * platform/MIMETypeRegistry.cpp:
1216         (WebCore::mediaMIMETypeMap):
1217         (WebCore::defaultMIMEType):
1218         * platform/SchemeRegistry.cpp:
1219         (WebCore::localURLSchemes):
1220         (WebCore::displayIsolatedURLSchemes):
1221         (WebCore::secureSchemes):
1222         (WebCore::schemesWithUniqueOrigins):
1223         (WebCore::emptyDocumentSchemes):
1224         (WebCore::schemesForbiddenFromDomainRelaxation):
1225         (WebCore::canDisplayOnlyIfCanRequestSchemes):
1226         (WebCore::notAllowingJavascriptURLsSchemes):
1227         (WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
1228         (WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
1229         (WebCore::CORSEnabledSchemes):
1230         (WebCore::ContentSecurityPolicyBypassingSchemes):
1231         * platform/ScrollbarTheme.cpp:
1232         (WebCore::ScrollbarTheme::theme):
1233         * platform/URL.cpp:
1234         (WebCore::blankURL):
1235         * platform/animation/Animation.cpp:
1236         (WebCore::Animation::initialName):
1237         * platform/audio/AudioSession.cpp:
1238         (WebCore::AudioSession::sharedSession):
1239         * platform/audio/AudioSession.h:
1240         * platform/audio/HRTFElevation.cpp:
1241         (WebCore::getConcatenatedImpulseResponsesForSubject):
1242         * platform/audio/ios/AudioDestinationIOS.cpp:
1243         (WebCore::audioDestinations):
1244         * platform/graphics/GraphicsLayer.cpp:
1245         (WebCore::repaintRectMap):
1246         * platform/graphics/ImageBuffer.cpp:
1247         (WebCore::ImageBuffer::transformColorSpace):
1248         * platform/graphics/MediaPlayer.cpp:
1249         (WebCore::applicationOctetStream):
1250         (WebCore::textPlain):
1251         (WebCore::codecs):
1252         * platform/graphics/ShadowBlur.cpp:
1253         (WebCore::ScratchBuffer::singleton):
1254         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1255         (WebCore::playerToPrivateMap):
1256         * platform/graphics/filters/SourceAlpha.cpp:
1257         (WebCore::SourceAlpha::effectName):
1258         * platform/graphics/filters/SourceGraphic.cpp:
1259         (WebCore::SourceGraphic::effectName):
1260         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1261         (WebCore::mimeCommonTypesCache):
1262         (WebCore::mimeModernTypesCache):
1263         * platform/ios/CursorIOS.cpp:
1264         (WebCore::cursor):
1265         * platform/ios/TileControllerMemoryHandlerIOS.cpp:
1266         (WebCore::tileControllerMemoryHandler):
1267         * platform/ios/WebCoreMotionManager.mm:
1268         (+[WebCoreMotionManager sharedManager]):
1269         * platform/ios/WebVideoFullscreenModelVideoElement.mm:
1270         (WebVideoFullscreenModelVideoElement::updateForEventName):
1271         * platform/ios/wak/WKContentObservation.cpp:
1272         (WebThreadGetObservedContentModifiers):
1273         * platform/mac/DragImageMac.mm:
1274         (WebCore::fontFromNSFont):
1275         * platform/mac/ThemeMac.mm:
1276         (WebCore::platformTheme):
1277         * platform/mac/ThreadCheck.mm:
1278         (WebCoreReportThreadViolation):
1279         * platform/mediastream/mac/AVCaptureDeviceManager.h:
1280         * platform/mediastream/mac/AVCaptureDeviceManager.mm:
1281         (WebCore::AVCaptureDeviceManager::singleton):
1282         * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
1283         (WebCore::RealtimeMediaSourceCenter::platformCenter):
1284         * platform/mock/mediasource/MockBox.cpp:
1285         (WebCore::MockTrackBox::type):
1286         (WebCore::MockInitializationBox::type):
1287         (WebCore::MockSampleBox::type):
1288         * platform/network/HTTPParsers.cpp:
1289         (WebCore::parseXSSProtectionHeader):
1290         * platform/network/ResourceHandle.cpp:
1291         (WebCore::builtinResourceHandleConstructorMap):
1292         (WebCore::builtinResourceHandleSynchronousLoaderMap):
1293         * platform/network/cf/ResourceHandleCFNet.cpp:
1294         (WebCore::allowsAnyHTTPSCertificateHosts):
1295         (WebCore::clientCerts):
1296         * platform/text/AtomicStringKeyedMRUCache.h:
1297         (WebCore::AtomicStringKeyedMRUCache::get):
1298         * platform/text/cf/HyphenationCF.cpp:
1299         (WebCore::cfLocaleCache):
1300         * rendering/RenderBlock.cpp:
1301         (WebCore::continuationOutlineTable):
1302         * rendering/RenderCounter.cpp:
1303         (WebCore::counterMaps):
1304         * rendering/RenderDeprecatedFlexibleBox.cpp:
1305         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1306         * rendering/RenderLayer.cpp:
1307         (WebCore::RenderLayer::drawPlatformResizerImage):
1308         * rendering/RenderScrollbarTheme.cpp:
1309         (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
1310         * rendering/RenderTheme.cpp:
1311         (WebCore::customFocusRingColor):
1312         * rendering/RenderWidget.cpp:
1313         (WebCore::WidgetHierarchyUpdatesSuspensionScope::widgetNewParentMap):
1314         * rendering/shapes/ShapeOutsideInfo.h:
1315         * rendering/style/RenderStyle.cpp:
1316         (WebCore::RenderStyle::hyphenString):
1317         (WebCore::RenderStyle::textEmphasisMarkString):
1318         (WebCore::RenderStyle::initialDashboardRegions):
1319         (WebCore::RenderStyle::noneDashboardRegions):
1320         * rendering/style/RenderStyle.h:
1321         * rendering/svg/RenderSVGPath.cpp:
1322         (WebCore::RenderSVGPath::zeroLengthLinecapPath):
1323         * rendering/svg/RenderSVGShape.cpp:
1324         (WebCore::RenderSVGShape::nonScalingStrokePath):
1325         * rendering/svg/SVGRenderingContext.cpp:
1326         (WebCore::currentContentTransformation):
1327         * rendering/svg/SVGResources.cpp:
1328         (WebCore::clipperFilterMaskerTags):
1329         (WebCore::markerTags):
1330         (WebCore::fillAndStrokeTags):
1331         (WebCore::chainableResourceTags):
1332         * svg/SVGAngle.cpp:
1333         (WebCore::SVGAngle::valueAsString):
1334         * svg/SVGAnimateColorElement.cpp:
1335         (WebCore::attributeValueIsCurrentColor):
1336         * svg/SVGAnimateMotionElement.cpp:
1337         (WebCore::SVGAnimateMotionElement::rotateMode):
1338         * svg/SVGAnimationElement.cpp:
1339         (WebCore::SVGAnimationElement::setCalcMode):
1340         (WebCore::SVGAnimationElement::setAttributeType):
1341         (WebCore::SVGAnimationElement::isAdditive):
1342         (WebCore::SVGAnimationElement::isAccumulated):
1343         (WebCore::inheritsFromProperty):
1344         * svg/SVGFEConvolveMatrixElement.cpp:
1345         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier):
1346         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier):
1347         (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
1348         (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
1349         * svg/SVGFEDiffuseLightingElement.cpp:
1350         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier):
1351         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier):
1352         * svg/SVGFEDropShadowElement.cpp:
1353         (WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
1354         (WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
1355         * svg/SVGFEGaussianBlurElement.cpp:
1356         (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier):
1357         (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier):
1358         * svg/SVGFEMorphologyElement.cpp:
1359         (WebCore::SVGFEMorphologyElement::radiusXIdentifier):
1360         (WebCore::SVGFEMorphologyElement::radiusYIdentifier):
1361         * svg/SVGFESpecularLightingElement.cpp:
1362         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier):
1363         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier):
1364         * svg/SVGFETurbulenceElement.cpp:
1365         (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier):
1366         (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier):
1367         * svg/SVGFilterElement.cpp:
1368         (WebCore::SVGFilterElement::filterResXIdentifier):
1369         (WebCore::SVGFilterElement::filterResYIdentifier):
1370         * svg/SVGGlyphMap.h:
1371         (WebCore::SVGGlyphMap::svgGlyphForGlyph):
1372         * svg/SVGLangSpace.cpp:
1373         (WebCore::SVGLangSpace::xmlspace):
1374         (WebCore::SVGLangSpace::addSupportedAttributes):
1375         * svg/SVGMarkerElement.cpp:
1376         (WebCore::SVGMarkerElement::orientTypeIdentifier):
1377         (WebCore::SVGMarkerElement::orientAngleIdentifier):
1378         (WebCore::SVGMarkerElement::synchronizeOrientType):
1379         * svg/SVGStyleElement.cpp:
1380         (WebCore::SVGStyleElement::type):
1381         (WebCore::SVGStyleElement::media):
1382         * svg/SVGTransform.cpp:
1383         (WebCore::SVGTransform::transformTypePrefixForParsing):
1384         * svg/SVGViewSpec.cpp:
1385         (WebCore::SVGViewSpec::viewBoxIdentifier):
1386         (WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
1387         (WebCore::SVGViewSpec::transformIdentifier):
1388         * svg/animation/SVGSMILElement.cpp:
1389         (WebCore::SVGSMILElement::parseClockValue):
1390         (WebCore::SVGSMILElement::isSupportedAttribute):
1391         (WebCore::SVGSMILElement::restart):
1392         (WebCore::SVGSMILElement::fill):
1393         (WebCore::SVGSMILElement::repeatCount):
1394         (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
1395
1396 2016-01-08  Zalan Bujtas  <zalan@apple.com>
1397
1398         Absolute positioning -webkit-search-cancel-button crashes Safari.
1399         https://bugs.webkit.org/show_bug.cgi?id=152847
1400         <rdar://problem/24112087>
1401
1402         Reviewed by Simon Fraser.
1403
1404         Do not call offsetFromContainer while resolving the painting position for the search/cancel button renderer.
1405         It skips the static positioned parent input renderer, when the search/cancel renderer is absolute positioned.
1406         This patch also fixes a rendering glitch when the margin-right is > 0.
1407
1408         Test: fast/forms/absolute-positioned-custom-search-cancel-crash.html
1409
1410         * rendering/RenderTheme.h:
1411         (WebCore::RenderTheme::paintSearchFieldCancelButton):
1412         (WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
1413         (WebCore::RenderTheme::paintSearchFieldResultsButton):
1414         * rendering/RenderThemeMac.h:
1415         * rendering/RenderThemeMac.mm:
1416         (WebCore::convertToPaintingPosition):
1417         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1418         (WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
1419         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1420         (WebCore::RenderThemeMac::convertToPaintingRect): Deleted.
1421
1422 2016-01-08  Simon Fraser  <simon.fraser@apple.com>
1423
1424         Add display-list drawing hooks to platform-specific GraphicsContext files
1425         https://bugs.webkit.org/show_bug.cgi?id=152940
1426
1427         Reviewed by Zalan Bujtas.
1428
1429         Call into the display list recorder for top-level entrypoints implemented in platform-specific
1430         files.
1431         
1432         The convention is that if a function begins with "platform", it's not a top-level
1433         entry point, and should only be called when there's a platform context (i.e. not
1434         recording, and not paintingDisabled).
1435         
1436         A few instances are stubbed out until we have a more complete display list implementation.
1437
1438         * platform/graphics/GraphicsContext.cpp:
1439         (WebCore::GraphicsContext::drawText):
1440         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1441         (WebCore::GraphicsContext::getCTM):
1442         (WebCore::GraphicsContext::savePlatformState):
1443         (WebCore::GraphicsContext::restorePlatformState):
1444         (WebCore::GraphicsContext::drawRect):
1445         (WebCore::GraphicsContext::drawNativeImage):
1446         (WebCore::GraphicsContext::drawLine):
1447         (WebCore::GraphicsContext::drawEllipse):
1448         (WebCore::GraphicsContext::drawConvexPolygon):
1449         (WebCore::GraphicsContext::clipConvexPolygon):
1450         (WebCore::GraphicsContext::fillPath):
1451         (WebCore::GraphicsContext::strokePath):
1452         (WebCore::GraphicsContext::fillRect):
1453         (WebCore::GraphicsContext::clip):
1454         (WebCore::GraphicsContext::clipPath):
1455         (WebCore::GraphicsContext::clipBounds):
1456         (WebCore::GraphicsContext::drawLinesForText):
1457         (WebCore::GraphicsContext::roundToDevicePixels):
1458         (WebCore::GraphicsContext::translate):
1459         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1460         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1461         (WebCore::GraphicsContext::concatCTM):
1462         (WebCore::GraphicsContext::setCTM):
1463         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1464         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1465         (WebCore::GraphicsContext::clearRect):
1466         (WebCore::GraphicsContext::strokeRect):
1467         (WebCore::GraphicsContext::setLineCap):
1468         (WebCore::GraphicsContext::setLineDash):
1469         (WebCore::GraphicsContext::setLineJoin):
1470         (WebCore::GraphicsContext::clipOut):
1471         (WebCore::GraphicsContext::rotate):
1472         (WebCore::GraphicsContext::scale):
1473         (WebCore::GraphicsContext::platformFillRoundedRect):
1474         (WebCore::GraphicsContext::fillRectWithRoundedHole):
1475         (WebCore::GraphicsContext::drawPattern):
1476         (WebCore::GraphicsContext::setPlatformShouldAntialias):
1477         (WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
1478         (WebCore::GraphicsContext::isAcceleratedContext):
1479         * platform/graphics/cg/GraphicsContextCG.cpp:
1480         (WebCore::GraphicsContext::savePlatformState):
1481         (WebCore::GraphicsContext::restorePlatformState):
1482         (WebCore::GraphicsContext::drawNativeImage):
1483         (WebCore::GraphicsContext::drawPattern):
1484         (WebCore::GraphicsContext::drawRect):
1485         (WebCore::GraphicsContext::drawLine):
1486         (WebCore::GraphicsContext::drawEllipse):
1487         (WebCore::GraphicsContext::drawConvexPolygon):
1488         (WebCore::GraphicsContext::clipConvexPolygon):
1489         (WebCore::GraphicsContext::applyStrokePattern):
1490         (WebCore::GraphicsContext::applyFillPattern):
1491         (WebCore::GraphicsContext::drawPath):
1492         (WebCore::GraphicsContext::fillPath):
1493         (WebCore::GraphicsContext::strokePath):
1494         (WebCore::GraphicsContext::fillRect):
1495         (WebCore::GraphicsContext::platformFillRoundedRect):
1496         (WebCore::GraphicsContext::fillRectWithRoundedHole):
1497         (WebCore::GraphicsContext::clip):
1498         (WebCore::GraphicsContext::clipOut):
1499         (WebCore::GraphicsContext::clipPath):
1500         (WebCore::GraphicsContext::clipBounds):
1501         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
1502         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
1503         (WebCore::GraphicsContext::setPlatformShadow):
1504         (WebCore::GraphicsContext::setMiterLimit):
1505         (WebCore::GraphicsContext::clearRect):
1506         (WebCore::GraphicsContext::strokeRect):
1507         (WebCore::GraphicsContext::setLineCap):
1508         (WebCore::GraphicsContext::setLineDash):
1509         (WebCore::GraphicsContext::setLineJoin):
1510         (WebCore::GraphicsContext::scale):
1511         (WebCore::GraphicsContext::rotate):
1512         (WebCore::GraphicsContext::translate):
1513         (WebCore::GraphicsContext::concatCTM):
1514         (WebCore::GraphicsContext::setCTM):
1515         (WebCore::GraphicsContext::getCTM):
1516         (WebCore::GraphicsContext::roundToDevicePixels):
1517         (WebCore::GraphicsContext::drawLinesForText):
1518         (WebCore::GraphicsContext::setURLForRect):
1519         (WebCore::GraphicsContext::setIsCALayerContext):
1520         (WebCore::GraphicsContext::isCALayerContext):
1521         (WebCore::GraphicsContext::setIsAcceleratedContext):
1522         (WebCore::GraphicsContext::isAcceleratedContext):
1523         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
1524         (WebCore::GraphicsContext::setPlatformStrokeColor):
1525         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1526         (WebCore::GraphicsContext::setPlatformFillColor):
1527         (WebCore::GraphicsContext::setPlatformShouldAntialias):
1528         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
1529         (WebCore::GraphicsContext::setPlatformAlpha):
1530         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1531         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
1532         (WebCore::GraphicsContext::platformFillEllipse):
1533         (WebCore::GraphicsContext::platformStrokeEllipse):
1534
1535 2016-01-08  Simon Fraser  <simon.fraser@apple.com>
1536
1537         Add DisplayList hooks into GraphicsContext
1538         https://bugs.webkit.org/show_bug.cgi?id=152932
1539
1540         Reviewed by Zalan Bujtas.
1541
1542         Add the hooks into GraphicsContext that call into the DisplayListRecorder if there
1543         is one.
1544         
1545         Rename size() to something less ambiguous.
1546         
1547         Out-of-line some DisplayList functions so that the header doesn't need to see
1548         DisplayListItems.h.
1549
1550         * platform/graphics/GraphicsContext.cpp:
1551         (WebCore::GraphicsContext::save):
1552         (WebCore::GraphicsContext::restore):
1553         (WebCore::GraphicsContext::setStrokeThickness):
1554         (WebCore::GraphicsContext::setStrokeStyle):
1555         (WebCore::GraphicsContext::setStrokeColor):
1556         (WebCore::GraphicsContext::setShadow):
1557         (WebCore::GraphicsContext::setLegacyShadow):
1558         (WebCore::GraphicsContext::clearShadow):
1559         (WebCore::GraphicsContext::setFillColor):
1560         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
1561         (WebCore::GraphicsContext::setShouldAntialias):
1562         (WebCore::GraphicsContext::setShouldSmoothFonts):
1563         (WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
1564         (WebCore::GraphicsContext::setImageInterpolationQuality):
1565         (WebCore::GraphicsContext::setAntialiasedFontDilationEnabled):
1566         (WebCore::GraphicsContext::setStrokePattern):
1567         (WebCore::GraphicsContext::setFillPattern):
1568         (WebCore::GraphicsContext::setStrokeGradient):
1569         (WebCore::GraphicsContext::setFillRule):
1570         (WebCore::GraphicsContext::setFillGradient):
1571         (WebCore::GraphicsContext::beginTransparencyLayer):
1572         (WebCore::GraphicsContext::endTransparencyLayer):
1573         (WebCore::GraphicsContext::drawGlyphs):
1574         (WebCore::GraphicsContext::drawImage):
1575         (WebCore::GraphicsContext::drawTiledImage):
1576         (WebCore::GraphicsContext::setTextDrawingMode):
1577         (WebCore::GraphicsContext::fillRect):
1578         (WebCore::GraphicsContext::fillRoundedRect):
1579         (WebCore::GraphicsContext::setAlpha):
1580         (WebCore::GraphicsContext::setCompositeOperation):
1581         (WebCore::GraphicsContext::setDrawLuminanceMask):
1582         (WebCore::GraphicsContext::applyDeviceScaleFactor):
1583         (WebCore::GraphicsContext::applyState):
1584         * platform/graphics/GraphicsContext.h:
1585         (WebCore::GraphicsContext::setDisplayListRecorder):
1586         (WebCore::GraphicsContext::isRecording):
1587         (WebCore::GraphicsContext::setFillRule): Deleted.
1588         (WebCore::GraphicsContext::setShadowsIgnoreTransforms): Deleted.
1589         (WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts): Deleted.
1590         (WebCore::GraphicsContext::setDrawLuminanceMask): Deleted.
1591         * platform/graphics/displaylists/DisplayList.cpp:
1592         (WebCore::DisplayList::DisplayList::clear):
1593         (WebCore::DisplayList::DisplayList::removeItemsFromIndex):
1594         * platform/graphics/displaylists/DisplayList.h:
1595         (WebCore::DisplayList::DisplayList::itemCount):
1596         (WebCore::DisplayList::DisplayList::clear): Deleted.
1597         (WebCore::DisplayList::DisplayList::size): Deleted.
1598         (WebCore::DisplayList::DisplayList::removeItemsFromIndex): Deleted.
1599         * platform/graphics/displaylists/DisplayListRecorder.cpp:
1600         (WebCore::DisplayList::Recorder::save):
1601         (WebCore::DisplayList::Recorder::restore):
1602         * platform/graphics/displaylists/DisplayListRecorder.h:
1603         (WebCore::DisplayList::Recorder::itemCount):
1604         (WebCore::DisplayList::Recorder::size): Deleted.
1605         * platform/graphics/displaylists/DisplayListReplayer.cpp:
1606         (WebCore::DisplayList::Replayer::replay):
1607
1608 2016-01-08  Brady Eidson  <beidson@apple.com>
1609
1610         Modern IDB: imported/w3c/indexeddb/keyorder.htm times out.
1611         https://bugs.webkit.org/show_bug.cgi?id=152929
1612
1613         Reviewed by Alex Christensen.
1614
1615         No new tests (Existing test now runs in the test harness).
1616
1617         * Modules/indexeddb/client/IDBCursorImpl.cpp:
1618         (WebCore::IDBClient::IDBCursor::setGetResult):
1619
1620 2016-01-08  Simon Fraser  <simon.fraser@apple.com>
1621
1622         Consider painting to be disabled on a GraphicsContext with no platform data, and make updatingControlTints() immutable state
1623         https://bugs.webkit.org/show_bug.cgi?id=152927
1624
1625         Reviewed by Tim Horton.
1626
1627         GraphicsContext had setters for paintingDisabled and updatingControlTints, but neither
1628         were changed dynamically.
1629         
1630         We can eliminate paintingDisabled by simply considering a GraphicsContext that was
1631         created with no platform context to be paint-disabled.
1632         
1633         We make updatingControlTints immutable state by providing a constructor that takes
1634         a "NonPaintingReasons" enum, and doesn't create platform data.
1635         
1636         More functions in platform code were protected by if (paintingDisabled())...
1637
1638         * page/FrameView.cpp:
1639         (WebCore::FrameView::paintControlTints):
1640         * platform/graphics/GraphicsContext.cpp:
1641         (WebCore::GraphicsContext::GraphicsContext):
1642         (WebCore::GraphicsContext::fillRoundedRect):
1643         (WebCore::GraphicsContext::setUpdatingControlTints): Deleted.
1644         (WebCore::GraphicsContext::clip): Deleted.
1645         * platform/graphics/GraphicsContext.h:
1646         (WebCore::GraphicsContext::paintingDisabled):
1647         (WebCore::GraphicsContext::updatingControlTints):
1648         (WebCore::GraphicsContextState::GraphicsContextState): Deleted.
1649         (WebCore::GraphicsContext::setPaintingDisabled): Deleted.
1650         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1651         (WebCore::GraphicsContext::GraphicsContext):
1652         (WebCore::GraphicsContext::platformInit):
1653         * platform/graphics/cg/GraphicsContextCG.cpp:
1654         (WebCore::GraphicsContext::platformInit):
1655         (WebCore::GraphicsContext::savePlatformState):
1656         (WebCore::GraphicsContext::restorePlatformState):
1657         (WebCore::GraphicsContext::drawNativeImage):
1658         (WebCore::GraphicsContext::drawPattern):
1659         (WebCore::GraphicsContext::drawRect):
1660         (WebCore::GraphicsContext::applyStrokePattern):
1661         (WebCore::GraphicsContext::applyFillPattern):
1662         (WebCore::GraphicsContext::clip):
1663         (WebCore::GraphicsContext::clipBounds):
1664         (WebCore::GraphicsContext::setLineDash):
1665         (WebCore::GraphicsContext::roundToDevicePixels):
1666         (WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
1667         (WebCore::GraphicsContext::setIsCALayerContext):
1668         (WebCore::GraphicsContext::isCALayerContext):
1669         (WebCore::GraphicsContext::setIsAcceleratedContext):
1670         (WebCore::GraphicsContext::isAcceleratedContext):
1671         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
1672         * platform/graphics/win/GraphicsContextCGWin.cpp:
1673         (WebCore::GraphicsContext::platformInit):
1674         (WebCore::GraphicsContext::GraphicsContext): Deleted.
1675         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1676         (WebCore::GraphicsContext::platformInit):
1677         (WebCore::GraphicsContext::GraphicsContext): Deleted.
1678
1679 2016-01-08  Anders Carlsson  <andersca@apple.com>
1680
1681         InputType::findClosestTickMarkValue should return an Optional<Decimal>
1682         https://bugs.webkit.org/show_bug.cgi?id=152931
1683
1684         Reviewed by Andreas Kling.
1685
1686         This will make it possible to get rid of the notion of infinity from Decimal, allowing for more code simplification.
1687
1688         * html/HTMLInputElement.cpp:
1689         (WebCore::HTMLInputElement::findClosestTickMarkValue):
1690         * html/HTMLInputElement.h:
1691         * html/InputType.cpp:
1692         (WebCore::InputType::findClosestTickMarkValue):
1693         * html/InputType.h:
1694         * html/RangeInputType.cpp:
1695         (WebCore::RangeInputType::findClosestTickMarkValue):
1696         * html/RangeInputType.h:
1697         * html/shadow/SliderThumbElement.cpp:
1698         (WebCore::SliderThumbElement::setPositionFromPoint):
1699
1700 2016-01-08  Brady Eidson  <beidson@apple.com>
1701
1702         Modern IDB: IDBBindingUtilities chokes on unicode strings for get/set.
1703         https://bugs.webkit.org/show_bug.cgi?id=152921
1704
1705         Reviewed by Alex Christensen.
1706
1707         No new tests (Covered by existing tests).
1708
1709         * bindings/js/IDBBindingUtilities.cpp:
1710         (WebCore::get): Don't do a potentially lossy utf8() conversion on the string.
1711         (WebCore::set): Ditto.
1712
1713 2016-01-08  Per Arne Vollan  <peavo@outlook.com>
1714
1715         [WinCairo] Support more video formats.
1716         https://bugs.webkit.org/show_bug.cgi?id=152890
1717
1718         Reviewed by Alex Christensen.
1719
1720         Use MediaFoundation api to detect all supported video/audio formats.
1721
1722         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1723         (WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes):
1724         (WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
1725
1726 2016-01-08  Brady Eidson  <beidson@apple.com>
1727
1728         Modern IDB: Blocked event can fire on a delete request even after the last open connection has closed.
1729         https://bugs.webkit.org/show_bug.cgi?id=152896
1730
1731         Reviewed by Alex Christensen.
1732
1733         No new tests (Progression in many tests).
1734
1735         * Modules/indexeddb/client/IDBFactoryImpl.cpp:
1736         (WebCore::IDBClient::IDBFactory::deleteDatabase):
1737         
1738         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
1739         (WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation): Allow for handling 2+ delete operations in a row.
1740         (WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore): Ditto.
1741         (WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient): Call "notifyCurrentRequestConnectionClosedOrFiredVersionChangeEvent"
1742           after the connection is actually removed from the set of open connections.
1743         * Modules/indexeddb/server/UniqueIDBDatabase.h:
1744
1745 2016-01-08  Zalan Bujtas  <zalan@apple.com>
1746
1747         Hovering link on http://help.apple.com/appletv/#/ does not show text underline.
1748         https://bugs.webkit.org/show_bug.cgi?id=152906
1749         <rdar://problem/23339617>
1750
1751         Reviewed by Simon Fraser.
1752
1753         GraphicsContext::computeLineBoundsAndAntialiasingModeForText() always integral ceils the origin y position to offset underline text.
1754         This additional visual overflow offset is not taken into account by visualOverflowForDecorations().
1755         Unfortunately we can't compute the exact same offset value while collecting repaint rects, because
1756         computeLineBoundsAndAntialiasingModeForText() uses CTM scaling before adjusting the offset position.
1757         Use 1px (css) bottom offset to cover this underling overflow.
1758
1759         Test: fast/css3-text/css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position.html
1760
1761         * platform/graphics/GraphicsContext.cpp:
1762         (WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText):
1763         * rendering/SimpleLineLayoutResolver.cpp: Add visual overflow to simple line layout.
1764         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1765         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
1766         * rendering/SimpleLineLayoutResolver.h:
1767         * style/InlineTextBoxStyle.cpp:
1768         (WebCore::visualOverflowForDecorations):
1769
1770 2016-01-08  Brady Eidson  <beidson@apple.com>
1771
1772         Modern IDB: imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order.htm fails.
1773         https://bugs.webkit.org/show_bug.cgi?id=152891
1774
1775         Reviewed by Alex Christensen.
1776
1777         No new tests (At least two failing tests now pass).
1778
1779         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1780         (WebCore::IDBClient::IDBRequest::dispatchEvent): Whenever we add the IDBTransaction as an event target,
1781           also add the IDBDatabase.
1782
1783 2016-01-07  Antti Koivisto  <antti@apple.com>
1784
1785         Enable selector filtering for shadow trees
1786         https://bugs.webkit.org/show_bug.cgi?id=152831
1787
1788         Reviewed by Simon Fraser.
1789
1790         Selector filtering doesn't currently work in shadow trees making style resolve for them slow.
1791         This is because SelectorFilter is not in "consistent" state.
1792
1793         This patch moves SelectorFilter ownership from StyleResolver to TreeResolver and guarantees
1794         it is always upadated consistently. It eliminates a bunch of now unnecessary consistency checks
1795         and special cases.
1796
1797         * css/ElementRuleCollector.cpp:
1798         (WebCore::ElementRuleCollector::ElementRuleCollector):
1799
1800             Assert for consistency instead of testing for it.
1801
1802         (WebCore::ElementRuleCollector::matchedResult):
1803         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1804
1805             Selector filter can now be used if it exists.
1806
1807         * css/ElementRuleCollector.h:
1808         (WebCore::ElementRuleCollector::ElementRuleCollector): Deleted.
1809         * css/RuleSet.cpp:
1810         (WebCore::RuleSet::addRule):
1811
1812             Disable selector filtering for custom shadow pseudo rules. They are resolved by shadow DOM resolver
1813             but may contain components matching the normal DOM.
1814
1815         * css/RuleSet.h:
1816         (WebCore::RuleData::descendantSelectorIdentifierHashes):
1817         (WebCore::RuleData::disableSelectorFiltering):
1818         (WebCore::RuleData::compilationStatus):
1819         (WebCore::RuleData::compiledSelectorCodeRef):
1820         * css/SelectorFilter.cpp:
1821         (WebCore::collectElementIdentifierHashes):
1822         (WebCore::SelectorFilter::parentStackIsConsistent):
1823
1824             New consistency conditions. This is now used for asserts only.
1825
1826         (WebCore::SelectorFilter::pushParentStackFrame):
1827         (WebCore::SelectorFilter::popParentStackFrame):
1828
1829             Selector filter only filters the current tree context, replace parentOrShadowHostElement with parentElement.
1830
1831         (WebCore::SelectorFilter::setupParentStack): Deleted.
1832
1833             No longer needed.
1834
1835         (WebCore::SelectorFilter::pushParent):
1836
1837             Remove consistency check. These cases no longer happen.
1838
1839         * css/SelectorFilter.h:
1840         (WebCore::SelectorFilter::popParent):
1841         (WebCore::SelectorFilter::parentStackIsEmpty):
1842         (WebCore::SelectorFilter::fastRejectSelector):
1843         (WebCore::SelectorFilter::parentStackIsConsistent): Deleted.
1844         * css/StyleInvalidationAnalysis.cpp:
1845         (WebCore::StyleInvalidationAnalysis::invalidateIfNeeded):
1846         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
1847         * css/StyleResolver.cpp:
1848         (WebCore::StyleResolver::appendAuthorStyleSheets):
1849         (WebCore::StyleResolver::addKeyframeStyle):
1850         (WebCore::StyleResolver::initElement):
1851         (WebCore::StyleResolver::State::initForStyleResolve):
1852
1853             We no longer owner the selector filter. Move it to State.
1854
1855         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1856         (WebCore::isAtShadowBoundary):
1857         (WebCore::StyleResolver::styleForElement):
1858         (WebCore::StyleResolver::pseudoStyleForElement):
1859         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1860         (WebCore::StyleResolver::pushParentElement): Deleted.
1861         (WebCore::StyleResolver::popParentElement): Deleted.
1862
1863             No need for this logic.
1864
1865         * css/StyleResolver.h:
1866         (WebCore::StyleResolver::ruleSets):
1867         (WebCore::StyleResolver::mediaQueryEvaluator):
1868         (WebCore::StyleResolver::State::document):
1869         (WebCore::StyleResolver::State::setAuthorRollback):
1870         (WebCore::StyleResolver::State::setUserRollback):
1871         (WebCore::StyleResolver::State::selectorFilter):
1872         (WebCore::StyleResolver::state):
1873         (WebCore::checkRegionSelector):
1874         (WebCore::StyleResolver::selectorFilter): Deleted.
1875         (WebCore::StyleResolverParentPusher::StyleResolverParentPusher): Deleted.
1876         (WebCore::StyleResolverParentPusher::push): Deleted.
1877         (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher): Deleted.
1878         * style/StyleTreeResolver.cpp:
1879
1880             This now owns the selector filter for a tree context.
1881
1882         (WebCore::Style::SelectorFilterPusher::SelectorFilterPusher):
1883         (WebCore::Style::SelectorFilterPusher::push):
1884         (WebCore::Style::SelectorFilterPusher::~SelectorFilterPusher):
1885         (WebCore::Style::TreeResolver::TreeResolver):
1886         (WebCore::Style::TreeResolver::styleForElement):
1887         (WebCore::Style::TreeResolver::createRenderTreeForSlotAssignees):
1888         (WebCore::Style::TreeResolver::createRenderTreeRecursively):
1889         (WebCore::Style::TreeResolver::resolveChildren):
1890         (WebCore::Style::TreeResolver::resolveRecursively):
1891
1892             Push the filter in a few more places to keep it consistent in shadow trees.
1893
1894         * style/StyleTreeResolver.h:
1895
1896 2016-01-07  Zalan Bujtas  <zalan@apple.com>
1897
1898         Move computeLineBoundsForText from GraphicsContext* to GraphicsContext.
1899         https://bugs.webkit.org/show_bug.cgi?id=152882
1900
1901         Reviewed by Simon Fraser.
1902
1903         There is nothing platform specific about it.
1904
1905         No change in functionality.
1906
1907         * platform/graphics/GraphicsContext.cpp:
1908         (WebCore::GraphicsContext::computeUnderlineBoundsForText): Rename to reflect its usage.
1909         * platform/graphics/GraphicsContext.h:
1910         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1911         (WebCore::GraphicsContext::computeLineBoundsForText): Deleted.
1912         * platform/graphics/cg/GraphicsContextCG.cpp:
1913         (WebCore::GraphicsContext::drawLinesForText):
1914         (WebCore::GraphicsContext::computeLineBoundsForText): Deleted.
1915         * rendering/TextDecorationPainter.cpp:
1916         (WebCore::drawSkipInkUnderline):
1917
1918 2016-01-07  Brady Eidson  <beidson@apple.com>
1919
1920         Modern IDB: Success-after-open event should only have the IDBOpenDBRequest as its target.
1921         https://bugs.webkit.org/show_bug.cgi?id=152875
1922
1923         Reviewed by Alex Christensen.
1924
1925         No new tests (At least 2 failing tests now pass).
1926
1927         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
1928         (WebCore::IDBClient::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
1929
1930         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1931         (WebCore::IDBClient::IDBRequest::dispatchEvent): Only add the transaction and database as potential
1932           targets for this event if it is *not* the success-after-open event.
1933         * Modules/indexeddb/client/IDBRequestImpl.h:
1934
1935 2016-01-07  Brent Fulgham  <bfulgham@apple.com>
1936
1937         Correct missing EXT_sRGB Format Handling
1938         https://bugs.webkit.org/show_bug.cgi?id=152876
1939         <rdar://problem/23284389>
1940
1941         Reviewed by Alex Christensen.
1942
1943         Tested by WebGL 1.0.4 suite.
1944
1945         * platform/graphics/GraphicsContext3D.cpp:
1946         (getDataFormat): Handle missing SRGB and SRGB_ALPHA cases.
1947         * platform/graphics/GraphicsContext3D.h: Add missing SRGB_ALPHA value from the Khronos standard.
1948         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1949         (WebCore::GraphicsContext3D::texImage2D): Add an assertion that we are not being handed
1950         an internal format to a method that works with normal formats.
1951
1952 2016-01-07  Simon Fraser  <simon.fraser@apple.com>
1953
1954         Use an appropriate buffer format for swipe snapshots
1955         https://bugs.webkit.org/show_bug.cgi?id=152880
1956         rdar://problem/23728299
1957
1958         Reviewed by Tim Horton.
1959
1960         Choose an appropriate buffer format for swipe snapshots, and avoid converting
1961         them to YUV422.
1962
1963         * platform/graphics/cocoa/IOSurface.h:
1964         * platform/graphics/cocoa/IOSurface.mm:
1965         (IOSurface::allowConversionFromFormatToFormat):
1966
1967 2016-01-07  Jer Noble  <jer.noble@apple.com>
1968
1969         [EME] Secure stop information not written to disk
1970         https://bugs.webkit.org/show_bug.cgi?id=152855
1971
1972         Reviewed by Eric Carlson.
1973
1974         Two separate bugs for the two APIs provided by AVFoundation. For the AVStreamSession path,
1975         we were not calling the lazy-creation function which creates the AVStreamSession, and were
1976         rather accessing the ivar directly. For the AVContentKeySession, we were not creating the
1977         intermediate paths containing the secure stop database.
1978
1979         * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
1980         (WebCore::CDMSessionAVContentKeySession::contentKeySession):
1981         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1982         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
1983
1984 2016-01-07  Zalan Bujtas  <zalan@apple.com>
1985
1986         Use wavy offset for decoration painting when line style is TextDecorationStyleWavy.
1987         https://bugs.webkit.org/show_bug.cgi?id=152856
1988
1989         Reviewed by Simon Fraser.
1990
1991         No change in functionality.
1992
1993         * rendering/TextDecorationPainter.cpp:
1994         (WebCore::TextDecorationPainter::paintTextDecoration):
1995
1996 2016-01-07  Brady Eidson  <beidson@apple.com>
1997
1998         Modern IDB: Various imported/w3c/indexeddb tests fail due to expecting the wrong exception.
1999         https://bugs.webkit.org/show_bug.cgi?id=152866
2000
2001         Reviewed by Alex Christensen.
2002
2003         No new tests (5 skipped tests now pass).
2004
2005         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2006         (WebCore::IDBClient::IDBObjectStore::putOrAdd): Reorder the exceptions, violating the spec but matching
2007           a vast majority of browsers.
2008         (WebCore::IDBClient::IDBObjectStore::deleteFunction): Ditto.
2009         (WebCore::IDBClient::IDBObjectStore::clear): Ditto.
2010         (WebCore::IDBClient::IDBObjectStore::doCount): Ditto.
2011
2012 2016-01-07  Zalan Bujtas  <zalan@apple.com>
2013
2014         Remove unused shouldAntialias parameter from GraphicsContext::computeLineBoundsAndAntialiasingModeForText()
2015         https://bugs.webkit.org/show_bug.cgi?id=152859
2016
2017         Reviewed by Simon Fraser.
2018
2019         No change in functionality.
2020
2021         * platform/graphics/GraphicsContext.cpp:
2022         (WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText):
2023         * platform/graphics/GraphicsContext.h:
2024         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2025         (WebCore::GraphicsContext::computeLineBoundsForText):
2026         (WebCore::GraphicsContext::drawLinesForText):
2027         * platform/graphics/cg/GraphicsContextCG.cpp:
2028         (WebCore::GraphicsContext::computeLineBoundsForText):
2029         (WebCore::GraphicsContext::drawLinesForText):
2030
2031 2016-01-07  Brady Eidson  <beidson@apple.com>
2032
2033         Modern IDB: imported/w3c/indexeddb/idbcursor-continue.htm fails.
2034         https://bugs.webkit.org/show_bug.cgi?id=152849
2035
2036         Reviewed by Alex Christensen.
2037
2038         No new tests (At least one failing test now passes).
2039
2040         * Modules/indexeddb/server/MemoryIndexCursor.cpp:
2041         (WebCore::IDBServer::MemoryIndexCursor::iterate): Don't allow returning an iterator outside of
2042           the cursor's assigned range.
2043
2044 2016-01-07  Zalan Bujtas  <zalan@apple.com>
2045
2046         Incorrect position: fixed; rendering when child of position:relative/sticky.
2047         https://bugs.webkit.org/show_bug.cgi?id=147284
2048
2049         Reviewed by Simon Fraser and David Hyatt.
2050
2051         Computing logical left for positioned objects should take the relative positioned ancestors' offset
2052         into account.
2053
2054         Tests: fast/block/positioning/fixed-container-with-relative-parent.html
2055                fast/block/positioning/fixed-container-with-sticky-parent.html
2056
2057         * rendering/RenderBox.cpp:
2058         (WebCore::computeInlineStaticDistance):
2059
2060 2016-01-06  Simon Fraser  <simon.fraser@apple.com>
2061
2062         Initial implementation files for display-list recording and playback
2063         https://bugs.webkit.org/show_bug.cgi?id=152816
2064
2065         Reviewed by Zalan Bujtas.
2066
2067         Add files for:
2068         - DisplayList, a class that holds a vector of display items, and in the future will hold metadata
2069           on the list for optimizations etc.
2070         - DisplayList::Recorder, the outward-facing recording API which GraphicsContext will
2071           call into.
2072         - DisplayList::Replayer, which plays back a DisplayList, possibly applying optimizations.
2073         - Various DisplayList::Items, one type for each display list operation. They cover most of the
2074           GraphicsContext functionality, other than clipping to an image buffer. Text drawing is stubbed
2075           out for now.
2076
2077         Added a "DisplayLists" log channel.
2078
2079         Added GraphicsContextState functions for tracking state deltas with change bits. It may
2080         make sense to combine GraphicsContextStateChange and GraphicsContextState, and use the
2081         dirty bits in non-display-list drawing as well.
2082
2083         * CMakeLists.txt:
2084         * WebCore.xcodeproj/project.pbxproj:
2085         * platform/Logging.h:
2086         * platform/graphics/GraphicsContext.h:
2087         * platform/graphics/displaylists/DisplayList.cpp: Added.
2088         (WebCore::DisplayList::DisplayList::description):
2089         (WebCore::DisplayList::DisplayList::dump):
2090         (WebCore::operator<<):
2091         * platform/graphics/displaylists/DisplayListItems.cpp: Added.
2092         * platform/graphics/displaylists/DisplayListItems.h: Added.
2093         * platform/graphics/displaylists/DisplayListRecorder.cpp: Added.
2094         * platform/graphics/displaylists/DisplayListRecorder.h: Added.
2095         * platform/graphics/displaylists/DisplayListReplayer.cpp: Added.
2096         (WebCore::DisplayList::Replayer::Replayer):
2097         (WebCore::DisplayList::Replayer::~Replayer):
2098         (WebCore::DisplayList::Replayer::replay):
2099         * platform/graphics/displaylists/DisplayListReplayer.h: Added.
2100
2101 2016-01-07  Chris Dumez  <cdumez@apple.com>
2102
2103         Directly-composited animated GIFs never resume once scrolled offscreen
2104         https://bugs.webkit.org/show_bug.cgi?id=152817
2105         <rdar://problem/19982020>
2106
2107         Reviewed by Daniel Bates.
2108
2109         Directly-composited animated GIFs would never resume once scrolled
2110         offscreen. This is because calling repaint() in this case would not
2111         cause BitmapImage::draw() to be called and the animation would thus
2112         not be resumed. To address the problem,
2113         repaintForPausedImageAnimationsIfNeeded() now calls
2114         RenderBoxModelObject::contentChanged(ImageChanged) in addition to
2115         repaint() to make sure the animation actually gets resumed, even in
2116         the directly-composited animated GIF case.
2117
2118         Test: fast/images/composited-animated-gif-outside-viewport.html
2119
2120         * platform/graphics/BitmapImage.h:
2121         Make currentFrame() public so it can be exposed via Internals for the
2122         purpose of testing.
2123
2124         * rendering/RenderElement.cpp:
2125         (WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):
2126         Call RenderBoxModelObject::contentChanged(ImageChanged) in addition to
2127         calling repaint() to make sure the animation actually gets resumed in
2128         the directly-composited animated GIFs case.
2129
2130         * testing/Internals.cpp:
2131         (WebCore::Internals::imageFrameIndex):
2132         * testing/Internals.h:
2133         * testing/Internals.idl:
2134         Expose new "unsigned long imageFrameIndex(Element)" operation on
2135         Internals so layout tests can better check if an image is actually
2136         animating. Previously, we would rely on the output of
2137         internals.hasPausedImageAnimations(Element) but this is not sufficient
2138         to cover this bug as our rendering code believed it has resumed the
2139         animations but the GIF was not actually animating due to it being
2140         directly-composited.
2141
2142 2016-01-07  Michael Catanzaro  <mcatanzaro@igalia.com>
2143
2144         [SOUP] Consider reducing max simultaneous connections
2145         https://bugs.webkit.org/show_bug.cgi?id=137282
2146
2147         Reviewed by Carlos Garcia Campos.
2148
2149         Reduce max simultaneous connections from 35 to 17, because (a) all major browsers except
2150         Chrome use 17, and (b) Chrome uses 10. The only reason we previously used 35 was that other
2151         browsers were using 35 at the time.
2152
2153         * platform/network/soup/SoupNetworkSession.cpp:
2154         (WebCore::SoupNetworkSession::SoupNetworkSession):
2155
2156 2016-01-06  Antti Koivisto  <antti@apple.com>
2157
2158         Factor free standing tree style resolve functions into a class
2159         https://bugs.webkit.org/show_bug.cgi?id=152786
2160
2161         Reviewed by Simon Fraser.
2162
2163         Factor the free standing tree style resolve functions into a class that can keep state.
2164         Style::TreeResolver instances resolve a single tree scope. It is instantiated for resolving
2165         the document style and then recursively for each encountered shadow tree.
2166
2167         This will enable new features and optimizations later.
2168
2169         * dom/Document.cpp:
2170         (WebCore::Document::recalcStyle):
2171
2172             Move the root style computation code back to Document. It fits better here and avoid some
2173             awkwardness with style resolver construction order.
2174
2175         * style/StyleResolveTree.cpp:
2176         (WebCore::Style::TreeResolver::TreeResolver):
2177
2178             TreeResolver knows the current tree context and the StyleResolver to use for it.
2179             Switch the functions to use these instead of recomputing them repeatedly.
2180
2181         (WebCore::Style::shouldCreateRenderer):
2182         (WebCore::Style::TreeResolver::styleForElement):
2183         (WebCore::Style::moveToFlowThreadIfNeeded):
2184         (WebCore::Style::TreeResolver::createRenderer):
2185         (WebCore::Style::updateTextRendererAfterContentChange):
2186         (WebCore::Style::TreeResolver::createRenderTreeForChildren):
2187         (WebCore::Style::TreeResolver::createRenderTreeForShadowRoot):
2188         (WebCore::Style::needsPseudoElement):
2189         (WebCore::Style::TreeResolver::createRenderTreeForBeforeOrAfterPseudoElement):
2190         (WebCore::Style::TreeResolver::createRenderTreeForSlotAssignees):
2191         (WebCore::Style::TreeResolver::createRenderTreeRecursively):
2192
2193             Rename to reduce the use of confusing "attach" terminology.
2194
2195         (WebCore::Style::pseudoStyleCacheIsInvalid):
2196         (WebCore::Style::TreeResolver::resolveLocally):
2197         (WebCore::Style::resolveTextNode):
2198         (WebCore::Style::TreeResolver::resolveChildAtShadowBoundary):
2199         (WebCore::Style::TreeResolver::resolveShadowTree):
2200         (WebCore::Style::TreeResolver::resolveBeforeOrAfterPseudoElement):
2201         (WebCore::Style::TreeResolver::resolveChildren):
2202         (WebCore::Style::TreeResolver::resolveSlotAssignees):
2203         (WebCore::Style::TreeResolver::resolveRecursively):
2204         (WebCore::Style::TreeResolver::resolve):
2205         (WebCore::Style::detachRenderTree):
2206         (WebCore::Style::styleForElement): Deleted.
2207         (WebCore::Style::createRendererIfNeeded): Deleted.
2208         (WebCore::Style::attachChildren): Deleted.
2209         (WebCore::Style::attachShadowRoot): Deleted.
2210         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded): Deleted.
2211         (WebCore::Style::attachSlotAssignees): Deleted.
2212         (WebCore::Style::attachRenderTree): Deleted.
2213         (WebCore::Style::resolveLocal): Deleted.
2214         (WebCore::Style::resolveChildAtShadowBoundary): Deleted.
2215         (WebCore::Style::resolveShadowTree): Deleted.
2216         (WebCore::Style::updateBeforeOrAfterPseudoElement): Deleted.
2217         (WebCore::Style::resolveChildren): Deleted.
2218         (WebCore::Style::resolveSlotAssignees): Deleted.
2219         (WebCore::Style::resolveTree): Deleted.
2220         * style/StyleResolveTree.h:
2221
2222 2016-01-07  Doug Russell  <d_russell@apple.com>
2223
2224         AX: AXObjectCacheMac is passing WebCore enum values directly to VoiceOver
2225         https://bugs.webkit.org/show_bug.cgi?id=151755
2226
2227         Reviewed by Chris Fleizach.
2228
2229         No new tests, covered by existing tests.
2230
2231         * accessibility/mac/AXObjectCacheMac.mm:
2232         (platformChangeTypeForWebCoreChangeType):
2233         (platformEditTypeForWebCoreEditType):
2234         (platformDirectionForWebCoreDirection):
2235         (platformGranularityForWebCoreGranularity):
2236         (WebCore::AXObjectCache::postTextStateChangePlatformNotification):
2237         (WebCore::textReplacementChangeDictionary):
2238         (WebCore::AXObjectCache::postTextReplacementPlatformNotification):
2239
2240 2016-01-06  Brady Eidson  <beidson@apple.com>
2241
2242         Modern IDB: Fix up IDBDatabaseIdentifier hash issues.
2243         https://bugs.webkit.org/show_bug.cgi?id=152822
2244
2245         Reviewed by Alex Christensen.
2246
2247         No new tests (No explicitly testable behavior change, existing tests pass, flakiness will be reduced).
2248
2249         * Modules/indexeddb/IDBDatabaseIdentifier.h:
2250         (WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
2251         (WebCore::IDBDatabaseIdentifier::isEmpty):
2252         (WebCore::IDBDatabaseIdentifierHashTraits::isEmptyValue):
2253         * page/SecurityOriginData.h:
2254
2255 2016-01-06  Simon Fraser  <simon.fraser@apple.com>
2256
2257         Sort the project file.
2258
2259         * WebCore.xcodeproj/project.pbxproj:
2260
2261 2016-01-06  Simon Fraser  <simon.fraser@apple.com>
2262
2263         Add a setting and preferences to enable display-list drawing. Does nothing yet.
2264         https://bugs.webkit.org/show_bug.cgi?id=152807
2265
2266         Reviewed by Zalan Bujtas.
2267
2268         Setting for display-list drawing.
2269
2270         * page/Settings.in:
2271
2272 2016-01-06  Eric Carlson  <eric.carlson@apple.com>
2273
2274         AirPlay route availability event not always sent
2275         https://bugs.webkit.org/show_bug.cgi?id=152802
2276
2277         Reviewed by Jer Noble.
2278
2279         Test: media/airplay-target-availability.html
2280
2281         * Modules/mediasession/WebMediaSessionManager.cpp:
2282         (WebCore::mediaProducerStateString): Log the new flags.
2283         (WebCore::WebMediaSessionManager::clientStateDidChange): Schedule a client reconfiguration if
2284           the 'requires monitoring', 'has listener', or 'has audio or video' flags have changed.
2285         (WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring): Start monitoring if
2286           at least one client has a listener and at least one has audio/video.
2287
2288         * html/HTMLMediaElement.cpp:
2289         (WebCore::HTMLMediaElement::mediaState): Set new flags.
2290         * html/HTMLMediaElement.h:
2291
2292         * page/MediaProducer.h: Define new flags. Add new state enum.
2293
2294         * platform/graphics/MediaPlaybackTargetContext.h: Initial state is "Unknown".
2295
2296         * platform/mock/MediaPlaybackTargetMock.h:
2297         * platform/mock/MediaPlaybackTargetPickerMock.cpp:
2298         (WebCore::MediaPlaybackTargetPickerMock::externalOutputDeviceAvailable): Enums not bitfields.
2299         (WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets): Ditto. Don't make
2300           device change callback if the device state is "Unknown".
2301         (WebCore::MediaPlaybackTargetPickerMock::setState): Ditto.
2302         * platform/mock/MediaPlaybackTargetPickerMock.h:
2303
2304         * testing/Internals.cpp:
2305         (WebCore::Internals::setMockMediaPlaybackTargetPickerState): Support new state.
2306
2307 2016-01-06  Brady Eidson  <beidson@apple.com>
2308
2309         Modern IDB: storage/indexeddb/odd-strings.html is flaky.
2310         https://bugs.webkit.org/show_bug.cgi?id=152800
2311
2312         Reviewed by Alex Christensen.
2313
2314         No new tests (Existing flaky test is now rock solid and unskipped).
2315
2316         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
2317         (WebCore::IDBClient::IDBDatabase::IDBDatabase):
2318         (WebCore::IDBClient::IDBDatabase::maybeCloseInServer): Only refuse to close in the server if there
2319           are active transactions. In the case of page navigation where stop() has been called on active DOM objects,
2320           there will never be any active transactions.
2321         
2322         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2323         (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
2324
2325 2016-01-06  Brady Eidson  <beidson@apple.com>
2326
2327         Modern IDB: storage/indexeddb/intversion-gated-on-delete.html is flaky.
2328         https://bugs.webkit.org/show_bug.cgi?id=152795
2329
2330         Reviewed by Alex Christensen.
2331
2332         No new tests (At least one failing test now passes).
2333
2334         Change the HashSet of open connection into a ListHashSet.
2335         
2336         This enforces a reliable order of event delivery, which this test relies on, 
2337         and which seems better in general.
2338
2339         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2340         (WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
2341         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2342
2343 2016-01-06  Simon Fraser  <simon.fraser@apple.com>
2344
2345         [iOS] Revert overflow:hidden on the body affecting viewport scale (r186786)
2346         https://bugs.webkit.org/show_bug.cgi?id=152803
2347         rdar://problem/22242515
2348
2349         Reviewed by Tim Horton.
2350
2351         You can't assume that if an author uses overflow:hidden on the body, they have no
2352         content outside the body that is important. Sites like Google Translate put
2353         abspos elements outside the body.
2354         
2355         So revert the change.
2356
2357         * page/FrameView.cpp:
2358         (WebCore::FrameView::contentsSizeRespectingOverflow): Deleted.
2359         * page/FrameView.h:
2360
2361 2016-01-06  Brent Fulgham  <bfulgham@apple.com>
2362
2363         Port blocking bypass issue using 307 redirect
2364         https://bugs.webkit.org/show_bug.cgi?id=152801
2365         <rdar://problem/24048554>
2366
2367         Reviewed by Anders Carlsson.
2368
2369         Tested by http/tests/security/blocked-on-redirect.html.
2370
2371         Make sure that 307 redirects check the requested URL via 'portAllowed'. 
2372
2373         * loader/DocumentLoader.cpp:
2374         (WebCore::DocumentLoader::willSendRequest): Confirm that the requested port
2375         is valid, and block load if it is not.
2376         * loader/FrameLoader.cpp:
2377         (WebCore::FrameLoader::reportBlockedPortFailed): Added.
2378         (WebCore::FrameLoader::blockedError): Added.
2379         * loader/FrameLoader.h:
2380
2381 2016-01-06  Myles C. Maxfield  <mmaxfield@apple.com>
2382
2383         [Cocoa] Tiny cleanup in FontPlatformData::ctFont()
2384         https://bugs.webkit.org/show_bug.cgi?id=152793
2385
2386         Reviewed by Zalan Bujtas.
2387
2388         No new tests because there is no behavior change.
2389
2390         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2391         (WebCore::FontPlatformData::ctFont):
2392
2393 2016-01-06  Brady Eidson  <beidson@apple.com>
2394
2395         Modern IDB: storage/indexeddb/transaction-scope-sequencing.html fails
2396         https://bugs.webkit.org/show_bug.cgi?id=152775
2397
2398         Reviewed by Alex Christensen.
2399
2400         No new tests (At least one failing test now passes, plus changes to another existing test).
2401         
2402         Any transaction enqueued after a read-write transaction whose scope overlaps with
2403         that read-write transaction cannot run until after that read-write transaction runs.
2404         
2405         Additionally, read-only transactions were actually sometimes running even though their scopes
2406         overlapped with a running read-write transaction.
2407         
2408         This patch fixes both of those issues.
2409     
2410         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2411         (WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired):
2412         (WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction):
2413         (WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted):
2414         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2415
2416 2016-01-06  Zalan Bujtas  <zalan@apple.com>
2417
2418         Float with media query positioned incorrectly after window resize.
2419         https://bugs.webkit.org/show_bug.cgi?id=152558
2420
2421         Reviewed by Simon Fraser and David Hyatt.
2422
2423         This patch ensures that when a renderer becomes floated, it is moved
2424         to the right containing block.
2425         When this floated renderer's previous sibling is an anonymous block, it needs
2426         to be reparented so that the float is positioned as if there was no anonymous block at all.
2427
2428         Test: fast/block/float/float-with-anonymous-previous-sibling.html
2429
2430         * rendering/RenderElement.cpp:
2431         (WebCore::RenderElement::styleDidChange):
2432
2433 2016-01-06  Zalan Bujtas  <zalan@apple.com>
2434
2435         isAnonymousInlineBlock() should exclude any ruby content.
2436         https://bugs.webkit.org/show_bug.cgi?id=152648
2437         <rdar://problem/23872549>
2438
2439         Reviewed by David Hyatt.
2440
2441         isAnonymousInlineBlock is designed for the new Block-Inside-Inline Model
2442         and all other anonymous inline-block renderers (including Ruby) should bail out of it.
2443         (see webkit.org/b/143145)
2444
2445         Test: fast/ruby/ruby-inline-margin-collapse-crash.html
2446
2447         * rendering/RenderObject.cpp:
2448         (WebCore::RenderObject::isAnonymousInlineBlock):
2449         * rendering/RenderObject.h:
2450         (WebCore::RenderObject::isAnonymousInlineBlock): Deleted.
2451
2452 2016-01-05  Zalan Bujtas  <zalan@apple.com>
2453
2454         showRenderTree: add inline-block/inline/block column.
2455         https://bugs.webkit.org/show_bug.cgi?id=152771
2456
2457         Reviewed by Simon Fraser.
2458
2459         The name of the renderer (RenderBlock etc) does not always reflect the associated display type.
2460
2461         No change in functionality.
2462
2463         * rendering/RenderObject.cpp:
2464         (WebCore::showRenderTreeLegend):
2465         (WebCore::RenderObject::showRenderObject):
2466
2467 2016-01-05  Simon Fraser  <simon.fraser@apple.com>
2468
2469         Move ImageBuffer::clip() code into GraphicsContext
2470         https://bugs.webkit.org/show_bug.cgi?id=152769
2471
2472         Reviewed by Zalan Bujtas.
2473
2474         For CG, GraphicsContext had clipToNativeImage(PassNativeImagePtr...), which
2475         was ugly and platform-specific.
2476         
2477         Fix by moving code from ImageBuffer::clip() for CG and Cairo into the platform-specific
2478         GraphicsContext implementations. This required some minor refactoring of scaleSizeToUserSpace()
2479         in ImageBufferCG.
2480
2481         * platform/graphics/GraphicsContext.cpp:
2482         (WebCore::GraphicsContext::clipToImageBuffer): Deleted.
2483         * platform/graphics/ImageBuffer.cpp:
2484         (WebCore::ImageBuffer::sizeForDestinationSize):
2485         * platform/graphics/ImageBuffer.h:
2486         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2487         (WebCore::GraphicsContext::clipToImageBuffer):
2488         * platform/graphics/cairo/ImageBufferCairo.cpp:
2489         (WebCore::ImageBuffer::clip): Deleted.
2490         * platform/graphics/cg/GraphicsContextCG.cpp:
2491         (WebCore::GraphicsContext::clipToImageBuffer):
2492         (WebCore::GraphicsContext::clipToNativeImage): Deleted.
2493         * platform/graphics/cg/ImageBufferCG.cpp:
2494         (WebCore::ImageBuffer::ImageBuffer):
2495         (WebCore::ImageBuffer::sizeForDestinationSize):
2496         (WebCore::ImageBuffer::putByteArray):
2497         (WebCore::ImageBuffer::toDataURL):
2498         (WebCore::ImageBuffer::clip): Deleted.
2499
2500 2016-01-05  Simon Fraser  <simon.fraser@apple.com>
2501
2502         Remove GraphicsContext::drawJoinedLines()
2503         https://bugs.webkit.org/show_bug.cgi?id=152764
2504
2505         Reviewed by Zalan Bujtas.
2506
2507         GraphicsContext::drawJoinedLines() was only used by iOS form-control drawing
2508         and polluted GraphicsContext with platform-specific types.
2509
2510         Rewrite RenderThemeIOS::paintCheckboxDecorations() to use the CGContextRef directly.
2511
2512         * platform/graphics/GraphicsContext.h:
2513         * platform/graphics/cg/GraphicsContextCG.cpp:
2514         (WebCore::GraphicsContext::drawJoinedLines): Deleted.
2515         * rendering/RenderThemeIOS.mm:
2516         (WebCore::drawJoinedLines):
2517         (WebCore::RenderThemeIOS::paintCheckboxDecorations):
2518
2519 2016-01-05  Brady Eidson  <beidson@apple.com>
2520
2521         Modern IDB: storage/indexeddb/structured-clone.html crashes.
2522         https://bugs.webkit.org/show_bug.cgi?id=152763
2523
2524         Reviewed by Alex Christensen.
2525
2526         No new tests (At least one failing test now passes).
2527         
2528         A lot of SerializedScriptValue code incorrectly assumed the global object is a JSDOMGlobalObject,
2529         which doesn't have to be true for native Javascript types like typed arrays.
2530         
2531         Fixing that fixes the test.
2532
2533         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2534         (WebCore::IDBClient::IDBObjectStore::putOrAdd): If serializing the script value caused an exception,
2535           clear that exception and return a better IDB specific exception.
2536
2537         * bindings/js/JSDOMBinding.h:
2538         (WebCore::toJS): Add a ArrayBufferView specialization for toJS that skips the need for a JSDOMGlobalObject.
2539         
2540         * bindings/js/SerializedScriptValue.cpp:
2541         (WebCore::CloneDeserializer::readArrayBufferView): Call toJS directly instead of getJSValue, which 
2542           incorrectly assumes the existence of a JSDOMGlobalObject (vs a JSGlobalObject)
2543         (WebCore::CloneDeserializer::readTerminal): Instead of getJSValue, call JSArrayBuffer::create directly.
2544
2545 2016-01-05  Pranjal Jumde  <pjumde@apple.com>
2546
2547         Image should not be re-registered if m_form already exists. This leads to an assertion failure.
2548         https://bugs.webkit.org/show_bug.cgi?id=152741
2549         <rdar://problem/24030778>
2550
2551         Reviewed by Brent Fulgham.
2552
2553         * Source/WebCore/html/HTMLImageElement.cpp:
2554           Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode& insertionPoint)
2555
2556 2016-01-05  Simon Fraser  <simon.fraser@apple.com>
2557
2558         Adjust tile coverage with margin tiles, and tidy up the indicator
2559         https://bugs.webkit.org/show_bug.cgi?id=152742
2560
2561         Reviewed by Beth Dakin.
2562
2563         The tile coverage rect was unfeasibly large when margin tiles are present, and
2564         could be bigger than the layer itself, making the indicator look odd.
2565
2566         Fix by improving the logic in TileController::adjustTileCoverageRect(): this
2567         now first extends the visible rect for scrolling, and then constrains it
2568         within the bounds with margin padding. It also unites with the passed-in
2569         coverageRect, ensuring that we don't lose information about overhang for
2570         margin tile coverage.
2571
2572         Second, update the tiled scrolling indicator when the visible rect changes,
2573         and coalesce the map updates on a timer.
2574
2575         * platform/graphics/TiledBacking.h:
2576         * platform/graphics/ca/GraphicsLayerCA.cpp:
2577         (WebCore::GraphicsLayerCA::adjustCoverageRect):
2578         * platform/graphics/ca/TileController.cpp:
2579         (WebCore::TileController::setVisibleRect):
2580         (WebCore::TileController::setTiledScrollingIndicatorPosition):
2581         (WebCore::expandRectWithinRect):
2582         (WebCore::TileController::adjustTileCoverageRect):
2583         (WebCore::TileController::updateTileCoverageMap):
2584         (WebCore::TileController::computeTileCoverageRect): Deleted.
2585         * platform/graphics/ca/TileController.h:
2586         * platform/graphics/ca/TileCoverageMap.cpp:
2587         (WebCore::TileCoverageMap::TileCoverageMap):
2588         (WebCore::TileCoverageMap::setNeedsUpdate):
2589         (WebCore::TileCoverageMap::updateTimerFired):
2590         * platform/graphics/ca/TileCoverageMap.h:
2591
2592 2016-01-05  Antti Koivisto  <antti@apple.com>
2593
2594         Remove selector filter update calls from Element child parsing callbacks
2595         https://bugs.webkit.org/show_bug.cgi?id=152749
2596
2597         Reviewed by Andreas Kling.
2598
2599         We haven't done style resolve during parsing for a while now. These calls do nothing useful.
2600
2601         * dom/Element.cpp:
2602         (WebCore::Element::beginParsingChildren):
2603         (WebCore::Element::finishParsingChildren):
2604
2605 2016-01-05  Brady Eidson  <beidson@apple.com>
2606
2607         Modern IDB: Error message updates for two failing tests.
2608         https://bugs.webkit.org/show_bug.cgi?id=152735
2609
2610         Reviewed by Alex Christensen.
2611
2612         No new tests (Covered by existing tests).
2613
2614         Add error messages for various operations on deleted objects.
2615         
2616         * Modules/indexeddb/client/IDBCursorImpl.cpp:
2617         (WebCore::IDBClient::IDBCursor::update):
2618         (WebCore::IDBClient::IDBCursor::advance):
2619         (WebCore::IDBClient::IDBCursor::continueFunction):
2620         (WebCore::IDBClient::IDBCursor::deleteFunction):
2621         
2622         * Modules/indexeddb/client/IDBIndexImpl.cpp:
2623         (WebCore::IDBClient::IDBIndex::openCursor):
2624         (WebCore::IDBClient::IDBIndex::doCount):
2625         (WebCore::IDBClient::IDBIndex::openKeyCursor):
2626         (WebCore::IDBClient::IDBIndex::doGet):
2627         (WebCore::IDBClient::IDBIndex::doGetKey):
2628         
2629         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2630         (WebCore::IDBClient::IDBObjectStore::openCursor):
2631         (WebCore::IDBClient::IDBObjectStore::get):
2632         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
2633         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
2634         (WebCore::IDBClient::IDBObjectStore::clear):
2635         (WebCore::IDBClient::IDBObjectStore::createIndex):
2636         (WebCore::IDBClient::IDBObjectStore::index):
2637         (WebCore::IDBClient::IDBObjectStore::deleteIndex):
2638         (WebCore::IDBClient::IDBObjectStore::doCount):
2639
2640         * bindings/js/JSIDBObjectStoreCustom.cpp:
2641         (WebCore::JSIDBObjectStore::createIndex):
2642
2643 2016-01-05  Eric Carlson  <eric.carlson@apple.com>
2644
2645         Avoid NULL deference in Page::updateIsPlayingMedia
2646         https://bugs.webkit.org/show_bug.cgi?id=152732
2647
2648         No new tests, this fixes a rare crash that I am unable to reproduce.
2649
2650         Reviewed by David Kilzer.
2651
2652         * page/Page.cpp:
2653         (WebCore::Page::updateIsPlayingMedia): frame->document() can return NULL.
2654
2655 2016-01-05  Brady Eidson  <beidson@apple.com>
2656
2657         Modern IDB: Transactions from a previous page can leak forward to the next.
2658         https://bugs.webkit.org/show_bug.cgi?id=152698
2659
2660         Reviewed by Alex Christensen.
2661
2662         Test: storage/indexeddb/modern/transactions-stop-on-navigation.html
2663
2664         This patch is mostly about actually implementing IDBDatabase::stop and IDBTransaction::stop.
2665         Most of the rest of the scattered changes are about cleaning up now-incorrect ASSERTs.
2666
2667         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
2668         (WebCore::IDBClient::IDBDatabase::close):
2669         (WebCore::IDBClient::IDBDatabase::maybeCloseInServer):
2670         (WebCore::IDBClient::IDBDatabase::stop):
2671         (WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction):
2672         (WebCore::IDBClient::IDBDatabase::didAbortTransaction):
2673         * Modules/indexeddb/client/IDBDatabaseImpl.h:
2674         
2675         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
2676         (WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
2677         
2678         * Modules/indexeddb/client/IDBRequestImpl.h:
2679         
2680         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2681         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
2682         (WebCore::IDBClient::IDBTransaction::stop):
2683         (WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests):
2684         
2685         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2686         (WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
2687         (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
2688
2689 2016-01-05  Zan Dobersek  <zdobersek@igalia.com>
2690
2691         Unreviewed. Attempting to fix the AppleWin build after r194577.
2692
2693         Add the ClipStack.cpp build target alongside the TextureMapperGL.cpp
2694         one, since both include GraphicsContext3D.h and ANGLEWebKitBridge.h
2695         indirectly, the latter requiring specific include flags.
2696
2697         * CMakeLists.txt:
2698         * PlatformEfl.cmake:
2699         * PlatformGTK.cmake:
2700         * PlatformWinCairo.cmake:
2701
2702 2016-01-05  Antti Koivisto  <antti@apple.com>
2703
2704         Move StyleChange enum into a separate file
2705         https://bugs.webkit.org/show_bug.cgi?id=152730
2706
2707         Reviewed by Andreas Kling.
2708
2709         Fewer whole-world rebuilds.
2710
2711         * CMakeLists.txt:
2712         * WebCore.vcxproj/WebCore.vcxproj:
2713         * WebCore.xcodeproj/project.pbxproj:
2714         * dom/CharacterData.cpp:
2715         * dom/ContainerNode.cpp:
2716         * dom/Document.cpp:
2717         * dom/Document.h:
2718         * dom/Element.cpp:
2719         * dom/Element.h:
2720         * style/StyleChange.h: Added.
2721         * style/StyleResolveTree.cpp:
2722         (WebCore::Style::shouldCreateRenderer):
2723         (WebCore::Style::determineChange): Deleted.
2724         * style/StyleResolveTree.h:
2725
2726 2016-01-04  Zan Dobersek  <zdobersek@igalia.com>
2727
2728         [PerformanceTiming] Don't expose the restrictedKeyMap() HashMap
2729         https://bugs.webkit.org/show_bug.cgi?id=147366
2730
2731         Reviewed by Sam Weinig.
2732
2733         Instead of the callers looking up in the HashMap that's returned by restrictedKeyMap(),
2734         keep the HashMap local in the static restrictedMarkFunction(). This function accepts
2735         a String reference and performs the lookup, returning the pointer to a PerformanceTiming
2736         method that corresponds to the passed-in mark or returns nullptr otherwise.
2737
2738         The HashMap is now wrapped in a NeverDestroyed object and is populated when the first
2739         mark function is looked for.
2740
2741         * page/PerformanceUserTiming.cpp:
2742         (WebCore::UserTiming::mark):
2743         (WebCore::UserTiming::findExistingMarkStartTime):
2744
2745 2016-01-04  Zan Dobersek  <zdobersek@igalia.com>
2746
2747         [TextureMapper] Move ClipStack into its own file
2748         https://bugs.webkit.org/show_bug.cgi?id=152661
2749
2750         Reviewed by Michael Catanzaro.
2751
2752         Move TextureMapperGL::ClipStack into its own file and clean it up a bit.
2753         Move ClipState under the ClipStack class, and simply name it State.
2754
2755         Move the ClipState methods into a more sensible order. Remove the inline
2756         specifiers, these aren't really needed for the methods defined in the header.
2757         apply() and applyIfNeeded() now accept a reference to the GraphicsContext3D
2758         object, not a pointer.
2759
2760         Turn YAxisMode enum into an enum class, update the uses to properly specify
2761         the scope of the enum value.
2762
2763         Reorder the ClipStack member variables into a more efficient order.
2764
2765         No new tests -- no change in behavior.
2766
2767         * CMakeLists.txt:
2768         * platform/graphics/texmap/BitmapTextureGL.cpp:
2769         (WebCore::BitmapTextureGL::clearIfNeeded):
2770         (WebCore::BitmapTextureGL::bindAsSurface):
2771         * platform/graphics/texmap/BitmapTextureGL.h:
2772         (WebCore::BitmapTextureGL::clipStack):
2773         * platform/graphics/texmap/ClipStack.cpp: Added.
2774         (WebCore::ClipStack::push):
2775         (WebCore::ClipStack::pop):
2776         (WebCore::ClipStack::reset):
2777         (WebCore::ClipStack::intersect):
2778         (WebCore::ClipStack::setStencilIndex):
2779         (WebCore::ClipStack::apply):
2780         (WebCore::ClipStack::applyIfNeeded):
2781         * platform/graphics/texmap/ClipStack.h: Added.
2782         (WebCore::ClipStack::State::State):
2783         (WebCore::ClipStack::current):
2784         (WebCore::ClipStack::getStencilIndex):
2785         (WebCore::ClipStack::isCurrentScissorBoxEmpty):
2786         * platform/graphics/texmap/TextureMapperGL.cpp:
2787         (WebCore::TextureMapperGL::clipStack):
2788         (WebCore::TextureMapperGL::beginPainting):
2789         (WebCore::TextureMapperGL::bindDefaultSurface):
2790         (WebCore::TextureMapperGL::beginScissorClip):
2791         (WebCore::TextureMapperGL::beginClip):
2792         (WebCore::TextureMapperGL::endClip):
2793         (WebCore::TextureMapperGL::ClipStack::reset): Deleted.
2794         (WebCore::TextureMapperGL::ClipStack::intersect): Deleted.
2795         (WebCore::TextureMapperGL::ClipStack::setStencilIndex): Deleted.
2796         (WebCore::TextureMapperGL::ClipStack::push): Deleted.
2797         (WebCore::TextureMapperGL::ClipStack::pop): Deleted.
2798         (WebCore::TextureMapperGL::ClipStack::apply): Deleted.
2799         (WebCore::TextureMapperGL::ClipStack::applyIfNeeded): Deleted.
2800         * platform/graphics/texmap/TextureMapperGL.h:
2801         (WebCore::TextureMapperGL::ClipState::ClipState): Deleted.
2802         (WebCore::TextureMapperGL::ClipStack::ClipStack): Deleted.
2803         (WebCore::TextureMapperGL::ClipStack::current): Deleted.
2804         (WebCore::TextureMapperGL::ClipStack::getStencilIndex): Deleted.
2805         (WebCore::TextureMapperGL::ClipStack::isCurrentScissorBoxEmpty): Deleted.
2806
2807 2016-01-04  Zan Dobersek  <zdobersek@igalia.com>
2808
2809         Shave off a TransformationMatrix copy if RenderLayer's transparencyClipBox()
2810         https://bugs.webkit.org/show_bug.cgi?id=152119
2811
2812         Reviewed by Simon Fraser.
2813
2814         * rendering/RenderLayer.cpp:
2815         (WebCore::transparencyClipBox): Multiply the transformation matrix returned by
2816         layer.transform() directly into the transform object, instead of first
2817         multiplying them and then copying the result back into the transform object.
2818
2819 2016-01-04  Myles C. Maxfield  <mmaxfield@apple.com>
2820
2821         TextBreakIterator uses an internal implementation detail of NSLocale
2822         https://bugs.webkit.org/show_bug.cgi?id=152715
2823         <rdar://problem/23775121>
2824
2825         Reviewed by Tim Horton.
2826
2827         Instead of directly querying AppleLanguages, we should use [NSLocale preferredLanguages].
2828
2829         No new tests because there is no behavior change.
2830
2831         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2832         (WebCore::topLanguagePreference):
2833
2834 2016-01-04  Joseph Pecoraro  <pecoraro@apple.com>
2835
2836         JSCustomXPathNSResolver::lookupNamespaceURI Console Message should render with a column number
2837         https://bugs.webkit.org/show_bug.cgi?id=114312
2838
2839         Reviewed by Brent Fulgham.
2840
2841         * bindings/js/JSCustomXPathNSResolver.cpp:
2842         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Deleted.
2843         This now behaves as expected.
2844
2845 2016-01-04  Brady Eidson  <beidson@apple.com>
2846
2847         Modern IDB: Memory indexes aren't deleted when their owning memory object stores are deleted.
2848         https://bugs.webkit.org/show_bug.cgi?id=152717
2849
2850         Reviewed by Alex Christensen.
2851
2852         Test: storage/indexeddb/modern/memory-index-not-deleted-with-objectstore.html
2853
2854         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2855         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
2856         * Modules/indexeddb/server/MemoryObjectStore.cpp:
2857         (WebCore::IDBServer::MemoryObjectStore::deleteAllIndexes):
2858         * Modules/indexeddb/server/MemoryObjectStore.h:
2859
2860 2016-01-04  Tim Horton  <timothy_horton@apple.com>
2861
2862         Turn on gesture events when building for Yosemite
2863         https://bugs.webkit.org/show_bug.cgi?id=152704
2864         rdar://problem/24042472
2865
2866         Reviewed by Anders Carlsson.
2867
2868         * Configurations/FeatureDefines.xcconfig:
2869
2870 2016-01-04  Sergio Villar Senin  <svillar@igalia.com>
2871
2872         REGRESSION(r194143): Float width incorrectly calculated on Wikipedia
2873         https://bugs.webkit.org/show_bug.cgi?id=152644
2874
2875         Reviewed by Myles C. Maxfield.
2876
2877         The min/max-content contribution computation for non replaced
2878         blocks changed in r194143. The implementation was actually
2879         more complex than it should be and actually incomplete as it
2880         was not considering the case of out of flow elements (because
2881         it was directly calling computeLogicalWidthInRegion()).
2882
2883         This new implementation simplifies a lot the code and makes it
2884         more complete as it relies on min|maxPreferredLogicalWidth()
2885         calls which already consider all the different types of boxes.
2886
2887         Test: fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html
2888
2889         * rendering/RenderBlock.cpp:
2890         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2891
2892 2016-01-04  David Hyatt  <hyatt@apple.com>
2893
2894         word-wrap: break-word broken inside a flexbox
2895         https://bugs.webkit.org/show_bug.cgi?id=152321
2896
2897         Reviewed by Simon Fraser.
2898
2899         Added fast/text/word-break-on-flexbox-child.html
2900
2901         * rendering/RenderText.cpp:
2902         (WebCore::RenderText::computePreferredLogicalWidths):
2903
2904         At some point word-wrap:break-word was mapped to CSS overflow-wrap, but the code
2905         in RenderText was never updated to use the breakWords() RenderStyle function that
2906         checks overflow-wrap's value.
2907
2908         This means all uses of word-wrap:break-word were broken when measuring the
2909         intrinsic width of a RenderText.
2910
2911 2016-01-04  John Wilander  <wilander@apple.com>
2912
2913         webkitGetUserMedia built-in should use @then and not then
2914         https://bugs.webkit.org/show_bug.cgi?id=152296
2915
2916         Reviewed by Brent Fulgham.
2917
2918         Test: streams/webkitGetUserMedia-shadowing-then.html
2919
2920         * Modules/mediastream/NavigatorUserMedia.js:
2921         (webkitGetUserMedia): Modified to use @then syntax.
2922
2923 2016-01-04  Myles C. Maxfield  <mmaxfield@apple.com>
2924
2925         Post-commit update for r193484.
2926         https://bugs.webkit.org/show_bug.cgi?id=151884
2927
2928         Unreviwed.
2929
2930         The same null check needs to be applied in fontHasVerticalGlyphs() as well.
2931
2932         * platform/graphics/cocoa/FontCocoa.mm:
2933         (WebCore::fontHasVerticalGlyphs):
2934
2935 2016-01-04  David Hyatt  <hyatt@apple.com>
2936
2937         Video/audio-related cleanup after changes to the source element for picture support.
2938         https://bugs.webkit.org/show_bug.cgi?id=152090
2939
2940         Reviewed by Darin Adler.
2941
2942          * html/HTMLMediaElement.cpp:
2943         (WebCore::HTMLMediaElement::selectNextSourceChild):
2944         Use the parsed MediaQueryList for video/audio, since we now cache that on the source elements for picture.
2945
2946         * html/HTMLSourceElement.cpp:
2947         (WebCore::HTMLSourceElement::insertedInto):
2948         (WebCore::HTMLSourceElement::removedFrom):
2949         Add guards to fix the build when video is not enabled.
2950
2951 2016-01-04  Brent Fulgham  <bfulgham@apple.com>
2952
2953         [Win] Clean up some Windows WebCore files
2954         https://bugs.webkit.org/show_bug.cgi?id=148275
2955
2956         Reviewed by Dean Jackson.
2957
2958         No new tests because there is no behavior change.
2959
2960         Update a handful of Windows-specific WebCore files to use
2961         the proper method signatures for our updated interfaces,
2962         get rid of cruft in the COM bindings, and use proper C++14
2963         initializers.
2964
2965         * accessibility/win/AccessibilityObjectWrapperWin.h:
2966         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2967         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
2968         * platform/win/PopupMenuWin.cpp:
2969         * platform/win/PopupMenuWin.h:
2970         * platform/win/WCDataObject.cpp:
2971         * platform/win/WCDataObject.h:
2972
2973 2016-01-04  Andreas Kling  <akling@apple.com>
2974
2975         Simplify the CachedScript ASCII optimization.
2976         <https://webkit.org/b/152596>
2977
2978         Reviewed by Antti Koivisto.
2979
2980         There's actually no need to keep a non-copying StringImpl around for the
2981         CachedScript's internal SharedBuffer. Get rid of that so we don't need
2982         to fidget with that string when the SharedBuffer changes underneath.
2983
2984         Renamed CachedScript::ASCIIOptimizationState to DecodingState to better
2985         reflect what it's used for. Also added explicit caching of the string
2986         hash since we can't rely on a StringImpl to keep that around now.
2987
2988         Bonus: Implement Darin's suggestion to let TextEncoding answer whether
2989         an encoding is byte-based and thus eligible for the ASCII optimization.
2990
2991         * loader/cache/CachedResource.cpp:
2992         (WebCore::CachedResource::tryReplaceEncodedData): Deleted.
2993         * loader/cache/CachedResource.h:
2994         (WebCore::CachedResource::didReplaceSharedBufferContents): Deleted.
2995         * loader/cache/CachedScript.cpp:
2996         (WebCore::CachedScript::script):
2997         (WebCore::CachedScript::scriptHash):
2998         (WebCore::encodingMayBeAllASCII): Deleted.
2999         (WebCore::CachedScript::didReplaceSharedBufferContents): Deleted.
3000         * loader/cache/CachedScript.h:
3001         * platform/text/TextEncoding.h:
3002         (WebCore::TextEncoding::isByteBasedEncoding):
3003
3004 2016-01-04  Philippe Normand  <pnormand@igalia.com>
3005
3006         [GStreamer] A video element isn't drawn onto the canvas.
3007         https://bugs.webkit.org/show_bug.cgi?id=132671
3008
3009         Reviewed by Michael Catanzaro.
3010
3011         When both cairo-gl and gst-gl are available the texture coming
3012         from glimagesink can be used to create a cairo-gl surface that can
3013         be used for video rendering within a canvas element.
3014
3015         * html/canvas/CanvasRenderingContext2D.cpp:
3016         (WebCore::CanvasRenderingContext2D::drawImage): Use NativeImage
3017         drawing if both cairo-gl and gst-gl are available.
3018         * platform/graphics/GraphicsContext.h: Implement drawNativeImage
3019         for Cairo GraphicsContext.
3020         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3021         (WebCore::GraphicsContext::drawNativeImage): Ditto.
3022         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3023         Implement nativeImageForCurrentTime(), this method is used by the
3024         canvas rendering context.
3025         (WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):
3026         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3027
3028 2016-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
3029
3030         [GTK] Fix -Wpessimizing-move warnings after switch to WTFMove
3031         https://bugs.webkit.org/show_bug.cgi?id=152677
3032
3033         Reviewed by Andy Estes.
3034
3035         * platform/glib/KeyedDecoderGlib.cpp:
3036         (WebCore::KeyedDecoderGlib::dictionaryFromGVariant):
3037         * platform/graphics/egl/GLContextEGL.cpp:
3038         (WebCore::GLContextEGL::createContext):
3039         * platform/graphics/glx/GLContextGLX.cpp:
3040         (WebCore::GLContextGLX::createContext):
3041
3042 2016-01-03  David Kilzer  <ddkilzer@apple.com>
3043
3044         -[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:] is missing an m_handle->client() NULL check
3045         <https://webkit.org/b/152673>
3046         <rdar://problem/23560530>
3047
3048         Reviewed by Daniel Bates.
3049
3050         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
3051         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
3052         Add NULL check for m_handle->client() so we don't crash due to a
3053         NULL dereference inside the dispatch_async() block.
3054
3055 2016-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
3056
3057         Unreviewed, turn off temporary scrolling logging on GTK
3058         https://bugs.webkit.org/show_bug.cgi?id=152649
3059
3060         * platform/Logging.cpp:
3061         (WebCore::initializeLoggingChannelsIfNecessary): Deleted.
3062
3063 2016-01-03  Simon Fraser  <simon.fraser@apple.com>
3064
3065         Fix Windows build after r194515.
3066
3067         * platform/win/PopupMenuWin.cpp:
3068         (WebCore::PopupMenuWin::scrollOffset):
3069         (WebCore::PopupMenuWin::scrollPosition): Renamed.
3070         * platform/win/PopupMenuWin.h:
3071
3072 2016-01-03  Khem Raj  <raj.khem@gmail.com>
3073
3074         WebKit fails to build with musl libc library
3075         https://bugs.webkit.org/show_bug.cgi?id=152625
3076
3077         Reviewed by Daniel Bates and Alexey Proskuryakov.
3078
3079         malloc_trim is glibc specific API so guard it with __GLIBC__.
3080
3081         * platform/linux/MemoryPressureHandlerLinux.cpp:
3082         (MemoryPressureHandler::platformReleaseMemory): Guard malloc_trim()
3083         call with __GLIBC_.
3084
3085 2016-01-03  Simon Fraser  <simon.fraser@apple.com>
3086
3087         Minor cleanup in ScrollAnimator
3088         https://bugs.webkit.org/show_bug.cgi?id=152656
3089
3090         Reviewed by Dan Bernstein.
3091
3092         Hide the fact that ScrollAnimator's m_currentPosX/m_currentPosY is not a FloatPoint
3093         as much as possible.
3094         
3095         Do offset -> position conversion in ScrollAnimator::scrollToOffsetWithoutAnimation().
3096         This is a behavior change, but I could never hit this code on Mac.
3097
3098         * platform/ScrollAnimator.cpp:
3099         (WebCore::ScrollAnimator::scroll):
3100         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
3101         (WebCore::ScrollAnimator::setCurrentPosition):
3102         (WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset):
3103         (WebCore::ScrollAnimator::notifyPositionChanged):
3104         (WebCore::ScrollAnimator::immediateScrollOnAxis):
3105         (WebCore::ScrollAnimator::ScrollAnimator): Deleted.
3106         (WebCore::ScrollAnimator::currentPosition): Deleted.
3107         * platform/ScrollAnimator.h:
3108         (WebCore::ScrollAnimator::ScrollAnimator::currentPosition):
3109         (WebCore::ScrollAnimator::ScrollAnimator::setCurrentPositionInternal):
3110         * platform/mac/ScrollAnimatorMac.mm:
3111         (WebCore::ScrollAnimatorMac::scroll):
3112         (WebCore::ScrollAnimatorMac::immediateScrollToPosition):
3113         (WebCore::ScrollAnimatorMac::immediateScrollBy):
3114
3115 2016-01-03  Simon Fraser  <simon.fraser@apple.com>
3116
3117         Rename scrollPosition(Scrollbar*) to scrollOffset(ScrollbarOrientation)
3118         https://bugs.webkit.org/show_bug.cgi?id=152666
3119
3120         Reviewed by Dan Bernstein.
3121
3122         Scrollbar values take offsets (zero-based), so rename the accessor used
3123         by scrollbars to set their value, and pass in an orientation, rather than
3124         a pointer to the scrollbar.
3125
3126         * platform/ScrollView.cpp:
3127         (WebCore::ScrollView::scrollOffset): Use scrollOffsetFromPosition rather than
3128         manually adding scrollOrigin.
3129         (WebCore::ScrollView::scrollPosition): Renamed.
3130         * platform/ScrollView.h:
3131         (WebCore::ScrollView::cachedScrollPosition):
3132         * platform/ScrollableArea.h:
3133         * platform/Scrollbar.cpp:
3134         (WebCore::Scrollbar::Scrollbar):
3135         (WebCore::Scrollbar::offsetDidChange):
3136         * rendering/RenderLayer.cpp:
3137         (WebCore::RenderLayer::scrollOffset):
3138         (WebCore::RenderLayer::scrollPosition): Renamed.
3139         * rendering/RenderLayer.h:
3140         * rendering/RenderListBox.cpp:
3141         (WebCore::RenderListBox::scrollOffset):
3142         (WebCore::RenderListBox::scrollPosition): Renamed.
3143         * rendering/RenderListBox.h:
3144
3145 2016-01-03  Simon Fraser  <simon.fraser@apple.com>
3146
3147         scrollLeft returns different values for viewport and non-viewport scrolling with rtl
3148         https://bugs.webkit.org/show_bug.cgi?id=94405
3149         rdar://problem/21829754
3150
3151         Reviewed by Zalan Bujtas.
3152         
3153         Use scrollPosition for DOM-exposed scroll* values on overflow scroll elements,
3154         matching the CSS OM View spec, and Gecko behavior.
3155
3156         Test: fast/scrolling/programmatic-overflow-rtl-scrollIntoView.html
3157
3158         * rendering/RenderBox.cpp:
3159         (WebCore::RenderBox::scrollLeft):
3160         (WebCore::RenderBox::scrollTop):
3161         (WebCore::RenderBox::setScrollLeft):
3162         (WebCore::RenderBox::setScrollTop):
3163         * rendering/RenderLayer.cpp:
3164         (WebCore::RenderLayer::scrollToXPosition):
3165         (WebCore::RenderLayer::scrollToYPosition):
3166         * rendering/RenderLayer.h:
3167
3168 2016-01-03  Simon Fraser  <simon.fraser@apple.com>
3169
3170         Some cleanup in ScrollAnimator
3171         https://bugs.webkit.org/show_bug.cgi?id=152649
3172
3173         Try to fix GTK scroll position errors in RTL.
3174         
3175         ScrollAnimatorNone::scrollToOffsetWithoutAnimation() was failing to map from
3176         offset to position.
3177         
3178         Also add logging in ScrollableArea::scrollToOffsetWithoutAnimation().
3179
3180         * platform/ScrollAnimatorNone.cpp:
3181         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
3182         * platform/ScrollableArea.cpp:
3183         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
3184
3185 2016-01-02  Simon Fraser  <simon.fraser@apple.com>
3186
3187         Temporarily turn on Scrolling logging on GTK, to investigate
3188         GTK failures from https://bugs.webkit.org/show_bug.cgi?id=152649.
3189         
3190         * platform/Logging.cpp:
3191         (WebCore::initializeLoggingChannelsIfNecessary):
3192
3193 2016-01-02  Simon Fraser  <simon.fraser@apple.com>
3194
3195         Some cleanup in ScrollAnimator
3196         https://bugs.webkit.org/show_bug.cgi?id=152649
3197
3198         Try to fix GTK test failures. ScrollAnimatorNone needs to map correctly between
3199         min and max scroll positions.
3200
3201         * platform/ScrollAnimatorNone.cpp:
3202         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
3203         (WebCore::ScrollAnimatorNone::scroll):
3204         * platform/ScrollAnimatorNone.h:
3205
3206 2016-01-02  Max Stepin  <maxstepin@gmail.com>
3207
3208         APNG decoder: only decode the frames up to haltAtFrame
3209         https://bugs.webkit.org/show_bug.cgi?id=146205
3210
3211         Reviewed by Michael Catanzaro.
3212
3213         No new tests, already covered by existing tests.
3214
3215         * platform/image-decoders/png/PNGImageDecoder.cpp:
3216         (WebCore::PNGImageReader::close):
3217         (WebCore::PNGImageReader::decode):
3218         (WebCore::PNGImageDecoder::isSizeAvailable):
3219         (WebCore::PNGImageDecoder::frameBufferAtIndex):
3220         (WebCore::PNGImageDecoder::pngComplete):
3221         (WebCore::PNGImageDecoder::decode):
3222         * platform/image-decoders/png/PNGImageDecoder.h:
3223         (WebCore::PNGImageDecoder::isComplete):
3224         (WebCore::PNGImageDecoder::isCompleteAtIndex):
3225
3226 2016-01-02  Simon Fraser  <simon.fraser@apple.com>
3227
3228         Some cleanup in ScrollAnimator
3229         https://bugs.webkit.org/show_bug.cgi?id=152649
3230
3231         Reviewed by Zalan Bujtas.
3232
3233         Change ScrollAnimatorMac::adjustScrollPositionIfNecessary() and similar code in
3234         ScrollingTreeFrameScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary() to
3235         constrain between minimumScrollPosition() and maximumScrollPosition(), rather than
3236         rolling their own code.
3237         
3238         This revealed several issues. First, RenderLayer::maximumScrollPosition() is
3239         wrong when the layer has borders, because RenderLayer::visibleContentRectInternal()
3240         seems to have incorrect logic. However, we can just remove it, and use the ScrollableArea
3241         implementation.
3242         
3243         Second, ScrollAnimatorMac::scrollToOffsetWithoutAnimation() was failing to do a
3244         position/offset conversion, so do one. We're converting too much, and should probably
3245         just change ScrollAnimator to do everything in terms of positions.
3246         
3247         Third, ScrollAnimator::scroll() was clamping a scroll position as an offset
3248         (detected by scrollbars/scroll-rtl-or-bt-layer.html), so fix that.
3249         
3250         Remove ScrollController::absoluteScrollPosition() and overrides, since this was
3251         confusingly named, and could just be removed.
3252         
3253         Remove ScrollController::m_origOrigin which was assigned to, but never read.
3254
3255         Test: fast/scrolling/arrow-key-scroll-in-rtl-document.html: new
3256               fast/dom/horizontal-scrollbar-in-rtl.html: progressed with these changes.
3257
3258         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
3259         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
3260         (WebCore::ScrollingTreeFrameScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
3261         (WebCore::ScrollingTreeFrameScrollingNodeMac::absoluteScrollPosition): Deleted.
3262         * platform/ScrollAnimator.cpp:
3263         (WebCore::ScrollAnimator::scroll):
3264         (WebCore::ScrollAnimator::notifyPositionChanged):
3265         * platform/ScrollableArea.h:
3266         (WebCore::ScrollableArea::constrainScrollPosition):
3267         * platform/cocoa/ScrollController.h:
3268         * platform/cocoa/ScrollController.mm:
3269         (WebCore::ScrollController::snapRubberBandTimerFired): Deleted.
3270         (WebCore::ScrollController::snapRubberBand): Deleted.
3271         * platform/mac/ScrollAnimatorMac.h:
3272         * platform/mac/ScrollAnimatorMac.mm:
3273         (-[WebScrollAnimationHelperDelegate _immediateScrollToPoint:]):
3274         (WebCore::ScrollAnimatorMac::scroll):
3275         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
3276         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
3277         (WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary):
3278         (WebCore::ScrollAnimatorMac::immediateScrollToPosition):
3279         (WebCore::ScrollAnimatorMac::immediateScrollToPositionForScrollAnimation):
3280         (WebCore::ScrollAnimatorMac::immediateScrollTo): Deleted.
3281         (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation): Deleted.
3282         (WebCore::ScrollAnimatorMac::absoluteScrollPosition): Deleted.
3283         * rendering/RenderLayer.cpp:
3284         (WebCore::RenderLayer::visibleContentRectInternal):
3285         (WebCore::RenderLayer::overhangAmount):
3286         (WebCore::RenderLayer::maximumScrollPosition): Deleted.
3287         * rendering/RenderLayer.h:
3288         * rendering/RenderListBox.cpp:
3289         (WebCore::RenderListBox::minimumScrollPosition):
3290         (WebCore::RenderListBox::maximumScrollPosition): RenderListBox scrolls by lines,
3291         so it needs a custom implementation of this.
3292         * rendering/RenderListBox.h:
3293
3294 2016-01-02  Zalan Bujtas  <zalan@apple.com>
3295
3296         Simple line layout:: Add text-decoration support.
3297         https://bugs.webkit.org/show_bug.cgi?id=152623
3298
3299         Reviewed by Antti Koivisto.
3300
3301         This patch enables text-decoration for simple line layout.
3302         -webkit-text-underline-position: under requires normal line layout context, skip it for now.
3303
3304         Test: fast/css3-text/css3-text-decoration/simple-line-layout-text-decoration.html
3305
3306         * rendering/SimpleLineLayout.cpp:
3307         (WebCore::SimpleLineLayout::canUseForStyle):
3308         (WebCore::SimpleLineLayout::printReason):
3309         * rendering/SimpleLineLayoutFunctions.cpp:
3310         (WebCore::SimpleLineLayout::paintFlow): In case of multiple RenderText renderers (long text), it's ok
3311         to pass the first text renderer as they all share the same set of decorations. 
3312
3313 2015-12-31  Andy Estes  <aestes@apple.com>
3314
3315         Replace WTF::move with WTFMove
3316         https://bugs.webkit.org/show_bug.cgi?id=152601
3317
3318         Reviewed by Brady Eidson.
3319
3320         * Modules/battery/NavigatorBattery.cpp:
3321         (WebCore::NavigatorBattery::from):
3322         * Modules/encryptedmedia/CDMSessionClearKey.cpp:
3323         (WebCore::CDMSessionClearKey::update):
3324         * Modules/encryptedmedia/MediaKeys.cpp:
3325         (WebCore::MediaKeys::create):
3326         (WebCore::MediaKeys::MediaKeys):
3327         * Modules/gamepad/NavigatorGamepad.cpp:
3328         (WebCore::NavigatorGamepad::from):
3329         * Modules/gamepad/deprecated/NavigatorGamepad.cpp:
3330         (WebCore::NavigatorGamepad::from):
3331         * Modules/geolocation/GeoNotifier.cpp:
3332         (WebCore::GeoNotifier::GeoNotifier):
3333         (WebCore::GeoNotifier::setFatalError):
3334         * Modules/geolocation/GeoNotifier.h:
3335         (WebCore::GeoNotifier::create):
3336         * Modules/geolocation/Geolocation.cpp:
3337         (WebCore::Geolocation::Watchers::add):
3338         (WebCore::Geolocation::getCurrentPosition):
3339         (WebCore::Geolocation::watchPosition):
3340         * Modules/geolocation/GeolocationController.cpp:
3341         (WebCore::GeolocationController::viewStateDidChange):
3342         * Modules/geolocation/Geoposition.h:
3343         (WebCore::Geoposition::create):
3344         (WebCore::Geoposition::Geoposition):
3345         * Modules/geolocation/NavigatorGeolocation.cpp:
3346         (WebCore::NavigatorGeolocation::from):
3347         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
3348         (WebCore::DOMWindowIndexedDatabase::from):
3349         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
3350         (WebCore::WorkerGlobalScopeIndexedDatabase::from):
3351         * Modules/indexeddb/client/IDBAnyImpl.cpp:
3352         (WebCore::IDBClient::IDBAny::IDBAny):
3353         * Modules/indexeddb/client/IDBAnyImpl.h:
3354         (WebCore::IDBClient::IDBAny::create):
3355         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
3356         (WebCore::IDBClient::IDBDatabase::willCommitTransaction):
3357         (WebCore::IDBClient::IDBDatabase::willAbortTransaction):
3358         (WebCore::IDBClient::IDBDatabase::fireVersionChangeEvent):
3359         * Modules/indexeddb/client/IDBIndexImpl.cpp:
3360         (WebCore::IDBClient::IDBIndex::openCursor):
3361         (WebCore::IDBClient::IDBIndex::openKeyCursor):
3362         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3363         (WebCore::IDBClient::IDBObjectStore::openCursor):
3364         (WebCore::IDBClient::IDBObjectStore::get):
3365         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
3366         (WebCore::IDBClient::IDBObjectStore::createIndex):
3367         (WebCore::IDBClient::IDBObjectStore::index):
3368         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
3369         (WebCore::IDBClient::IDBOpenDBRequest::onSuccess):
3370         (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
3371         * Modules/indexeddb/client/IDBRequestImpl.cpp:
3372         (WebCore::IDBClient::IDBRequest::enqueueEvent):
3373         (WebCore::IDBClient::IDBRequest::setResult):
3374         (WebCore::IDBClient::IDBRequest::setResultToStructuredClone):
3375         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3376         (WebCore::IDBClient::IDBTransaction::abort):
3377         (WebCore::IDBClient::IDBTransaction::scheduleOperation):
3378         (WebCore::IDBClient::IDBTransaction::commit):
3379         (WebCore::IDBClient::IDBTransaction::enqueueEvent):
3380         (WebCore::IDBClient::IDBTransaction::createObjectStore):
3381         (WebCore::IDBClient::IDBTransaction::createIndex):
3382         (WebCore::IDBClient::IDBTransaction::doRequestOpenCursor):
3383         (WebCore::IDBClient::IDBTransaction::iterateCursor):
3384         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
3385         (WebCore::IDBClient::IDBTransaction::requestIndexRecord):
3386         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
3387         (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
3388         (WebCore::IDBClient::IDBTransaction::deleteObjectStore):
3389         (WebCore::IDBClient::IDBTransaction::deleteIndex):
3390         * Modules/indexeddb/legacy/IDBDatabaseBackend.cpp:
3391         (WebCore::IDBDatabaseBackend::processPendingOpenCalls):
3392         * Modules/indexeddb/legacy/IDBDatabaseBackend.h:
3393         (WebCore::IDBDatabaseBackend::setPendingSecondHalfOpen):
3394         * Modules/indexeddb/legacy/LegacyAny.h:
3395         (WebCore::LegacyAny::create):
3396         * Modules/indexeddb/legacy/LegacyDatabase.cpp:
3397         (WebCore::LegacyDatabase::enqueueEvent):
3398         * Modules/indexeddb/legacy/LegacyRequest.cpp:
3399         (WebCore::LegacyRequest::enqueueEvent):
3400         * Modules/indexeddb/legacy/LegacyTransaction.cpp:
3401         (WebCore::LegacyTransaction::enqueueEvent):
3402         * Modules/indexeddb/server/IDBServer.cpp:
3403         (WebCore::IDBServer::IDBServer::postDatabaseTask):
3404         (WebCore::IDBServer::IDBServer::postDatabaseTaskReply):
3405         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
3406         (WebCore::IDBServer::MemoryBackingStoreTransaction::indexDeleted):
3407         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
3408         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
3409         (WebCore::IDBServer::MemoryBackingStoreTransaction::indexCleared):
3410         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
3411         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3412         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
3413         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
3414         (WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
3415         (WebCore::IDBServer::MemoryIDBBackingStore::restoreObjectStoreForVersionChangeAbort):
3416         (WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore):
3417         * Modules/indexeddb/server/MemoryIndex.cpp:
3418         (WebCore::IDBServer::MemoryIndex::objectStoreCleared):
3419         (WebCore::IDBServer::MemoryIndex::replaceIndexValueStore):
3420         * Modules/indexeddb/server/MemoryObjectStore.cpp:
3421         (WebCore::IDBServer::MemoryObjectStore::createIndex):
3422         (WebCore::IDBServer::MemoryObjectStore::maybeRestoreDeletedIndex):
3423         (WebCore::IDBServer::MemoryObjectStore::deleteIndex):
3424         (WebCore::IDBServer::MemoryObjectStore::clear):
3425         (WebCore::IDBServer::MemoryObjectStore::replaceKeyValueStore):
3426         (WebCore::IDBServer::MemoryObjectStore::registerIndex):
3427         * Modules/indexeddb/server/ServerOpenDBRequest.cpp:
3428         (WebCore::IDBServer::ServerOpenDBRequest::notifiedConnectionsOfVersionChange):
3429         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3430         (WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
3431         (WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
3432         (WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
3433         (WebCore::IDBServer::UniqueIDBDatabase::maybeNotifyConnectionsOfVersionChange):
3434         (WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
3435         (WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
3436         (WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction):
3437         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
3438         (WebCore::IDBServer::UniqueIDBDatabaseConnection::establishTransaction):
3439         * Modules/indexeddb/shared/IndexKey.cpp:
3440         (WebCore::IndexKey::isolatedCopy):
3441         * Modules/mediasession/WebMediaSessionManager.cpp:
3442         (WebCore::WebMediaSessionManager::setPlaybackTarget):
3443         * Modules/mediasource/MediaSource.cpp:
3444         (WebCore::MediaSource::setPrivateAndOpen):
3445         * Modules/mediasource/SourceBuffer.cpp:
3446         (WebCore::SourceBuffer::create):
3447         (WebCore::SourceBuffer::SourceBuffer):
3448         * Modules/mediastream/MediaDevices.cpp:
3449         (WebCore::MediaDevices::getUserMedia):
3450         (WebCore::MediaDevices::enumerateDevices):
3451         * Modules/mediastream/MediaDevicesRequest.cpp:
3452         (WebCore::MediaDevicesRequest::create):
3453         (WebCore::MediaDevicesRequest::MediaDevicesRequest):
3454         * Modules/mediastream/MediaStream.cpp:
3455         (WebCore::MediaStream::create):
3456         (WebCore::MediaStream::MediaStream):
3457         (WebCore::MediaStream::addTrack):
3458         (WebCore::MediaStream::didRemoveTrack):
3459         (WebCore::MediaStream::internalAddTrack):
3460         (WebCore::MediaStream::internalRemoveTrack):
3461         * Modules/mediastream/NavigatorMediaDevices.cpp:
3462         (WebCore::NavigatorMediaDevices::from):
3463         * Modules/mediastream/RTCConfiguration.cpp:
3464         (WebCore::RTCConfiguration::initialize):
3465         * Modules/mediastream/RTCDTMFSender.cpp:
3466         (WebCore::RTCDTMFSender::create):
3467         (WebCore::RTCDTMFSender::RTCDTMFSender):
3468         (WebCore::RTCDTMFSender::scheduleDispatchEvent):
3469         * Modules/mediastream/RTCDataChannel.cpp:
3470         (WebCore::RTCDataChannel::create):
3471         (WebCore::RTCDataChannel::RTCDataChannel):
3472         (WebCore::RTCDataChannel::scheduleDispatchEvent):
3473         * Modules/mediastream/RTCIceCandidateEvent.cpp:
3474         (WebCore::RTCIceCandidateEvent::create):
3475         (WebCore::RTCIceCandidateEvent::RTCIceCandidateEvent):
3476         * Modules/mediastream/RTCPeerConnection.cpp:
3477         (WebCore::RTCPeerConnection::create):
3478         (WebCore::RTCPeerConnection::RTCPeerConnection):
3479         (WebCore::RTCPeerConnection::addTrack):
3480         (WebCore::RTCPeerConnection::queuedCreateOffer):
3481         (WebCore::RTCPeerConnection::queuedCreateAnswer):
3482         (WebCore::RTCPeerConnection::queuedSetLocalDescription):
3483         (WebCore::RTCPeerConnection::queuedSetRemoteDescription):
3484         (WebCore::RTCPeerConnection::queuedAddIceCandidate):
3485         (WebCore::RTCPeerConnection::setConfiguration):
3486         (WebCore::RTCPeerConnection::privateGetStats):
3487         * Modules/mediastream/RTCRtpReceiver.cpp:
3488         (WebCore::RTCRtpReceiver::RTCRtpReceiver):
3489         * Modules/mediastream/RTCRtpReceiver.h:
3490         (WebCore::RTCRtpReceiver::create):
3491         * Modules/mediastream/RTCRtpSender.cpp:
3492         (WebCore::RTCRtpSender::RTCRtpSender):
3493         * Modules/mediastream/RTCRtpSender.h:
3494         (WebCore::RTCRtpSender::create):
3495         * Modules/mediastream/RTCTrackEvent.cpp:
3496         (WebCore::RTCTrackEvent::create):
3497         * Modules/mediastream/UserMediaRequest.cpp:
3498         (WebCore::UserMediaRequest::start):
3499         (WebCore::UserMediaRequest::UserMediaRequest):
3500         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
3501         (WebCore::provideNavigatorContentUtilsTo):
3502         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
3503         * Modules/notifications/DOMWindowNotifications.cpp:
3504         (WebCore::DOMWindowNotifications::from):
3505         * Modules/notifications/NotificationCenter.cpp:
3506         (WebCore::NotificationCenter::timerFired):
3507         * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
3508         (WebCore::WorkerGlobalScopeNotifications::from):
3509         * Modules/plugins/QuickTimePluginReplacement.mm:
3510         (WebCore::QuickTimePluginReplacement::createElementRenderer):
3511         * Modules/plugins/YouTubePluginReplacement.cpp:
3512         (WebCore::YouTubePluginReplacement::createElementRenderer):
3513         (WebCore::YouTubePluginReplacement::installReplacement):
3514         * Modules/quota/DOMWindowQuota.cpp:
3515         (WebCore::DOMWindowQuota::from):
3516         * Modules/quota/NavigatorStorageQuota.cpp:
3517         (WebCore::NavigatorStorageQuota::from):
3518         * Modules/quota/WorkerNavigatorStorageQuota.cpp:
3519         (WebCore::WorkerNavigatorStorageQuota::from):
3520         * Modules/speech/DOMWindowSpeechSynthesis.cpp:
3521         (WebCore::DOMWindowSpeechSynthesis::from):
3522         * Modules/speech/SpeechSynthesis.cpp:
3523         (WebCore::SpeechSynthesis::setPlatformSynthesizer):
3524         * Modules/webaudio/AsyncAudioDecoder.cpp:
3525         (WebCore::AsyncAudioDecoder::decodeAsync):
3526         * Modules/webaudio/AudioContext.cpp:
3527         (WebCore::AudioContext::addReaction):
3528         (WebCore::AudioContext::suspend):
3529         (WebCore::AudioContext::resume):
3530         (WebCore::AudioContext::close):
3531         * Modules/webaudio/AudioNode.cpp:
3532         (WebCore::AudioNode::addInput):
3533         (WebCore::AudioNode::addOutput):
3534         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3535         (WebCore::AudioScheduledSourceNode::addEventListener):
3536         * Modules/webaudio/ConvolverNode.cpp:
3537         (WebCore::ConvolverNode::setBuffer):
3538         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
3539         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
3540         * Modules/webaudio/ScriptProcessorNode.cpp:
3541         (WebCore::ScriptProcessorNode::addEventListener):
3542         * Modules/webdatabase/Database.cpp:
3543         (WebCore::Database::openAndVerifyVersion):
3544         (WebCore::Database::scheduleTransaction):
3545         (WebCore::Database::scheduleTransactionStep):
3546         (WebCore::Database::markAsDeletedAndClose):
3547         (WebCore::Database::runTransaction):
3548         (WebCore::Database::tableNames):
3549         * Modules/webdatabase/DatabaseThread.cpp:
3550         (WebCore::DatabaseThread::scheduleTask):
3551         (WebCore::DatabaseThread::scheduleImmediateTask):
3552         * Modules/webdatabase/SQLTransaction.cpp:
3553         (WebCore::SQLTransaction::create):
3554         (WebCore::SQLTransaction::SQLTransaction):
3555         (WebCore::SQLTransaction::executeSQL):
3556         * Modules/webdatabase/SQLTransactionBackend.cpp:
3557         (WebCore::SQLTransactionBackend::enqueueStatementBackend):
3558         (WebCore::SQLTransactionBackend::executeSQL):
3559         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3560         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
3561         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
3562         * Modules/websockets/WebSocket.cpp:
3563         (WebCore::WebSocket::didReceiveBinaryData):
3564         (WebCore::WebSocket::dispatchOrQueueEvent):
3565         * Modules/websockets/WebSocketChannel.cpp:
3566         (WebCore::WebSocketChannel::processFrame):
3567         * Modules/websockets/WebSocketExtensionDispatcher.cpp:
3568         (WebCore::WebSocketExtensionDispatcher::addProcessor):
3569         * Modules/websockets/WebSocketHandshake.cpp:
3570         (WebCore::WebSocketHandshake::addExtensionProcessor):
3571         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
3572         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
3573         * accessibility/AXObjectCache.cpp:
3574         (WebCore::AXObjectCache::notificationPostTimerFired):
3575         (WebCore::AXObjectCache::passwordNotificationPostTimerFired):
3576         * accessibility/AccessibilityNodeObject.cpp:
3577         (WebCore::AccessibilityNodeObject::ariaLabeledByText):
3578         * accessibility/AccessibilityObject.cpp:
3579         (WebCore::AccessibilityObject::selectText):
3580         * accessibility/AccessibilityObject.h:
3581         (WebCore::AccessibilityText::AccessibilityText):
3582         * bindings/gobject/DOMObjectCache.cpp:
3583         * bindings/js/IDBBindingUtilities.cpp:
3584         (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
3585         (WebCore::generateIndexKeyForValue):
3586         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
3587         (WebCore::createAesCbcParams):
3588         (WebCore::createAesKeyGenParams):
3589         (WebCore::createHmacParams):
3590         (WebCore::createHmacKeyParams):
3591         (WebCore::createRsaKeyGenParams):
3592         (WebCore::createRsaOaepParams):
3593         (WebCore::createRsaSsaParams):
3594         * bindings/js/JSCryptoKeySerializationJWK.cpp:
3595         (WebCore::createHMACParameters):
3596         (WebCore::createRSAKeyParametersWithHash):
3597         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
3598         * bindings/js/JSDOMPromise.h:
3599         (WebCore::DOMPromise::DOMPromise):
3600         * bindings/js/JSDOMWindowBase.cpp:
3601         (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
3602         * bindings/js/JSDOMWindowCustom.cpp:
3603         (WebCore::JSDOMWindow::setTimeout):
3604         (WebCore::JSDOMWindow::setInterval):
3605         * bindings/js/JSDOMWrapper.h:
3606         (WebCore::JSDOMWrapper::JSDOMWrapper):
3607         * bindings/js/JSMessageEventCustom.cpp:
3608         (WebCore::handleInitMessageEvent):
3609         * bindings/js/JSSubtleCryptoCustom.cpp:
3610         (WebCore::JSSubtleCrypto::encrypt):
3611         (WebCore::JSSubtleCrypto::decrypt):
3612         (WebCore::JSSubtleCrypto::sign):
3613         (WebCore::JSSubtleCrypto::verify):
3614         (WebCore::JSSubtleCrypto::digest):
3615         (WebCore::JSSubtleCrypto::generateKey):
3616         (WebCore::importKey):
3617         (WebCore::JSSubtleCrypto::importKey):
3618         (WebCore::JSSubtleCrypto::exportKey):
3619         (WebCore::JSSubtleCrypto::wrapKey):
3620         (WebCore::JSSubtleCrypto::unwrapKey):
3621         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
3622         (WebCore::JSWorkerGlobalScope::setTimeout):
3623         (WebCore::JSWorkerGlobalScope::setInterval):
3624         * bindings/js/SerializedScriptValue.cpp:
3625         (WebCore::CloneDeserializer::readRSAKey):
3626         (WebCore::CloneDeserializer::readTerminal):
3627         (WebCore::SerializedScriptValue::SerializedScriptValue):
3628         (WebCore::SerializedScriptValue::create):
3629         * bindings/scripts/CodeGeneratorJS.pm:
3630         (GenerateHeader):
3631         (GenerateImplementation):
3632         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3633         (WebCore::JSTestActiveDOMObject::JSTestActiveDOMObject):
3634         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
3635         (WebCore::JSTestActiveDOMObject::create):
3636         * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
3637         (WebCore::JSTestClassWithJSBuiltinConstructor::JSTestClassWithJSBuiltinConstructor):
3638         * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
3639         (WebCore::JSTestClassWithJSBuiltinConstructor::create):
3640         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
3641         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject):
3642         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
3643         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::create):
3644         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3645         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
3646         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
3647         (WebCore::JSTestCustomNamedGetter::create):
3648         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3649         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
3650         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3651         (WebCore::JSTestEventConstructor::create):
3652         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3653         (WebCore::JSTestEventTarget::JSTestEventTarget):
3654         * bindings/scripts/test/JS/JSTestEventTarget.h:
3655         (WebCore::JSTestEventTarget::create):
3656         * bindings/scripts/test/JS/JSTestException.cpp:
3657         (WebCore::JSTestException::JSTestException):
3658         * bindings/scripts/test/JS/JSTestException.h:
3659         (WebCore::JSTestException::create):
3660         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3661         (WebCore::JSTestGenerateIsReachable::JSTestGenerateIsReachable):
3662         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
3663         (WebCore::JSTestGenerateIsReachable::create):
3664         * bindings/scripts/test/JS/JSTestInterface.cpp:
3665         (WebCore::JSTestInterface::JSTestInterface):
3666         * bindings/scripts/test/JS/JSTestInterface.h:
3667         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3668         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3669         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3670         (WebCore::JSTestMediaQueryListListener::create):
3671         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3672         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
3673         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3674         (WebCore::JSTestNamedConstructor::create):
3675         * bindings/scripts/test/JS/JSTestNode.cpp:
3676         (WebCore::JSTestNode::JSTestNode):
3677         * bindings/scripts/test/JS/JSTestNode.h:
3678         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
3679         (WebCore::JSTestNondeterministic::JSTestNondeterministic):
3680         * bindings/scripts/test/JS/JSTestNondeterministic.h:
3681         (WebCore::JSTestNondeterministic::create):
3682         * bindings/scripts/test/JS/JSTestObj.cpp:
3683         (WebCore::JSTestObj::JSTestObj):
3684         * bindings/scripts/test/JS/JSTestObj.h:
3685         (WebCore::JSTestObj::create):
3686         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3687         (WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors):
3688         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
3689         (WebCore::JSTestOverloadedConstructors::create):
3690         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
3691         (WebCore::JSTestOverrideBuiltins::JSTestOverrideBuiltins):
3692         * bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
3693         (WebCore::JSTestOverrideBuiltins::create):
3694         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3695         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3696         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3697         (WebCore::JSTestSerializedScriptValueInterface::create):
3698         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3699         (WebCore::JSTestTypedefs::JSTestTypedefs):
3700         * bindings/scripts/test/JS/JSTestTypedefs.h:
3701         (WebCore::JSTestTypedefs::create):
3702         * bindings/scripts/test/JS/JSattribute.cpp:
3703         (WebCore::JSattribute::JSattribute):
3704         * bindings/scripts/test/JS/JSattribute.h:
3705         (WebCore::JSattribute::create):
3706         * bindings/scripts/test/JS/JSreadonly.cpp:
3707         (WebCore::JSreadonly::JSreadonly):
3708         * bindings/scripts/test/JS/JSreadonly.h:
3709         (WebCore::JSreadonly::create):
3710         * bridge/c/CRuntimeObject.cpp:
3711         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3712         * bridge/c/CRuntimeObject.h:
3713         (JSC::Bindings::CRuntimeObject::create):
3714         * bridge/c/c_class.cpp:
3715         (JSC::Bindings::CClass::methodNamed):
3716         (JSC::Bindings::CClass::fieldNamed):
3717         * bridge/c/c_instance.cpp:
3718         (JSC::Bindings::CInstance::CInstance):
3719         * bridge/c/c_instance.h:
3720         (JSC::Bindings::CInstance::create):
3721         * bridge/jsc/BridgeJSC.cpp:
3722         (JSC::Bindings::Array::Array):
3723         (JSC::Bindings::Instance::Instance):
3724         * bridge/objc/ObjCRuntimeObject.h:
3725         (JSC::Bindings::ObjCRuntimeObject::create):
3726         * bridge/objc/objc_class.mm:
3727         (JSC::Bindings::ObjcClass::methodNamed):
3728         (JSC::Bindings::ObjcClass::fieldNamed):
3729         * bridge/objc/objc_instance.mm:
3730         (ObjcInstance::ObjcInstance):
3731         (ObjcInstance::create):
3732         * bridge/objc/objc_runtime.mm:
3733         (JSC::Bindings::ObjcArray::ObjcArray):
3734         * bridge/runtime_object.cpp:
3735         (JSC::Bindings::RuntimeObject::RuntimeObject):
3736         * bridge/runtime_object.h:
3737         * contentextensions/CombinedFiltersAlphabet.cpp:
3738         (WebCore::ContentExtensions::TermCreatorTranslator::translate):
3739         * contentextensions/CombinedURLFilters.cpp:
3740         (WebCore::ContentExtensions::ActiveSubtree::ActiveSubtree):
3741         (WebCore::ContentExtensions::generateSuffixWithReverseSuffixTree):
3742         (WebCore::ContentExtensions::generateNFAForSubtree):
3743         (WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
3744         * contentextensions/ContentExtension.cpp:
3745         (WebCore::ContentExtensions::ContentExtension::create):
3746         (WebCore::ContentExtensions::ContentExtension::ContentExtension):
3747         * contentextensions/ContentExtensionCompiler.cpp:
3748         (WebCore::ContentExtensions::compileRuleList):
3749         * contentextensions/ContentExtensionParser.cpp:
3750         (WebCore::ContentExtensions::loadEncodedRules):
3751         * contentextensions/ContentExtensionsBackend.cpp:
3752         (WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):
3753         * contentextensions/DFACombiner.cpp:
3754         (WebCore::ContentExtensions::DFACombiner::combineDFAs):
3755         * contentextensions/DFACombiner.h:
3756         (WebCore::ContentExtensions::DFACombiner::addDFA):
3757         * contentextensions/ImmutableNFANodeBuilder.h:
3758         (WebCore::ContentExtensions::ImmutableNFANodeBuilder::ImmutableNFANodeBuilder):
3759         (WebCore::ContentExtensions::ImmutableNFANodeBuilder::operator=):
3760         * contentextensions/MutableRange.h:
3761         (WebCore::ContentExtensions::MutableRange::MutableRange):
3762         (WebCore::ContentExtensions::MutableRange::operator=):
3763         * contentextensions/MutableRangeList.h:
3764         (WebCore::ContentExtensions::MutableRangeList::extend):
3765         (WebCore::ContentExtensions::MutableRangeList::insertBetween):
3766         * contentextensions/Term.h:
3767         (WebCore::ContentExtensions::Term::Term):
3768         (WebCore::ContentExtensions::Term::operator=):
3769         (WebCore::ContentExtensions::Term::generateSubgraphForAtom):
3770         * crypto/CryptoAlgorithm.cpp:
3771         (WebCore::CryptoAlgorithm::encryptForWrapKey):
3772         (WebCore::CryptoAlgorithm::decryptForUnwrapKey):
3773         * crypto/CryptoKeyPair.cpp:
3774         (WebCore::CryptoKeyPair::CryptoKeyPair):
3775         * crypto/CryptoKeyPair.h:
3776         (WebCore::CryptoKeyPair::create):
3777         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
3778         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
3779         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
3780         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
3781         (WebCore::CryptoAlgorithmAES_KW::encryptForWrapKey):
3782         (WebCore::CryptoAlgorithmAES_KW::decryptForUnwrapKey):
3783         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
3784         (WebCore::CryptoAlgorithmHMAC::sign):
3785         (WebCore::CryptoAlgorithmHMAC::verify):
3786         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
3787         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
3788         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
3789         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
3790         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
3791         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
3792         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
3793         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
3794         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
3795         (WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
3796         (WebCore::CryptoAlgorithmRSA_OAEP::decrypt):
3797         (WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
3798         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
3799         (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
3800         (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
3801         * crypto/mac/CryptoKeyRSAMac.cpp:
3802         (WebCore::CryptoKeyRSA::generatePair):
3803         * css/BasicShapeFunctions.cpp:
3804         (WebCore::valueForBasicShape):
3805         (WebCore::basicShapeForValue):
3806         * css/CSSBasicShapes.cpp:
3807         (WebCore::CSSBasicShapePath::CSSBasicShapePath):
3808         * css/CSSBasicShapes.h:
3809         * css/CSSBorderImage.cpp:
3810         (WebCore::createBorderImageValue):
3811         * css/CSSCalculationValue.cpp:
3812         * css/CSSCalculationValue.h:
3813         (WebCore::CSSCalcValue::CSSCalcValue):
3814         * css/CSSComputedStyleDeclaration.cpp:
3815         (WebCore::valueForNinePieceImageSlice):
3816         (WebCore::valueForNinePieceImageQuad):
3817         (WebCore::computedTransform):
3818         (WebCore::ComputedStyleExtractor::valueForShadow):
3819         (WebCore::ComputedStyleExtractor::valueForFilter):
3820         (WebCore::valueForGridTrackList):
3821         (WebCore::valueForGridPosition):
3822         (WebCore::scrollSnapPoints):
3823         (WebCore::scrollSnapCoordinates):
3824         (WebCore::getWillChangePropertyValue):
3825         (WebCore::fontVariantLigaturesPropertyValue):
3826         (WebCore::fontVariantNumericPropertyValue):
3827         (WebCore::fontVariantEastAsianPropertyValue):
3828         (WebCore::fillRepeatToCSSValue):
3829         (WebCore::fillSizeToCSSValue):
3830         (WebCore::fontVariantFromStyle):
3831         (WebCore::ComputedStyleExtractor::propertyValue):
3832         * css/CSSCrossfadeValue.cpp:
3833         (WebCore::CSSCrossfadeValue::blend):
3834         * css/CSSCursorImageValue.cpp:
3835         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
3836         * css/CSSCursorImageValue.h:
3837         (WebCore::CSSCursorImageValue::create):
3838         * css/CSSFilterImageValue.cpp:
3839         (WebCore::CSSFilterImageValue::image):
3840         * css/CSSFilterImageValue.h:
3841         (WebCore::CSSFilterImageValue::create):
3842         * css/CSSFontFace.cpp:
3843         (WebCore::CSSFontFace::addSource):
3844         * css/CSSFontFace.h:
3845         (WebCore::CSSFontFace::create):
3846         (WebCore::CSSFontFace::insertFeature):
3847         * css/CSSFontFaceSource.cpp:
3848         (WebCore::CSSFontFaceSource::font):
3849         * css/CSSFontFeatureValue.cpp:
3850         (WebCore::CSSFontFeatureValue::CSSFontFeatureValue):
3851         * css/CSSFontFeatureValue.h:
3852         (WebCore::CSSFontFeatureValue::create):
3853         * css/CSSFontSelector.cpp:
3854         (WebCore::createFontFace):
3855         (WebCore::constructFamilyFontFaces):
3856         * css/CSSGrammar.y.in:
3857         * css/CSSImageValue.cpp:
3858         (WebCore::CSSImageValue::cloneForCSSOM):
3859         * css/CSSKeyframeRule.cpp:
3860         (WebCore::StyleKeyframe::StyleKeyframe):
3861         * css/CSSKeyframeRule.h:
3862         (WebCore::StyleKeyframe::create):
3863         * css/CSSParser.cpp:
3864         (WebCore::CSSParser::parseFontFaceValue):
3865         (WebCore::CSSParser::parseMediaQuery):
3866         (WebCore::CSSParser::parseSizesAttribute):
3867         (WebCore::CSSParser::SourceSize::SourceSize):
3868         (WebCore::CSSParser::sourceSize):
3869         (WebCore::CSSParser::addFillValue):
3870         (WebCore::CSSParser::addAnimationValue):
3871         (WebCore::CSSParser::parse4ValuesFillPosition):
3872         (WebCore::CSSParser::parse3ValuesFillPosition):
3873         (WebCore::CSSParser::parseFillPosition):
3874         (WebCore::CSSParser::parseFillSize):
3875         (WebCore::CSSParser::parseDashboardRegions):
3876         (WebCore::CSSParser::parseClipShape):
3877         (WebCore::CSSParser::parseBasicShapePath):
3878         (WebCore::CSSParser::parseSystemFont):
3879         (WebCore::CSSParser::parseBorderImageRepeat):
3880         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
3881         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
3882         (WebCore::CSSParser::parseBuiltinFilterArguments):
3883         (WebCore::CSSParser::parseFontFeatureTag):
3884         (WebCore::CSSParser::parseFontVariantLigatures):
3885         (WebCore::CSSParser::parseFontVariantNumeric):
3886         (WebCore::CSSParser::parseFontVariantEastAsian):
3887         (WebCore::CSSParser::createKeyframesRule):
3888         (WebCore::CSSParser::rewriteSpecifiers):
3889         (WebCore::CSSParser::createPageRule):
3890         (WebCore::CSSParser::createSelectorVector):
3891         (WebCore::CSSParser::recycleSelectorVector):
3892         * css/CSSParserValues.cpp:
3893         (WebCore::CSSParserSelector::~CSSParserSelector):
3894         (WebCore::CSSParserSelector::adoptSelectorVector):
3895         (WebCore::CSSParserSelector::setLangArgumentList):
3896         (WebCore::CSSParserSelector::insertTagHistory):
3897         (WebCore::CSSParserSelector::appendTagHistory):
3898         (WebCore::CSSParserSelector::prependTagSelector):
3899         * css/CSSParserValues.h:
3900         (WebCore::CSSParserSelector::releaseSelector):
3901         (WebCore::CSSParserSelector::setTagHistory):
3902         * css/CSSPrimitiveValue.h:
3903         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3904         * css/CSSPrimitiveValueMappings.h:
3905         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3906         * css/CSSProperty.cpp:
3907         (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
3908         * css/CSSSegmentedFontFace.cpp:
3909         (WebCore::CSSSegmentedFontFace::appendFontFace):
3910         (WebCore::appendFontWithInvalidUnicodeRangeIfLoading):
3911         * css/CSSSelector.cpp:
3912         (WebCore::CSSSelector::setLangArgumentList):
3913         (WebCore::CSSSelector::setSelectorList):
3914         * css/CSSStyleSheet.cpp:
3915         (WebCore::CSSStyleSheet::create):
3916         (WebCore::CSSStyleSheet::CSSStyleSheet):
3917         * css/CSSValueList.h:
3918         (WebCore::CSSValueList::append):
3919         (WebCore::CSSValueList::prepend):
3920         * css/DocumentRuleSets.cpp:
3921         (WebCore::DocumentRuleSets::initUserStyle):
3922         * css/FontLoader.cpp:
3923         (WebCore::FontLoader::scheduleEvent):
3924         * css/MediaList.cpp:
3925         (WebCore::MediaQuerySet::parse):
3926         (WebCore::MediaQuerySet::add):
3927         (WebCore::MediaQuerySet::addMediaQuery):
3928         * css/MediaQuery.cpp:
3929         (WebCore::MediaQuery::MediaQuery):
3930         * css/Pair.h:
3931         (WebCore::Pair::create):
3932         (WebCore::Pair::Pair):
3933         * css/RuleSet.cpp:
3934         (WebCore::RuleSet::addRegionRule):
3935         * css/RuleSet.h:
3936         (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
3937         * css/SVGCSSComputedStyleDeclaration.cpp:
3938         (WebCore::paintOrder):
3939         * css/SourceSizeList.cpp:
3940         (WebCore::match):
3941         (WebCore::parseSizesAttribute):
3942         * css/StyleBuilderCustom.h:
3943         (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
3944         (WebCore::StyleBuilderCustom::applyValueContent):
3945         (WebCore::StyleBuilderCustom::applyValueWillChange):
3946         * css/StyleResolver.cpp:
3947         (WebCore::StyleResolver::State::setStyle):
3948         (WebCore::StyleResolver::addToMatchedPropertiesCache):
3949         * css/StyleResolver.h:
3950         (WebCore::StyleResolver::State::setParentStyle):
3951         (WebCore::StyleResolver::State::setAuthorRollback):
3952         (WebCore::StyleResolver::State::setUserRollback):
3953         * css/StyleRule.cpp:
3954         (WebCore::StyleRule::StyleRule):
3955         (WebCore::StyleRule::create):
3956         (WebCore::StyleRulePage::StyleRulePage):
3957         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
3958         (WebCore::StyleRuleGroup::wrapperInsertRule):
3959         (WebCore::StyleRuleViewport::StyleRuleViewport):
3960         * css/StyleRule.h:
3961         (WebCore::StyleRule::create):
3962         (WebCore::StyleRule::wrapperAdoptSelectorList):
3963         (WebCore::StyleRuleFontFace::create):
3964         (WebCore::StyleRulePage::create):
3965         (WebCore::StyleRulePage::wrapperAdoptSelectorList):
3966         (WebCore::StyleRuleViewport::create):
3967         * cssjit/SelectorCompiler.cpp:
3968         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
3969         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
3970         * dom/ActiveDOMCallbackMicrotask.cpp:
3971         (WebCore::ActiveDOMCallbackMicrotask::ActiveDOMCallbackMicrotask):
3972         * dom/Attr.cpp:
3973         (WebCore::Attr::cloneNodeInternal):
3974         * dom/ChildListMutationScope.cpp:
3975         (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):
3976         * dom/ContainerNode.cpp:
3977         (WebCore::ContainerNode::insertBefore):
3978         (WebCore::ContainerNode::append):
3979         (WebCore::ContainerNode::prepend):
3980         * dom/DataTransfer.cpp:
3981         (WebCore::DataTransfer::DataTransfer):
3982         * dom/Document.cpp:
3983         (WebCore::Document::createNodeIterator):
3984         (WebCore::Document::createTreeWalker):
3985         (WebCore::Document::logExceptionToConsole):
3986         (WebCore::Document::cloneNodeInternal):
3987         (WebCore::Document::enqueueWindowEvent):
3988         (WebCore::Document::enqueueDocumentEvent):
3989         (WebCore::Document::enqueueOverflowEvent):
3990         (WebCore::Document::setTransformSource):
3991         (WebCore::Document::addMessage):
3992         (WebCore::Document::postTask):
3993         (WebCore::Document::pendingTasksTimerFired):
3994         (WebCore::Document::sendWillRevealEdgeEventsIfNeeded):
3995         * dom/DocumentEventQueue.cpp:
3996         (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
3997         * dom/DocumentFragment.cpp:
3998         (WebCore::DocumentFragment::cloneNodeInternal):
3999         * dom/Element.cpp:
4000         (WebCore::Element::createElementRenderer):
4001         (WebCore::Element::addShadowRoot):
4002         (WebCore::Element::dispatchFocusInEvent):
4003         (WebCore::Element::dispatchFocusOutEvent):
4004         (WebCore::Element::dispatchFocusEvent):
4005         (WebCore::Element::dispatchBlurEvent):
4006         (WebCore::Element::resolveComputedStyle):
4007         (WebCore::Element::setBeforePseudoElement):
4008         (WebCore::Element::setAfterPseudoElement):
4009         * dom/ElementRareData.h:
4010         (WebCore::ElementRareData::setShadowRoot):
4011         (WebCore::ElementRareData::setAttributeMap):
4012         (WebCore::ElementRareData::setComputedStyle):
4013         (WebCore::ElementRareData::setClassList):
4014         (WebCore::ElementRareData::setDataset):
4015         (WebCore::ElementRareData::setBeforePseudoElement):
4016         (WebCore::ElementRareData::setAfterPseudoElement):
4017         * dom/Event.cpp:
4018         (WebCore::Event::setTarget):
4019         * dom/EventTarget.cpp:
4020         (WebCore::EventTarget::addEventListener):
4021         * dom/ExtensionStyleSheets.cpp:
4022         (WebCore::ExtensionStyleSheets::addUserStyleSheet):
4023         (WebCore::ExtensionStyleSheets::addAuthorStyleSheetForTesting):
4024         * dom/FocusEvent.cpp:
4025         (WebCore::FocusEvent::FocusEvent):
4026         * dom/FocusEvent.h:
4027         * dom/MessageEvent.cpp:
4028         (WebCore::MessageEvent::MessageEvent):
4029         (WebCore::MessageEvent::initMessageEvent):
4030         * dom/MessageEvent.h:
4031         * dom/MessagePort.cpp:
4032         (WebCore::MessagePort::postMessage):
4033         (WebCore::MessagePort::disentangle):
4034         (WebCore::MessagePort::entangle):
4035         (WebCore::MessagePort::dispatchMessages):
4036         (WebCore::MessagePort::disentanglePorts):
4037         (WebCore::MessagePort::entanglePorts):
4038         (WebCore::MessagePort::addEventListener):
4039         * dom/Microtasks.cpp: