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