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