1 2016-01-12 Dave Hyatt <hyatt@apple.com>
3 Avoid downloading the wrong image for <picture> elements.
4 https://bugs.webkit.org/show_bug.cgi?id=153027
6 Reviewed by Dean Jackson.
8 I was unable to write a reliable test for this feature (I welcome suggestions regarding
9 how this could be tested).
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):
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.
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
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.
36 2016-01-12 Myles C. Maxfield <mmaxfield@apple.com>
38 Cleanup in font loading code
39 https://bugs.webkit.org/show_bug.cgi?id=153023
41 Reviewed by Zalan Bujtas.
43 See detailed notes below.
45 No new tests because there is no behavior change.
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
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
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
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:
83 2016-01-12 Ryosuke Niwa <rniwa@webkit.org>
85 Add a build flag for custom element
86 https://bugs.webkit.org/show_bug.cgi?id=153005
88 Reviewed by Alex Christensen.
90 Added a build flag for enabling custom elements.
92 * Configurations/FeatureDefines.xcconfig:
94 2016-01-12 Adam Bergkvist <adam.bergkvist@ericsson.com>
96 WebRTC: Update RTCPeerConnection.add/removeTrack() and add test
97 https://bugs.webkit.org/show_bug.cgi?id=153010
99 Reviewed by Eric Carlson.
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
106 Test: fast/mediastream/RTCPeerConnection-add-removeTrack.html
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):
119 2016-01-12 Brady Eidson <beidson@apple.com>
121 Modern IDB: Check in empty SQLite backing store implementation.
122 https://bugs.webkit.org/show_bug.cgi?id=153022
124 Reviewed by Alex Christensen.
126 No new tests (No change in behavior).
128 Just to get the implementation files in the tree, this backing store currently does nothing
129 other than return errors for every operation.
132 * WebCore.xcodeproj/project.pbxproj:
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.
160 2016-01-12 Brady Eidson <beidson@apple.com>
162 Modern IDB: storage/indexeddb/dont-wedge.html is flaky.
163 https://bugs.webkit.org/show_bug.cgi?id=152892
165 Reviewed by Alex Christensen.
167 No new tests (Reenabled existing test).
169 * Modules/indexeddb/client/IDBConnectionToServer.cpp:
170 (WebCore::IDBClient::IDBConnectionToServer::abortOpenAndUpgradeNeeded):
171 * Modules/indexeddb/client/IDBConnectionToServer.h:
172 * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
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.
179 * Modules/indexeddb/server/IDBServer.cpp:
180 (WebCore::IDBServer::IDBServer::abortOpenAndUpgradeNeeded):
181 * Modules/indexeddb/server/IDBServer.h:
183 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
184 (WebCore::IDBServer::UniqueIDBDatabaseTransaction::abortWithoutCallback):
185 * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
187 * Modules/indexeddb/shared/InProcessIDBServer.cpp:
188 (WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded):
189 * Modules/indexeddb/shared/InProcessIDBServer.h:
191 2016-01-12 Commit Queue <commit-queue@webkit.org>
193 Unreviewed, rolling out r194826.
194 https://bugs.webkit.org/show_bug.cgi?id=153020
196 Appears to have regressed PLT (Requested by kling on #webkit).
200 "Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
202 https://bugs.webkit.org/show_bug.cgi?id=152902
203 http://trac.webkit.org/changeset/194826
205 2016-01-12 Antti Koivisto <antti@apple.com>
207 Don't reuse memory cache entries with different charset
208 https://bugs.webkit.org/show_bug.cgi?id=110031
209 rdar://problem/13666418
211 Reviewed by Andreas Kling.
213 Test: fast/loader/cache-encoding.html
215 * loader/cache/CachedResourceLoader.cpp:
216 (WebCore::CachedResourceLoader::requestResource):
217 (WebCore::logResourceRevalidationDecision):
218 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
220 Pass full CachedResourceRequest to the function.
221 If charset differs don't reuse the cache entry.
223 * loader/cache/CachedResourceLoader.h:
225 2016-01-12 Gyuyoung Kim <gyuyoung.kim@webkit.org>
227 Use a pointer instead of PassRefPtr in AbstractView argument of UIEvent class
228 https://bugs.webkit.org/show_bug.cgi?id=152829
230 Reviewed by Darin Adler.
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.
235 * dom/FocusEvent.cpp:
236 (WebCore::FocusEvent::FocusEvent):
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):
247 * dom/MouseRelatedEvent.cpp:
248 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
249 * dom/MouseRelatedEvent.h:
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):
259 * dom/TouchEvent.cpp:
260 (WebCore::TouchEvent::TouchEvent):
261 (WebCore::TouchEvent::initTouchEvent):
264 (WebCore::UIEvent::UIEvent):
265 (WebCore::UIEvent::initUIEvent):
267 (WebCore::UIEvent::create):
268 (WebCore::UIEvent::view):
269 * dom/UIEventWithKeyState.h:
270 (WebCore::UIEventWithKeyState::UIEventWithKeyState):
272 2016-01-12 Csaba Osztrogonác <ossy@webkit.org>
274 Fix unused-private-field warnings in DisplayListItems.h
275 https://bugs.webkit.org/show_bug.cgi?id=153012
277 Reviewed by Michael Catanzaro.
279 * platform/graphics/displaylists/DisplayListItems.cpp:
280 (WebCore::DisplayList::DrawNativeImage::DrawNativeImage):
281 * platform/graphics/displaylists/DisplayListItems.h:
283 2016-01-12 Carlos Garcia Campos <cgarcia@igalia.com>
285 Unreviewed. Fix isRecording condition logic in GraphicsContext::roundToDevicePixels after r194816.
287 This looks like a typo introduced in r194816, we want to return early logging
288 a message when isRecording() returns true.
290 * platform/graphics/cairo/GraphicsContextCairo.cpp:
291 (WebCore::GraphicsContext::roundToDevicePixels):
292 * platform/graphics/cg/GraphicsContextCG.cpp:
293 (WebCore::GraphicsContext::roundToDevicePixels):
295 2016-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
297 Inconsistencies in main resource load delegates when loading from history
298 https://bugs.webkit.org/show_bug.cgi?id=150927
300 Reviewed by Michael Catanzaro.
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
318 Test: http/tests/loading/main-resource-delegates-on-back-navigation.html
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.
326 2016-01-09 Andy Estes <aestes@apple.com>
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
332 Reviewed by Tim Horton.
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.
337 New API test: WebKit2.AlwaysRevalidatedURLSchemes
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:
351 2016-01-11 Brady Eidson <beidson@apple.com>
353 Modern IDB: storage/indexeddb/index-multientry.html fails under GuardMalloc/ASAN.
354 https://bugs.webkit.org/show_bug.cgi?id=152990
356 Reviewed by Alex Christensen.
358 No new tests (Covered by re-enabling existing test).
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.
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.
369 2016-01-11 Joseph Pecoraro <pecoraro@apple.com>
371 Web Inspector: Migrate Page Timeline recording to ScriptProfiler
372 https://bugs.webkit.org/show_bug.cgi?id=152727
374 Reviewed by Brian Burg.
376 Test: inspector/script-profiler/event-type-Other.html
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.
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).
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.
418 2016-01-11 Anders Carlsson <andersca@apple.com>
420 Get rid of CFMakeCollectable, it is a no-op
421 https://bugs.webkit.org/show_bug.cgi?id=152988
423 Reviewed by Sam Weinig.
425 * platform/mac/WebCoreNSURLExtras.mm:
426 (WebCore::URLByTruncatingOneCharacterBeforeComponent):
427 (WebCore::URLByRemovingComponentAndSubsequentCharacter):
429 2016-01-11 Commit Queue <commit-queue@webkit.org>
431 Unreviewed, rolling out r194866.
432 https://bugs.webkit.org/show_bug.cgi?id=152986
434 This change broke the mac build (Requested by ryanhaddad on
439 "[Cocoa] Add SPI to opt out a URL scheme from the memory
441 https://bugs.webkit.org/show_bug.cgi?id=152950
442 http://trac.webkit.org/changeset/194866
444 2016-01-11 Zalan Bujtas <zalan@apple.com>
446 Padding added to table-cell element after font-size change.
447 https://bugs.webkit.org/show_bug.cgi?id=152796
449 Reviewed by David Hyatt.
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).
455 Test: fast/table/table-baseline-grows.html
457 * rendering/RenderTableSection.cpp:
458 (WebCore::RenderTableSection::calcRowLogicalHeight):
460 2016-01-11 Andy Estes <aestes@apple.com>
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
466 Reviewed by Tim Horton.
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.
471 New API test: WebKit2.AlwaysRevalidatedURLSchemes
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:
485 2016-01-11 Dave Hyatt <hyatt@apple.com>
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
491 Reviewed by Dean Jackson.
493 Added new tests in http/tests/loading.
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):
508 2016-01-11 Brady Eidson <beidson@apple.com>
510 Modern IDB: storage/indexeddb/key-generator.html fails.
511 https://bugs.webkit.org/show_bug.cgi?id=152981
513 Reviewed by Alex Christensen.
515 No new tests (One failing test now passes, and one test's results get a progression).
517 * Modules/indexeddb/server/IDBBackingStore.h:
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:
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.
536 2016-01-11 Brady Eidson <beidson@apple.com>
538 Modern IDB: storage/indexeddb/lazy-index-population.html fails.
539 https://bugs.webkit.org/show_bug.cgi?id=152976
541 Reviewed by Alex Christensen.
543 No new tests (At least one failing test now passes).
545 We were restoring objectstores/indexes incorrectly on transaction abort.
547 * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
548 (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
549 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
550 (WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
552 2016-01-11 Brady Eidson <beidson@apple.com>
554 Modern IDB: Make MemoryIndex and MemoryObjectStore RefCounted.
555 https://bugs.webkit.org/show_bug.cgi?id=152966
557 Reviewed by Alex Christensen.
559 No new tests (Refactor, no change in behavior)
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:
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:
575 * Modules/indexeddb/server/MemoryIndex.cpp:
576 (WebCore::IDBServer::MemoryIndex::create):
577 * Modules/indexeddb/server/MemoryIndex.h:
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:
590 2016-01-11 Andreas Kling <akling@apple.com>
592 Fix other builds after my MSVC build fix. :-|
594 * css/StyleResolver.cpp:
596 2016-01-11 Andreas Kling <akling@apple.com>
598 Fix MSVC build after r194848.
600 Since MSVC refuses to recognize the friendship between LazyNeverDestroyed
601 and some CSS*Value classes, make their constructors public in MSVC builds.
603 Added FIXME's to make it look extra gross.
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):
616 2016-01-11 Andreas Kling <akling@apple.com>
618 CSSValuePool should use nonfragmented storage for eternal caches.
619 <https://webkit.org/b/152960>
621 Reviewed by Antti Koivisto.
623 Store all of the common cached CSS value objects in contiguous arrays
624 instead of lazily allocating them on the heap.
626 This reduces heap fragmentation (win) and removes indirection (win)
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):
646 2016-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
648 [GTK] Cleanup RenderThemeGtk
649 https://bugs.webkit.org/show_bug.cgi?id=152888
651 Reviewed by Michael Catanzaro.
653 Use a common path for GTK+ 3.19 and previous versions, simplifying
654 the code and removing a lot of ifdefs.
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
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:
726 2016-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
728 [GTK] Cleanup ScrollbarThemeGtk
729 https://bugs.webkit.org/show_bug.cgi?id=152830
731 Reviewed by Michael Catanzaro.
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.
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
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
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:
781 2016-01-10 Myles C. Maxfield <mmaxfield@apple.com>
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>
787 Reviewed by Simon Fraser.
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.
794 Test: fast/text/svg-font-invalid-glyph-path-failure.html
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:
807 2016-01-10 Andreas Kling <akling@apple.com>
809 Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL cont'd
810 <https://webkit.org/b/152902>
812 Reviewed by Andy Estes.
814 Convert some more of the remaining clients to use NeverDestroyed.
816 * html/track/VTTRegion.cpp:
817 (WebCore::VTTRegion::textTrackCueContainerShadowPseudoId):
818 (WebCore::VTTRegion::textTrackRegionShadowPseudoId):
819 * svg/properties/SVGAnimatedPropertyMacros.h:
821 2016-01-09 Simon Fraser <simon.fraser@apple.com>
823 Hook up display-list drawing in GraphicsLayerCA
824 https://bugs.webkit.org/show_bug.cgi?id=152946
826 Reviewed by Zalan Bujtas.
828 Have GraphicsLayerCA hold a DisplayList. If enabled, do a display-list record
829 in GraphicsLayerCA::recursiveCommitChanges(), and a playback in GraphicsLayerCA::platformCALayerPaintContents().
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).
834 Plumb 'isUsingDisplayListDrawing' through to TileGrid via PlatformCALayer{Client}
835 so that we can decorate the tile paint counters with an outline.
837 Have RenderLayerCompositor push the displayListDrawingEnabled state down through
838 RenderLayerBackings to GraphicsLayers.
840 Convert RenderLayerCompositor to use initializers.
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:
872 2016-01-09 Zalan Bujtas <zalan@apple.com>
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>
878 Reviewed by Simon Fraser.
880 r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).
882 Test: fast/forms/multiple-subtree-layout-failure.html
884 * page/FrameView.cpp:
885 (WebCore::FrameView::scheduleRelayoutOfSubtree):
887 2016-01-09 Dan Bernstein <mitz@apple.com>
889 [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
890 https://bugs.webkit.org/show_bug.cgi?id=152926
892 Reviewed by Tim Horton.
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.
898 Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
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.
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.
910 2016-01-09 Andreas Kling <akling@apple.com>
912 Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
913 <https://webkit.org/b/152902>
915 Reviewed by Anders Carlsson.
917 Mostly mechanical conversion to NeverDestroyed throughout WebCore.
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):
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):
964 (WebCore::Document::readyState):
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):
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):
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):
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):
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:
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):
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):
1431 2016-01-08 Zalan Bujtas <zalan@apple.com>
1433 Absolute positioning -webkit-search-cancel-button crashes Safari.
1434 https://bugs.webkit.org/show_bug.cgi?id=152847
1435 <rdar://problem/24112087>
1437 Reviewed by Simon Fraser.
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.
1443 Test: fast/forms/absolute-positioned-custom-search-cancel-crash.html
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.
1457 2016-01-08 Simon Fraser <simon.fraser@apple.com>
1459 Add display-list drawing hooks to platform-specific GraphicsContext files
1460 https://bugs.webkit.org/show_bug.cgi?id=152940
1462 Reviewed by Zalan Bujtas.
1464 Call into the display list recorder for top-level entrypoints implemented in platform-specific
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).
1471 A few instances are stubbed out until we have a more complete display list implementation.
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):
1570 2016-01-08 Simon Fraser <simon.fraser@apple.com>
1572 Add DisplayList hooks into GraphicsContext
1573 https://bugs.webkit.org/show_bug.cgi?id=152932
1575 Reviewed by Zalan Bujtas.
1577 Add the hooks into GraphicsContext that call into the DisplayListRecorder if there
1580 Rename size() to something less ambiguous.
1582 Out-of-line some DisplayList functions so that the header doesn't need to see
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):
1643 2016-01-08 Brady Eidson <beidson@apple.com>
1645 Modern IDB: imported/w3c/indexeddb/keyorder.htm times out.
1646 https://bugs.webkit.org/show_bug.cgi?id=152929
1648 Reviewed by Alex Christensen.
1650 No new tests (Existing test now runs in the test harness).
1652 * Modules/indexeddb/client/IDBCursorImpl.cpp:
1653 (WebCore::IDBClient::IDBCursor::setGetResult):
1655 2016-01-08 Simon Fraser <simon.fraser@apple.com>
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
1660 Reviewed by Tim Horton.
1662 GraphicsContext had setters for paintingDisabled and updatingControlTints, but neither
1663 were changed dynamically.
1665 We can eliminate paintingDisabled by simply considering a GraphicsContext that was
1666 created with no platform context to be paint-disabled.
1668 We make updatingControlTints immutable state by providing a constructor that takes
1669 a "NonPaintingReasons" enum, and doesn't create platform data.
1671 More functions in platform code were protected by if (paintingDisabled())...
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.
1714 2016-01-08 Anders Carlsson <andersca@apple.com>
1716 InputType::findClosestTickMarkValue should return an Optional<Decimal>
1717 https://bugs.webkit.org/show_bug.cgi?id=152931
1719 Reviewed by Andreas Kling.
1721 This will make it possible to get rid of the notion of infinity from Decimal, allowing for more code simplification.
1723 * html/HTMLInputElement.cpp:
1724 (WebCore::HTMLInputElement::findClosestTickMarkValue):
1725 * html/HTMLInputElement.h:
1726 * html/InputType.cpp:
1727 (WebCore::InputType::findClosestTickMarkValue):
1729 * html/RangeInputType.cpp:
1730 (WebCore::RangeInputType::findClosestTickMarkValue):
1731 * html/RangeInputType.h:
1732 * html/shadow/SliderThumbElement.cpp:
1733 (WebCore::SliderThumbElement::setPositionFromPoint):
1735 2016-01-08 Brady Eidson <beidson@apple.com>
1737 Modern IDB: IDBBindingUtilities chokes on unicode strings for get/set.
1738 https://bugs.webkit.org/show_bug.cgi?id=152921
1740 Reviewed by Alex Christensen.
1742 No new tests (Covered by existing tests).
1744 * bindings/js/IDBBindingUtilities.cpp:
1745 (WebCore::get): Don't do a potentially lossy utf8() conversion on the string.
1746 (WebCore::set): Ditto.
1748 2016-01-08 Per Arne Vollan <peavo@outlook.com>
1750 [WinCairo] Support more video formats.
1751 https://bugs.webkit.org/show_bug.cgi?id=152890
1753 Reviewed by Alex Christensen.
1755 Use MediaFoundation api to detect all supported video/audio formats.
1757 * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1758 (WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes):
1759 (WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
1761 2016-01-08 Brady Eidson <beidson@apple.com>
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
1766 Reviewed by Alex Christensen.
1768 No new tests (Progression in many tests).
1770 * Modules/indexeddb/client/IDBFactoryImpl.cpp:
1771 (WebCore::IDBClient::IDBFactory::deleteDatabase):
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:
1780 2016-01-08 Zalan Bujtas <zalan@apple.com>
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>
1786 Reviewed by Simon Fraser.
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.
1794 Test: fast/css3-text/css3-text-decoration/text-underline-position/underline-visual-overflow-with-subpixel-position.html
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):
1805 2016-01-08 Brady Eidson <beidson@apple.com>
1807 Modern IDB: imported/w3c/indexeddb/idbobjectstore_createIndex6-event_order.htm fails.
1808 https://bugs.webkit.org/show_bug.cgi?id=152891
1810 Reviewed by Alex Christensen.
1812 No new tests (At least two failing tests now pass).
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.
1818 2016-01-07 Antti Koivisto <antti@apple.com>
1820 Enable selector filtering for shadow trees
1821 https://bugs.webkit.org/show_bug.cgi?id=152831
1823 Reviewed by Simon Fraser.
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.
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
1832 * css/ElementRuleCollector.cpp:
1833 (WebCore::ElementRuleCollector::ElementRuleCollector):
1835 Assert for consistency instead of testing for it.
1837 (WebCore::ElementRuleCollector::matchedResult):
1838 (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1840 Selector filter can now be used if it exists.
1842 * css/ElementRuleCollector.h:
1843 (WebCore::ElementRuleCollector::ElementRuleCollector): Deleted.
1845 (WebCore::RuleSet::addRule):
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.
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):
1859 New consistency conditions. This is now used for asserts only.
1861 (WebCore::SelectorFilter::pushParentStackFrame):
1862 (WebCore::SelectorFilter::popParentStackFrame):
1864 Selector filter only filters the current tree context, replace parentOrShadowHostElement with parentElement.
1866 (WebCore::SelectorFilter::setupParentStack): Deleted.
1870 (WebCore::SelectorFilter::pushParent):
1872 Remove consistency check. These cases no longer happen.
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):
1888 We no longer owner the selector filter. Move it to State.
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.
1898 No need for this logic.
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:
1915 This now owns the selector filter for a tree context.
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):
1927 Push the filter in a few more places to keep it consistent in shadow trees.
1929 * style/StyleTreeResolver.h:
1931 2016-01-07 Zalan Bujtas <zalan@apple.com>
1933 Move computeLineBoundsForText from GraphicsContext* to GraphicsContext.
1934 https://bugs.webkit.org/show_bug.cgi?id=152882
1936 Reviewed by Simon Fraser.
1938 There is nothing platform specific about it.
1940 No change in functionality.
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):
1953 2016-01-07 Brady Eidson <beidson@apple.com>
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
1958 Reviewed by Alex Christensen.
1960 No new tests (At least 2 failing tests now pass).
1962 * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
1963 (WebCore::IDBClient::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
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:
1970 2016-01-07 Brent Fulgham <bfulgham@apple.com>
1972 Correct missing EXT_sRGB Format Handling
1973 https://bugs.webkit.org/show_bug.cgi?id=152876
1974 <rdar://problem/23284389>
1976 Reviewed by Alex Christensen.
1978 Tested by WebGL 1.0.4 suite.
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.
1987 2016-01-07 Simon Fraser <simon.fraser@apple.com>
1989 Use an appropriate buffer format for swipe snapshots
1990 https://bugs.webkit.org/show_bug.cgi?id=152880
1991 rdar://problem/23728299
1993 Reviewed by Tim Horton.
1995 Choose an appropriate buffer format for swipe snapshots, and avoid converting
1998 * platform/graphics/cocoa/IOSurface.h:
1999 * platform/graphics/cocoa/IOSurface.mm:
2000 (IOSurface::allowConversionFromFormatToFormat):
2002 2016-01-07 Jer Noble <jer.noble@apple.com>
2004 [EME] Secure stop information not written to disk
2005 https://bugs.webkit.org/show_bug.cgi?id=152855
2007 Reviewed by Eric Carlson.
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.
2014 * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
2015 (WebCore::CDMSessionAVContentKeySession::contentKeySession):
2016 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2017 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
2019 2016-01-07 Zalan Bujtas <zalan@apple.com>
2021 Use wavy offset for decoration painting when line style is TextDecorationStyleWavy.
2022 https://bugs.webkit.org/show_bug.cgi?id=152856
2024 Reviewed by Simon Fraser.
2026 No change in functionality.
2028 * rendering/TextDecorationPainter.cpp:
2029 (WebCore::TextDecorationPainter::paintTextDecoration):
2031 2016-01-07 Brady Eidson <beidson@apple.com>
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
2036 Reviewed by Alex Christensen.
2038 No new tests (5 skipped tests now pass).
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.
2047 2016-01-07 Zalan Bujtas <zalan@apple.com>
2049 Remove unused shouldAntialias parameter from GraphicsContext::computeLineBoundsAndAntialiasingModeForText()
2050 https://bugs.webkit.org/show_bug.cgi?id=152859
2052 Reviewed by Simon Fraser.
2054 No change in functionality.
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):
2066 2016-01-07 Brady Eidson <beidson@apple.com>
2068 Modern IDB: imported/w3c/indexeddb/idbcursor-continue.htm fails.
2069 https://bugs.webkit.org/show_bug.cgi?id=152849
2071 Reviewed by Alex Christensen.
2073 No new tests (At least one failing test now passes).
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.
2079 2016-01-07 Zalan Bujtas <zalan@apple.com>
2081 Incorrect position: fixed; rendering when child of position:relative/sticky.
2082 https://bugs.webkit.org/show_bug.cgi?id=147284
2084 Reviewed by Simon Fraser and David Hyatt.
2086 Computing logical left for positioned objects should take the relative positioned ancestors' offset
2089 Tests: fast/block/positioning/fixed-container-with-relative-parent.html
2090 fast/block/positioning/fixed-container-with-sticky-parent.html
2092 * rendering/RenderBox.cpp:
2093 (WebCore::computeInlineStaticDistance):
2095 2016-01-06 Simon Fraser <simon.fraser@apple.com>
2097 Initial implementation files for display-list recording and playback
2098 https://bugs.webkit.org/show_bug.cgi?id=152816
2100 Reviewed by Zalan Bujtas.
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
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
2112 Added a "DisplayLists" log channel.
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.
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.
2136 2016-01-07 Chris Dumez <cdumez@apple.com>
2138 Directly-composited animated GIFs never resume once scrolled offscreen
2139 https://bugs.webkit.org/show_bug.cgi?id=152817
2140 <rdar://problem/19982020>
2142 Reviewed by Daniel Bates.
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.
2153 Test: fast/images/composited-animated-gif-outside-viewport.html
2155 * platform/graphics/BitmapImage.h:
2156 Make currentFrame() public so it can be exposed via Internals for the
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.
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.
2177 2016-01-07 Michael Catanzaro <mcatanzaro@igalia.com>
2179 [SOUP] Consider reducing max simultaneous connections
2180 https://bugs.webkit.org/show_bug.cgi?id=137282
2182 Reviewed by Carlos Garcia Campos.
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.
2188 * platform/network/soup/SoupNetworkSession.cpp:
2189 (WebCore::SoupNetworkSession::SoupNetworkSession):
2191 2016-01-06 Antti Koivisto <antti@apple.com>
2193 Factor free standing tree style resolve functions into a class
2194 https://bugs.webkit.org/show_bug.cgi?id=152786
2196 Reviewed by Simon Fraser.
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.
2202 This will enable new features and optimizations later.
2205 (WebCore::Document::recalcStyle):
2207 Move the root style computation code back to Document. It fits better here and avoid some
2208 awkwardness with style resolver construction order.
2210 * style/StyleResolveTree.cpp:
2211 (WebCore::Style::TreeResolver::TreeResolver):
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.
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):
2228 Rename to reduce the use of confusing "attach" terminology.
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:
2257 2016-01-07 Doug Russell <d_russell@apple.com>
2259 AX: AXObjectCacheMac is passing WebCore enum values directly to VoiceOver
2260 https://bugs.webkit.org/show_bug.cgi?id=151755
2262 Reviewed by Chris Fleizach.
2264 No new tests, covered by existing tests.
2266 * accessibility/mac/AXObjectCacheMac.mm:
2267 (platformChangeTypeForWebCoreChangeType):
2268 (platformEditTypeForWebCoreEditType):
2269 (platformDirectionForWebCoreDirection):
2270 (platformGranularityForWebCoreGranularity):
2271 (WebCore::AXObjectCache::postTextStateChangePlatformNotification):
2272 (WebCore::textReplacementChangeDictionary):
2273 (WebCore::AXObjectCache::postTextReplacementPlatformNotification):
2275 2016-01-06 Brady Eidson <beidson@apple.com>
2277 Modern IDB: Fix up IDBDatabaseIdentifier hash issues.
2278 https://bugs.webkit.org/show_bug.cgi?id=152822
2280 Reviewed by Alex Christensen.
2282 No new tests (No explicitly testable behavior change, existing tests pass, flakiness will be reduced).
2284 * Modules/indexeddb/IDBDatabaseIdentifier.h:
2285 (WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
2286 (WebCore::IDBDatabaseIdentifier::isEmpty):
2287 (WebCore::IDBDatabaseIdentifierHashTraits::isEmptyValue):
2288 * page/SecurityOriginData.h:
2290 2016-01-06 Simon Fraser <simon.fraser@apple.com>
2292 Sort the project file.
2294 * WebCore.xcodeproj/project.pbxproj:
2296 2016-01-06 Simon Fraser <simon.fraser@apple.com>
2298 Add a setting and preferences to enable display-list drawing. Does nothing yet.
2299 https://bugs.webkit.org/show_bug.cgi?id=152807
2301 Reviewed by Zalan Bujtas.
2303 Setting for display-list drawing.
2307 2016-01-06 Eric Carlson <eric.carlson@apple.com>
2309 AirPlay route availability event not always sent
2310 https://bugs.webkit.org/show_bug.cgi?id=152802
2312 Reviewed by Jer Noble.
2314 Test: media/airplay-target-availability.html
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.
2323 * html/HTMLMediaElement.cpp:
2324 (WebCore::HTMLMediaElement::mediaState): Set new flags.
2325 * html/HTMLMediaElement.h:
2327 * page/MediaProducer.h: Define new flags. Add new state enum.
2329 * platform/graphics/MediaPlaybackTargetContext.h: Initial state is "Unknown".
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:
2339 * testing/Internals.cpp:
2340 (WebCore::Internals::setMockMediaPlaybackTargetPickerState): Support new state.
2342 2016-01-06 Brady Eidson <beidson@apple.com>
2344 Modern IDB: storage/indexeddb/odd-strings.html is flaky.
2345 https://bugs.webkit.org/show_bug.cgi?id=152800
2347 Reviewed by Alex Christensen.
2349 No new tests (Existing flaky test is now rock solid and unskipped).
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.
2357 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2358 (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
2360 2016-01-06 Brady Eidson <beidson@apple.com>
2362 Modern IDB: storage/indexeddb/intversion-gated-on-delete.html is flaky.
2363 https://bugs.webkit.org/show_bug.cgi?id=152795
2365 Reviewed by Alex Christensen.
2367 No new tests (At least one failing test now passes).
2369 Change the HashSet of open connection into a ListHashSet.
2371 This enforces a reliable order of event delivery, which this test relies on,
2372 and which seems better in general.
2374 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2375 (WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
2376 * Modules/indexeddb/server/UniqueIDBDatabase.h:
2378 2016-01-06 Simon Fraser <simon.fraser@apple.com>
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
2384 Reviewed by Tim Horton.
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.
2390 So revert the change.
2392 * page/FrameView.cpp:
2393 (WebCore::FrameView::contentsSizeRespectingOverflow): Deleted.
2396 2016-01-06 Brent Fulgham <bfulgham@apple.com>
2398 Port blocking bypass issue using 307 redirect
2399 https://bugs.webkit.org/show_bug.cgi?id=152801
2400 <rdar://problem/24048554>
2402 Reviewed by Anders Carlsson.
2404 Tested by http/tests/security/blocked-on-redirect.html.
2406 Make sure that 307 redirects check the requested URL via 'portAllowed'.
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:
2416 2016-01-06 Myles C. Maxfield <mmaxfield@apple.com>
2418 [Cocoa] Tiny cleanup in FontPlatformData::ctFont()
2419 https://bugs.webkit.org/show_bug.cgi?id=152793
2421 Reviewed by Zalan Bujtas.
2423 No new tests because there is no behavior change.
2425 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2426 (WebCore::FontPlatformData::ctFont):
2428 2016-01-06 Brady Eidson <beidson@apple.com>
2430 Modern IDB: storage/indexeddb/transaction-scope-sequencing.html fails
2431 https://bugs.webkit.org/show_bug.cgi?id=152775
2433 Reviewed by Alex Christensen.
2435 No new tests (At least one failing test now passes, plus changes to another existing test).
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.
2440 Additionally, read-only transactions were actually sometimes running even though their scopes
2441 overlapped with a running read-write transaction.
2443 This patch fixes both of those issues.
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:
2451 2016-01-06 Zalan Bujtas <zalan@apple.com>
2453 Float with media query positioned incorrectly after window resize.
2454 https://bugs.webkit.org/show_bug.cgi?id=152558
2456 Reviewed by Simon Fraser and David Hyatt.
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.
2463 Test: fast/block/float/float-with-anonymous-previous-sibling.html
2465 * rendering/RenderElement.cpp:
2466 (WebCore::RenderElement::styleDidChange):
2468 2016-01-06 Zalan Bujtas <zalan@apple.com>
2470 isAnonymousInlineBlock() should exclude any ruby content.
2471 https://bugs.webkit.org/show_bug.cgi?id=152648
2472 <rdar://problem/23872549>
2474 Reviewed by David Hyatt.
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)
2480 Test: fast/ruby/ruby-inline-margin-collapse-crash.html
2482 * rendering/RenderObject.cpp:
2483 (WebCore::RenderObject::isAnonymousInlineBlock):
2484 * rendering/RenderObject.h:
2485 (WebCore::RenderObject::isAnonymousInlineBlock): Deleted.
2487 2016-01-05 Zalan Bujtas <zalan@apple.com>
2489 showRenderTree: add inline-block/inline/block column.
2490 https://bugs.webkit.org/show_bug.cgi?id=152771
2492 Reviewed by Simon Fraser.
2494 The name of the renderer (RenderBlock etc) does not always reflect the associated display type.
2496 No change in functionality.
2498 * rendering/RenderObject.cpp:
2499 (WebCore::showRenderTreeLegend):
2500 (WebCore::RenderObject::showRenderObject):
2502 2016-01-05 Simon Fraser <simon.fraser@apple.com>
2504 Move ImageBuffer::clip() code into GraphicsContext
2505 https://bugs.webkit.org/show_bug.cgi?id=152769
2507 Reviewed by Zalan Bujtas.
2509 For CG, GraphicsContext had clipToNativeImage(PassNativeImagePtr...), which
2510 was ugly and platform-specific.
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()
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.
2535 2016-01-05 Simon Fraser <simon.fraser@apple.com>
2537 Remove GraphicsContext::drawJoinedLines()
2538 https://bugs.webkit.org/show_bug.cgi?id=152764
2540 Reviewed by Zalan Bujtas.
2542 GraphicsContext::drawJoinedLines() was only used by iOS form-control drawing
2543 and polluted GraphicsContext with platform-specific types.
2545 Rewrite RenderThemeIOS::paintCheckboxDecorations() to use the CGContextRef directly.
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):
2554 2016-01-05 Brady Eidson <beidson@apple.com>
2556 Modern IDB: storage/indexeddb/structured-clone.html crashes.
2557 https://bugs.webkit.org/show_bug.cgi?id=152763
2559 Reviewed by Alex Christensen.
2561 No new tests (At least one failing test now passes).
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.
2566 Fixing that fixes the test.
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.
2572 * bindings/js/JSDOMBinding.h:
2573 (WebCore::toJS): Add a ArrayBufferView specialization for toJS that skips the need for a JSDOMGlobalObject.
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.
2580 2016-01-05 Pranjal Jumde <pjumde@apple.com>
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>
2586 Reviewed by Brent Fulgham.
2588 * Source/WebCore/html/HTMLImageElement.cpp:
2589 Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode& insertionPoint)
2591 2016-01-05 Simon Fraser <simon.fraser@apple.com>
2593 Adjust tile coverage with margin tiles, and tidy up the indicator
2594 https://bugs.webkit.org/show_bug.cgi?id=152742
2596 Reviewed by Beth Dakin.
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.
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.
2607 Second, update the tiled scrolling indicator when the visible rect changes,
2608 and coalesce the map updates on a timer.
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:
2627 2016-01-05 Antti Koivisto <antti@apple.com>
2629 Remove selector filter update calls from Element child parsing callbacks
2630 https://bugs.webkit.org/show_bug.cgi?id=152749
2632 Reviewed by Andreas Kling.
2634 We haven't done style resolve during parsing for a while now. These calls do nothing useful.
2637 (WebCore::Element::beginParsingChildren):
2638 (WebCore::Element::finishParsingChildren):
2640 2016-01-05 Brady Eidson <beidson@apple.com>
2642 Modern IDB: Error message updates for two failing tests.
2643 https://bugs.webkit.org/show_bug.cgi?id=152735
2645 Reviewed by Alex Christensen.
2647 No new tests (Covered by existing tests).
2649 Add error messages for various operations on deleted objects.
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):
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):
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):
2675 * bindings/js/JSIDBObjectStoreCustom.cpp:
2676 (WebCore::JSIDBObjectStore::createIndex):
2678 2016-01-05 Eric Carlson <eric.carlson@apple.com>
2680 Avoid NULL deference in Page::updateIsPlayingMedia
2681 https://bugs.webkit.org/show_bug.cgi?id=152732
2683 No new tests, this fixes a rare crash that I am unable to reproduce.
2685 Reviewed by David Kilzer.
2688 (WebCore::Page::updateIsPlayingMedia): frame->document() can return NULL.
2690 2016-01-05 Brady Eidson <beidson@apple.com>
2692 Modern IDB: Transactions from a previous page can leak forward to the next.
2693 https://bugs.webkit.org/show_bug.cgi?id=152698
2695 Reviewed by Alex Christensen.
2697 Test: storage/indexeddb/modern/transactions-stop-on-navigation.html
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.
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:
2710 * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
2711 (WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):
2713 * Modules/indexeddb/client/IDBRequestImpl.h:
2715 * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2716 (WebCore::IDBClient::IDBTransaction::IDBTransaction):
2717 (WebCore::IDBClient::IDBTransaction::stop):
2718 (WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests):
2720 * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2721 (WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
2722 (WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
2724 2016-01-05 Zan Dobersek <zdobersek@igalia.com>
2726 Unreviewed. Attempting to fix the AppleWin build after r194577.
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.
2733 * PlatformEfl.cmake:
2734 * PlatformGTK.cmake:
2735 * PlatformWinCairo.cmake:
2737 2016-01-05 Antti Koivisto <antti@apple.com>
2739 Move StyleChange enum into a separate file
2740 https://bugs.webkit.org/show_bug.cgi?id=152730
2742 Reviewed by Andreas Kling.
2744 Fewer whole-world rebuilds.
2747 * WebCore.vcxproj/WebCore.vcxproj:
2748 * WebCore.xcodeproj/project.pbxproj:
2749 * dom/CharacterData.cpp:
2750 * dom/ContainerNode.cpp:
2755 * style/StyleChange.h: Added.
2756 * style/StyleResolveTree.cpp:
2757 (WebCore::Style::shouldCreateRenderer):
2758 (WebCore::Style::determineChange): Deleted.
2759 * style/StyleResolveTree.h:
2761 2016-01-04 Zan Dobersek <zdobersek@igalia.com>
2763 [PerformanceTiming] Don't expose the restrictedKeyMap() HashMap
2764 https://bugs.webkit.org/show_bug.cgi?id=147366
2766 Reviewed by Sam Weinig.
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.
2773 The HashMap is now wrapped in a NeverDestroyed object and is populated when the first
2774 mark function is looked for.
2776 * page/PerformanceUserTiming.cpp:
2777 (WebCore::UserTiming::mark):
2778 (WebCore::UserTiming::findExistingMarkStartTime):
2780 2016-01-04 Zan Dobersek <zdobersek@igalia.com>
2782 [TextureMapper] Move ClipStack into its own file
2783 https://bugs.webkit.org/show_bug.cgi?id=152661
2785 Reviewed by Michael Catanzaro.
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.
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.
2795 Turn YAxisMode enum into an enum class, update the uses to properly specify
2796 the scope of the enum value.
2798 Reorder the ClipStack member variables into a more efficient order.
2800 No new tests -- no change in behavior.
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.
2842 2016-01-04 Zan Dobersek <zdobersek@igalia.com>
2844 Shave off a TransformationMatrix copy if RenderLayer's transparencyClipBox()
2845 https://bugs.webkit.org/show_bug.cgi?id=152119
2847 Reviewed by Simon Fraser.
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.
2854 2016-01-04 Myles C. Maxfield <mmaxfield@apple.com>
2856 TextBreakIterator uses an internal implementation detail of NSLocale
2857 https://bugs.webkit.org/show_bug.cgi?id=152715
2858 <rdar://problem/23775121>
2860 Reviewed by Tim Horton.
2862 Instead of directly querying AppleLanguages, we should use [NSLocale preferredLanguages].
2864 No new tests because there is no behavior change.
2866 * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2867 (WebCore::topLanguagePreference):
2869 2016-01-04 Joseph Pecoraro <pecoraro@apple.com>
2871 JSCustomXPathNSResolver::lookupNamespaceURI Console Message should render with a column number
2872 https://bugs.webkit.org/show_bug.cgi?id=114312
2874 Reviewed by Brent Fulgham.
2876 * bindings/js/JSCustomXPathNSResolver.cpp:
2877 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Deleted.
2878 This now behaves as expected.
2880 2016-01-04 Brady Eidson <beidson@apple.com>
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
2885 Reviewed by Alex Christensen.
2887 Test: storage/indexeddb/modern/memory-index-not-deleted-with-objectstore.html
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:
2895 2016-01-04 Tim Horton <timothy_horton@apple.com>
2897 Turn on gesture events when building for Yosemite
2898 https://bugs.webkit.org/show_bug.cgi?id=152704
2899 rdar://problem/24042472
2901 Reviewed by Anders Carlsson.
2903 * Configurations/FeatureDefines.xcconfig:
2905 2016-01-04 Sergio Villar Senin <svillar@igalia.com>
2907 REGRESSION(r194143): Float width incorrectly calculated on Wikipedia
2908 https://bugs.webkit.org/show_bug.cgi?id=152644
2910 Reviewed by Myles C. Maxfield.
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()).
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.
2922 Test: fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html
2924 * rendering/RenderBlock.cpp:
2925 (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2927 2016-01-04 David Hyatt <hyatt@apple.com>
2929 word-wrap: break-word broken inside a flexbox
2930 https://bugs.webkit.org/show_bug.cgi?id=152321
2932 Reviewed by Simon Fraser.
2934 Added fast/text/word-break-on-flexbox-child.html
2936 * rendering/RenderText.cpp:
2937 (WebCore::RenderText::computePreferredLogicalWidths):
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.
2943 This means all uses of word-wrap:break-word were broken when measuring the
2944 intrinsic width of a RenderText.
2946 2016-01-04 John Wilander <wilander@apple.com>
2948 webkitGetUserMedia built-in should use @then and not then
2949 https://bugs.webkit.org/show_bug.cgi?id=152296
2951 Reviewed by Brent Fulgham.
2953 Test: streams/webkitGetUserMedia-shadowing-then.html
2955 * Modules/mediastream/NavigatorUserMedia.js:
2956 (webkitGetUserMedia): Modified to use @then syntax.
2958 2016-01-04 Myles C. Maxfield <mmaxfield@apple.com>
2960 Post-commit update for r193484.
2961 https://bugs.webkit.org/show_bug.cgi?id=151884
2965 The same null check needs to be applied in fontHasVerticalGlyphs() as well.
2967 * platform/graphics/cocoa/FontCocoa.mm:
2968 (WebCore::fontHasVerticalGlyphs):
2970 2016-01-04 David Hyatt <hyatt@apple.com>
2972 Video/audio-related cleanup after changes to the source element for picture support.
2973 https://bugs.webkit.org/show_bug.cgi?id=152090
2975 Reviewed by Darin Adler.
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.
2981 * html/HTMLSourceElement.cpp:
2982 (WebCore::HTMLSourceElement::insertedInto):
2983 (WebCore::HTMLSourceElement::removedFrom):
2984 Add guards to fix the build when video is not enabled.
2986 2016-01-04 Brent Fulgham <bfulgham@apple.com>
2988 [Win] Clean up some Windows WebCore files
2989 https://bugs.webkit.org/show_bug.cgi?id=148275
2991 Reviewed by Dean Jackson.
2993 No new tests because there is no behavior change.
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
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:
3008 2016-01-04 Andreas Kling <akling@apple.com>
3010 Simplify the CachedScript ASCII optimization.
3011 <https://webkit.org/b/152596>
3013 Reviewed by Antti Koivisto.
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.
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.
3023 Bonus: Implement Darin's suggestion to let TextEncoding answer whether
3024 an encoding is byte-based and thus eligible for the ASCII optimization.
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):
3039 2016-01-04 Philippe Normand <pnormand@igalia.com>
3041 [GStreamer] A video element isn't drawn onto the canvas.
3042 https://bugs.webkit.org/show_bug.cgi?id=132671
3044 Reviewed by Michael Catanzaro.
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.
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:
3063 2016-01-03 Michael Catanzaro <mcatanzaro@igalia.com>
3065 [GTK] Fix -Wpessimizing-move warnings after switch to WTFMove
3066 https://bugs.webkit.org/show_bug.cgi?id=152677
3068 Reviewed by Andy Estes.
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):
3077 2016-01-03 David Kilzer <ddkilzer@apple.com>
3079 -[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:] is missing an m_handle->client() NULL check
3080 <https://webkit.org/b/152673>
3081 <rdar://problem/23560530>
3083 Reviewed by Daniel Bates.
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.
3090 2016-01-03 Michael Catanzaro <mcatanzaro@igalia.com>
3092 Unreviewed, turn off temporary scrolling logging on GTK
3093 https://bugs.webkit.org/show_bug.cgi?id=152649
3095 * platform/Logging.cpp:
3096 (WebCore::initializeLoggingChannelsIfNecessary): Deleted.
3098 2016-01-03 Simon Fraser <simon.fraser@apple.com>
3100 Fix Windows build after r194515.
3102 * platform/win/PopupMenuWin.cpp:
3103 (WebCore::PopupMenuWin::scrollOffset):
3104 (WebCore::PopupMenuWin::scrollPosition): Renamed.
3105 * platform/win/PopupMenuWin.h:
3107 2016-01-03 Khem Raj <raj.khem@gmail.com>
3109 WebKit fails to build with musl libc library
3110 https://bugs.webkit.org/show_bug.cgi?id=152625
3112 Reviewed by Daniel Bates and Alexey Proskuryakov.
3114 malloc_trim is glibc specific API so guard it with __GLIBC__.
3116 * platform/linux/MemoryPressureHandlerLinux.cpp:
3117 (MemoryPressureHandler::platformReleaseMemory): Guard malloc_trim()
3120 2016-01-03 Simon Fraser <simon.fraser@apple.com>
3122 Minor cleanup in ScrollAnimator
3123 https://bugs.webkit.org/show_bug.cgi?id=152656
3125 Reviewed by Dan Bernstein.
3127 Hide the fact that ScrollAnimator's m_currentPosX/m_currentPosY is not a FloatPoint
3128 as much as possible.
3130 Do offset -> position conversion in ScrollAnimator::scrollToOffsetWithoutAnimation().
3131 This is a behavior change, but I could never hit this code on Mac.
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):
3150 2016-01-03 Simon Fraser <simon.fraser@apple.com>
3152 Rename scrollPosition(Scrollbar*) to scrollOffset(ScrollbarOrientation)
3153 https://bugs.webkit.org/show_bug.cgi?id=152666
3155 Reviewed by Dan Bernstein.
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.
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:
3180 2016-01-03 Simon Fraser <simon.fraser@apple.com>
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
3186 Reviewed by Zalan Bujtas.
3188 Use scrollPosition for DOM-exposed scroll* values on overflow scroll elements,
3189 matching the CSS OM View spec, and Gecko behavior.
3191 Test: fast/scrolling/programmatic-overflow-rtl-scrollIntoView.html
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:
3203 2016-01-03 Simon Fraser <simon.fraser@apple.com>
3205 Some cleanup in ScrollAnimator
3206 https://bugs.webkit.org/show_bug.cgi?id=152649
3208 Try to fix GTK scroll position errors in RTL.
3210 ScrollAnimatorNone::scrollToOffsetWithoutAnimation() was failing to map from
3213 Also add logging in ScrollableArea::scrollToOffsetWithoutAnimation().
3215 * platform/ScrollAnimatorNone.cpp:
3216 (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
3217 * platform/ScrollableArea.cpp:
3218 (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
3220 2016-01-02 Simon Fraser <simon.fraser@apple.com>
3222 Temporarily turn on Scrolling logging on GTK, to investigate
3223 GTK failures from https://bugs.webkit.org/show_bug.cgi?id=152649.
3225 * platform/Logging.cpp:
3226 (WebCore::initializeLoggingChannelsIfNecessary):
3228 2016-01-02 Simon Fraser <simon.fraser@apple.com>
3230 Some cleanup in ScrollAnimator
3231 https://bugs.webkit.org/show_bug.cgi?id=152649
3233 Try to fix GTK test failures. ScrollAnimatorNone needs to map correctly between
3234 min and max scroll positions.
3236 * platform/ScrollAnimatorNone.cpp:
3237 (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
3238 (WebCore::ScrollAnimatorNone::scroll):
3239 * platform/ScrollAnimatorNone.h:
3241 2016-01-02 Max Stepin <maxstepin@gmail.com>
3243 APNG decoder: only decode the frames up to haltAtFrame
3244 https://bugs.webkit.org/show_bug.cgi?id=146205
3246 Reviewed by Michael Catanzaro.
3248 No new tests, already covered by existing tests.
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):
3261 2016-01-02 Simon Fraser <simon.fraser@apple.com>
3263 Some cleanup in ScrollAnimator
3264 https://bugs.webkit.org/show_bug.cgi?id=152649
3266 Reviewed by Zalan Bujtas.
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.
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
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.
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.
3285 Remove ScrollController::absoluteScrollPosition() and overrides, since this was
3286 confusingly named, and could just be removed.
3288 Remove ScrollController::m_origOrigin which was assigned to, but never read.
3290 Test: fast/scrolling/arrow-key-scroll-in-rtl-document.html: new
3291 fast/dom/horizontal-scrollbar-in-rtl.html: progressed with these changes.
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:
3329 2016-01-02 Zalan Bujtas <zalan@apple.com>
3331 Simple line layout:: Add text-decoration support.
3332 https://bugs.webkit.org/show_bug.cgi?id=152623
3334 Reviewed by Antti Koivisto.
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.
3339 Test: fast/css3-text/css3-text-decoration/simple-line-layout-text-decoration.html
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.
3348 2015-12-31 Andy Estes <aestes@apple.com>
3350 Replace WTF::move with WTFMove
3351 https://bugs.webkit.org/show_bug.cgi?id=152601
3353 Reviewed by Brady Eidson.
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):