bc9f3ac105a446b59ab44393b8ded28619c2945f
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2018-07-02  Wenson Hsieh  <wenson_hsieh@apple.com>
2
3         Clean up some spellchecking code
4         https://bugs.webkit.org/show_bug.cgi?id=187238
5
6         Reviewed by Tim Horton.
7
8         A few minor tweaks to modernize some spellchecking code. No change in behavior.
9
10         * editing/AlternativeTextController.cpp:
11         (WebCore::AlternativeTextController::timerFired):
12         * editing/Editor.cpp:
13         (WebCore::Editor::markMisspellingsAfterTypingToWord):
14
15         Use move semantics when passing Ranges to markAllMisspellingsAndBadGrammarInRanges.
16
17         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
18
19         Change this to take RefPtr<Range>&& instead of Range*.
20
21         (WebCore::Editor::markMisspellingsAndBadGrammar):
22
23         Remove an unnecessary call to `RefPtr::get()`.
24
25         * editing/Editor.h:
26         * editing/TextCheckingHelper.cpp:
27         (WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
28         (WebCore::TextCheckingParagraph::checkingStart const):
29         (WebCore::TextCheckingParagraph::checkingEnd const):
30         (WebCore::TextCheckingParagraph::checkingLength const):
31         (WebCore::TextCheckingParagraph::automaticReplacementStart const):
32         (WebCore::TextCheckingParagraph::automaticReplacementLength const):
33
34         Currently, all of these cached range offsets are `int`s, and use a value of -1 to denote that their values are
35         missing and must be recomputed. Instead, make these `std::optional`s and let `std::nullopt` represent the
36         missing value.
37
38         * editing/TextCheckingHelper.h:
39
40 2018-07-02  Antoine Quint  <graouts@apple.com>
41
42         Crash in WebCore::WebAnimation::timeToNextRequiredTick when running imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html
43         https://bugs.webkit.org/show_bug.cgi?id=187145
44
45         Reviewed by Dean Jackson.
46
47         Ensure we have a resolved time value before trying to use it.
48
49         * animation/WebAnimation.cpp:
50         (WebCore::WebAnimation::timeToNextRequiredTick const):
51
52 2018-07-02  Antoine Quint  <graouts@apple.com>
53
54         [Web Animations] Crash in KeyframeEffectReadOnly::applyPendingAcceleratedActions()
55         https://bugs.webkit.org/show_bug.cgi?id=187139
56
57         Reviewed by Dean Jackson.
58
59         Ensure we have a resolved time value before trying to use it.
60
61         * animation/KeyframeEffectReadOnly.cpp:
62         (WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions):
63
64 2018-07-02  Youenn Fablet  <youenn@apple.com>
65
66         Reject getUserMedia promise if capture fails
67         https://bugs.webkit.org/show_bug.cgi?id=187190
68
69         Reviewed by Eric Carlson.
70
71         In case PendingActivationMediaStream is notified of a change,
72         Check whether any track failed to capture.
73         If so, reject the promise.
74         Add more release logging in error case.
75
76         Covered by manual testing.
77
78         * Modules/mediastream/UserMediaRequest.cpp:
79         (WebCore::UserMediaRequest::PendingActivationMediaStream::~PendingActivationMediaStream):
80         (WebCore::UserMediaRequest::PendingActivationMediaStream::characteristicsChanged):
81         (WebCore::UserMediaRequest::mediaStreamIsReady):
82         (WebCore::UserMediaRequest::mediaStreamDidFail):
83         * Modules/mediastream/UserMediaRequest.h:
84         * platform/mediastream/MediaStreamPrivate.h:
85         * platform/mediastream/RealtimeMediaSource.cpp:
86         (WebCore::RealtimeMediaSource::captureFailed):
87         * platform/mediastream/mac/AVVideoCaptureSource.mm:
88         (WebCore::AVVideoCaptureSource::setupCaptureSession):
89
90 2018-07-01  Fujii Hironori  <Hironori.Fujii@sony.com>
91
92         [WK2] fast/parser/document-open-in-unload.html makes the following test crash
93         https://bugs.webkit.org/show_bug.cgi?id=98345
94         <rdar://problem/12474923>
95
96         Reviewed by Ryosuke Niwa.
97
98         m_documentLoader can become null in the middle of
99         FrameLoader::commitProvisionalLoad by stopping the loading.
100
101         No new tests (Covered by existing tests).
102
103         * loader/FrameLoader.cpp:
104         (WebCore::FrameLoader::commitProvisionalLoad): Do null check of m_documentLoader.
105
106 2018-07-01  Myles C. Maxfield  <mmaxfield@apple.com>
107
108         [Cocoa] LastResort in the font family list causes emoji with joiners to be rendered as multiple .notdef characters
109         https://bugs.webkit.org/show_bug.cgi?id=187209
110         <rdar://problem/40920785>
111
112         Reviewed by Darin Adler.
113
114         Inside our complex text codepath, we perform our own font fallback, which
115         includes a function that asks "can this font support this grapheme cluster?"
116         Because of the mechanics of how fonts work, the implementation of this
117         function is "Does the font's cmap table support every character of the
118         cluster?" We were using Font::glyphForCharacter() to determine this; however,
119         this function maps certain control characters to the zero width space
120         character (with the intention that these control characters shouldn't be
121         visible in the fast text codepath). That replacement, however, was causing
122         us to get false negatives, because Apple Color Emoji doesn't support zero
123         width space. Therefore, Apple Color Emoji was looking like it didn't support
124         emoji combining sequences.
125
126         The best solution to this would be to get Font::glyphForCharacter() to stop
127         performing these replacements (see https://bugs.webkit.org/show_bug.cgi?id=187166).
128         However, that is too risky of a change to be making right now. Instead,
129         a more localized solution is to implement a version of "Does the font's cmap
130         table support every character of the cluster" that doesn't perform the
131         substitutions. This patch does exactly that, and uses a bit vector to cache
132         the results. In order to not have a giant bit vector, we take the old code
133         path if we know the substitutions won't affect us (and uses ASSERT()s to 
134         validate this) so the bit vector only holds at maximum 3 words of storage.
135
136         Test: fast/text/emoji-with-joiner.html
137
138         * platform/graphics/Font.cpp:
139         (WebCore::codePointSupportIndex):
140         (WebCore::createAndFillGlyphPage):
141         (WebCore::Font::platformSupportsCodePoint const):
142         (WebCore::Font::supportsCodePoint const):
143         (WebCore::Font::canRenderCombiningCharacterSequence const):
144         * platform/graphics/Font.h:
145         * platform/graphics/cocoa/FontCocoa.mm:
146         (WebCore::Font::platformSupportsCodePoint const):
147
148 2018-07-01  Wenson Hsieh  <wenson_hsieh@apple.com>
149
150         [macOS] Text replacements that end with symbols are expanded immediately
151         https://bugs.webkit.org/show_bug.cgi?id=187225
152         <rdar://problem/41112433>
153
154         Reviewed by Darin Adler.
155
156         In shipping Safari, enabling grammar correction causes text shortcuts that end with symbols or punctuation marks
157         to immediately trigger when typing; normally, when grammar correction is off, this is only triggered after the
158         user has additionally inserted a punctuation mark or whitespace character after the replaced text.
159
160         This bug happens because enabling grammar checking causes the spell checking range to expand to the range of the
161         full sentence, so any text checking results that replace an existing range are triggered as long as they end
162         anywhere in the sentence. In contrast, when grammar checking is disabled, the spell checking range is limited to
163         the nearest adjacent word, which prevents text replacement from occurring elsewhere in the sentence.
164
165         However, after r232530, we now always expand the spell checking range to the extent of the sentence when a word
166         is typed regardless of whether grammar checking is enabled, which means that the issue described above now
167         happens everywhere. To fix this recent regression and the existing bug, we:
168
169         -   Augment our spellchecking codepaths to include a new automatic text replacement range, alongside
170             spellchecking and paragraph ranges.
171         -   Let this automatic text replacement range be the range of the adjacent word in the case where the user has
172             finished typing a word.
173         -   When marking and replacing text checking results, consult this new automatic text replacement instead of the
174             spellchecking range.
175
176         This keeps the behavior grammar and sentence retro correction results intact, while limiting the scope in which
177         text replacement results are applied.
178
179         Test: editing/spelling/text-replacement-after-typing-to-word.html
180
181         * editing/AlternativeTextController.cpp:
182         (WebCore::AlternativeTextController::timerFired):
183         * editing/Editor.cpp:
184         (WebCore::Editor::replaceSelectionWithFragment):
185         (WebCore::Editor::markMisspellingsAfterTypingToWord):
186
187         Pass in the adjacent word range for the `automaticReplacementRange`, instead of the spell checking range (which
188         may be extended to the full range of the sentence).
189
190         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
191
192         Add an `automaticReplacementRange` argument to markAllMisspellingsAndBadGrammarInRanges, and adjust call sites
193         to pass in a range (generally the same as the spell checking range, but in the case where a word has been typed,
194         this is a narrower range).
195
196         (WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
197         (WebCore::Editor::markAndReplaceFor):
198
199         When replacing text, only allow text replacement in the automatic replacement range rather than the spell
200         checking range.
201
202         (WebCore::Editor::markMisspellingsAndBadGrammar):
203         * editing/Editor.h:
204         * editing/SpellChecker.cpp:
205         (WebCore::SpellCheckRequest::SpellCheckRequest):
206
207         Add a new version of this constructor that takes a single Range representing both the spellchecking range and
208         the automatic text replacement range, for convenience.
209
210         (WebCore::SpellCheckRequest::create):
211         * editing/SpellChecker.h:
212
213         Add plumbing for the automatic replacement range.
214
215         (WebCore::SpellCheckRequest::automaticReplacementRange const):
216         * editing/TextCheckingHelper.cpp:
217
218         Add plumbing for the automatic replacement range, and new helpers to locate the range as offsets within the
219         text checking paragraph range.
220
221         (WebCore::TextCheckingParagraph::TextCheckingParagraph):
222         (WebCore::TextCheckingParagraph::invalidateParagraphRangeValues):
223         (WebCore::TextCheckingParagraph::automaticReplacementStart const):
224         (WebCore::TextCheckingParagraph::automaticReplacementLength const):
225         * editing/TextCheckingHelper.h:
226
227 2018-06-30  David Kilzer  <ddkilzer@apple.com>
228
229         Follow-up: Fix clang static analyzer warnings: Garbage return value
230         <https://webkit.org/b/187224>
231
232         Address review feedback from Eric Carlson.
233
234         * platform/mediastream/MediaConstraints.h:
235         (WebCore::NumericConstraint::valueForCapabilityRange const):
236         - Use brace initialization for more local variables.
237
238 2018-06-30  Michael Catanzaro  <mcatanzaro@igalia.com>
239
240         Asan false positive: stack use after scope under WebCore::ApplyPropertyBorderImageModifier in WebCore::Length::Length(WebCore::Length&&)
241         https://bugs.webkit.org/show_bug.cgi?id=186980
242         <rdar://problem/41409838>
243
244         Reviewed by Oliver Hunt.
245
246         We believe that we have found a bug in GCC's address sanitizer. It is blocking work on other
247         issues, so work around it by changing a temporary into a local variable.
248
249         * css/StyleBuilderCustom.h:
250         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
251
252 2018-06-30  David Kilzer  <ddkilzer@apple.com>
253
254         Fix clang static analyzer warnings: Garbage return value
255         <https://webkit.org/b/187224>
256
257         Reviewed by Eric Carlson.
258
259         * platform/mediastream/MediaConstraints.h:
260         (WebCore::NumericConstraint::valueForCapabilityRange const):
261         - Use brace initialization for local variables.
262
263 2018-06-30  Zalan Bujtas  <zalan@apple.com>
264
265         [LFC] Do not add the containing block's offset while computing the out-of-flow static position.
266         https://bugs.webkit.org/show_bug.cgi?id=187202
267
268         Reviewed by Antti Koivisto.
269
270         The static position for an out-of-flow elements is
271         1. the distance from the parent's border box.
272         2. climbing up on the containing block chain and offset the containers until we reach the out-of-flow element's containing block.
273
274         * layout/FormattingContextGeometry.cpp:
275         (WebCore::Layout::staticVerticalPositionForOutOfFlowPositioned):
276         (WebCore::Layout::staticHorizontalPositionForOutOfFlowPositioned):
277
278 2018-06-30  Zalan Bujtas  <zalan@apple.com>
279
280         [LFC] If the top and bottom margins of a box are adjoining, then it is possible for margins to collapse through it.
281         https://bugs.webkit.org/show_bug.cgi?id=187220
282
283         Reviewed by Antti Koivisto.
284
285         * layout/blockformatting/BlockMarginCollapse.cpp:
286         (WebCore::Layout::isMarginBottomCollapsedThrough):
287         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
288         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
289         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
290         (WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):
291         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginBottomFromLastChild):
292
293 2018-06-30  Zalan Bujtas  <zalan@apple.com>
294
295         [LFC] Adjust final out-of-flow position with the computed margin value.
296         https://bugs.webkit.org/show_bug.cgi?id=187219
297
298         Reviewed by Antti Koivisto.
299
300         * layout/FormattingContext.cpp:
301         (WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
302         (WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
303
304 2018-06-29  Antoine Quint  <graouts@apple.com>
305
306         [Web Animations] Make WPT test at timing-model/timelines/document-timelines.html pass reliably
307         https://bugs.webkit.org/show_bug.cgi?id=186507
308         <rdar://problem/41000257>
309
310         Reviewed by Dean Jackson.
311
312         The Web Animations spec, along with the HTML5 event loop spec, specify some assumptions on the time reported by
313         document.timeline.currentTime:
314
315         - it should only increase once per frame
316         - it should have the same value as the timestamp passed to requestAnimationFrame() callbacks
317
318         The WPT test at web-platform-tests/web-animations/timing-model/timelines/document-timelines.html relies on these
319         assumptions to be true so that we check that the start time of a new animation is not the same as the timeline time
320         when it was created, since it will be in the "play-pending" state for a frame.
321
322         In order to support this, we add two new methods on DocumentAnimationScheduler. First, when a scheduled display update
323         fires, we record the timestamp and expose it via lastTimestamp() such that DocumentTimeline and ScriptedAnimationController
324         can use the same value when updating animations. Then, to know whether code is run as a result of a display update, we
325         expose isFiring().
326
327         Now, within DocumentTimeline::currentTime(), we can cache the current time this way:
328
329         - if we're in the middle of a display update, use the value returned by lastTimestamp().
330         - otherwise, compute what would have been the ideal number of frames (at 60fps or less if throttled) and add those to
331         the lastTimestamp() value.
332
333         Then, we remove this cached current time when both currently-running JavaScript has completed and all animation update
334         code has completed by waiting on the invalidation task to run.
335
336         * animation/DocumentAnimationScheduler.cpp:
337         (WebCore::DocumentAnimationScheduler::displayRefreshFired):
338         * animation/DocumentAnimationScheduler.h:
339         (WebCore::DocumentAnimationScheduler::lastTimestamp):
340         (WebCore::DocumentAnimationScheduler::isFiring const):
341         * animation/DocumentTimeline.cpp:
342         (WebCore::DocumentTimeline::currentTime):
343         (WebCore::DocumentTimeline::performInvalidationTask):
344         (WebCore::DocumentTimeline::maybeClearCachedCurrentTime):
345         * animation/DocumentTimeline.h:
346         * dom/ScriptedAnimationController.cpp:
347         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
348         (WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire):
349
350 2018-06-29  Nan Wang  <n_wang@apple.com>
351
352         Crash under WebCore::AXObjectCache::handleMenuItemSelected
353         https://bugs.webkit.org/show_bug.cgi?id=186918
354         <rdar://problem/41365984>
355
356         Reviewed by Chris Fleizach.
357
358         When a node is being destroyed, we deregister it from the AX cache through the Node's destructor.
359         But we did not remove the corresponding entry from the m_deferredFocusedNodeChange list. It would
360         then lead to a crash if we try to access the deleted node from m_deferredFocusedNodeChange.
361         Fixed it by removing the entry if the newly focused node is being destroyed.
362
363         Test: accessibility/accessibility-crash-focused-element-change.html
364
365         * accessibility/AXObjectCache.cpp:
366         (WebCore::AXObjectCache::remove):
367
368 2018-06-29  Antti Koivisto  <antti@apple.com>
369
370         REGRESSION (r232806): Facebook login fields have blue fill background instead of white
371         https://bugs.webkit.org/show_bug.cgi?id=187207
372         <rdar://problem/41606349>
373
374         Reviewed by Tim Horton.
375
376         This happens because a 'prefers-dark-interface' media query on UA sheet always evaluates to true in dark mode.
377
378         Tests: fast/forms/input-background-ua-media-query.html
379
380         * css/MediaQueryEvaluator.cpp:
381         (WebCore::prefersDarkInterfaceEvaluate):
382
383         Make prefers-dark-interface media query match only when using system appearance.
384
385 2018-06-29  Daniel Bates  <dabates@apple.com>
386
387         REGRESSION (r230921): Cannot log in to forums.swift.org using GitHub account
388         https://bugs.webkit.org/show_bug.cgi?id=187197
389         <rdar://problem/40420821>
390
391         Reviewed by Brent Fulgham.
392
393         Fixes an issue where a Same-Site cookies are not sent with any child window load if the
394         load is cross-origin with respect to the window's opener. One example where this issue
395         manifest itself was in the GitHub sign in flow on forums.swift.org.
396
397         Currently we always consider the origin of the window's opener (if we have one) when
398         determining whether a frame load request is same-origin and hence should send Same-Site
399         cookies when performing the request. So, when page A.com opens a child window to B.com and
400         then a person clicks a hyperlink or submits a form to B.com/b2 then we do not send Same-
401         Site cookies with the request to B.com/b2 (because its origin, B.com, is cross-origin
402         with its opener, A.com). But we should send Same-Site cookies with the request to B.com/b2
403         because it is same-origin with the page that initiated the request, B.com. Instead of
404         always considering the origin the window's opener for every frame load we should only
405         consider it for the first non-empty document load.
406
407         Tests: http/tests/cookies/same-site/fetch-in-about-blank-popup.html
408                http/tests/cookies/same-site/post-from-cross-site-popup.html
409
410         * loader/FrameLoader.cpp:
411         (WebCore::FrameLoader::addExtraFieldsToRequest):
412
413 2018-06-29  Nan Wang  <n_wang@apple.com>
414
415         AX: [iOS] VoiceOver scroll position is jumpy in frames
416         https://bugs.webkit.org/show_bug.cgi?id=186956
417
418         Reviewed by Simon Fraser.
419
420         iOS is using delegate scrolling and we should not take into account
421         the scroll offset when converting rects.
422
423         Also fixed a issue where we want to scroll the element into view even
424         if it's partially visible.
425
426         Test: fast/scrolling/ios/iframe-scroll-into-view.html
427
428         * accessibility/AccessibilityObject.cpp:
429         (WebCore::AccessibilityObject::scrollToMakeVisible const):
430         * platform/ScrollView.cpp:
431         (WebCore::ScrollView::contentsToContainingViewContents const):
432
433 2018-06-29  Chris Dumez  <cdumez@apple.com>
434
435         WebKitLegacy: Can trigger recursive loads triggering debug assertions
436         https://bugs.webkit.org/show_bug.cgi?id=187121
437         <rdar://problem/41259430>
438
439         Reviewed by Brent Fulgham.
440
441         In order to support asynchronous policy delegates, r229722 added a call to
442         FrameLoader::clearProvisionalLoadForPolicyCheck() when starting a navigation
443         policy decision in PolicyChecker::checkNavigationPolicy(). This calls
444         stopLoading() on the current provisional loader if there is one, and potentially
445         calls the didFailProvisionalLoadWithError cleint delegate. This delegate call
446         is synchronous on WebKit1, so the client may start a new load from this delegate
447         and re-enter Webcore. This happens in practive with Quickens 2017 / 2018 on Mac.
448
449         Before r229722, this was not an issue because pending loads were canceled after
450         the (asynchronous) navigation policy decision, via FrameLoader::stopAllLoaders().
451         FrameLoader::stopAllLoaders() sets a m_inStopAllLoaders flag and we return early
452         in FrameLoader::loadRequest() when this flag is set to prevent recursive loads.
453
454         To maintain shipping behavior as much as possible, this patch introduces a similar
455         inClearProvisionalLoadForPolicyCheck which gets set during
456         FrameLoader::clearProvisionalLoadForPolicyCheck() and we prevent new loads while
457         this flag is set.
458
459         I have verified that Quickens 2017 / 2018 works again after this change and I added
460         API test coverage for this behavior.
461
462         * loader/FrameLoader.cpp:
463         (WebCore::FrameLoader::loadURL):
464         (WebCore::FrameLoader::load):
465         (WebCore::FrameLoader::clearProvisionalLoadForPolicyCheck):
466         * loader/FrameLoader.h:
467
468 2018-06-25  Said Abou-Hallawa  <sabouhallawa@apple.com>
469
470         Infinite loop if a <use> element references its ancestor and the DOMNodeInserted event handler of one its ancestor's descents updates the document style
471         https://bugs.webkit.org/show_bug.cgi?id=186925
472
473         Reviewed by Antti Koivisto.
474
475         This patches fixes two issues:
476         -- SVGTRefTargetEventListener should not assume it has to be attached to
477         target when its handleEvent() is called.
478         Because SVGTRefTargetEventListener::handleEvent() references the target
479         element, we just return if the listener is detached.
480
481         -- The <use> element should not clone its shadow tree if it references one
482         of its ancestors. The DOMNodeInserted of any node in the target element
483         tree may issue a document command. This document command will cause the 
484         shadow tree to be re-cloned so this will cause infinite loop to happen.
485
486         Test: svg/dom/svg-use-infinite-loop-cloning.html
487
488         * svg/SVGTRefElement.cpp:
489         (WebCore::SVGTRefTargetEventListener::handleEvent):
490         * svg/SVGUseElement.cpp:
491         (WebCore::SVGUseElement::updateShadowTree):
492
493 2018-06-29  Manuel Rego Casasnovas  <rego@igalia.com>
494
495         [WPE] Three CSS Grid Layout tests crash due to valueless std::optional access
496         https://bugs.webkit.org/show_bug.cgi?id=186752
497
498         Reviewed by Frédéric Wang.
499
500         This is a simple fix for the crash we're getting on WPE
501         in IndefiniteSizeStrategy::freeSpaceForStretchAutoTracksStep().
502
503         Covered by existent tests, just remove them from TestExpectations file.
504
505         * rendering/GridTrackSizingAlgorithm.cpp:
506         (WebCore::IndefiniteSizeStrategy::freeSpaceForStretchAutoTracksStep const):
507         Check if minSize is null before trying to access it's value.
508
509 2018-06-29  David Fenton  <david_fenton@apple.com>
510
511         Unreviewed, rolling out r233349.
512
513         caused 42 crashes on iOS GuardMalloc and iOS ASan tests
514
515         Reverted changeset:
516
517         "[Web Animations] Using a Web Animation leaks the Document"
518         https://bugs.webkit.org/show_bug.cgi?id=187088
519         https://trac.webkit.org/changeset/233349
520
521 2018-06-29  Jer Noble  <jer.noble@apple.com>
522
523         Returning PiP'd video to fullscreen while playing leaves video muted.
524         https://bugs.webkit.org/show_bug.cgi?id=187181
525         <rdar://problem/41408335>
526
527         Reviewed by Eric Carlson.
528
529         Test: media/picture-in-picture-interruption.html
530
531         Don't reset the media session's state at the end of an interruption if it wasn't changed an the beginning of one.
532
533         * platform/audio/PlatformMediaSession.cpp:
534         (WebCore::PlatformMediaSession::endInterruption):
535         * testing/Internals.cpp:
536         (WebCore::Internals::mediaSessionState):
537         * testing/Internals.h:
538         * testing/Internals.idl:
539
540 2018-06-29  Zalan Bujtas  <zalan@apple.com>
541
542         [LFC] When the formatting root is also a containing block for out-of-flow elements.
543         https://bugs.webkit.org/show_bug.cgi?id=187179
544
545         Reviewed by Antti Koivisto.
546
547         Out-of-flow descendants' layout requires their containing block height to be computed. This patch takes care of the case
548         when the containing block is also a formatting context root (e.g. relative positioned with overflow other than visible).
549
550         * layout/Verification.cpp:
551         (WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree const):
552         * layout/blockformatting/BlockFormattingContext.cpp:
553         (WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
554
555 2018-06-29  Zalan Bujtas  <zalan@apple.com>
556
557         [LFC] Do not skip the next inflow sibling after finishing a formatting context root layout.
558         https://bugs.webkit.org/show_bug.cgi?id=187178
559
560         Reviewed by Antti Koivisto.
561
562         Since the block formatting layout is based on pre-order traversal, after finishing a formatting
563         context layout (which takes care of its entire subtre), we need to visit the next (in-flow)sibling. 
564
565         * layout/blockformatting/BlockFormattingContext.cpp:
566         (WebCore::Layout::BlockFormattingContext::layout const):
567
568 2018-06-29  Zalan Bujtas  <zalan@apple.com>
569
570         [LFC] The static position for an out-of-flow box should include the previous sibling's collapsed margin
571         https://bugs.webkit.org/show_bug.cgi?id=187169
572
573         Reviewed by Antti Koivisto.
574
575         When computing the static position of an absolutely positioned box, we need to look at the previous sibling's bottom margin.
576         If the previous sibling happens to collapse its bottom margin with the parent's bottom margin, we still need to account for it
577         and compute the static vertical position as if the bottom margin was not collapsed.
578
579         * layout/FormattingContext.cpp:
580         (WebCore::Layout::FormattingContext::computeFloatingHeightAndMargin const):
581         (WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
582         * layout/FormattingContextGeometry.cpp:
583         (WebCore::Layout::staticVerticalPositionForOutOfFlowPositioned):
584         * layout/LayoutContext.cpp:
585         (WebCore::Layout::LayoutContext::initializeRoot):
586         * layout/Verification.cpp:
587         (WebCore::Layout::outputMismatchingBoxInformationIfNeeded):
588         * layout/blockformatting/BlockFormattingContext.cpp:
589         (WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
590         * layout/displaytree/DisplayBox.cpp:
591         (WebCore::Display::Box::nonCollapsedMarginBox const):
592         * layout/displaytree/DisplayBox.h:
593         (WebCore::Display::Box::setHasValidVerticalNonCollapsedMargin):
594         (WebCore::Display::Box::setVerticalMargin):
595         (WebCore::Display::Box::setVerticalNonCollapsedMargin):
596         (WebCore::Display::Box::nonCollapsedMarginTop const):
597         (WebCore::Display::Box::nonCollapsedMarginBottom const):
598
599 2018-06-27  Antoine Quint  <graouts@apple.com>
600
601         [Web Animations] Using a Web Animation leaks the Document
602         https://bugs.webkit.org/show_bug.cgi?id=187088
603         <rdar://problem/41392046>
604
605         Reviewed by Dean Jackson.
606
607         Test: webanimations/leak-document-with-web-animation.html
608
609         We need to ensure that any remaining animation is cleared when the DocumentTimeline is detached from its Document.
610         We rename WebAnimation::prepareAnimationForRemoval() to WebAnimation::remove() since it really actively disassociates
611         the animation from its timeline.
612
613         * animation/AnimationTimeline.cpp:
614         (WebCore::AnimationTimeline::removeAnimationsForElement): We no longer need the call to removeAnimation()
615         since the new WebAnimation::remove() method will also set the timeline to null which will eventually call
616         removeAnimation() on the disassociated timeline.
617         * animation/DeclarativeAnimation.cpp:
618         (WebCore::DeclarativeAnimation::remove):
619         (WebCore::DeclarativeAnimation::prepareAnimationForRemoval): Deleted.
620         * animation/DeclarativeAnimation.h:
621         * animation/DocumentTimeline.cpp:
622         (WebCore::DocumentTimeline::detachFromDocument): Call remove() on all known animations.
623         * animation/WebAnimation.cpp:
624         (WebCore::WebAnimation::remove): Set the timeline to null to fully disassociate this animation from its timeline.
625         (WebCore::WebAnimation::setTimeline): Factor the internal timeline-association code out of this JS API method so
626         that we can call this code without any JS-facing implications.
627         (WebCore::WebAnimation::setTimelineInternal):
628         (WebCore::WebAnimation::prepareAnimationForRemoval): Deleted.
629         * animation/WebAnimation.h:
630
631 2018-06-28  Zalan Bujtas  <zalan@apple.com>
632
633         [LFC] Out-of-flow positioned height does not necessarily equal to "bottom - top".
634         https://bugs.webkit.org/show_bug.cgi?id=187168
635
636         Reviewed by Antti Koivisto.
637
638         According to the spec "For absolutely positioned elements, the used values of the vertical dimensions must satisfy this constraint:
639         'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block"
640         With a non-auto "height" value, the bottom - top does not necessarily compute to the height of the element.
641
642         * layout/FormattingContext.cpp:
643         (WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
644
645 2018-06-28  Olivia Barnett  <obarnett@apple.com>
646
647         Find in page for typographic quotes does not find low (German) quotes
648         https://bugs.webkit.org/show_bug.cgi?id=187164
649         <rdar://problem/29612785>
650
651         Reviewed by Tim Horton.
652
653         Added additional quote test to LayoutTests/fast/text/find-quotes.html.
654
655         Added functionality to replace German quotes when matching.
656
657         * editing/TextIterator.cpp:
658         (WebCore::foldQuoteMark):
659         (WebCore::foldQuoteMarks):
660
661 2018-06-28  Antti Koivisto  <antti@apple.com>
662
663         REGRESSION (233281): fast/dom/location-new-window-no-crash.html and some other tests are timing out
664         https://bugs.webkit.org/show_bug.cgi?id=187156
665
666         Reviewed by Zalan Bujtas.
667
668         We need still need to re-enable memory cache client calls even when not doing other post-resolution callbacks.
669
670         * style/StyleTreeResolver.cpp:
671         (WebCore::Style::memoryCacheClientCallsResumeQueue):
672
673         Add a separate queue for this.
674
675         (WebCore::Style::suspendMemoryCacheClientCalls):
676         (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler):
677
678 2018-06-28  Wenson Hsieh  <wenson_hsieh@apple.com>
679
680         [iOS] DataTransfer.getData always returns the empty string when dropping text
681         https://bugs.webkit.org/show_bug.cgi?id=187130
682         <rdar://problem/41014117>
683
684         Reviewed by Ryosuke Niwa.
685
686         Currently, DataTransfer.getData() always returns the empty string on drop. This is because all data on drop is
687         backed by local files in the temporary directory, so the number of files is never 0; this, combined with the
688         fact that WebKit will suppress access to the DataTransfer object if there is one or more file in the pasteboard,
689         means that getData() never works for drag and drop on iOS at the moment. To fix this, we need to know whether a
690         dropped item provider is a file.
691
692         Ideally, we'd have a flag to tell us whether or not an NSItemProvider being dropped is a file, or instead just
693         inline data - in fact, this flag already exists in the form of UIPreferredPresentationStyle. Unfortunately, not
694         all apps that vend draggable files specify this, so we can't simply ask the item provider whether it's intended
695         to be a file. As a workaround, we can use several heuristics to determine the "file content state" of the drag
696         pasteboard on iOS (see below for more details).
697
698         This patch adds some plumbing through the client layers to grab a list of item information describing each
699         dropped item provider on iOS. Using this information, we tweak the logic in Pasteboard::fileContentState to make
700         an educated guess at whether or not the pasteboard really contains files; if we determine that the pasteboard
701         probably contains no files, we'll allow DataTransfer.getData() to retrieve information from the pasteboard.
702         Otherwise, if the pasteboard may contain files, we'll fall back to our current behavior of including the "Files"
703         type in DataTransfer.types and allowing the page to grab file data using DataTransfer.files or
704         DataTransfer.items.
705
706         Tests:  DataInteractionTests.DataTransferGetDataReadPlainAndRichText
707                 DataInteractionTests.DataTransferSuppressGetDataDueToPresenceOfTextFile
708
709         * dom/DataTransfer.cpp:
710         (WebCore::DataTransfer::filesFromPasteboardAndItemList const):
711
712         Check Pasteboard::fileContentState() to ensure that we don't expose files when DataTransfer.types does not
713         contain the "Files" type, and vice versa, and DataTranser.files is also empty in this case.
714
715         * dom/DataTransferItemList.cpp:
716         * platform/PasteboardItemInfo.h:
717
718         Add a couple of additional members to PasteboardItemInfo: suggestedFileName and hasDeclaredNonTextType, a flag
719         that indicates whether or not the pasteboard item has a type representation that is a declared type, but is not
720         a text type (i.e. does not conform to "public.text", "public.url", or rich text format with attachment types).
721
722         (WebCore::PasteboardItemInfo::encode const):
723         (WebCore::PasteboardItemInfo::decode):
724         * platform/PasteboardStrategy.h:
725         * platform/PlatformPasteboard.h:
726         * platform/cocoa/PasteboardCocoa.mm:
727         (WebCore::Pasteboard::fileContentState):
728
729         Instead of always considering a dropped item provider on iOS to represent a file, only do so if at least one of
730         the following conditions are met:
731         - The drop session contains multiple item providers (flocking text selections is a very rare use case).
732         - The item provider was explicitly marked as an attachment.
733         - The item provider has a suggested file name.
734         - The item provider has any other content that is not text.
735
736         In the case where none of the above conditions are met, the item provider (if it ends up being a file) is
737         essentially indistinguishable from inline data. An example of this is dropping a plain text file that is
738         unnamed, with no presentation style, and alongside no other items nor other known type representations. These
739         are cases in which whether the item is treated as a file or as inline data is (hopefully) irrelevant.
740
741         * platform/ios/PlatformPasteboardIOS.mm:
742         (WebCore::PlatformPasteboard::allPasteboardItemInfo):
743         (WebCore::PlatformPasteboard::informationForItemAtIndex):
744
745 2018-06-28  Timothy Hatcher  <timothy@apple.com>
746
747         Don't force black text when TextIndicator draws backgrounds or all content.
748         https://bugs.webkit.org/show_bug.cgi?id=187161
749         rdar://problem/40434644
750
751         Reviewed by Tim Horton.
752
753         * page/TextIndicator.cpp:
754         (WebCore::snapshotOptionsForTextIndicatorOptions):
755         Only set SnapshotOptionsForceBlackText when TextIndicatorOptionRespectTextColor and
756         TextIndicatorOptionPaintBackgrounds are not set.
757
758 2018-06-28  Timothy Hatcher  <timothy@apple.com>
759
760         Find on page selection color isn't adapted for dark mode.
761         https://bugs.webkit.org/show_bug.cgi?id=187072
762
763         Unreviewed, revert part of r233280.
764
765         * rendering/RenderThemeMac.mm:
766         (WebCore::RenderThemeMac::platformActiveTextSearchHighlightColor const): Use pure yellow again.
767
768 2018-06-28  Antoine Quint  <graouts@apple.com>
769
770         [Web Animations] Make imported/mozilla/css-animations/test_animation-starttime.html pass reliably
771         https://bugs.webkit.org/show_bug.cgi?id=183834
772         <rdar://problem/40997932>
773
774         Reviewed by Dean Jackson.
775
776         We need to run pending tasks in the "update animations" procedure to ensure that the start time has been set
777         to a different time than the timeline time at the time the animation was asked to play(). This ensure the
778         timeline current time has progressed and can be queried to a different value in a requestAnimationFrame()
779         callback.
780
781         When invalidating events, we need to make sure we disregard instances when an animation has and is still pending
782         so that we wait until we change the pending state to work out which events to enqueue.
783
784         * animation/DeclarativeAnimation.cpp:
785         (WebCore::DeclarativeAnimation::invalidateDOMEvents):
786         * animation/DocumentTimeline.cpp:
787         (WebCore::DocumentTimeline::updateAnimations):
788         * animation/WebAnimation.cpp:
789         (WebCore::WebAnimation::updatePendingTasks):
790         (WebCore::WebAnimation::timeToNextRequiredTick const):
791         (WebCore::WebAnimation::runPendingTasks):
792         * animation/WebAnimation.h:
793
794 2018-06-28  Ryosuke Niwa  <rniwa@webkit.org>
795
796         Release assert in ScriptController::canExecuteScripts via WebCore::SVGUseElement::insertedIntoAncestor
797         https://bugs.webkit.org/show_bug.cgi?id=187137
798         <rdar://problem/41081885>
799
800         Reviewed by Zalan Bujtas.
801
802         The bug was caused by SVGUseElement::notifyFinished firing a DOM event via SVGUseElement::updateExternalDocument
803         inside SVGUseElement::insertedIntoAncestor. Ideally, we make every call to notifyFinished asynchronous
804         but simply delay the call to updateExternalDocument() until didFinishInsertingNode() for now.
805
806         No new tests since the failure is caught with the newly added assertion in notifyFinished by existing SVG tests
807         such as svg/batik/filters/filterRegions.svg and svg/batik/text/smallFonts.svg. Unfortunately, I could not
808         construct a test case which hits this release assertion since the real crash happens when the cached resource
809         had an error but in the all cases I could find, the resource response with an error results in a reload or
810         an asynchronous failure callback.
811
812         * loader/cache/CachedResource.cpp:
813         (WebCore::CachedResource::didAddClient): Added a FIXME.
814         * svg/SVGUseElement.cpp:
815         (WebCore::SVGUseElement::insertedIntoAncestor): Delay the call to updateExternalDocument.
816         (WebCore::SVGUseElement::didFinishInsertingNode): Invoke updateExternalDocument.
817         (WebCore::SVGUseElement::notifyFinished): Added an assertion.
818         * svg/SVGUseElement.h:
819
820 2018-06-28  Chris Dumez  <cdumez@apple.com>
821
822         Unreviewed, rolling out r233309.
823
824         Invalidates previous database model without versioning
825
826         Reverted changeset:
827
828         "Fix encoding / decoding issues in ResourceLoadStatistics"
829         https://bugs.webkit.org/show_bug.cgi?id=186890
830         https://trac.webkit.org/changeset/233309
831
832 2018-06-28  Timothy Hatcher  <timothy@apple.com>
833
834         Focus ring color does not honor dark mode or system accent color.
835         https://bugs.webkit.org/show_bug.cgi?id=187144
836         rdar://problem/41105081
837
838         Reviewed by Tim Horton.
839
840         Pass the focus ring color through to the GraphicsContext methods that draw it.
841
842         * platform/graphics/GraphicsContext.h:
843         * platform/graphics/cocoa/GraphicsContextCocoa.mm:
844         (WebCore::drawFocusRingAtTime):
845         (WebCore::drawFocusRing):
846         (WebCore::drawFocusRingToContext):
847         (WebCore::drawFocusRingToContextAtTime):
848         (WebCore::GraphicsContext::drawFocusRing):
849         (WebCore::GraphicsContext::focusRingColor): Deleted.
850         * platform/mac/ThemeMac.mm:
851         (WebCore::drawCellFocusRingWithFrameAtTime):
852         * rendering/RenderElement.cpp:
853         (WebCore::RenderElement::paintFocusRing):
854         * rendering/RenderImage.cpp:
855         (WebCore::RenderImage::paintAreaElementFocusRing):
856
857 2018-06-28  Aditya Keerthi  <akeerthi@apple.com>
858
859         REGRESSION (r232040): Cursor jumping in Safari text fields
860         https://bugs.webkit.org/show_bug.cgi?id=187142
861         <rdar://problem/41397577>
862
863         Reviewed by Tim Horton.
864
865         r232040 enabled click events to fire on nodes that are already being edited in
866         iOS. This resulted FrameSelection::setSelection being called twice. One call
867         originated from the UIWKTextInteractionAssistant, which snaps the caret to word
868         boundaries. The other call originates from handleMousePressEvent in EventHandler,
869         and uses character boundaries. Consequently, we see the caret jumping around.
870
871         To fix this issue, an early return was added in the handleMousePressEvent
872         codepath, which prevents FrameSelection::setSelection from being called when
873         clicking on a node that is already being edited. This ensures that the
874         UIWKTextInteractionAssistant codepath is the only influence on the caret position.
875
876         Test: fast/events/ios/click-selectionchange-once.html
877
878         * page/EventHandler.cpp:
879         (WebCore::EventHandler::handleMousePressEventSingleClick):
880
881 2018-06-28  Chris Dumez  <cdumez@apple.com>
882
883         Fix encoding / decoding issues in ResourceLoadStatistics
884         https://bugs.webkit.org/show_bug.cgi?id=186890
885
886         Reviewed by Brent Fulgham.
887
888         * loader/ResourceLoadStatistics.cpp:
889         (WebCore::encodeHashCountedSet):
890         (WebCore::encodeHashSet):
891         Do not return early if the container we're trying to encode is empty. Instead,
892         have the encoder encode an empty array. This is important for encoding / decoding
893         to be fully symmetric. Otherwise, when trying to decode one of these empty containers,
894         the decoder would fail (silently since we were ignoring decoding errors). Worse, the
895         decoder might succeed but actually be decoding the *next* container in the file, since
896         we have several HashCountedSets / HashSets encoded one after another.
897
898         (WebCore::decodeHashCountedSet):
899         (WebCore::decodeHashSet):
900         Return a boolean to indicate if the decoding suceeded or not.
901
902         (WebCore::ResourceLoadStatistics::decode):
903         Check for container decoding errors and return false when decoding fails.
904         Otherwise, we would just silently keep going.
905
906 2018-06-28  Sihui Liu  <sihui_liu@apple.com>
907
908         Cookie API: cookie creation time is wrong
909         https://bugs.webkit.org/show_bug.cgi?id=187101
910
911         Reviewed by Geoffrey Garen.
912
913         Covered by API test: WebKit.WKHTTPCookieStoreCreationTime.
914
915         * platform/network/cocoa/CookieCocoa.mm:
916         (WebCore::Cookie::operator NSHTTPCookie * _Nullable  const):
917
918 2018-06-28  Zalan Bujtas  <zalan@apple.com>
919
920         [LFC] Add Display::Box::nonCollapsedMarginBox for verification purposes.
921         https://bugs.webkit.org/show_bug.cgi?id=187140
922
923         Reviewed by Antti Koivisto.
924
925         * layout/FormattingContext.cpp:
926         (WebCore::Layout::FormattingContext::computeFloatingHeightAndMargin const):
927         (WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
928         * layout/Verification.cpp:
929         (WebCore::Layout::outputMismatchingBoxInformationIfNeeded):
930         * layout/blockformatting/BlockFormattingContext.cpp:
931         (WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
932         * layout/displaytree/DisplayBox.cpp:
933         (WebCore::Display::Box::nonCollapsedMarginBox const):
934         * layout/displaytree/DisplayBox.h:
935         (WebCore::Display::Box::setVerticalNonCollapsedMargin):
936
937 2018-06-28  Zalan Bujtas  <zalan@apple.com>
938
939         [LFC] The margin bottom of the document element does not collapse with its last inflow child's bottom margin.
940         https://bugs.webkit.org/show_bug.cgi?id=187135
941
942         Reviewed by Antti Koivisto.
943
944         * layout/blockformatting/BlockFormattingContext.h:
945         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
946         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
947         * layout/blockformatting/BlockMarginCollapse.cpp:
948         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
949         (WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):
950         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginBottomFromLastChild):
951
952 2018-06-28  Dirk Schulze  <krit@webkit.org>
953
954         [css-masking] Update clip-path box mapping to unified box
955         https://bugs.webkit.org/show_bug.cgi?id=185797
956
957         Reviewed by Simon Fraser.
958
959         The box mapping for fill-box, stroke-box, view-box on HTML elements
960         and content-box, padding-box, margin-box, border-box for SVG elements
961         was aligned with the transform-box CSS property.
962
963         Furthermore, the keywords fill changed to fill-box and stroke changed
964         to stroke-box.
965
966         https://drafts.fxtf.org/css-masking-1/#typedef-geometry-box
967
968         Update the -webkit-clip-path property.
969
970         Tests: svg/clip-path/clip-path-shape-border-box-expected.svg
971                svg/clip-path/clip-path-shape-border-box.svg
972                svg/clip-path/clip-path-shape-content-box-expected.svg
973                svg/clip-path/clip-path-shape-content-box.svg
974                svg/clip-path/clip-path-shape-margin-box-expected.svg
975                svg/clip-path/clip-path-shape-margin-box.svg
976                svg/clip-path/clip-path-shape-padding-box-expected.svg
977                svg/clip-path/clip-path-shape-padding-box.svg
978
979         * css/CSSPrimitiveValueMappings.h:
980         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
981         (WebCore::CSSPrimitiveValue::operator CSSBoxType const):
982         * css/CSSValueKeywords.in:
983         * css/StyleBuilderConverter.h:
984         (WebCore::StyleBuilderConverter::convertClipPath):
985         * css/parser/CSSPropertyParser.cpp:
986         (WebCore::consumeBasicShapeOrBox):
987         * rendering/RenderBlock.cpp:
988         (WebCore::RenderBlock::nodeAtPoint):
989         * rendering/RenderLayer.cpp:
990         (WebCore::computeReferenceBox):
991         * rendering/shapes/BoxShape.cpp:
992         (WebCore::computeRoundedRectForBoxShape):
993         * rendering/shapes/ShapeOutsideInfo.cpp:
994         (WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
995         (WebCore::ShapeOutsideInfo::logicalTopOffset const):
996         (WebCore::ShapeOutsideInfo::logicalLeftOffset const):
997         * rendering/style/RenderStyleConstants.h:
998         * rendering/svg/SVGRenderingContext.cpp:
999         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1000
1001 2018-06-27  Timothy Hatcher  <timothy@apple.com>
1002
1003         Don't expose new semantic -apple-system color keywords on iOS.
1004         https://bugs.webkit.org/show_bug.cgi?id=187080
1005         rdar://problem/41505699
1006
1007         Reviewed by Tim Horton.
1008
1009         * DerivedSources.make: Use gnu++14, since gnu++17 is giving errors on macOS 10.12.
1010         * css/CSSValueKeywords.in: Define new semantic colors only on macOS.
1011
1012 2018-06-27  Zalan Bujtas  <zalan@apple.com>
1013
1014         [LFC] Compute both the collapsed and the non-collapsed margin values.
1015         https://bugs.webkit.org/show_bug.cgi?id=187129
1016
1017         Reviewed by Antti Koivisto.
1018
1019         For validation purposes only at this point.
1020
1021         * layout/FormattingContext.cpp:
1022         (WebCore::Layout::FormattingContext::computeFloatingHeightAndMargin const):
1023         (WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
1024         * layout/FormattingContext.h:
1025         * layout/FormattingContextGeometry.cpp:
1026         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
1027         (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
1028         (WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeightAndMargin):
1029         (WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
1030         * layout/blockformatting/BlockFormattingContext.cpp:
1031         (WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
1032         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
1033         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
1034         * layout/blockformatting/BlockMarginCollapse.cpp:
1035         (WebCore::Layout::isMarginTopCollapsedWithParent):
1036         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
1037         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
1038
1039 2018-06-27  Zalan Bujtas  <zalan@apple.com>
1040
1041         [LFC] Align inFlowNonReplacedHeightAndMargin() style with the rest of the compute functions.
1042         https://bugs.webkit.org/show_bug.cgi?id=187126
1043
1044         Reviewed by Antti Koivisto.
1045
1046         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
1047         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
1048
1049 2018-06-27  Yusuke Suzuki  <utatane.tea@gmail.com>
1050
1051         [GTK][WPE] Use LazyNeverDestroyed<XErrorTrapper> to remove static initializers
1052         https://bugs.webkit.org/show_bug.cgi?id=187089
1053
1054         Reviewed by Michael Catanzaro.
1055
1056         Do not allow copying since XErrorTrapper's logic relies on the address of XErrorTrapper.
1057
1058         * platform/graphics/x11/XErrorTrapper.h:
1059
1060 2018-06-27  Zalan Bujtas  <zalan@apple.com>
1061
1062         [LFC] Align inFlowNonReplacedWidthAndMargin() style with the rest of the compute functions.
1063         https://bugs.webkit.org/show_bug.cgi?id=187124
1064
1065         Reviewed by Antti Koivisto.
1066
1067         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
1068         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
1069
1070 2018-06-27  Dirk Schulze  <krit@webkit.org>
1071
1072         -webkit-clip-path wrong offset for clipPath references
1073         https://bugs.webkit.org/show_bug.cgi?id=129246
1074
1075         Reviewed by Simon Fraser.
1076
1077         Compute the correct offset for reference clip-paths by reusing
1078         some of the logic from basic shapes.
1079         Makes reference based clip-path interoperable and follows the
1080         spec.
1081
1082         Test: css3/masking/clip-path-reference-2.html
1083
1084         * rendering/RenderLayer.cpp:
1085         (WebCore::computeReferenceBox):
1086         (WebCore::RenderLayer::computeClipPath const):
1087         (WebCore::RenderLayer::setupClipPath):
1088
1089 2018-06-27  Antti Koivisto  <antti@apple.com>
1090
1091         Don't invoke post resolution callbacks when resolving computed style
1092         https://bugs.webkit.org/show_bug.cgi?id=187113
1093         <rdar://problem/41365766>
1094
1095         Reviewed by Geoff Garen.
1096
1097         Post-resolution callbacks should only be invoked when we resolve the full document style,
1098         not when resolving computed style for a single element.
1099
1100         Tests: fast/dom/object-computed-style-event.html
1101
1102         * dom/Document.cpp:
1103         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
1104         * dom/Element.cpp:
1105         (WebCore::Element::resolveComputedStyle):
1106
1107         Also ref the ancestor stack to be safe.
1108
1109         * style/StyleTreeResolver.cpp:
1110         (WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler):
1111         (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler):
1112
1113         Add an option to not drain the callback queue on destruction. In this mode we
1114         just block network loads.
1115
1116         * style/StyleTreeResolver.h:
1117
1118 2018-06-27  Timothy Hatcher  <timothy@apple.com>
1119
1120         Find on page selection color isn't adapted for dark mode.
1121         https://bugs.webkit.org/show_bug.cgi?id=187072
1122         rdar://problem/40354841
1123
1124         Reviewed by Tim Horton.
1125
1126         * page/mac/TextIndicatorWindow.mm:
1127         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]): Use [NSColor findHighlightColor].
1128         * platform/mac/LocalDefaultSystemAppearance.h:
1129         (WebCore::LocalDefaultSystemAppearance::usingDarkAppearance const): Added.
1130         * platform/mac/LocalDefaultSystemAppearance.mm:
1131         (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance): Set m_usingDarkAppearance.
1132         * rendering/InlineTextBox.cpp:
1133         (WebCore::InlineTextBox::paintPlatformDocumentMarkers): Use TextPaintPhase::Decoration since this
1134         matches step three of InlineTextBox::paint ("Paint fancy decorations"). This allows TextMatch to
1135         paint a forground and not end up painting during this "fancy decorations" phase.
1136         (WebCore::InlineTextBox::resolveStyleForMarkedText): Set the fillColor for TextMarker to force a
1137         dark text color which will draw over the yellow highlight.
1138         (WebCore::InlineTextBox::collectMarkedTextsForDocumentMarkers): Added support for TextPaintPhase::Decoration.
1139         Seperate DocumentMarker::TelephoneNumber and DocumentMarker::TextMatch. Have DocumentMarker::TextMatch
1140         support Forground and Background phases.
1141         * rendering/RenderTheme.cpp:
1142         (WebCore::RenderTheme::platformColorsDidChange):
1143         (WebCore::RenderTheme::activeTextSearchHighlightColor const): Added. Call the platfrom version.
1144         (WebCore::RenderTheme::inactiveTextSearchHighlightColor const): Added. Ditto.
1145         (WebCore::RenderTheme::platformActiveTextSearchHighlightColor const): Added StyleColor::Options.
1146         (WebCore::RenderTheme::platformInactiveTextSearchHighlightColor const): Ditto.
1147         * rendering/RenderTheme.h:
1148         * rendering/RenderThemeMac.h:
1149         * rendering/RenderThemeMac.mm:
1150         (WebCore::RenderThemeMac::platformActiveTextSearchHighlightColor const): Added.
1151         (WebCore::RenderThemeMac::platformInactiveTextSearchHighlightColor const): Added.
1152         (WebCore::RenderThemeMac::platformColorsDidChange): Clear new color caches.
1153         (WebCore::RenderThemeMac::systemColor const): Cache system colors by light and dark mode.
1154
1155 2018-06-27  Chris Dumez  <cdumez@apple.com>
1156
1157         Crash under SWServer::unregisterServiceWorkerClient()
1158         https://bugs.webkit.org/show_bug.cgi?id=187115
1159         <rdar://problem/41539197>
1160
1161         Reviewed by Youenn Fablet.
1162
1163         Connections are usually destroyed before their SWServer. However, as per crash traces, it is possible
1164         for SWServers to get destroyed while they still have connections. When this happens, the connections
1165         (which are owned by the SWServer) get destroyed with other SWServer data members. In turn, the
1166         connection destructor tries to unregister its clients from the server that is currently being destroyed.
1167
1168         To address the issue, the SWServer destructor now destroys remaining connections early, before SWServer's
1169         other data members get destroyed.
1170
1171         * workers/service/server/SWServer.cpp:
1172         (WebCore::SWServer::~SWServer):
1173
1174 2018-06-27  Youenn Fablet  <youenn@apple.com>
1175
1176         NetworkLoadChecker should not need to hard ref NetworkConnectionToWebProcess
1177         https://bugs.webkit.org/show_bug.cgi?id=186551
1178
1179         Reviewed by Daniel Bates.
1180
1181         No change of behavior.
1182         Add a way to set the client receiving any CSP warning/error notification.
1183
1184         * page/csp/ContentSecurityPolicy.h:
1185         (WebCore::ContentSecurityPolicy::setClient):
1186
1187 2018-06-27  Zalan Bujtas  <zalan@apple.com>
1188
1189         [LFC] Do not collapse margin with the parent when element has border/padding.
1190         https://bugs.webkit.org/show_bug.cgi?id=187114
1191
1192         Reviewed by Antti Koivisto.
1193
1194         * layout/blockformatting/BlockFormattingContext.cpp:
1195         (WebCore::Layout::BlockFormattingContext::layout const):
1196         * layout/blockformatting/BlockMarginCollapse.cpp:
1197         (WebCore::Layout::isMarginTopCollapsedWithParent):
1198         (WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
1199         (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
1200
1201 2018-06-27  Simon Fraser  <simon.fraser@apple.com>
1202
1203         Fix Windows build after r233268.
1204
1205         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1206         (PlatformCALayerWin::hasContents const):
1207         * platform/graphics/ca/win/PlatformCALayerWin.h:
1208
1209 2018-06-27  Zalan Bujtas  <zalan@apple.com>
1210
1211         [LFC] Out-of-flow positioned element's height depends on its containing block's height.
1212         https://bugs.webkit.org/show_bug.cgi?id=187082
1213
1214         Reviewed by Antti Koivisto.
1215
1216         We can't really compute the final height of an out-of-flow element until after its containing block's height is computed.
1217
1218         * layout/FormattingContext.cpp:
1219         (WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
1220         * layout/FormattingContext.h:
1221         * layout/LayoutContext.cpp:
1222         (WebCore::Layout::LayoutContext::updateLayout):
1223         (WebCore::Layout::LayoutContext::layoutFormattingContextSubtree):
1224         * layout/LayoutContext.h:
1225         * layout/blockformatting/BlockFormattingContext.cpp:
1226         (WebCore::Layout::BlockFormattingContext::layout const):
1227         * layout/layouttree/LayoutContainer.h:
1228         (WebCore::Layout::Container::outOfFlowDescendants const):
1229         (WebCore::Layout::Container::outOfFlowDescendants): Deleted.
1230
1231 2018-06-27  Youenn Fablet  <youenn@apple.com>
1232
1233         Disable content blockers in NetworkLoadChecker except for ping loads
1234         https://bugs.webkit.org/show_bug.cgi?id=187083
1235         <rdar://problem/41440083>
1236
1237         Reviewed by Chris Dumez.
1238
1239         Add internals API to reload a frame without content extensions.
1240
1241         Test: http/tests/contentextensions/reload-without-contentextensions.html
1242
1243         * testing/Internals.cpp:
1244         (WebCore::Internals::reloadWithoutContentExtensions):
1245         * testing/Internals.h:
1246         * testing/Internals.idl:
1247
1248 2018-06-27  Simon Fraser  <simon.fraser@apple.com>
1249
1250         https://hackernoon.com/ uses lots of layer backing store
1251         https://bugs.webkit.org/show_bug.cgi?id=186909
1252         rdar://problem/40257540
1253
1254         Reviewed by Tim Horton.
1255         
1256         The existing "backing store detached" logic, which was used to eliminate backing store
1257         for compositing layers outside the viewport, had a number of bugs that allowed layers
1258         to have backing store when they should not.
1259         
1260         Specifically, any code path that ended up in setNeedsDisplay{InRect}() in PlatformCALayer
1261         could trigger backing store creation on layers that should have never had any.
1262         
1263         Rather than monkeypatch all the GraphicsLayerCA call sites that call setNeedsDisplay{InRect}(),
1264         just bail early from the PlatformCALayer* methods that trigger repaints.
1265         
1266         Tests didn't catch this because they just dumped the state of the backingStoreAttached flag. To fix this,
1267         create backingStoreAttachedForTesting() which also tests whether the layer has contents.
1268
1269         Test: compositing/backing/backing-store-attachment-outside-viewport.html
1270
1271         * platform/graphics/GraphicsLayer.cpp:
1272         (WebCore::GraphicsLayer::dumpProperties const):
1273         (showGraphicsLayerTree):
1274         * platform/graphics/GraphicsLayer.h:
1275         (WebCore::GraphicsLayer::backingStoreAttachedForTesting const):
1276         * platform/graphics/GraphicsLayerClient.h:
1277         * platform/graphics/ca/GraphicsLayerCA.cpp:
1278         (WebCore::GraphicsLayerCA::backingStoreAttachedForTesting const):
1279         (WebCore::GraphicsLayerCA::setNeedsDisplay):
1280         * platform/graphics/ca/GraphicsLayerCA.h:
1281         * platform/graphics/ca/PlatformCALayer.h:
1282         * platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
1283         * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
1284         (PlatformCALayerCocoa::setNeedsDisplay):
1285         (PlatformCALayerCocoa::setNeedsDisplayInRect):
1286         (PlatformCALayerCocoa::hasContents const):
1287
1288 2018-06-27  David Kilzer  <ddkilzer@apple.com>
1289
1290         Fix clang static analyzer warnings: Branch condition evaluates to a garbage value
1291         <https://webkit.org/b/186968>
1292
1293         Reviewed by Zalan Bujtas.
1294
1295         This patch changes two stack-allocated `bool` variables into
1296         `std::optional<bool>` since the functions that set the variable
1297         may return early without setting it.  It also changes one
1298         stack-allocated pointer to be initialized to `nullptr`.
1299
1300         * animation/AnimationTimeline.cpp:
1301         (WebCore::AnimationTimeline::updateCSSTransitionsForElement):
1302         Update for change to CSSPropertyAnimation::getPropertyAtIndex()
1303         argument type.
1304
1305         * editing/ios/EditorIOS.mm:
1306         (WebCore::Editor::writeImageToPasteboard): Initialize
1307         `cachedImage` stack pointer to nullptr since getImage() has an
1308         early return that doesn't set `cachedImage`.
1309         * editing/mac/EditorMac.mm:
1310         (WebCore::Editor::writeImageToPasteboard): Ditto.
1311
1312         * page/animation/CSSPropertyAnimation.cpp:
1313         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
1314         * page/animation/CSSPropertyAnimation.h:
1315         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
1316         - Change method to take `std::optional<bool>` instead of `bool`
1317           as second argument since the method may return early without
1318           setting `isShorthand`.
1319
1320         * page/animation/CompositeAnimation.cpp:
1321         (WebCore::CompositeAnimation::updateTransitions): Update for
1322         change to CSSPropertyAnimation::getPropertyAtIndex() argument
1323         type.
1324
1325         * rendering/InlineFlowBox.cpp:
1326         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Also
1327         rename local `emphasisMarkIsOver` to `emphasisMarkIsAbove` to
1328         match other call sites.
1329         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1330         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment const):
1331         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment const):
1332         - Update for change to InlineTextBox::emphasisMarkExistsAndIsAbove()
1333           argument type.
1334         * rendering/InlineTextBox.cpp:
1335         (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
1336         - Change method to take `std::optional<bool>` instead of `bool`
1337           as second argument since the method may return early without
1338           setting `above`.
1339         (WebCore::InlineTextBox::paintMarkedTextForeground):
1340         - Update for change to InlineTextBox::emphasisMarkExistsAndIsAbove()
1341           argument type.
1342         * rendering/InlineTextBox.h:
1343         (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
1344         - Change method to take `std::optional<bool>` instead of `bool`.
1345
1346 2018-06-27  Zalan Bujtas  <zalan@apple.com>
1347
1348         [LFC] Move formatting context root layout logic to a dedicated function.
1349         https://bugs.webkit.org/show_bug.cgi?id=187097
1350
1351         Reviewed by Antti Koivisto.
1352
1353         * layout/blockformatting/BlockFormattingContext.cpp:
1354         (WebCore::Layout::BlockFormattingContext::layout const):
1355         (WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
1356         * layout/blockformatting/BlockFormattingContext.h:
1357
1358 2018-06-27  Zalan Bujtas  <zalan@apple.com>
1359
1360         [LFC] Compute static position for out-of-flow elements only when required.
1361         https://bugs.webkit.org/show_bug.cgi?id=187096
1362
1363         Reviewed by Antti Koivisto.
1364
1365         Computing static position for out-of-flow elements could be somewhat expensive, so let's not do it unless we actually need it.
1366
1367         * layout/FormattingContextGeometry.cpp:
1368         (WebCore::Layout::staticVerticalPositionForOutOfFlowPositioned):
1369         (WebCore::Layout::staticHorizontalPositionForOutOfFlowPositioned):
1370         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
1371         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
1372         (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
1373         (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
1374         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
1375         (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
1376         (WebCore::Layout::BlockFormattingContext::Geometry::staticPositionForOutOfFlowPositioned): Deleted.
1377
1378 2018-06-27  Nan Wang  <n_wang@apple.com>
1379
1380         AX: [iOS] Remove the ability to set keyboard focus when VoiceOver takes focus
1381         https://bugs.webkit.org/show_bug.cgi?id=187076
1382
1383         Reviewed by Chris Fleizach.
1384
1385         We shouldn't set keyboard focus when assistive technology takes focus since
1386         this is causing website incompatibility issues by causing focus to be lost.
1387
1388         Test: accessibility/ios-simulator/accessibility-focus-do-not-set-focus.html
1389
1390         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1391         (-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
1392
1393 2018-06-21  Emilio Cobos Álvarez  <emilio@crisal.io>
1394
1395         Move clearChildNeedsStyleRecalc into resetStyleForNonRenderedDescendants.
1396         https://bugs.webkit.org/show_bug.cgi?id=186881
1397
1398         Reviewed by Antti Koivisto.
1399
1400         Every caller does this already.
1401
1402         No new tests, no change in behavior.
1403
1404         * style/StyleTreeResolver.cpp:
1405         (WebCore::Style::resetStyleForNonRenderedDescendants):
1406         (WebCore::Style::TreeResolver::resolveComposedTree):
1407
1408 2018-06-27  Tomas Popela  <tpopela@redhat.com>
1409
1410         [GStreamer] Coverity scan issues
1411         https://bugs.webkit.org/show_bug.cgi?id=187087
1412
1413         Reviewed by Xabier Rodriguez-Calvar.
1414
1415         Fix uninitialized members.
1416
1417         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1418         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1419         * platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
1420
1421 2018-06-27  Zan Dobersek  <zdobersek@igalia.com>
1422
1423         [GCrypt] Move definitions of GCryptUtilities helpers into a separate source file
1424         https://bugs.webkit.org/show_bug.cgi?id=187033
1425
1426         Reviewed by Michael Catanzaro.
1427
1428         Move the GCryptUtilities helpers that operate on libgcrypt values and
1429         constants into a separate source file. This limits a bit the amount of
1430         inlining the compiler might feel compelled to do, and the resulting
1431         shared library is 8kB smaller in size.
1432
1433         * crypto/gcrypt/GCryptUtilities.cpp: Copied from Source/WebCore/crypto/gcrypt/GCryptUtilities.h.
1434         (WebCore::hmacAlgorithm):
1435         (WebCore::digestAlgorithm):
1436         (WebCore::hashCryptoDigestAlgorithm):
1437         (WebCore::mpiLength):
1438         (WebCore::mpiData):
1439         (WebCore::mpiZeroPrefixedData):
1440         (WebCore::mpiSignedData):
1441         * crypto/gcrypt/GCryptUtilities.h:
1442         (WebCore::hmacAlgorithm): Deleted.
1443         (WebCore::digestAlgorithm): Deleted.
1444         (WebCore::hashCryptoDigestAlgorithm): Deleted.
1445         (WebCore::mpiLength): Deleted.
1446         (WebCore::mpiData): Deleted.
1447         (WebCore::mpiZeroPrefixedData): Deleted.
1448         (WebCore::mpiSignedData): Deleted.
1449         * platform/SourcesGCrypt.txt:
1450
1451 2018-06-26  Yusuke Suzuki  <utatane.tea@gmail.com>
1452
1453         [JSC] Pass VM& to functions more
1454         https://bugs.webkit.org/show_bug.cgi?id=186241
1455
1456         Reviewed by Mark Lam.
1457
1458         * bindings/js/JSCustomElementRegistryCustom.cpp:
1459         (WebCore::JSCustomElementRegistry::define):
1460
1461 2018-06-26  Simon Fraser  <simon.fraser@apple.com>
1462
1463         CSSGradientValue's color stops vector wastes 12KB on theverge.com
1464         https://bugs.webkit.org/show_bug.cgi?id=186988
1465
1466         Reviewed by Sam Weinig.
1467
1468         Shrink the color stops vector when we're done parsing the stops.
1469
1470         * css/CSSGradientValue.h:
1471         (WebCore::CSSGradientValue::doneAddingStops):
1472         * css/parser/CSSPropertyParserHelpers.cpp:
1473         (WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradient):
1474         (WebCore::CSSPropertyParserHelpers::consumeGradientColorStops):
1475         (WebCore::CSSPropertyParserHelpers::consumeAngularGradientColorStops):
1476
1477 2018-06-25  Yusuke Suzuki  <utatane.tea@gmail.com>
1478
1479         Remove static initializers more
1480         https://bugs.webkit.org/show_bug.cgi?id=186969
1481
1482         Reviewed by Michael Catanzaro.
1483
1484         This patch removes static initializers more. They typically exists in GTK port.
1485
1486         No behavior change.
1487
1488         * Sources.txt:
1489         * WebCore.xcodeproj/project.pbxproj:
1490         * page/ResourceUsageData.cpp: Removed.
1491         * page/ResourceUsageData.h:
1492         Remove ResourceUsageData constructors since default constructors are enough.
1493
1494         (WebCore::MemoryCategoryInfo::MemoryCategoryInfo):
1495         * platform/gtk/PasteboardHelper.cpp:
1496         (WebCore::markupPrefix):
1497         (WebCore::removeMarkupPrefix):
1498         (WebCore::PasteboardHelper::fillSelectionData):
1499         Use NeverDestroyed<> and static functions.
1500
1501         * platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
1502         (WebCore::defaultVolumeCapability):
1503         (WebCore::GStreamerAudioCaptureSource::capabilities const):
1504         CapabilityValueOrRange's constructor is not constexpr.
1505
1506         * platform/network/soup/SoupNetworkSession.cpp:
1507         (WebCore::initialAcceptLanguages):
1508         (WebCore::proxySettings):
1509         (WebCore::SoupNetworkSession::SoupNetworkSession):
1510         (WebCore::SoupNetworkSession::setupProxy):
1511         (WebCore::SoupNetworkSession::setProxySettings):
1512         (WebCore::SoupNetworkSession::setInitialAcceptLanguages):
1513         Use NeverDestroyed<> and static functions.
1514
1515 2018-06-26  Daniel Bates  <dabates@apple.com>
1516
1517         REGRESSION (r231479): Unable to buy Odeon cinema tickets in STP (bogus 'X-Frame-Options' to 'SAMEORIGIN')
1518         https://bugs.webkit.org/show_bug.cgi?id=186090
1519         <rdar://problem/40692595>
1520
1521         Reviewed by Andy Estes.
1522
1523         Fix up Content Security Policy logic for checking the frame ancestors now that we
1524         exclude the frame that initiated the load request.
1525
1526         Test: http/tests/security/XFrameOptions/cross-origin-iframe-post-form-to-parent-same-origin-x-frame-options-page-allow.html
1527
1528         * page/csp/ContentSecurityPolicy.cpp:
1529         (WebCore::ContentSecurityPolicy::allowFrameAncestors const): 
1530         * page/csp/ContentSecurityPolicyDirectiveList.cpp:
1531         (WebCore::checkFrameAncestors):
1532
1533 2018-06-26  Chris Dumez  <cdumez@apple.com>
1534
1535         Simplify NetworkStorageSession::getAllStorageAccessEntries()
1536         https://bugs.webkit.org/show_bug.cgi?id=187016
1537
1538         Reviewed by Youenn Fablet.
1539
1540         Iterate over the HashMaps' values instead of iterating over their keys and then looking them
1541         up in the HashMap.
1542
1543         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
1544         (WebCore::NetworkStorageSession::getAllStorageAccessEntries const):
1545
1546 2018-06-26  Eric Carlson  <eric.carlson@apple.com>
1547
1548         [Mac] AirPlay picker uses incorrect theme in Dark mode
1549         https://bugs.webkit.org/show_bug.cgi?id=187054
1550         <rdar://problem/41291093>
1551
1552         Reviewed by Timothy Hatcher.
1553
1554         * Modules/mediasession/WebMediaSessionManager.cpp:
1555         (WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Add useDefaultAppearance parameter.
1556         * Modules/mediasession/WebMediaSessionManager.h:
1557
1558         * platform/graphics/MediaPlaybackTargetPicker.cpp:
1559         (WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker): Ditto.
1560         * platform/graphics/MediaPlaybackTargetPicker.h:
1561
1562         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
1563         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
1564         (WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Choose theme based on
1565         useDefaultAppearance parameter.
1566
1567         * platform/mock/MediaPlaybackTargetPickerMock.cpp:
1568         (WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker): Log parameter.
1569         * platform/mock/MediaPlaybackTargetPickerMock.h:
1570
1571 2018-06-26  Thibault Saunier  <tsaunier@igalia.com>
1572
1573         [GStreamer] Do not forget to set stream on track switching
1574         https://bugs.webkit.org/show_bug.cgi?id=187049
1575
1576         Reviewed by Philippe Normand.
1577
1578         This was an overlooked issue introduced in Bug #186678
1579
1580         This is already tested, but we currently run only tests against playbin2
1581
1582         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1583         (WebCore::MediaPlayerPrivateGStreamer::enableTrack):
1584
1585 2018-06-26  Zalan Bujtas  <zalan@apple.com>
1586
1587         [LFC] Fixed positioning is a subcategory of absolute positioning.
1588         https://bugs.webkit.org/show_bug.cgi?id=187043
1589
1590         Reviewed by Antti Koivisto.
1591
1592         https://www.w3.org/TR/CSS22/visuren.html#absolute-positioning
1593         References in this specification to an absolutely positioned element (or its box) imply that the element's 'position'
1594         property has the value 'absolute' or 'fixed'.
1595
1596         * layout/layouttree/LayoutBox.cpp:
1597         (WebCore::Layout::Box::isAbsolutelyPositioned const):
1598         * layout/layouttree/LayoutBox.h:
1599         (WebCore::Layout::Box::isOutOfFlowPositioned const):
1600
1601 2018-06-26  Commit Queue  <commit-queue@webkit.org>
1602
1603         Unreviewed, rolling out r233143.
1604         https://bugs.webkit.org/show_bug.cgi?id=187046
1605
1606         broke media/video-ended-event-negative-playback.html
1607         (Requested by philn on #webkit).
1608
1609         Reverted changeset:
1610
1611         "[GStreamer] Remove useless workaround"
1612         https://bugs.webkit.org/show_bug.cgi?id=186921
1613         https://trac.webkit.org/changeset/233143
1614
1615 2018-06-25  Zalan Bujtas  <zalan@apple.com>
1616
1617         [LFC] Computed height for in-flow non-replaced should not include padding and border.
1618         https://bugs.webkit.org/show_bug.cgi?id=187031
1619
1620         Reviewed by Antti Koivisto.
1621
1622         In certain cases the height of a non-replaced in-flow box is computed using the bottom position of its last in-flow child.
1623         The in-flow child's bottom position is in the coordinate system of the containing block's border box (border box's top left is 0, 0) ->
1624         it includes both the (top) border and the padding of the containing block.
1625
1626         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
1627         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
1628
1629 2018-06-26  Zan Dobersek  <zdobersek@igalia.com>
1630
1631         Crash in WebAnimation::runPendingPlayTask
1632         https://bugs.webkit.org/show_bug.cgi?id=186189
1633
1634         Reviewed by Carlos Garcia Campos.
1635
1636         Avoid crashes on nullopt std::optional dereference in the
1637         runPendingPlayTask() and runPendingPauseTask() methods of the
1638         WebAnimation class by defaulting to a Seconds(0) value.
1639
1640         In both cases the std::optional value is the current time retrieved from
1641         the associated DocumentTimeline object. But there's no guarantee that
1642         the timeline is active and the resulting time value is resolved (i.e.
1643         not nullopt). Dereferencing the nullopt Seconds value doesn't cause a
1644         problem on configurations still building as C++14 and the fallback
1645         std::optional implementation provided by WTF -- no signal is raised, and
1646         a 0 value is returned. Configurations building as C++17 on the other
1647         hand use the stdlib-provided std::optional that does raise a signal on
1648         invalid access, leading to crashes.
1649
1650         The default-to-Seconds(0) solution avoids crashes on configurations
1651         that build with C++17 support enabled, and thus match configurations
1652         that are still using WTF's std::optional. This still doesn't address the
1653         underlying problem of retrieving current time from an inactive document
1654         timeline and using it as ready time for the pending play/pause task
1655         execution.
1656
1657         runPendingPlayTask() change addresses crashes in the following tests:
1658         - fast/animation/css-animation-resuming-when-visible.html
1659         - fast/animation/css-animation-resuming-when-visible-with-style-change.html
1660         - imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html
1661         - imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/getAnimations.html
1662
1663         runPendingPauseTask() change addresses crashes in the following tests:
1664         - animations/multiple-animations-timing-function.html
1665
1666         * animation/WebAnimation.cpp:
1667         (WebCore::WebAnimation::runPendingPlayTask):
1668         (WebCore::WebAnimation::runPendingPauseTask):
1669
1670 2018-06-26  Antoine Quint  <graouts@apple.com>
1671
1672         [Web Animations] Show the feature as "Supported in Preview"
1673         https://bugs.webkit.org/show_bug.cgi?id=187037
1674
1675         Reviewed by Dean Jackson.
1676
1677         Web Animations are enabled by default in STP.
1678
1679         * features.json:
1680
1681 2018-06-26  Miguel Gomez  <magomez@igalia.com>
1682
1683         [GTK] Many webpages can crash the browser in WebCore::CoordinatedGraphicsLayer::transformedVisibleRect
1684         https://bugs.webkit.org/show_bug.cgi?id=179304
1685
1686         Reviewed by Michael Catanzaro.
1687
1688         When adding new CoordinatedGraphicsLayers to the tree, check that they have the appropriate
1689         CompositingCoordinator. If that's not the case, set the appropriate one to the layer and its
1690         children and set the state of those layers so they are rendered properly.
1691
1692         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1693         (WebCore::CoordinatedGraphicsLayer::addChild):
1694         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
1695         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
1696         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
1697         (WebCore::CoordinatedGraphicsLayer::replaceChild):
1698         (WebCore::CoordinatedGraphicsLayer::setCoordinatorIncludingSubLayersIfNeeded):
1699         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1700
1701 2018-06-25  Keith Rollin  <krollin@apple.com>
1702
1703         Adjust WEBCORE_EXPORT annotations for LTO
1704         https://bugs.webkit.org/show_bug.cgi?id=186944
1705         <rdar://problem/41384880>
1706
1707         Reviewed by David Kilzer.
1708
1709         Adjust a number of places that result in WebKit's
1710         'check-for-weak-vtables-and-externals' script reporting weak external
1711         symbols:
1712
1713             ERROR: WebCore has a weak external symbol in it (/Volumes/Data/dev/webkit/OpenSource/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore)
1714             ERROR: A weak external symbol is generated when a symbol is defined in multiple compilation units and is also marked as being exported from the library.
1715             ERROR: A common cause of weak external symbols is when an inline function is listed in the linker export file.
1716             ...
1717
1718         These cases are caused by inline methods being marked with WTF_EXPORT
1719         (or related macro) or with an inline function being in a class marked
1720         as such, and when enabling LTO builds.
1721
1722         For the most part, address these by removing the WEBCORE_EXPORT
1723         annotation from inline methods. In some cases, move the implementation
1724         out-of-line because it's the class that has the WEBCORE_EXPORT on it
1725         and removing the annotation from the class would be too disruptive.
1726         Finally, in other cases, move the implementation out-of-line because
1727         check-for-weak-vtables-and-externals still complains when keeping the
1728         implementation inline and removing the annotation; this seems to
1729         typically (but not always) happen with destructors.
1730
1731         No new tests. There is no changed functionality. Only the annotation
1732         and treatment of inline methods are altered.
1733
1734         * animation/AnimationTimeline.h:
1735         (WebCore::AnimationTimeline::pause):
1736         * page/CacheStorageProvider.h:
1737         (): Deleted.
1738         * page/scrolling/ScrollingTree.h:
1739         (WebCore::ScrollingTree::reportSynchronousScrollingReasonsChanged):
1740         (WebCore::ScrollingTree::reportExposedUnfilledArea):
1741         * platform/audio/PlatformMediaSessionManager.h:
1742         (WebCore::PlatformMediaSessionManager::hasActiveNowPlayingSession const):
1743         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingTitle const):
1744         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingDuration const):
1745         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingElapsedTime const):
1746         (WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingInfoUniqueIdentifier const):
1747         (WebCore::PlatformMediaSessionManager::registeredAsNowPlayingApplication const):
1748         * platform/audio/mac/CARingBuffer.cpp:
1749         (WebCore::CARingBuffer::~CARingBuffer):
1750         * platform/audio/mac/CARingBuffer.h:
1751         (WebCore::CARingBuffer::~CARingBuffer): Deleted.
1752         * platform/cocoa/VideoFullscreenModelVideoElement.h:
1753         * platform/gamepad/GamepadProvider.h:
1754         * platform/graphics/GraphicsLayer.h:
1755         (WebCore::GraphicsLayer::displayListAsText const):
1756         (WebCore::GraphicsLayer::setIsTrackingDisplayListReplay):
1757         (WebCore::GraphicsLayer::isTrackingDisplayListReplay const):
1758         (WebCore::GraphicsLayer::replayDisplayListAsText const):
1759         * platform/mac/PlaybackSessionInterfaceMac.h:
1760         * platform/mediastream/RealtimeMediaSourceCenter.h:
1761         (WebCore::RealtimeMediaSourceCenter::setAudioFactory):
1762         (WebCore::RealtimeMediaSourceCenter::unsetAudioFactory):
1763         * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
1764         (WebCore::LibWebRTCProvider::setActive):
1765         (WebCore::LibWebRTCProvider::createDecoderFactory):
1766         (WebCore::LibWebRTCProvider::createEncoderFactory):
1767         (WebCore::LibWebRTCProvider::disableEnumeratingAllNetworkInterfaces):
1768         (WebCore::LibWebRTCProvider::enableEnumeratingAllNetworkInterfaces):
1769         * platform/mediastream/libwebrtc/LibWebRTCProvider.h:
1770         * platform/network/ResourceHandleClient.h:
1771         (WebCore::ResourceHandleClient::willCacheResponseAsync):
1772         * testing/MockGamepadProvider.h:
1773         * workers/service/server/SWServer.h:
1774         (WebCore::SWServer::Connection::~Connection):
1775
1776 2018-06-25  Zalan Bujtas  <zalan@apple.com>
1777
1778         [LFC] Adjust static position for out-of-flow positioned boxes.
1779         https://bugs.webkit.org/show_bug.cgi?id=187000
1780
1781         Reviewed by Antti Koivisto.
1782
1783         The static position of an out-of-flow positioned box is the the position where box would go
1784         if it was in-flow positioned. This position needs to the resolved in the containing block's coordinate system.
1785
1786         * layout/blockformatting/BlockFormattingContext.h:
1787         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
1788         (WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
1789         (WebCore::Layout::BlockFormattingContext::Geometry::staticPositionForOutOfFlowPositioned):
1790         (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
1791
1792 2018-06-25  Brady Eidson  <beidson@apple.com>
1793
1794         Remove RELEASE_ASSERT added in r230875.
1795         <rdar://problem/40860061> and https://bugs.webkit.org/show_bug.cgi?id=187022
1796
1797         Reviewed by Brent Fulgham.
1798
1799         There's actually more than one way for a network session to be destroyed, and that can happen
1800         asynchronously and unpredictably.
1801
1802         And the request to start up a WebSocket and do its handshake is also asynchronous and unpredictable
1803  
1804         It's an expected race.
1805
1806         If the NetworkStorageSession cannot be found then the WebSocket handshake should just fail.
1807
1808         * platform/network/SocketStreamHandleImpl.cpp:
1809         (WebCore::cookieDataForHandshake): If the NetworkStorageSession cannot be found, return std::nullopt.
1810         (WebCore::SocketStreamHandleImpl::platformSendHandshake): If the cookieData is null, fail the handshake.
1811
1812 2018-06-25  Wenson Hsieh  <wenson_hsieh@apple.com>
1813
1814         [iPad apps on macOS] Web process crashes when attempting to play embedded YouTube video in News
1815         https://bugs.webkit.org/show_bug.cgi?id=187011
1816         <rdar://problem/40906808>
1817
1818         Reviewed by Tim Horton.
1819
1820         Disable remote media commands when running iOS WebKit on macOS. The iOS flavor of RemoteCommandListener
1821         currently throws an exception when attempting to soft-link the MediaPlayer framework, which prevents video from
1822         being played altogether. For a followup tracking touch bar integration in iOS WebKit on macOS, see:
1823         <rdar://problem/39164732>.
1824
1825         Manually tested by playing a YouTube video in News.
1826
1827         * platform/RemoteCommandListener.cpp:
1828         * platform/ios/RemoteCommandListenerIOS.h:
1829         * platform/ios/RemoteCommandListenerIOS.mm:
1830
1831 2018-06-25  Keith Rollin  <krollin@apple.com>
1832         Unreviewed, rolling out r233087.
1833
1834         Causes 5% Mac PLT regression.
1835
1836         Reverted changeset:
1837
1838         "Recalc styles every time defaultAppearance changes."
1839         https://bugs.webkit.org/show_bug.cgi?id=186866
1840         https://trac.webkit.org/changeset/233087
1841
1842 2018-06-25  Brent Fulgham  <bfulgham@apple.com>
1843
1844         REGRESSION(r229722): WebKitLegacy clients can crash when loading alternate page
1845         https://bugs.webkit.org/show_bug.cgi?id=187008
1846         
1847         Reviewed by Chris Dumez.
1848
1849         The new call to 'clearProvisionalLoadForPolicyCheck' added in r229722 broke loading
1850         behavior in WebKitLegacy.
1851
1852         1. We can now enter 'cancelPolicyCheckIfNeeded' without a Frame loader, in what appears
1853            to be a recursive call during the load cancellation (the 'm_waitingForContentPolicy'
1854            and 'm_waitingForNavigationPolicy' have already been nulled). It seems like we should
1855            return early here, or perhaps just move the RELEASE_ASSERT inside the case where we
1856            have an active policy check happening.
1857
1858         2. We also enter FrameLoader::checkContentPolicy without an active document loader. We
1859            should recognize this case and handle it, rather than trying to dereference a nullptr
1860            document loader.
1861
1862         * loader/DocumentLoader.cpp:
1863         (WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): Move the RELEASE_ASSERT inside the
1864         conditional where the frameLoader is actually used.
1865         * loader/FrameLoader.cpp:
1866         (WebCore::FrameLoader::checkContentPolicy): Recognize that the activeDocumentLoader may
1867         be nullptr at this point, and take appropriate action (rather than crashing).
1868
1869 2018-06-25  Simon Fraser  <simon.fraser@apple.com>
1870
1871         MatchedPropertiesCacheItem wastes 388KB of vector capacity on nytimes.com
1872         https://bugs.webkit.org/show_bug.cgi?id=186990
1873
1874         Reviewed by Antti Koivisto.
1875
1876         MatchedPropertiesCacheItem.matchedProperties was appended to, so it allocated capacity
1877         in 16-size chunks. Instead, assign to it so it only allocates as much capacity as is needed.
1878         Copy-constructing is more wasteful, since it copies the 64-chunk size from the right-hand side.
1879
1880         * css/StyleResolver.cpp:
1881         (WebCore::StyleResolver::addToMatchedPropertiesCache):
1882         * css/StyleResolver.h:
1883         (WebCore::StyleResolver::MatchedPropertiesCacheItem::MatchedPropertiesCacheItem):
1884
1885 2018-06-25  Chris Dumez  <cdumez@apple.com>
1886
1887         Null dereference crash un ApplicationCacheGroup::startLoadingEntry()
1888         https://bugs.webkit.org/show_bug.cgi?id=187012
1889         <rdar://problem/40793716>
1890
1891         Reviewed by Youenn Fablet.
1892
1893         m_entryLoader can be null because ApplicationCacheResourceLoader::create() return null when
1894         CachedResourceLoader::requestRawResource() fails synchronously. In such case, the completion
1895         handler gets called with a ApplicationCacheResourceLoader::Error::CannotRequestResource error.
1896
1897         To address the issue, we capture the request's URL in the lambda and use it instead of trying
1898         to get the URL from the loader's resource.
1899
1900         * loader/appcache/ApplicationCacheGroup.cpp:
1901         (WebCore::ApplicationCacheGroup::startLoadingEntry):
1902
1903 2018-06-25  Ross Kirsling  <ross.kirsling@sony.com>
1904
1905         REGRESSION (r233140): Windows build failure due to incomplete FrameView and RenderBox types
1906         https://bugs.webkit.org/show_bug.cgi?id=186997
1907
1908         * animation/KeyframeEffectReadOnly.cpp:
1909
1910 2018-06-25  Antoine Quint  <graouts@apple.com>
1911
1912         REGRESSION: hardware-accelerated animation fails on inline element
1913         https://bugs.webkit.org/show_bug.cgi?id=186981
1914         <rdar://problem/41418697>
1915
1916         Reviewed by Dean Jackson.
1917
1918         Ensure we only queue accelerated actions when we have a renderer so we don't attempt
1919         to start an accelerated animation too soon.
1920
1921         Test: webanimations/opacity-animation-yields-compositing-span.html
1922
1923         * animation/KeyframeEffectReadOnly.cpp:
1924         (WebCore::KeyframeEffectReadOnly::updateAcceleratedAnimationState):
1925
1926 2018-06-25  David Kilzer  <ddkilzer@apple.com>
1927
1928         REGRESSION (r233140): v2: Windows build failure due to incomplete DocumentAnimationScheduler type
1929         <https://webkit.org/b/186997>
1930
1931         * dom/Document.cpp:
1932         (WebCore::Document::prepareForDestruction):
1933         (WebCore::Document::windowScreenDidChange):
1934         * dom/Document.h:
1935         - DocumentAnimationScheduler is behind the
1936           USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) macro, which
1937           is disabled on Windows.
1938         - This also reverts my fix in r233144 since it didn't work.
1939
1940 2018-06-25  Youenn Fablet  <youenn@apple.com>
1941
1942         Add API to control mock media devices
1943         https://bugs.webkit.org/show_bug.cgi?id=186958
1944
1945         Reviewed by Eric Carlson.
1946
1947         Refactor code to introduce a MockDevice structure that can be used in multiple processes.
1948         Update mock sources and center to use MockDevice.
1949         Add API to update mock media devices.
1950
1951         Make MediaDevices an ActiveDOMObject so that it does not get collected when ondevicechange is set.
1952
1953          Test: fast/mediastream/device-change-event-2.html
1954
1955         * Modules/mediastream/MediaDevices.cpp:
1956         (WebCore::MediaDevices::MediaDevices):
1957         (WebCore::MediaDevices::stop):
1958         (WebCore::MediaDevices::scheduledEventTimerFired):
1959         (WebCore::MediaDevices::hasPendingActivity const):
1960         (WebCore::MediaDevices::activeDOMObjectName const):
1961         (WebCore::MediaDevices::canSuspendForDocumentSuspension const):
1962         * Modules/mediastream/MediaDevices.h:
1963         * Modules/mediastream/MediaDevices.idl:
1964         * WebCore.xcodeproj/project.pbxproj:
1965         * platform/mediastream/RealtimeMediaSourceCenter.h:
1966         * platform/mock/MockMediaDevice.h: Added.
1967         (WebCore::MockMicrophoneProperties::encode const):
1968         (WebCore::MockMicrophoneProperties::decode):
1969         (WebCore::MockCameraProperties::encode const):
1970         (WebCore::MockCameraProperties::decode):
1971         (WebCore::MockDisplayProperties::encode const):
1972         (WebCore::MockDisplayProperties::decode):
1973         (WebCore::MockMediaDevice::isMicrophone const):
1974         (WebCore::MockMediaDevice::isCamera const):
1975         (WebCore::MockMediaDevice::isDisplay const):
1976         (WebCore::MockMediaDevice::type const):
1977         (WebCore::MockMediaDevice::encode const):
1978         (WebCore::MockMediaDevice::decodeMockMediaDevice):
1979         (WebCore::MockMediaDevice::decode):
1980         * platform/mock/MockRealtimeAudioSource.cpp:
1981         (WebCore::MockRealtimeAudioSource::startProducingData):
1982         * platform/mock/MockRealtimeMediaSource.cpp:
1983         (WebCore::defaultDevices):
1984         (WebCore::devices):
1985         (WebCore::deviceMap):
1986         (WebCore::deviceListForDevice):
1987         (WebCore::MockRealtimeMediaSource::createCaptureDevice):
1988         (WebCore::MockRealtimeMediaSource::resetDevices):
1989         (WebCore::MockRealtimeMediaSource::setDevices):
1990         (WebCore::MockRealtimeMediaSource::addDevice):
1991         (WebCore::MockRealtimeMediaSource::removeDevice):
1992         (WebCore::MockRealtimeMediaSource::captureDeviceWithPersistentID):
1993         (WebCore::MockRealtimeMediaSource::audioDevices):
1994         (WebCore::MockRealtimeMediaSource::videoDevices):
1995         (WebCore::MockRealtimeMediaSource::displayDevices):
1996         (WebCore::MockRealtimeMediaSource::MockRealtimeMediaSource):
1997         (WebCore::MockRealtimeMediaSource::initializeCapabilities):
1998         (WebCore::MockRealtimeMediaSource::initializeSettings):
1999         (WebCore::MockRealtimeMediaSource::settings const):
2000         (WebCore::MockRealtimeMediaSource::supportedConstraints):
2001         * platform/mock/MockRealtimeMediaSource.h:
2002         (WebCore::MockRealtimeMediaSource::device const):
2003         * platform/mock/MockRealtimeMediaSourceCenter.cpp:
2004         (WebCore::MockRealtimeMediaSourceCenter::singleton):
2005         (WebCore::MockRealtimeMediaSourceCenter::setMockRealtimeMediaSourceCenterEnabled):
2006         (WebCore::MockRealtimeMediaSourceCenter::setDevices):
2007         (WebCore::MockRealtimeMediaSourceCenter::addDevice):
2008         (WebCore::MockRealtimeMediaSourceCenter::removeDevice):
2009         * platform/mock/MockRealtimeMediaSourceCenter.h:
2010         * platform/mock/MockRealtimeVideoSource.cpp:
2011         (WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
2012         (WebCore::MockRealtimeVideoSource::initializeCapabilities):
2013         (WebCore::MockRealtimeVideoSource::drawText):
2014         (WebCore::MockRealtimeVideoSource::generateFrame):
2015         * platform/mock/MockRealtimeVideoSource.h:
2016         (WebCore::MockRealtimeVideoSource::mockCamera const):
2017         (WebCore::MockRealtimeVideoSource::mockScreen const):
2018
2019 2018-06-25  Simon Fraser  <simon.fraser@apple.com>
2020
2021         AutoTableLayout wastes 52KB of Vector capacity on nytimes.com
2022         https://bugs.webkit.org/show_bug.cgi?id=186710
2023
2024         Reviewed by Zalan Bujtas.
2025         
2026         Call resizeToFit() to only allocate enough capacity for the number of columns.
2027
2028         * rendering/AutoTableLayout.cpp:
2029         (WebCore::AutoTableLayout::fullRecalc):
2030         (WebCore::AutoTableLayout::insertSpanCell): Whitespace fix.
2031         * rendering/AutoTableLayout.h:
2032
2033 2018-06-25  Zalan Bujtas  <zalan@apple.com>
2034
2035         [LFC] Adjust static position with containing block's content box top/left
2036         https://bugs.webkit.org/show_bug.cgi?id=186999
2037
2038         Reviewed by Antti Koivisto.
2039
2040         * layout/blockformatting/BlockFormattingContextGeometry.cpp:
2041         (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
2042         * layout/displaytree/DisplayBox.cpp:
2043         (WebCore::Display::Box::contentBox const):
2044         * layout/displaytree/DisplayBox.h:
2045         (WebCore::Display::Box::contentBoxTop const):
2046         (WebCore::Display::Box::contentBoxLeft const):
2047
2048 2018-06-25  David Kilzer  <ddkilzer@apple.com>
2049
2050         REGRESSION (r233140): Windows build failure due to incomplete DocumentAnimationScheduler type
2051         <https://webkit.org/b/186997>
2052
2053         * dom/Document.cpp:
2054         * dom/Document.h:
2055         - Attempt to fix Windows build failure by moving include of
2056           DocumentAnimationScheduler.h from Document.cpp to Document.h.
2057
2058 2018-06-25  Philippe Normand  <pnormand@igalia.com>
2059
2060         [GStreamer] Remove useless workaround
2061         https://bugs.webkit.org/show_bug.cgi?id=186921
2062
2063         Reviewed by Xabier Rodriguez-Calvar.
2064
2065         In bug 67407 a workaround was added for GStreamer 0.10. With 1.x
2066         the media/video-reverse-play-duration.html test passes without any
2067         workaround needed. The other test mentioned in that bug was
2068         removed, it seems.
2069
2070         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2071         (WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
2072
2073 2018-06-24  Tomas Popela  <tpopela@redhat.com>
2074
2075         Unreviewed, address Darin's comment
2076         https://bugs.webkit.org/show_bug.cgi?id=186757
2077
2078         * page/linux/ResourceUsageThreadLinux.cpp:
2079         (WebCore::cpuPeriod):
2080
2081 2018-06-25  Antoine Quint  <graouts@apple.com>
2082
2083         [Web Animations] Make imported/mozilla/css-animations/test_animation-pausing.html pass reliably
2084         https://bugs.webkit.org/show_bug.cgi?id=183826
2085         <rdar://problem/40997412>
2086
2087         Reviewed by Dean Jackson.
2088
2089         The CSS Animations Level 2 specification defines that calling pause() on a CSSAnimation object is "sticky"
2090         until a call to play() is made, meaning that any changes to the running state via the CSS animation-play-state
2091         property is overridden by the stickiness of the pause() call. In this patch we add an m_stickyPaused flag which
2092         is set in API calls to pause() and play(). While this flag is true, changes to the animation-play-state property
2093         to the "running" value are ignored.
2094
2095         * animation/CSSAnimation.cpp:
2096         (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):
2097         (WebCore::CSSAnimation::bindingsPlay):
2098         (WebCore::CSSAnimation::bindingsPause):
2099         * animation/CSSAnimation.h:
2100
2101 2018-06-25  Antoine Quint  <graouts@apple.com>
2102
2103         [Web Animations] Ensure animations are updated prior to requestAnimationFrame callbacks
2104         https://bugs.webkit.org/show_bug.cgi?id=186997
2105         <rdar://problem/41419414>
2106
2107         Reviewed by Dean Jackson.
2108
2109         Some sub-tests of imported/mozilla/css-animations/test_animation-pausing.html clearly expect that animations
2110         would be resolved prior to firing a requestAnimationFrame() callback, as the HTML5 event loop mandates. But until
2111         now, both DocumentTimeline and ScriptedAnimationController would make calls to DisplayRefreshMonitorManager::scheduleAnimation()
2112         that were not coordinated and so the order in which the DocumentTimeline and ScriptedAnimationController callbacks
2113         were performed was not guaranteed.
2114
2115         In this patch we add a new DocumentAnimationScheduler class which is created by a Document to manage this specific
2116         situation. Now DocumentTimeline and ScriptedAnimationController use this supporting object instead of being their
2117         own DisplayRefreshMonitorClient and call scheduleWebAnimationsResolution() and scheduleScriptedAnimationResolution()
2118         respectively to indicate the need to schedule an animation through the DisplayRefreshMonitorManager to serve the specific
2119         needs of either, or both, classes. Then DocumentAnimationScheduler ensures that Web Animations resolution happens
2120         prior to requestAnimationFrame callbacks when both are scheduled.
2121
2122         In the future we should be able to move more code from DocumentTimeline and ScriptedAnimationController over to
2123         DocumentAnimationScheduler, such as support for throttling and using a timer-based fallback, but this patch provides
2124         the minimal functionality required to provide a sounder foundation.
2125
2126         * Modules/webvr/VRDisplay.cpp:
2127         (WebCore::VRDisplay::requestAnimationFrame):
2128         * Sources.txt:
2129         * WebCore.xcodeproj/project.pbxproj:
2130         * animation/DocumentAnimationScheduler.cpp: Added.
2131         (WebCore::DocumentAnimationScheduler::create):
2132         (WebCore::DocumentAnimationScheduler::DocumentAnimationScheduler):
2133         (WebCore::DocumentAnimationScheduler::detachFromDocument):
2134         (WebCore::DocumentAnimationScheduler::scheduleWebAnimationsResolution):
2135         (WebCore::DocumentAnimationScheduler::scheduleScriptedAnimationResolution):
2136         (WebCore::DocumentAnimationScheduler::displayRefreshFired):
2137         (WebCore::DocumentAnimationScheduler::windowScreenDidChange):
2138         (WebCore::DocumentAnimationScheduler::createDisplayRefreshMonitor const):
2139         * animation/DocumentAnimationScheduler.h: Copied from Source/WebCore/animation/CSSAnimation.h.
2140         * animation/DocumentTimeline.cpp:
2141         (WebCore::DocumentTimeline::create):
2142         (WebCore::DocumentTimeline::DocumentTimeline):
2143         (WebCore::DocumentTimeline::scheduleAnimationResolution):
2144         (WebCore::DocumentTimeline::windowScreenDidChange): Deleted.
2145         (WebCore::DocumentTimeline::createDisplayRefreshMonitor const): Deleted.
2146         * animation/DocumentTimeline.h:
2147         * dom/Document.cpp:
2148         (WebCore::Document::prepareForDestruction):
2149         (WebCore::Document::windowScreenDidChange):
2150         (WebCore::Document::requestAnimationFrame):
2151         (WebCore::Document::animationScheduler):
2152         (WebCore::Document::timeline):
2153         * dom/Document.h:
2154         * dom/ScriptedAnimationController.cpp:
2155         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
2156         (WebCore::ScriptedAnimationController::scheduleAnimation):
2157         (WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire):
2158         (WebCore::ScriptedAnimationController::windowScreenDidChange): Deleted.
2159         (WebCore::ScriptedAnimationController::displayRefreshFired): Deleted.
2160         (WebCore::ScriptedAnimationController::createDisplayRefreshMonitor const): Deleted.
2161         * dom/ScriptedAnimationController.h:
2162         (WebCore::ScriptedAnimationController::create):
2163
2164 2018-06-25  Zan Dobersek  <zdobersek@igalia.com>
2165
2166         [GCrypt] Zero-prefix (if necessary) output of RSA-based encryption and signing operations
2167         https://bugs.webkit.org/show_bug.cgi?id=186967
2168
2169         Reviewed by Michael Catanzaro.
2170
2171         Output for RSA-based encryption and signing operations should match the
2172         length of the RSA key. The way we retrieve the MPI data means libgcrypt
2173         can ignore the high-bit zero values and leave us with a valid result
2174         that's shorter in length compared to the RSA key. For instance, if the
2175         output MPI fits into 2040 bits while a 2048-bit key was used we'll end
2176         up with MPI data that will be fitted into a 255-byte Vector, one byte
2177         short of the expected output length.
2178
2179         To avoid this, mpiZeroPrefixedData() is now used when retrieving output
2180         of these RSA operations, and the value of the key size in bytes is
2181         passed to it. This efficiently prepares the output Vector and then
2182         copies the MPI data into it, respecting the MPI data length as well as
2183         the desired length of the output.
2184
2185         No new tests -- relevant tests are now stable (i.e. not sporadically
2186         failing anymore), associated expectations are removed.
2187
2188         * crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp:
2189         (WebCore::gcryptDerive): Also use mpiZeroPrefixedData().
2190         * crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:
2191         (WebCore::gcryptEncrypt):
2192         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
2193         * crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:
2194         (WebCore::gcryptSign):
2195         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
2196         * crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:
2197         (WebCore::gcryptEncrypt):
2198         (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
2199         * crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp:
2200         (WebCore::gcryptSign):
2201         (WebCore::CryptoAlgorithmRSA_PSS::platformSign):
2202         * crypto/gcrypt/GCryptUtilities.h:
2203         (WebCore::mpiZeroPrefixedData):
2204
2205 2018-06-24  Simon Fraser  <simon.fraser@apple.com>
2206
2207         Fix the DUMP_NODE_STATISTICS code so that it compiles
2208         https://bugs.webkit.org/show_bug.cgi?id=186982
2209
2210         Reviewed by Anders Carlsson.
2211
2212         The DUMP_NODE_STATISTICS code had bitrotted. ENTITY_NODE no longer exists.
2213         liveNodeSet needs to be a static function with a NeverDestroyed<>.
2214
2215         * dom/Node.cpp:
2216         (WebCore::Node::dumpStatistics):
2217         (WebCore::Node::trackForDebugging):
2218         (WebCore::Node::~Node):
2219
2220 2018-06-24  Simon Fraser  <simon.fraser@apple.com>
2221
2222         Fix the composition underline to be transformed by -apple-color-filter
2223         https://bugs.webkit.org/show_bug.cgi?id=186983
2224         rdar://problem/40515558
2225
2226         Reviewed by Zalan Bujtas.
2227         
2228         Transform the composition underline color with the color filter.
2229
2230         Test: css3/color-filters/color-filter-composition-underline-color.html
2231
2232         * rendering/InlineTextBox.cpp:
2233         (WebCore::InlineTextBox::paintCompositionUnderline const):
2234
2235 2018-06-23  Zalan Bujtas  <zalan@apple.com>
2236
2237         [Mail] Use the Mail Viewer width as the base for resolving horizontal viewport units
2238         https://bugs.webkit.org/show_bug.cgi?id=186585
2239         <rdar://problem/30685325>
2240
2241         Reviewed by Tim Horton.
2242
2243         Use the existing "override viewport size for viewport units" mechanism to compute the preferred
2244         viewport unit values for the Mail Viewer html content. 
2245
2246         Test: fast/dynamic/mail-autosize-viewport-unit.html
2247
2248         * page/FrameView.cpp:
2249         (WebCore::FrameView::FrameView):
2250         (WebCore::FrameView::enableAutoSizeMode):
2251         (WebCore::FrameView::clearViewportSizeOverrideForCSSViewportUnits):
2252         (WebCore::FrameView::setViewportSizeForCSSViewportUnits):
2253         (WebCore::FrameView::overrideViewportSizeForCSSViewportUnits):
2254         (WebCore::FrameView::viewportSizeForCSSViewportUnits const):
2255         * page/FrameView.h:
2256
2257 2018-06-23  Zalan Bujtas  <zalan@apple.com>
2258
2259         [LFC] Relatively positioned renderer needs offsetting for validation
2260         https://bugs.webkit.org/show_bug.cgi?id=186959
2261
2262         Reviewed by Antti Koivisto.
2263
2264         * layout/FormattingContextGeometry.cpp:
2265         (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
2266         * layout/Verification.cpp:
2267         (WebCore::Layout::outputMismatchingBoxInformationIfNeeded):
2268
2269 2018-06-23  Zalan Bujtas  <zalan@apple.com>
2270
2271         [LFC] Miscellaneous fixes to fix simple absolute positioning.
2272         https://bugs.webkit.org/show_bug.cgi?id=186962
2273
2274         Reviewed by Antti Koivisto.
2275
2276         1. Collect out-of-flow formatting root descendants.
2277         2. Remove invalid and redundant ASSERTs
2278           invalid because the assertion is missing border, padding etc.
2279           redundant becasue we assert on geometry correctness in validateGeometryConstraintsAfterLayout.  
2280
2281         * layout/FormattingContext.cpp:
2282         (WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
2283         (WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry const):
2284         (WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
2285         * layout/layouttree/LayoutContainer.cpp:
2286         (WebCore::Layout::Container::addOutOfFlowDescendant):
2287         (WebCore::Layout::Container::setOutOfFlowDescendants): Deleted.
2288         * layout/layouttree/LayoutContainer.h:
2289         * layout/layouttree/LayoutTreeBuilder.cpp:
2290         (WebCore::Layout::TreeBuilder::createSubTree):
2291
2292 2018-06-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2293
2294         [WTF] Add user-defined literal for ASCIILiteral
2295         https://bugs.webkit.org/show_bug.cgi?id=186839
2296
2297         Reviewed by Darin Adler.
2298
2299         No behavior change.
2300
2301         * Modules/applicationmanifest/ApplicationManifestParser.cpp:
2302         (WebCore::ApplicationManifestParser::parseManifest):
2303         (WebCore::ApplicationManifestParser::logManifestPropertyNotAString):
2304         (WebCore::ApplicationManifestParser::logManifestPropertyInvalidURL):
2305         (WebCore::ApplicationManifestParser::logDeveloperWarning):
2306         (WebCore::ApplicationManifestParser::parseStartURL):
2307         (WebCore::ApplicationManifestParser::parseDisplay):
2308         (WebCore::ApplicationManifestParser::parseName):
2309         (WebCore::ApplicationManifestParser::parseDescription):
2310         (WebCore::ApplicationManifestParser::parseShortName):
2311         (WebCore::ApplicationManifestParser::parseScope):
2312         * Modules/beacon/NavigatorBeacon.cpp:
2313         (WebCore::NavigatorBeacon::logError):
2314         (WebCore::NavigatorBeacon::sendBeacon):
2315         * Modules/cache/DOMCache.cpp:
2316         (WebCore::DOMCache::requestFromInfo):
2317         (WebCore::DOMCache::addAll):
2318         (WebCore::DOMCache::put):
2319         * Modules/cache/DOMCacheEngine.cpp:
2320         (WebCore::DOMCacheEngine::errorToException):
2321         * Modules/credentialmanagement/BasicCredential.cpp:
2322         (WebCore::BasicCredential::type const):
2323         * Modules/credentialmanagement/CredentialsContainer.cpp:
2324         (WebCore::CredentialsContainer::get):
2325         (WebCore::CredentialsContainer::store):
2326         (WebCore::CredentialsContainer::isCreate):
2327         (WebCore::CredentialsContainer::preventSilentAccess const):
2328         * Modules/entriesapi/DOMFileSystem.cpp:
2329         (WebCore::DOMFileSystem::root):
2330         (WebCore::validatePathIsExpectedType):
2331         (WebCore::resolveRelativeVirtualPath):
2332         (WebCore::DOMFileSystem::getEntry):
2333         * Modules/entriesapi/FileSystemDirectoryEntry.cpp:
2334         (WebCore::FileSystemDirectoryEntry::getEntry):
2335         * Modules/entriesapi/FileSystemDirectoryReader.cpp:
2336         (WebCore::FileSystemDirectoryReader::readEntries):
2337         * Modules/fetch/FetchBody.cpp:
2338         (WebCore::FetchBody::consumeAsStream):
2339         * Modules/fetch/FetchBodyConsumer.cpp:
2340         (WebCore::FetchBodyConsumer::loadingFailed):
2341         * Modules/fetch/FetchBodyOwner.cpp:
2342         (WebCore::FetchBodyOwner::arrayBuffer):
2343         (WebCore::FetchBodyOwner::blob):
2344         (WebCore::FetchBodyOwner::consumeOnceLoadingFinished):
2345         (WebCore::FetchBodyOwner::formData):
2346         (WebCore::FetchBodyOwner::json):
2347         (WebCore::FetchBodyOwner::text):
2348         (WebCore::FetchBodyOwner::blobLoadingFailed):
2349         (WebCore::FetchBodyOwner::consumeBodyAsStream):
2350         * Modules/fetch/FetchHeaders.cpp:
2351         (WebCore::canWriteHeader):
2352         * Modules/fetch/FetchLoader.cpp:
2353         (WebCore::FetchLoader::startLoadingBlobURL):
2354         (WebCore::FetchLoader::start):
2355         * Modules/fetch/FetchRequest.cpp:
2356         (WebCore::setMethod):
2357         (WebCore::computeReferrer):
2358         (WebCore::buildOptions):
2359         (WebCore::FetchRequest::initializeOptions):
2360         (WebCore::FetchRequest::initializeWith):
2361         (WebCore::FetchRequest::setBody):
2362         (WebCore::FetchRequest::referrer const):
2363         (WebCore::FetchRequest::clone):
2364         * Modules/fetch/FetchResponse.cpp:
2365         (WebCore::FetchResponse::create):
2366         (WebCore::FetchResponse::redirect):
2367         (WebCore::FetchResponse::clone):
2368         (WebCore::FetchResponse::BodyLoader::didFail):
2369         * Modules/fetch/FetchResponse.h:
2370         * Modules/geolocation/GeoNotifier.cpp:
2371         (WebCore::GeoNotifier::timerFired):
2372         * Modules/geolocation/Geolocation.cpp:
2373         (WebCore::Geolocation::startRequest):
2374         (WebCore::Geolocation::requestUsesCachedPosition):
2375         (WebCore::Geolocation::makeCachedPositionCallbacks):
2376         (WebCore::Geolocation::setIsAllowed):
2377         (WebCore::Geolocation::cancelRequests):
2378         (WebCore::Geolocation::handlePendingPermissionNotifiers):
2379         * Modules/indexeddb/IDBCursor.cpp:
2380         (WebCore::IDBCursor::update):
2381         (WebCore::IDBCursor::advance):
2382         (WebCore::IDBCursor::continuePrimaryKey):
2383         (WebCore::IDBCursor::continueFunction):
2384         (WebCore::IDBCursor::deleteFunction):
2385         * Modules/indexeddb/IDBDatabase.cpp:
2386         (WebCore::IDBDatabase::createObjectStore):
2387         (WebCore::IDBDatabase::transaction):
2388         (WebCore::IDBDatabase::deleteObjectStore):
2389         * Modules/indexeddb/IDBFactory.cpp:
2390         (WebCore::IDBFactory::open):
2391         (WebCore::IDBFactory::openInternal):
2392         (WebCore::IDBFactory::deleteDatabase):
2393         (WebCore::IDBFactory::cmp):
2394         * Modules/indexeddb/IDBIndex.cpp:
2395         (WebCore::IDBIndex::setName):
2396         (WebCore::IDBIndex::openCursor):
2397         (WebCore::IDBIndex::openKeyCursor):
2398         (WebCore::IDBIndex::count):
2399         (WebCore::IDBIndex::doCount):
2400         (WebCore::IDBIndex::get):
2401         (WebCore::IDBIndex::doGet):
2402         (WebCore::IDBIndex::getKey):
2403         (WebCore::IDBIndex::doGetKey):
2404         (WebCore::IDBIndex::getAll):
2405         (WebCore::IDBIndex::getAllKeys):
2406         * Modules/indexeddb/IDBKeyData.cpp:
2407         (WebCore::IDBKeyData::loggingString const):
2408         * Modules/indexeddb/IDBKeyRangeData.cpp:
2409         (WebCore::IDBKeyRangeData::loggingString const):
2410         * Modules/indexeddb/IDBObjectStore.cpp:
2411         (WebCore::IDBObjectStore::setName):
2412         (WebCore::IDBObjectStore::openCursor):
2413         (WebCore::IDBObjectStore::openKeyCursor):
2414         (WebCore::IDBObjectStore::get):
2415         (WebCore::IDBObjectStore::getKey):
2416         (WebCore::IDBObjectStore::putOrAdd):
2417         (WebCore::IDBObjectStore::doDelete):
2418         (WebCore::IDBObjectStore::deleteFunction):
2419         (WebCore::IDBObjectStore::clear):
2420         (WebCore::IDBObjectStore::createIndex):
2421         (WebCore::IDBObjectStore::index):
2422         (WebCore::IDBObjectStore::deleteIndex):
2423         (WebCore::IDBObjectStore::count):
2424         (WebCore::IDBObjectStore::doCount):
2425         (WebCore::IDBObjectStore::getAll):
2426         (WebCore::IDBObjectStore::getAllKeys):
2427         * Modules/indexeddb/IDBRequest.cpp:
2428         (WebCore::IDBRequest::result const):
2429         (WebCore:: const):
2430         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
2431         * Modules/indexeddb/IDBTransaction.cpp:
2432         (WebCore::IDBTransaction::objectStore):
2433         (WebCore::IDBTransaction::abort):
2434         (WebCore::IDBTransaction::putOrAddOnServer):
2435         * Modules/indexeddb/server/IDBServer.cpp:
2436         (WebCore::IDBServer::IDBServer::performGetAllDatabaseNames):
2437         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2438         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
2439         (WebCore::IDBServer::MemoryIDBBackingStore::addRecord):
2440         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
2441         (WebCore::IDBServer::MemoryIDBBackingStore::getAllRecords):
2442         (WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
2443         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
2444         (WebCore::IDBServer::MemoryIDBBackingStore::openCursor):
2445         (WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):
2446         * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
2447         (WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
2448         (WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
2449         (WebCore::IDBServer::SQLiteIDBBackingStore::databaseNameFromEncodedFilename):
2450         (WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
2451         (WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
2452         (WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
2453         (WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
2454         (WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
2455         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
2456         (WebCore::IDBServer::SQLiteIDBBackingStore::renameObjectStore):
2457         (WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
2458         (WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
2459         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedHasIndexRecord):
2460         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedPutIndexRecord):
2461         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
2462         (WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):
2463         (WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
2464         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteUnusedBlobFileRecords):
2465         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
2466         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
2467         (WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
2468         (WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
2469         (WebCore::IDBServer::SQLiteIDBBackingStore::getBlobRecordsForObjectStoreRecord):
2470         (WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
2471         (WebCore::IDBServer::SQLiteIDBBackingStore::getAllObjectStoreRecords):
2472         (WebCore::IDBServer::SQLiteIDBBackingStore::getAllIndexRecords):
2473         (WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
2474         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetIndexRecordForOneKey):
2475         (WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
2476         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetKeyGeneratorValue):
2477         (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedSetKeyGeneratorValue):
2478         (WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):
2479         (WebCore::IDBServer::SQLiteIDBBackingStore::revertGeneratedKeyNumber):
2480         (WebCore::IDBServer::SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber):
2481         (WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
2482         (WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):
2483         (WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
2484         * Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
2485         (WebCore::IDBServer::SQLiteIDBTransaction::begin):
2486         (WebCore::IDBServer::SQLiteIDBTransaction::commit):
2487         (WebCore::IDBServer::SQLiteIDBTransaction::abort):
2488         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2489         (WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
2490         (WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
2491         (WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
2492         (WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
2493         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
2494         (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
2495         (WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
2496         * Modules/indexeddb/shared/IDBError.h:
2497         (WebCore::IDBError::userDeleteError):
2498         * Modules/indexeddb/shared/IDBTransactionInfo.cpp:
2499         (WebCore::IDBTransactionInfo::loggingString const):
2500         * Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
2501         (WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):
2502         * Modules/mediastream/PeerConnectionBackend.cpp:
2503         (WebCore::PeerConnectionBackend::addIceCandidate):
2504         * Modules/mediastream/UserMediaRequest.cpp:
2505         (WebCore::UserMediaRequest::deny):
2506         * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
2507         (WebCore::LibWebRTCMediaEndpoint::doSetLocalDescription):
2508         * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
2509         (WebCore::LibWebRTCPeerConnectionBackend::doAddIceCandidate):
2510         * Modules/paymentrequest/PaymentRequest.cpp:
2511         (WebCore::checkAndCanonicalizeTotal):
2512         (WebCore::PaymentRequest::create):
2513         * Modules/quota/DOMWindowQuota.cpp:
2514         (WebCore::DOMWindowQuota::webkitStorageInfo const):
2515         * Modules/webaudio/AudioBufferSourceNode.cpp:
2516         (WebCore::AudioBufferSourceNode::looping):
2517         (WebCore::AudioBufferSourceNode::setLooping):
2518         * Modules/webaudio/AudioNode.cpp:
2519         (WebCore::AudioNode::channelCountMode):
2520         (WebCore::AudioNode::channelInterpretation):
2521         * Modules/webaudio/MediaStreamAudioSource.cpp:
2522         (WebCore::MediaStreamAudioSource::MediaStreamAudioSource):
2523         * Modules/webauthn/AuthenticatorManager.cpp:
2524         (WebCore::AuthenticatorManagerInternal::produceClientDataJson):
2525         (WebCore::AuthenticatorManagerInternal::initTimeoutTimer):
2526         (WebCore::AuthenticatorManager::create const):
2527         (WebCore::AuthenticatorManager::discoverFromExternalSource const):
2528         (WebCore::AuthenticatorManager::isUserVerifyingPlatformAuthenticatorAvailable const):
2529         * Modules/webauthn/cocoa/LocalAuthenticator.mm:
2530         (WebCore::LocalAuthenticator::makeCredential):
2531         (WebCore::LocalAuthenticator::getAssertion):
2532         * Modules/webdatabase/DatabaseTracker.cpp:
2533         (WebCore::DatabaseTracker::usage):
2534         * Modules/websockets/WebSocket.cpp:
2535         (WebCore::WebSocket::connect):
2536         (WebCore::WebSocket::close):
2537         (WebCore::WebSocket::binaryType const):
2538         * Modules/websockets/WebSocketHandshake.cpp:
2539         (WebCore::WebSocketHandshake::readStatusLine):
2540         (WebCore::WebSocketHandshake::readHTTPHeaders):
2541         (WebCore::WebSocketHandshake::checkResponseHeaders):
2542         * Modules/webvr/VRDisplay.cpp:
2543         (WebCore::VRDisplay::requestPresent):
2544         (WebCore::VRDisplay::exitPresent):
2545         * accessibility/AccessibilityObject.cpp:
2546         (WebCore::AccessibilityObject::defaultLiveRegionStatusForRole):
2547         (WebCore::AccessibilityObject::invalidStatus const):
2548         * accessibility/AccessibilityRenderObject.cpp:
2549         (WebCore::AccessibilityRenderObject::textUnderElement const):
2550         * bindings/js/JSCustomElementInterface.cpp:
2551         (WebCore::constructCustomElementSynchronously):
2552         * bindings/js/JSCustomElementRegistryCustom.cpp:
2553         (WebCore::getCustomElementCallback):
2554         (WebCore::validateCustomElementNameAndThrowIfNeeded):
2555         (WebCore::JSCustomElementRegistry::define):
2556         * bindings/js/JSCustomXPathNSResolver.cpp:
2557         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2558         * bindings/js/JSDOMConstructorBase.cpp:
2559         (WebCore::callThrowTypeError):
2560         * bindings/js/JSDOMConstructorBase.h:
2561         (WebCore::JSDOMConstructorBase::className):
2562         * bindings/js/JSDOMConstructorNotConstructable.h:
2563         (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError):
2564         * bindings/js/JSDOMExceptionHandling.cpp:
2565         (WebCore::createDOMException):
2566         (WebCore::throwSequenceTypeError):
2567         (WebCore::throwNonFiniteTypeError):
2568         * bindings/js/JSDOMIterator.h:
2569         (WebCore::iteratorForEach):
2570         (WebCore::IteratorTraits>::next):
2571         * bindings/js/JSDOMWindowBase.cpp:
2572         (WebCore::isResponseCorrect):
2573         (WebCore::handleResponseOnStreamingAction):
2574         (WebCore::JSDOMWindowBase::compileStreaming):
2575         (WebCore::JSDOMWindowBase::instantiateStreaming):
2576         * bindings/js/JSDOMWindowCustom.cpp:
2577         (WebCore::JSDOMWindow::preventExtensions):
2578         (WebCore::JSDOMWindow::toStringName):
2579         * bindings/js/JSHTMLElementCustom.cpp:
2580         (WebCore::constructJSHTMLElement):
2581         * bindings/js/JSLocationCustom.cpp:
2582         (WebCore::JSLocation::preventExtensions):
2583         (WebCore::JSLocation::toStringName):
2584         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
2585         (WebCore::constructJSReadableStreamDefaultController):
2586         (WebCore::constructJSReadableByteStreamController):
2587         (WebCore::constructJSReadableStreamBYOBRequest):
2588         * bindings/js/JSRemoteDOMWindowCustom.cpp:
2589         (WebCore::JSRemoteDOMWindow::preventExtensions):
2590         (WebCore::JSRemoteDOMWindow::toStringName):
2591         * bindings/js/ReadableStreamDefaultController.cpp:
2592         (WebCore::ReadableStreamDefaultController::invoke):
2593         * bindings/js/ScriptModuleLoader.cpp:
2594         (WebCore::resolveModuleSpecifier):
2595         (WebCore::ScriptModuleLoader::resolve):
2596         (WebCore::ScriptModuleLoader::fetch):
2597         (WebCore::ScriptModuleLoader::evaluate):
2598         (WebCore::ScriptModuleLoader::importModule):
2599         (WebCore::ScriptModuleLoader::notifyFinished):
2600         * bindings/js/SerializedScriptValue.cpp:
2601         (WebCore::maybeThrowExceptionIfSerializationFailed):
2602         * bindings/js/WorkerScriptController.cpp:
2603         (WebCore::WorkerScriptController::evaluate):
2604         * bindings/scripts/CodeGeneratorJS.pm:
2605         (GenerateDefaultValue):
2606         (GenerateConstructorHelperMethods):
2607         (GenerateCallTracer):
2608         * bindings/scripts/test/JS/JSInterfaceName.cpp:
2609         (WebCore::JSInterfaceNameConstructor::initializeProperties):
2610         * bindings/scripts/test/JS/JSMapLike.cpp:
2611         (WebCore::JSMapLikeConstructor::initializeProperties):
2612         * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
2613         (WebCore::JSReadOnlyMapLikeConstructor::initializeProperties):
2614         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2615         (WebCore::JSTestActiveDOMObjectConstructor::initializeProperties):
2616         * bindings/scripts/test/JS/JSTestCEReactions.cpp:
2617         (WebCore::JSTestCEReactionsConstructor::initializeProperties):
2618         * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
2619         (WebCore::JSTestCEReactionsStringifierConstructor::initializeProperties):
2620         * bindings/scripts/test/JS/JSTestCallTracer.cpp:
2621         (WebCore::JSTestCallTracerConstructor::initializeProperties):
2622         (WebCore::jsTestCallTracerTestAttributeInterfaceGetter):
2623         (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter):
2624         (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter):
2625         (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter):
2626         (WebCore::jsTestCallTracerTestAttributeWithVariantGetter):
2627         (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter):
2628         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody):
2629         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody):
2630         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody):
2631         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody):
2632         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody):
2633         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody):
2634         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody):
2635         (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody):
2636         * bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
2637         (WebCore::JSTestCallbackInterfaceConstructor::initializeProperties):
2638         * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
2639         (WebCore::JSTestClassWithJSBuiltinConstructorConstructor::initializeProperties):
2640         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
2641         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::initializeProperties):
2642         * bindings/scripts/test/JS/JSTestDOMJIT.cpp:
2643         (WebCore::JSTestDOMJITConstructor::initializeProperties):
2644         * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
2645         (WebCore::JSTestEnabledBySettingConstructor::initializeProperties):
2646         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2647         (WebCore::JSTestEventConstructorConstructor::initializeProperties):
2648         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2649         (WebCore::JSTestEventTargetConstructor::initializeProperties):
2650         * bindings/scripts/test/JS/JSTestException.cpp:
2651         (WebCore::JSTestExceptionConstructor::initializeProperties):
2652         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2653         (WebCore::JSTestGenerateIsReachableConstructor::initializeProperties):
2654         * bindings/scripts/test/JS/JSTestGlobalObject.cpp:
2655         (WebCore::JSTestGlobalObjectConstructor::initializeProperties):
2656         * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
2657         (WebCore::JSTestIndexedSetterNoIdentifierConstructor::initializeProperties):
2658         * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
2659         (WebCore::JSTestIndexedSetterThrowingExceptionConstructor::initializeProperties):
2660         * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
2661         (WebCore::JSTestIndexedSetterWithIdentifierConstructor::initializeProperties):
2662         * bindings/scripts/test/JS/JSTestInterface.cpp:
2663         (WebCore::JSTestInterfaceConstructor::construct):
2664         (WebCore::JSTestInterfaceConstructor::initializeProperties):
2665         * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
2666         (WebCore::JSTestInterfaceLeadingUnderscoreConstructor::initializeProperties):
2667         * bindings/scripts/test/JS/JSTestIterable.cpp:
2668         (WebCore::JSTestIterableConstructor::initializeProperties):
2669         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
2670         (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties):
2671         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2672         (WebCore::JSTestMediaQueryListListenerConstructor::initializeProperties):
2673         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
2674         (WebCore::JSTestNamedAndIndexedSetterNoIdentifierConstructor::initializeProperties):
2675         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
2676         (WebCore::JSTestNamedAndIndexedSetterThrowingExceptionConstructor::initializeProperties):
2677         * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
2678         (WebCore::JSTestNamedAndIndexedSetterWithIdentifierConstructor::initializeProperties):
2679         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2680         (WebCore::JSTestNamedConstructorConstructor::initializeProperties):
2681         (WebCore::JSTestNamedConstructorNamedConstructor::construct):
2682         (WebCore::JSTestNamedConstructorNamedConstructor::initializeProperties):
2683         * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
2684         (WebCore::JSTestNamedDeleterNoIdentifierConstructor::initializeProperties):
2685         * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
2686         (WebCore::JSTestNamedDeleterThrowingExceptionConstructor::initializeProperties):
2687         * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
2688         (WebCore::JSTestNamedDeleterWithIdentifierConstructor::initializeProperties):
2689         * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
2690         (WebCore::JSTestNamedDeleterWithIndexedGetterConstructor::initializeProperties):
2691         * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
2692         (WebCore::JSTestNamedGetterCallWithConstructor::initializeProperties):
2693         * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
2694         (WebCore::JSTestNamedGetterNoIdentifierConstructor::initializeProperties):
2695         * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
2696         (WebCore::JSTestNamedGetterWithIdentifierConstructor::initializeProperties):
2697         * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
2698         (WebCore::JSTestNamedSetterNoIdentifierConstructor::initializeProperties):
2699         * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
2700         (WebCore::JSTestNamedSetterThrowingExceptionConstructor::initializeProperties):
2701         * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
2702         (WebCore::JSTestNamedSetterWithIdentifierConstructor::initializeProperties):
2703         * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
2704         (WebCore::JSTestNamedSetterWithIndexedGetterConstructor::initializeProperties):
2705         * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
2706         (WebCore::JSTestNamedSetterWithIndexedGetterAndSetterConstructor::initializeProperties):
2707         * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
2708         (WebCore::JSTestNamedSetterWithOverrideBuiltinsConstructor::initializeProperties):
2709         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
2710         (WebCore::JSTestNamedSetterWithUnforgablePropertiesConstructor::initializeProperties):
2711         * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
2712         (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor::initializeProperties):
2713         * bindings/scripts/test/JS/JSTestNode.cpp:
2714         (WebCore::JSTestNodeConstructor::initializeProperties):
2715         * bindings/scripts/test/JS/JSTestObj.cpp:
2716         (WebCore::convertDictionary<TestObj::Dictionary>):
2717         (WebCore::JSTestObjConstructor::initializeProperties):
2718         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody):
2719         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2720         (WebCore::JSTestOverloadedConstructorsConstructor::initializeProperties):
2721         * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
2722         (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::initializeProperties):
2723         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
2724         (WebCore::JSTestOverrideBuiltinsConstructor::initializeProperties):
2725         * bindings/scripts/test/JS/JSTestPluginInterface.cpp:
2726         (WebCore::JSTestPluginInterfaceConstructor::initializeProperties):
2727         * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
2728         (WebCore::JSTestPromiseRejectionEventConstructor::initializeProperties):
2729         * bindings/scripts/test/JS/JSTestSerialization.cpp:
2730         (WebCore::JSTestSerializationConstructor::initializeProperties):
2731         * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
2732         (WebCore::JSTestSerializationIndirectInheritanceConstructor::initializeProperties):
2733         * bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
2734         (WebCore::JSTestSerializationInheritConstructor::initializeProperties):
2735         * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
2736         (WebCore::JSTestSerializationInheritFinalConstructor::initializeProperties):
2737         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2738         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::initializeProperties):
2739         * bindings/scripts/test/JS/JSTestStringifier.cpp:
2740         (WebCore::JSTestStringifierConstructor::initializeProperties):
2741         * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
2742         (WebCore::JSTestStringifierAnonymousOperationConstructor::initializeProperties):
2743         * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
2744         (WebCore::JSTestStringifierNamedOperationConstructor::initializeProperties):
2745         * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
2746         (WebCore::JSTestStringifierOperationImplementedAsConstructor::initializeProperties):
2747         * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
2748         (WebCore::JSTestStringifierOperationNamedToStringConstructor::initializeProperties):
2749         * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
2750         (WebCore::JSTestStringifierReadOnlyAttributeConstructor::initializeProperties):
2751         * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
2752         (WebCore::JSTestStringifierReadWriteAttributeConstructor::initializeProperties):
2753         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2754         (WebCore::JSTestTypedefsConstructor::initializeProperties):
2755         * bridge/c/c_instance.cpp:
2756         (JSC::Bindings::CInstance::invokeMethod):
2757         (JSC::Bindings::CInstance::invokeDefaultMethod):
2758         (JSC::Bindings::CInstance::invokeConstruct):
2759         (JSC::Bindings::CInstance::stringValue const):
2760         (JSC::Bindings::CInstance::toJSPrimitive const):
2761         * bridge/objc/objc_instance.mm:
2762         (ObjcInstance::invokeMethod):
2763         * bridge/objc/objc_runtime.mm:
2764         (JSC::Bindings::ObjcArray::setValueAt const):
2765         * contentextensions/ContentExtensionsBackend.cpp:
2766         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
2767         * crypto/SubtleCrypto.cpp:
2768         (WebCore::rejectWithException):
2769         (WebCore::SubtleCrypto::encrypt):
2770         (WebCore::SubtleCrypto::decrypt):
2771         (WebCore::SubtleCrypto::sign):
2772         (WebCore::SubtleCrypto::verify):
2773         (WebCore::SubtleCrypto::deriveKey):
2774         (WebCore::SubtleCrypto::deriveBits):
2775         (WebCore::SubtleCrypto::exportKey):
2776         (WebCore::SubtleCrypto::wrapKey):
2777         (WebCore::SubtleCrypto::unwrapKey):
2778         * crypto/keys/CryptoKeyEC.cpp:
2779         (WebCore::CryptoKeyEC::algorithm const):
2780         * css/CSSInheritedValue.cpp:
2781         (WebCore::CSSInheritedValue::customCSSText const):
2782         * css/CSSInitialValue.cpp:
2783         (WebCore::CSSInitialValue::customCSSText const):
2784         * css/CSSKeyframesRule.cpp:
2785         (WebCore::CSSKeyframesRule::insertRule):
2786         * css/CSSRevertValue.cpp:
2787         (WebCore::CSSRevertValue::customCSSText const):
2788         * css/CSSStyleSheet.h:
2789         * css/CSSUnsetValue.cpp:
2790         (WebCore::CSSUnsetValue::customCSSText const):
2791         * css/CSSValueList.cpp:
2792         (WebCore::CSSValueList::customCSSText const):
2793         * css/DOMMatrixReadOnly.cpp:
2794         (WebCore::DOMMatrixReadOnly::validateAndFixup):
2795         (WebCore::DOMMatrixReadOnly::toFloat32Array const):
2796         (WebCore::DOMMatrixReadOnly::toFloat64Array const):
2797         (WebCore::DOMMatrixReadOnly::toString const):
2798         * css/DeprecatedCSSOMValueList.cpp:
2799         (WebCore::DeprecatedCSSOMValueList::cssText const):
2800         * css/FontFace.cpp:
2801         (WebCore::FontFace::create):
2802         (WebCore::FontFace::unicodeRange const):
2803         (WebCore::FontFace::featureSettings const):
2804         * css/MediaQuery.cpp:
2805         (WebCore::MediaQuery::serialize const):
2806         * css/PropertySetCSSStyleDeclaration.cpp:
2807         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
2808         * css/WebKitCSSMatrix.cpp:
2809         (WebCore::WebKitCSSMatrix::toString const):
2810         * css/parser/MediaQueryParser.cpp:
2811         (WebCore::MediaQueryParser::commitMediaQuery):
2812         * dom/CDATASection.cpp:
2813         (WebCore::CDATASection::nodeName const):
2814         * dom/Comment.cpp:
2815         (WebCore::Comment::nodeName const):
2816         * dom/DOMException.cpp:
2817         (WebCore::DOMException::description const):
2818         (WebCore::DOMException::create):
2819         * dom/DOMException.h:
2820         (WebCore::DOMException::name):
2821         (WebCore::DOMException::message):
2822         * dom/DOMImplementation.cpp:
2823         (WebCore::DOMImplementation::createHTMLDocument):
2824         * dom/DataTransfer.cpp:
2825         (WebCore::DataTransfer::DataTransfer):
2826         (WebCore::DataTransfer::types const):
2827         (WebCore::DataTransfer::createForInputEvent):
2828         (WebCore::DataTransfer::dropEffect const):
2829         (WebCore::DataTransfer::effectAllowed const):
2830         * dom/DataTransferItem.cpp:
2831         (WebCore::DataTransferItem::kind const):
2832         * dom/Document.cpp:
2833         (WebCore::Document::suggestedMIMEType const):
2834         (WebCore::Document::contentType const):
2835         (WebCore::Document::nodeName const):
2836         (WebCore::Document::writeln):
2837         (WebCore::Document::canNavigate):
2838         (WebCore::Document::designMode const):
2839         (WebCore::Document::requestFullScreenForElement):
2840         * dom/DocumentFragment.cpp:
2841         (WebCore::DocumentFragment::nodeName const):
2842         * dom/InlineStyleSheetOwner.cpp:
2843         (WebCore::InlineStyleSheetOwner::createSheet):
2844         * dom/MouseEvent.cpp:
2845         (WebCore::MouseEvent::initMouseEventQuirk):
2846         * dom/ScriptElement.cpp:
2847         (WebCore::ScriptElement::requestModuleScript):
2848         * dom/ScriptElementCachedScriptFetcher.cpp:
2849         (WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const):
2850         * dom/ScriptExecutionContext.cpp:
2851         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
2852         * dom/ScriptedAnimationController.cpp:
2853         (WebCore::throttlingReasonsToString):
2854         * dom/Text.cpp:
2855         (WebCore::Text::nodeName const):
2856         * dom/TextEncoder.cpp:
2857         (WebCore::TextEncoder::encoding const):
2858         * dom/Traversal.cpp:
2859         (WebCore::NodeIteratorBase::acceptNode):
2860         * editing/EditCommand.cpp:
2861         (WebCore::inputTypeNameForEditingAction):
2862         * editing/Editing.cpp:
2863         (WebCore::createTabSpanElement):
2864         * editing/Editor.cpp:
2865         (WebCore::createDataTransferForClipboardEvent):
2866         * editing/EditorCommand.cpp:
2867         (WebCore::executeInsertBacktab):
2868         (WebCore::executeInsertLineBreak):
2869         (WebCore::executeInsertNewline):
2870         (WebCore::executeInsertTab):
2871         (WebCore::executeJustifyCenter):
2872         (WebCore::executeJustifyFull):
2873         (WebCore::executeJustifyLeft):
2874         (WebCore::executeJustifyRight):
2875         (WebCore::executeStrikethrough):
2876         (WebCore::executeSubscript):
2877         (WebCore::executeSuperscript):
2878         (WebCore::executeToggleBold):
2879         (WebCore::executeToggleItalic):
2880         (WebCore::executeUnderline):
2881         (WebCore::executeUnscript):
2882         (WebCore::stateBold):
2883         (WebCore::stateItalic):
2884         (WebCore::stateStrikethrough):
2885         (WebCore::stateSubscript):
2886         (WebCore::stateSuperscript):
2887         (WebCore::stateUnderline):
2888         (WebCore::stateJustifyCenter):
2889         (WebCore::stateJustifyFull):
2890         (WebCore::stateJustifyLeft):
2891         (WebCore::stateJustifyRight):
2892         (WebCore::Editor::Command::value const):
2893         * editing/SmartReplace.cpp:
2894         (WebCore::getSmartSet):
2895         * fileapi/FileCocoa.mm:
2896         (WebCore::File::computeNameAndContentTypeForReplacedFile):
2897         * html/BaseCheckableInputType.cpp:
2898         (WebCore::BaseCheckableInputType::saveFormControlState const):
2899         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
2900         (WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue):
2901         * html/ColorInputType.cpp:
2902         (WebCore::ColorInputType::fallbackValue const):
2903         * html/DOMFormData.cpp:
2904         (WebCore::DOMFormData::createFileEntry):
2905         * html/FTPDirectoryDocument.cpp:
2906         (WebCore::processFilesizeString):
2907         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
2908         * html/HTMLAnchorElement.cpp:
2909         (WebCore::HTMLAnchorElement::relList const):
2910         (WebCore::HTMLAnchorElement::isSystemPreviewLink const):
2911         * html/HTMLAppletElement.cpp:
2912         (WebCore::HTMLAppletElement::HTMLAppletElement):
2913         (WebCore::HTMLAppletElement::updateWidget):
2914         * html/HTMLCanvasElement.cpp:
2915         (WebCore::toEncodingMimeType):
2916         (WebCore::HTMLCanvasElement::toDataURL):
2917         (WebCore::HTMLCanvasElement::captureStream):
2918         * html/HTMLElement.cpp:
2919         (WebCore::HTMLElement::contentEditable const):
2920         * html/HTMLFormControlElement.cpp:
2921         (WebCore::shouldAutofocus):
2922         * html/HTMLHtmlElement.cpp:
2923         (WebCore::HTMLHtmlElement::insertedByParser):
2924         * html/HTMLKeygenElement.cpp:
2925         (WebCore::HTMLKeygenElement::keytype const):
2926         * html/HTMLMediaElement.cpp:
2927         (WebCore::HTMLMediaElement::canPlayType const):
2928         (WebCore::stringForNetworkState):
2929         (WebCore::HTMLMediaElement::preload const):
2930         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
2931         * html/HTMLObjectElement.cpp:
2932         (WebCore::mapDataParamToSrc):
2933         * html/HTMLPlugInElement.cpp:
2934         (WebCore::HTMLPlugInElement::setReplacement):
2935         * html/ImageData.cpp:
2936         (WebCore::ImageData::create):
2937         * html/ImageDocument.cpp:
2938         (WebCore::ImageDocument::createDocumentStructure):
2939         * html/ImageInputType.cpp:
2940         (WebCore::ImageInputType::appendFormData const):
2941         * html/PluginDocument.cpp:
2942         (WebCore::PluginDocumentParser::createDocumentStructure):
2943         * html/canvas/WebGL2RenderingContext.cpp:
2944         (WebCore::WebGL2RenderingContext::getExtension):
2945         (WebCore::WebGL2RenderingContext::getSupportedExtensions):
2946         (WebCore::WebGL2RenderingContext::getParameter):
2947         * html/canvas/WebGLCompressedTextureASTC.cpp:
2948         (WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
2949         (WebCore::WebGLCompressedTextureASTC::getSupportedProfiles):
2950         (WebCore::WebGLCompressedTextureASTC::supported):
2951         (WebCore::m_isLDRSupported): Deleted.
2952         * html/canvas/WebGLRenderingContext.cpp:
2953         (WebCore::WebGLRenderingContext::getExtension):
2954         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2955         (WebCore::WebGLRenderingContext::getParameter):
2956         * html/canvas/WebGLRenderingContextBase.cpp:
2957         (WebCore::WebGLRenderingContextBase::create):
2958         (WebCore::WebGLRenderingContextBase::enableSupportedExtension):
2959         * html/canvas/WebGLRenderingContextBase.h:
2960         * html/canvas/WebGPUEnums.cpp:
2961         (WebCore::web3DCompareFunctionName):
2962         * html/parser/HTMLParserIdioms.cpp:
2963         (WebCore::parseCORSSettingsAttribute):
2964         * html/parser/HTMLPreloadScanner.cpp:
2965         (WebCore::TokenPreloadScanner::initiatorFor):
2966         * html/parser/HTMLResourcePreloader.cpp:
2967         (WebCore::PreloadRequest::resourceRequest):
2968         * html/parser/HTMLTreeBuilder.cpp:
2969         (WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
2970         * html/track/DataCue.cpp:
2971         (WebCore::DataCue::toJSONString const):
2972         * html/track/InbandGenericTextTrack.cpp:
2973         (WebCore::InbandGenericTextTrack::updateCueFromCueData):
2974         * html/track/TextTrackCue.cpp:
2975         (WebCore::TextTrackCue::toJSON const):
2976         * html/track/TextTrackCueGeneric.cpp:
2977         (WebCore::TextTrackCueGeneric::toJSONString const):
2978         * html/track/TrackBase.cpp:
2979         (WebCore::TrackBase::setLanguage):
2980         * html/track/VTTCue.cpp:
2981         (WebCore::VTTCue::toJSON const):
2982         * inspector/CommandLineAPIModule.cpp:
2983         (WebCore::CommandLineAPIModule::CommandLineAPIModule):
2984         * inspector/InspectorCanvas.cpp:
2985         (WebCore::InspectorCanvas::getCanvasContentAsDataURL):
2986         (WebCore::InspectorCanvas::indexForData):
2987         (WebCore::InspectorCanvas::buildInitialState):
2988         (WebCore::InspectorCanvas::buildArrayForCanvasGradient):
2989         (WebCore::InspectorCanvas::buildArrayForCanvasPattern):
2990         * inspector/InspectorFrontendClient.h:
2991         (WebCore::InspectorFrontendClient::debuggableType):
2992         * inspector/InspectorFrontendClientLocal.cpp:
2993         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2994         * inspector/InspectorFrontendHost.cpp:
2995         (WebCore::InspectorFrontendHost::userInterfaceLayoutDirection):
2996         (WebCore::InspectorFrontendHost::platform):
2997         (WebCore::InspectorFrontendHost::port):
2998         * inspector/InspectorOverlay.cpp:
2999         (WebCore::InspectorOverlay::setIndicating):
3000         (WebCore::InspectorOverlay::drawPaintRects):
3001         (WebCore::InspectorOverlay::drawRulers):
3002         (WebCore::appendPathSegment):
3003         * inspector/InspectorStyleSheet.h:
3004         (WebCore::InspectorCSSId::InspectorCSSId):
3005         * inspector/TimelineRecordFactory.cpp:
3006         (WebCore::TimelineRecordFactory::createGenericRecord):
3007         (WebCore::TimelineRecordFactory::createFunctionCallData):
3008         (WebCore::TimelineRecordFactory::createConsoleProfileData):
3009         (WebCore::TimelineRecordFactory::createProbeSampleData):
3010         (WebCore::TimelineRecordFactory::createEventDispatchData):
3011         (WebCore::TimelineRecordFactory::createGenericTimerData):
3012         (WebCore::TimelineRecordFactory::createTimerInstallData):
3013         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
3014         (WebCore::TimelineRecordFactory::createTimeStampData):
3015         (WebCore::TimelineRecordFactory::createAnimationFrameData):
3016         (WebCore::TimelineRecordFactory::createPaintData):
3017         (WebCore::TimelineRecordFactory::appendLayoutRoot):
3018         * inspector/WebInjectedScriptHost.cpp:
3019         (WebCore::WebInjectedScriptHost::subtype):
3020         (WebCore::jsStringForPaymentRequestState):
3021         (WebCore::WebInjectedScriptHost::getInternalProperties):
3022         * inspector/agents/InspectorApplicationCacheAgent.cpp:
3023         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
3024         * inspector/agents/InspectorCSSAgent.cpp:
3025         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3026         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3027         (WebCore::InspectorCSSAgent::createStyleSheet):
3028         (WebCore::InspectorCSSAgent::addRule):
3029         (WebCore::InspectorCSSAgent::elementForId):
3030         (WebCore::InspectorCSSAgent::assertStyleSheetForId):
3031         * inspector/agents/InspectorCanvasAgent.cpp:
3032         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
3033         (WebCore::InspectorCanvasAgent::requestNode):
3034         (WebCore::InspectorCanvasAgent::requestContent):
3035         (WebCore::InspectorCanvasAgent::resolveCanvasContext):
3036         (WebCore::InspectorCanvasAgent::startRecording):
3037         (WebCore::InspectorCanvasAgent::stopRecording):
3038         (WebCore::InspectorCanvasAgent::requestShaderSource):
3039         (WebCore::InspectorCanvasAgent::updateShader):
3040         (WebCore::InspectorCanvasAgent::setShaderProgramDisabled):
3041         (WebCore::InspectorCanvasAgent::setShaderProgramHighlighted):
3042         (WebCore::InspectorCanvasAgent::assertInspectorCanvas):
3043         (WebCore::InspectorCanvasAgent::assertInspectorProgram):
3044         * inspector/agents/InspectorDOMAgent.cpp:
3045         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3046         (WebCore::InspectorDOMAgent::assertNode):
3047         (WebCore::InspectorDOMAgent::assertDocument):
3048         (WebCore::InspectorDOMAgent::assertElement):
3049         (WebCore::InspectorDOMAgent::assertEditableNode):
3050         (WebCore::InspectorDOMAgent::assertEditableElement):
3051         (WebCore::InspectorDOMAgent::getDocument):
3052         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
3053         (WebCore::InspectorDOMAgent::requestChildNodes):
3054         (WebCore::InspectorDOMAgent::querySelector):
3055         (WebCore::InspectorDOMAgent::querySelectorAll):
3056         (WebCore::InspectorDOMAgent::releaseBackendNodeIds):
3057         (WebCore::InspectorDOMAgent::setAttributesAsText):
3058         (WebCore::InspectorDOMAgent::removeNode):
3059         (WebCore::InspectorDOMAgent::setOuterHTML):
3060         (WebCore::InspectorDOMAgent::insertAdjacentHTML):
3061         (WebCore::InspectorDOMAgent::setNodeValue):
3062         (WebCore::InspectorDOMAgent::setEventListenerDisabled):
3063         (WebCore::InspectorDOMAgent::performSearch):
3064         (WebCore::InspectorDOMAgent::getSearchResults):
3065         (WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
3066         (WebCore::InspectorDOMAgent::highlightQuad):
3067         (WebCore::InspectorDOMAgent::highlightSelector):
3068         (WebCore::InspectorDOMAgent::highlightNode):
3069         (WebCore::InspectorDOMAgent::highlightNodeList):
3070         (WebCore::InspectorDOMAgent::moveTo):
3071         (WebCore::InspectorDOMAgent::focus):
3072         (WebCore::InspectorDOMAgent::setInspectedNode):
3073         (WebCore::InspectorDOMAgent::resolveNode):
3074         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
3075         (WebCore::InspectorDOMAgent::pushNodeByBackendIdToFrontend):
3076         * inspector/agents/InspectorDOMDebuggerAgent.cpp:
3077         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
3078         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
3079         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
3080         (WebCore::domTypeName):
3081         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
3082         * inspector/agents/InspectorDOMStorageAgent.cpp:
3083         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
3084         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
3085         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
3086         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
3087         (WebCore::InspectorDOMStorageAgent::findStorageArea):
3088         * inspector/agents/InspectorDatabaseAgent.cpp:
3089         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3090         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3091         * inspector/agents/InspectorIndexedDBAgent.cpp:
3092         (WebCore::Inspector::idbKeyRangeFromKeyRange):
3093         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
3094         (WebCore::InspectorIndexedDBAgent::requestData):
3095         * inspector/agents/InspectorLayerTreeAgent.cpp:
3096         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
3097         (WebCore::InspectorLayerTreeAgent::layersForNode):
3098         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
3099         * inspector/agents/InspectorMemoryAgent.cpp:
3100         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
3101         * inspector/agents/InspectorNetworkAgent.cpp:
3102         (WebCore::InspectorNetworkAgent::InspectorNetworkAgent):
3103         (WebCore::InspectorNetworkAgent::getResponseBody):
3104         (WebCore::InspectorNetworkAgent::loadResource):
3105         (WebCore::InspectorNetworkAgent::resolveWebSocket):
3106         (WebCore::InspectorNetworkAgent::createTextDecoder):
3107         (WebCore::InspectorNetworkAgent::searchInRequest):
3108         * inspector/agents/InspectorPageAgent.cpp:
3109         (WebCore::InspectorPageAgent::resourceContent):
3110         (WebCore::InspectorPageAgent::InspectorPageAgent):
3111         (WebCore::InspectorPageAgent::navigate):
3112         (WebCore::InspectorPageAgent::assertFrame):
3113         (WebCore::InspectorPageAgent::assertDocumentLoader):
3114         (WebCore::InspectorPageAgent::snapshotNode):
3115         (WebCore::InspectorPageAgent::snapshotRect):
3116         (WebCore::InspectorPageAgent::archive):
3117         * inspector/agents/InspectorTimelineAgent.cpp:
3118         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3119         (WebCore::InspectorTimelineAgent::setInstruments):
3120         (WebCore::InspectorTimelineAgent::startFromConsole):
3121         (WebCore::InspectorTimelineAgent::stopFromConsole):
3122         (WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
3123         * inspector/agents/InspectorWorkerAgent.cpp:
3124         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3125         (WebCore::InspectorWorkerAgent::initialized):
3126         (WebCore::InspectorWorkerAgent::sendMessageToWorker):
3127         * inspector/agents/WebConsoleAgent.cpp:
3128         (WebCore::WebConsoleAgent::setLoggingChannelLevel):
3129         * inspector/agents/page/PageDebuggerAgent.cpp:
3130         (WebCore::PageDebuggerAgent::injectedScriptForEval):
3131         * inspector/agents/page/PageNetworkAgent.cpp:
3132         (WebCore::PageNetworkAgent::scriptExecutionContext):
3133         * inspector/agents/page/PageRuntimeAgent.cpp:
3134         (WebCore::PageRuntimeAgent::injectedScriptForEval):
3135         * inspector/agents/worker/ServiceWorkerAgent.cpp:
3136         (WebCore::ServiceWorkerAgent::ServiceWorkerAgent):
3137         * inspector/agents/worker/WorkerDebuggerAgent.cpp:
3138         (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
3139         * inspector/agents/worker/WorkerRuntimeAgent.cpp:
3140         (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
3141         * loader/ContentFilter.cpp:
3142         (WebCore::ContentFilter::handleProvisionalLoadFailure):
3143         * loader/CrossOriginAccessControl.cpp:
3144         (WebCore::passesAccessControlCheck):
3145         (WebCore::validatePreflightResponse):
3146         * loader/CrossOriginPreflightChecker.cpp:
3147         (WebCore::CrossOriginPreflightChecker::notifyFinished):
3148         (WebCore::CrossOriginPreflightChecker::doPreflight):
3149         * loader/DocumentLoader.cpp:
3150         (WebCore::isRemoteWebArchive):
3151         (WebCore::DocumentLoader::startIconLoading):
3152         * loader/DocumentThreadableLoader.cpp:
3153         (WebCore::DocumentThreadableLoader::reportRedirectionWithBadScheme):
3154         (WebCore::DocumentThreadableLoader::reportContentSecurityPolicyError):
3155         (WebCore::DocumentThreadableLoader::reportCrossOriginResourceSharingError):
3156         (WebCore::DocumentThreadableLoader::reportIntegrityMetadataError):
3157         * loader/FormSubmission.cpp:
3158         (WebCore::FormSubmission::Attributes::parseEncodingType):
3159         * loader/FormSubmission.h:
3160         (WebCore::FormSubmission::Attributes::methodString):
3161         * loader/FrameLoader.cpp:
3162         (WebCore::FrameLoader::initForSynthesizedDocument):
3163         (WebCore::FrameLoader::loadURLIntoChildFrame):
3164         (WebCore::FrameLoader::defaultSubstituteDataForURL):
3165         (WebCore::FrameLoader::addHTTPUpgradeInsecureRequestsIfNeeded):
3166         (WebCore::FrameLoader::dispatchBeforeUnloadEvent):
3167         * loader/LinkLoader.cpp:
3168         (WebCore::LinkLoader::preconnectIfNeeded):
3169         * loader/NavigationScheduler.cpp:
3170         (WebCore::NavigationScheduler::scheduleLocationChange):
3171         * loader/PingLoader.cpp:
3172         (WebCore::PingLoader::sendViolationReport):
3173         * loader/ResourceLoadStatistics.cpp:
3174         (WebCore::ResourceLoadStatistics::primaryDomain):
3175         (WebCore::ResourceLoadStatistics::areDomainsAssociated):
3176         * loader/ResourceLoader.cpp:
3177         (WebCore::ResourceLoader::loadDataURL):
3178         (WebCore::ResourceLoader::didBlockAuthenticationChallenge):
3179         * loader/SubresourceLoader.cpp:
3180         (WebCore::SubresourceLoader::willSendRequestInternal):
3181         (WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
3182         * loader/ThreadableLoader.cpp:
3183         (WebCore::ThreadableLoader::logError):
3184         * loader/appcache/ApplicationCacheGroup.cpp:
3185         (WebCore::ApplicationCacheGroup::abort):
3186         (WebCore::ApplicationCacheGroup::didFinishLoadingEntry):
3187         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
3188         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
3189         * loader/appcache/ApplicationCacheHost.cpp:
3190         (WebCore::ApplicationCacheHost::createFileURL):
3191         * loader/appcache/ManifestParser.cpp:
3192         (WebCore::parseManifest):
3193         * loader/archive/ArchiveFactory.cpp:
3194         (WebCore::createArchiveMIMETypesMap):
3195         * loader/cache/CachedResource.cpp:
3196         (WebCore::CachedResource::load):
3197         * loader/cache/CachedResourceLoader.cpp:
3198         (WebCore::CachedResourceLoader::canRequest):
3199         (WebCore::CachedResourceLoader::requestResource):
3200         * loader/cache/CachedResourceRequest.cpp:
3201         (WebCore::acceptHeaderValueFromType):
3202         (WebCore::CachedResourceRequest::updateAcceptEncodingHeader):
3203         * loader/cache/CachedScript.cpp:
3204         (WebCore::CachedScript::CachedScript):
3205         * loader/cache/MemoryCache.cpp:
3206         (WebCore::MemoryCache::getOriginsWithCache):
3207         * loader/soup/ResourceLoaderSoup.cpp:
3208         (WebCore::ResourceLoader::loadGResource):
3209         * page/DOMSelection.cpp:
3210         (WebCore::DOMSelection::type const):
3211         * page/DOMWindow.cpp:
3212         (WebCore::DOMWindow::close):
3213         (WebCore::DOMWindow::addEventListener):
3214         (WebCore::DOMWindow::createWindow):
3215         * page/DebugPageOverlays.cpp:
3216         (WebCore::touchEventRegionColors):
3217         * page/DiagnosticLoggingKeys.cpp:
3218         (WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
3219         (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
3220         (WebCore::DiagnosticLoggingKeys::memoryCacheEntryDecisionKey):
3221         (WebCore::DiagnosticLoggingKeys::memoryCacheUsageKey):
3222         (WebCore::DiagnosticLoggingKeys::missingValidatorFieldsKey):
3223         (WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
3224         (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
3225         (WebCore::DiagnosticLoggingKeys::postPageBackgroundingCPUUsageKey):
3226         (WebCore::DiagnosticLoggingKeys::postPageBackgroundingMemoryUsageKey):
3227         (WebCore::DiagnosticLoggingKeys::pageHandlesWebGLContextLossKey):
3228         (WebCore::DiagnosticLoggingKeys::postPageLoadCPUUsageKey):
3229         (WebCore::DiagnosticLoggingKeys::postPageLoadMemoryUsageKey):
3230         (WebCore::DiagnosticLoggingKeys::provisionalLoadKey):
3231         (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
3232         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
3233         (WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey):
3234         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey):
3235         (WebCore::DiagnosticLoggingKeys::pageLoadedKey):
3236         (WebCore::DiagnosticLoggingKeys::playedKey):
3237         (WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey):
3238         (WebCore::DiagnosticLoggingKeys::entryRightlyNotWarmedUpKey):
3239         (WebCore::DiagnosticLoggingKeys::entryWronglyNotWarmedUpKey):
3240         (WebCore::DiagnosticLoggingKeys::navigationKey):
3241         (WebCore::DiagnosticLoggingKeys::needsRevalidationKey):
3242         (WebCore::DiagnosticLoggingKeys::networkCacheKey):
3243         (WebCore::DiagnosticLoggingKeys::networkCacheFailureReasonKey):
3244         (WebCore::DiagnosticLoggingKeys::networkCacheUnusedReasonKey):
3245         (WebCore::DiagnosticLoggingKeys::networkCacheReuseFailureKey):
3246         (WebCore::DiagnosticLoggingKeys::networkKey):
3247         (WebCore::DiagnosticLoggingKeys::networkProcessCrashedKey):
3248         (WebCore::DiagnosticLoggingKeys::neverSeenBeforeKey):
3249         (WebCore::DiagnosticLoggingKeys::noKey):
3250         (WebCore::DiagnosticLoggingKeys::noCacheKey):
3251         (WebCore::DiagnosticLoggingKeys::noStoreKey):
3252         (WebCore::DiagnosticLoggingKeys::nonVisibleStateKey):
3253         (WebCore::DiagnosticLoggingKeys::notInMemoryCacheKey):
3254         (WebCore::DiagnosticLoggingKeys::pageCacheKey):
3255         (WebCore::DiagnosticLoggingKeys::pageCacheFailureKey):
3256         (WebCore::DiagnosticLoggingKeys::noDocumentLoaderKey):
3257         (WebCore::DiagnosticLoggingKeys::noLongerInCacheKey):
3258         (WebCore::DiagnosticLoggingKeys::otherKey):
3259         (WebCore::DiagnosticLoggingKeys::mainDocumentErrorKey):
3260         (WebCore::DiagnosticLoggingKeys::mainResourceKey):
3261         (WebCore::DiagnosticLoggingKeys::isErrorPageKey):
3262         (WebCore::DiagnosticLoggingKeys::isExpiredKey):
3263         (WebCore::DiagnosticLoggingKeys::isReloadIgnoringCacheDataKey):
3264         (WebCore::DiagnosticLoggingKeys::loadingKey):
3265         (WebCore::DiagnosticLoggingKeys::hasPluginsKey):
3266         (WebCore::DiagnosticLoggingKeys::httpsNoStoreKey):
3267         (WebCore::DiagnosticLoggingKeys::imageKey):
3268         (WebCore::DiagnosticLoggingKeys::inMemoryCacheKey):
3269         (WebCore::DiagnosticLoggingKeys::inactiveKey):
3270         (WebCore::DiagnosticLoggingKeys::internalErrorKey):
3271         (WebCore::DiagnosticLoggingKeys::invalidSessionIDKey):
3272         (WebCore::DiagnosticLoggingKeys::isAttachmentKey):
3273         (WebCore::DiagnosticLoggingKeys::isConditionalRequestKey):
3274         (WebCore::DiagnosticLoggingKeys::isDisabledKey):
3275         (WebCore::DiagnosticLoggingKeys::noCurrentHistoryItemKey):
3276         (WebCore::DiagnosticLoggingKeys::quirkRedirectComingKey):
3277         (WebCore::DiagnosticLoggingKeys::rawKey):
3278         (WebCore::DiagnosticLoggingKeys::redirectKey):
3279         (WebCore::DiagnosticLoggingKeys::isLoadingKey):
3280         (WebCore::DiagnosticLoggingKeys::documentLoaderStoppingKey):
3281         (WebCore::DiagnosticLoggingKeys::domainCausingCrashKey):
3282         (WebCore::DiagnosticLoggingKeys::domainCausingEnergyDrainKey):
3283         (WebCore::DiagnosticLoggingKeys::domainCausingJetsamKey):
3284         (WebCore::DiagnosticLoggingKeys::simulatedPageCrashKey):
3285         (WebCore::DiagnosticLoggingKeys::exceededActiveMemoryLimitKey):
3286         (WebCore::DiagnosticLoggingKeys::exceededInactiveMemoryLimitKey):
3287         (WebCore::DiagnosticLoggingKeys::exceededBackgroundCPULimitKey):
3288         (WebCore::DiagnosticLoggingKeys::domainVisitedKey):
3289         (WebCore::DiagnosticLoggingKeys::cannotSuspendActiveDOMObjectsKey):
3290         (WebCore::DiagnosticLoggingKeys::cpuUsageKey):
3291         (WebCore::DiagnosticLoggingKeys::createSharedBufferFailedKey):
3292         (WebCore::DiagnosticLoggingKeys::activeInForegroundTabKey):
3293         (WebCore::DiagnosticLoggingKeys::activeInBackgroundTabOnlyKey):
3294         (WebCore::DiagnosticLoggingKeys::applicationCacheKey):
3295         (WebCore::DiagnosticLoggingKeys::applicationManifestKey):
3296         (WebCore::DiagnosticLoggingKeys::audioKey):
3297         (WebCore::DiagnosticLoggingKeys::backNavigationDeltaKey):
3298         (WebCore::DiagnosticLoggingKeys::canCacheKey):
3299         (WebCore::DiagnosticLoggingKeys::cacheControlNoStoreKey):
3300         (WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationKey):
3301         (WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationReasonKey):
3302         (WebCore::DiagnosticLoggingKeys::deniedByClientKey):
3303         (WebCore::DiagnosticLoggingKeys::deviceMotionKey):
3304         (WebCore::DiagnosticLoggingKeys::deviceOrientationKey):
3305         (WebCore::DiagnosticLoggingKeys::diskCacheKey):
3306         (WebCore::DiagnosticLoggingKeys::diskCacheAfterValidationKey):
3307         (WebCore::DiagnosticLoggingKeys::reloadKey):
3308         (WebCore::DiagnosticLoggingKeys::replaceKey):
3309         (WebCore::DiagnosticLoggingKeys::retrievalRequestKey):
3310         (WebCore::DiagnosticLoggingKeys::resourceLoadedKey):
3311         (WebCore::DiagnosticLoggingKeys::resourceResponseSourceKey):
3312         (WebCore::DiagnosticLoggingKeys::retrievalKey):
3313         (WebCore::DiagnosticLoggingKeys::revalidatingKey):
3314         (WebCore::DiagnosticLoggingKeys::reloadFromOriginKey):
3315         (WebCore::DiagnosticLoggingKeys::reloadRevalidatingExpiredKey):
3316         (WebCore::DiagnosticLoggingKeys::sameLoadKey):
3317         (WebCore::DiagnosticLoggingKeys::scriptKey):
3318         (WebCore::DiagnosticLoggingKeys::serviceWorkerKey):
3319         (WebCore::DiagnosticLoggingKeys::streamingMedia):
3320         (WebCore::DiagnosticLoggingKeys::styleSheetKey):
3321         (WebCore::DiagnosticLoggingKeys::successfulSpeculativeWarmupWithRevalidationKey):
3322         (WebCore::DiagnosticLoggingKeys::successfulSpeculativeWarmupWithoutRevalidationKey):
3323         (WebCore::DiagnosticLoggingKeys::svgDocumentKey):
3324         (WebCore::DiagnosticLoggingKeys::synchronousMessageFailedKey):
3325         (WebCore::DiagnosticLoggingKeys::telemetryPageLoadKey):
3326         (WebCore::DiagnosticLoggingKeys::timedOutKey):
3327         (WebCore::DiagnosticLoggingKeys::canceledLessThan2SecondsKey):
3328         (WebCore::DiagnosticLoggingKeys::canceledLessThan5SecondsKey):
3329         (WebCore::DiagnosticLoggingKeys::canceledLessThan20SecondsKey):
3330         (WebCore::DiagnosticLoggingKeys::canceledMoreThan20SecondsKey):
3331         (WebCore::DiagnosticLoggingKeys::failedLessThan2SecondsKey):
3332         (WebCore::DiagnosticLoggingKeys::failedLessThan5SecondsKey):
3333         (WebCore::DiagnosticLoggingKeys::failedLessThan20SecondsKey):
3334         (WebCore::DiagnosticLoggingKeys::failedMoreThan20SecondsKey):
3335         (WebCore::DiagnosticLoggingKeys::occurredKey):
3336         (WebCore::DiagnosticLoggingKeys::succeededLessThan2SecondsKey):
3337         (WebCore::DiagnosticLoggingKeys::succeededLessThan5SecondsKey):
3338         (WebCore::DiagnosticLoggingKeys::succeededLessThan20SecondsKey):
3339         (WebCore::DiagnosticLoggingKeys::succeededMoreThan20SecondsKey):
3340         (WebCore::DiagnosticLoggingKeys::uncacheableStatusCodeKey):
3341         (WebCore::DiagnosticLoggingKeys::underMemoryPressureKey):
3342         (WebCore::DiagnosticLoggingKeys::unknownEntryRequestKey):
3343         (WebCore::DiagnosticLoggingKeys::unlikelyToReuseKey):
3344         (WebCore::DiagnosticLoggingKeys::unsupportedHTTPMethodKey):
3345         (WebCore::DiagnosticLoggingKeys::unsuspendableDOMObjectKey):
3346         (WebCore::DiagnosticLoggingKeys::unusedKey):
3347         (WebCore::DiagnosticLoggingKeys::unusedReasonCredentialSettingsKey):
3348         (WebCore::DiagnosticLoggingKeys::unusedReasonErrorKey):
3349         (WebCore::DiagnosticLoggingKeys::unusedReasonMustRevalidateNoValidatorKey):
3350         (WebCore::DiagnosticLoggingKeys::unusedReasonNoStoreKey):
3351         (WebCore::DiagnosticLoggingKeys::unusedReasonRedirectChainKey):
3352         (WebCore::DiagnosticLoggingKeys::unusedReasonReloadKey):
3353         (WebCore::DiagnosticLoggingKeys::unusedReasonTypeMismatchKey):
3354         (WebCore::DiagnosticLoggingKeys::usedKey):
3355         (WebCore::DiagnosticLoggingKeys::userZoomActionKey):
3356         (WebCore::DiagnosticLoggingKeys::varyingHeaderMismatchKey):
3357         (WebCore::DiagnosticLoggingKeys::videoKey):
3358         (WebCore::DiagnosticLoggingKeys::visibleNonActiveStateKey):
3359         (WebCore::DiagnosticLoggingKeys::visibleAndActiveStateKey):
3360         (WebCore::DiagnosticLoggingKeys::wastedSpeculativeWarmupWithRevalidationKey):
3361         (WebCore::DiagnosticLoggingKeys::wastedSpeculativeWarmupWithoutRevalidationKey):
3362         (WebCore::DiagnosticLoggingKeys::webViewKey):
3363         (WebCore::DiagnosticLoggingKeys::yesKey):
3364         (WebCore::DiagnosticLoggingKeys::expiredKey):
3365         (WebCore::DiagnosticLoggingKeys::fontKey):
3366         (WebCore::DiagnosticLoggingKeys::prunedDueToMemoryPressureKey):
3367         (WebCore::DiagnosticLoggingKeys::prunedDueToMaxSizeReached):
3368         (WebCore::DiagnosticLoggingKeys::prunedDueToProcessSuspended):
3369         (WebCore::WebCore::DiagnosticLoggingKeys::notHTTPFamilyKey):
3370         (WebCore::WebCore::DiagnosticLoggingKeys::webGLStateKey):
3371         (WebCore::DiagnosticLoggingKeys::memoryUsageToDiagnosticLoggingKey):
3372         (WebCore::DiagnosticLoggingKeys::foregroundCPUUsageToDiagnosticLoggingKey):
3373         (WebCore::DiagnosticLoggingKeys::backgroundCPUUsageToDiagnosticLoggingKey):
3374         (WebCore::DiagnosticLoggingKeys::resourceLoadStatisticsTelemetryKey):
3375         * page/DisabledAdaptations.cpp:
3376         (WebCore::watchAdaptationName):
3377         * page/EventHandler.cpp:
3378         (WebCore::EventHandler::handlePasteGlobalSelection):
3379         (WebCore::convertDragOperationToDropZoneOperation):
3380         * page/EventSource.cpp:
3381         (WebCore::EventSource::EventSource):
3382         * page/History.cpp:
3383         (WebCore::History::stateObjectAdded):
3384         * page/NavigatorBase.cpp:
3385         (WebCore::NavigatorBase::appName):
3386         (WebCore::NavigatorBase::appCodeName):
3387         * page/Page.cpp:
3388         (WebCore::Page::logNavigation):
3389         * page/PageDebuggable.cpp:
3390         (WebCore::PageDebuggable::url const):
3391         * page/PageSerializer.cpp:
3392         (WebCore::PageSerializer::serializeCSSStyleSheet):
3393         * page/PerformanceMark.h:
3394         * page/PerformanceMeasure.h:
3395         * page/PerformanceObserver.cpp:
3396         (WebCore::PerformanceObserver::observe):
3397         * page/PerformanceResourceTiming.cpp:
3398         (WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
3399         * page/PerformanceUserTiming.cpp:
3400         (WebCore::restrictedMarkFunction):
3401         * page/PointerLockController.cpp:
3402         (WebCore::PointerLockController::requestPointerLock):
3403         * page/PrintContext.cpp:
3404         (WebCore::PrintContext::pageProperty):
3405         * page/SecurityOrigin.cpp:
3406         (WebCore::SecurityOrigin::toString const):
3407         * page/SecurityOriginData.cpp:
3408         (WebCore::SecurityOriginData::toString const):
3409         (WebCore::SecurityOriginData::databaseIdentifier const):
3410         * page/cocoa/ResourceUsageOverlayCocoa.mm:
3411         (WebCore::gcTimerString):
3412         * page/csp/ContentSecurityPolicy.cpp:
3413         (WebCore::ContentSecurityPolicy::reportViolation const):
3414         (WebCore::ContentSecurityPolicy::reportUnsupportedDirective const):
3415         * page/linux/ResourceUsageOverlayLinux.cpp:
3416         (WebCore::cpuUsageString):
3417         (WebCore::gcTimerString):
3418         * platform/ContentType.cpp:
3419         (WebCore::ContentType::codecsParameter):
3420         (WebCore::ContentType::profilesParameter):
3421         * platform/Decimal.cpp:
3422         (WebCore::Decimal::toString const):
3423         * platform/MIMETypeRegistry.cpp:
3424         (WebCore::initializeSupportedImageMIMETypes):
3425         (WebCore::typesForCommonExtension):
3426         (WebCore::initializeUnsupportedTextMIMETypes):
3427         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
3428         * platform/SchemeRegistry.cpp:
3429         (WebCore::SchemeRegistry::canServiceWorkersHandleURLScheme):
3430         * platform/URL.cpp:
3431         (WebCore::mimeTypeFromDataURL):
3432         * platform/UserAgentQuirks.cpp:
3433         (WebCore::UserAgentQuirks::stringForQuirk):
3434         * platform/cocoa/KeyEventCocoa.mm:
3435         (WebCore::keyForCharCode):
3436         * platform/cocoa/NetworkExtensionContentFilter.mm:
3437         (WebCore::NetworkExtensionContentFilter::unblockHandler const):
3438         * platform/cocoa/ParentalControlsContentFilter.mm:
3439         (WebCore::ParentalControlsContentFilter::unblockHandler const):
3440         * platform/cocoa/PasteboardCocoa.mm:
3441         (WebCore::Pasteboard::fileContentState):
3442         * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
3443         (WebCore::MacApplication::isSafari):
3444         (WebCore::MacApplication::isAppleMail):
3445         (WebCore::MacApplication::isIBooks):
3446         (WebCore::MacApplication::isITunes):
3447         (WebCore::MacApplication::isMicrosoftMessenger):
3448         (WebCore::MacApplication::isAdobeInstaller):
3449         (WebCore::MacApplication::isAOLInstantMessenger):
3450         (WebCore::MacApplication::isMicrosoftMyDay):
3451         (WebCore::MacApplication::isMicrosoftOutlook):
3452         (WebCore::MacApplication::isQuickenEssentials):
3453         (WebCore::MacApplication::isAperture):
3454         (WebCore::MacApplication::isVersions):
3455         (WebCore::MacApplication::isHRBlock):
3456         (WebCore::MacApplication::isIAdProducer):
3457         (WebCore::MacApplication::isSolidStateNetworksDownloader):
3458         (WebCore::IOSApplication::isMobileMail):
3459         (WebCore::IOSApplication::isMobileSafari):
3460         (WebCore::IOSApplication::isWebBookmarksD):
3461         (WebCore::IOSApplication::isDumpRenderTree):
3462         (WebCore::IOSApplication::isMobileStore):
3463         (WebCore::IOSApplication::isSpringBoard):
3464         (WebCore::IOSApplication::isWebApp):
3465         (WebCore::IOSApplication::isIBooks):
3466         (WebCore::IOSApplication::isIBooksStorytime):
3467         (WebCore::IOSApplication::isTheSecretSocietyHiddenMystery):
3468         (WebCore::IOSApplication::isCardiogram):
3469         (WebCore::IOSApplication::isNike):
3470         * platform/cocoa/UserAgentCocoa.mm:
3471         (WebCore::userAgentBundleVersion):
3472         * platform/gamepad/cocoa/GameControllerGamepad.mm:
3473         (WebCore::GameControllerGamepad::setupAsExtendedGamepad):
3474         (WebCore::GameControllerGamepad::setupAsGamepad):
3475         * platform/graphics/InbandTextTrackPrivateClient.h:
3476         (WebCore::GenericCueData::toJSONString const):
3477         * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
3478         (WebCore::CDMFactoryFairPlayStreaming::supportsKeySystem):
3479         * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
3480         (WebCore::isEqual):
3481         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
3482         (WebCore::CDMInstanceFairPlayStreamingAVFObjC::keySystem const):
3483         * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
3484         (WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
3485         * platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
3486         (WebCore::CDMSessionAVStreamSession::generateKeyRequest):
3487         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3488         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
3489         * platform/graphics/ca/GraphicsLayerCA.cpp:
3490         (WebCore::propertyIdToString):
3491         * platform/graphics/ca/TileController.cpp:
3492         (WebCore::TileController::tileGridContainerLayerName):
3493         (WebCore::TileController::zoomedOutTileGridContainerLayerName):
3494         * platform/graphics/cg/ImageBufferCG.cpp:
3495         (WebCore::ImageBuffer::toDataURL const):
3496         (WebCore::dataURL):
3497         * platform/graphics/cv/VideoTextureCopierCV.cpp:
3498         (WebCore::VideoTextureCopierCV::initializeContextObjects):
3499         (WebCore::VideoTextureCopierCV::initializeUVContextObjects):
3500         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3501         (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
3502         (WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):
3503         * platform/graphics/iso/ISOVTTCue.cpp:
3504         (WebCore::ISOWebVTTCue::toJSONString const):
3505         * platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
3506         (Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):
3507         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3508         (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
3509         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3510         (WebCore::GraphicsContext3D::getUnmangledInfoLog):
3511         * platform/graphics/texmap/TextureMapperContextAttributes.cpp:
3512         (WebCore::TextureMapperContextAttributes::get):
3513         * platform/graphics/win/ImageBufferDirect2D.cpp:
3514         (WebCore::ImageBuffer::toDataURL const):
3515         (WebCore::ImageDataToDataURL):
3516         * platform/gtk/PasteboardGtk.cpp:
3517         (WebCore::Pasteboard::typesForLegacyUnsafeBindings):
3518         * platform/gtk/PasteboardHelper.cpp:
3519         * platform/gtk/PlatformKeyboardEventGtk.cpp:
3520         (WebCore::PlatformKeyboardEvent::keyValueForGdkKeyCode):
3521         (WebCore::PlatformKeyboardEvent::keyCodeForHardwareKeyCode):
3522         * platform/image-decoders/bmp/BMPImageDecoder.h:
3523         * platform/image-decoders/gif/GIFImageDecoder.h:
3524         * platform/image-decoders/ico/ICOImageDecoder.h:
3525         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
3526         * platform/image-decoders/png/PNGImageDecoder.h:
3527         * platform/image-decoders/webp/WEBPImageDecoder.h:
3528         * platform/ios/Device.cpp:
3529         (WebCore::deviceName):
3530         * platform/ios/PasteboardIOS.mm:
3531         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):
3532         * platform/ios/PlatformEventFactoryIOS.mm:
3533         (WebCore::keyForKeyEvent):
3534         (WebCore::codeForKeyEvent):
3535         * platform/ios/PlatformPasteboardIOS.mm:
3536         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
3537         * platform/mac/PasteboardMac.mm:
3538         (WebCore::Pasteboard::read):
3539         (WebCore::Pasteboard::addHTMLClipboardTypesForCocoaType):
3540         * platform/mac/PlatformEventFactoryMac.mm:
3541         (WebCore::keyForKeyEvent):
3542         (WebCore::codeForKeyEvent):
3543         * platform/mac/PlatformPasteboardMac.mm:
3544         (WebCore::safeTypeForDOMToReadAndWriteForPlatformType):
3545         * platform/mediastream/MediaConstraints.cpp:
3546         (WebCore::addDefaultVideoConstraints):
3547         * platform/mediastream/PeerMediaDescription.h:
3548         * platform/mediastream/RealtimeMediaSource.cpp:
3549         (WebCore::RealtimeMediaSource::applyConstraints):
3550         * platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:
3551         (WebCore::DisplayCaptureManagerCocoa::screenCaptureDeviceWithPersistentID):
3552         * platform/mock/MockRealtimeMediaSource.cpp:
3553         (WebCore::deviceMap):
3554         (WebCore::MockRealtimeMediaSource::audioDevices):
3555         (WebCore::MockRealtimeMediaSource::videoDevices):
3556         (WebCore::MockRealtimeMediaSource::displayDevices):
3557         * platform/mock/MockRealtimeVideoSource.cpp:
3558         (WebCore::MockRealtimeVideoSource::drawText):
3559         * platform/network/BlobRegistryImpl.cpp:
3560         (WebCore::BlobRegistryImpl::writeBlobsToTemporaryFiles):
3561         * platform/network/DataURLDecoder.cpp:
3562         (WebCore::DataURLDecoder::parseMediaType):
3563         * platform/network/FormData.cpp:
3564         (WebCore::FormData::appendMultiPartFileValue):
3565         * platform/network/HTTPParsers.cpp:
3566         (WebCore::parseHTTPRequestLine):
3567         (WebCore::parseHTTPHeader):
3568         (WebCore::normalizeHTTPMethod):
3569         * platform/network/ResourceRequestBase.cpp:
3570         (WebCore::ResourceRequestBase::redirectedRequest const):
3571         * platform/network/ResourceRequestBase.h:
3572         (WebCore::ResourceRequestBase::ResourceRequestBase):
3573         * platform/network/curl/ResourceHandleCurl.cpp:
3574         (WebCore::ResourceHandle::handleDataURL):
3575         * platform/network/curl/SynchronousLoaderClientCurl.cpp:
3576         (WebCore::SynchronousLoaderClient::platformBadResponseError):
3577         * platform/network/win/DownloadBundleWin.cpp:
3578         (WebCore::DownloadBundle::fileExtension):
3579         * platform/sql/SQLiteDatabase.cpp:
3580         (WebCore::SQLiteDatabase::open):
3581         (WebCore::SQLiteDatabase::setFullsync):
3582         (WebCore::SQLiteDatabase::maximumSize):
3583         (WebCore::SQLiteDatabase::pageSize):
3584         (WebCore::SQLiteDatabase::freeSpaceSize):
3585         (WebCore::SQLiteDatabase::totalSize):
3586         (WebCore::SQLiteDatabase::clearAllTables):
3587         (WebCore::SQLiteDatabase::runVacuumCommand):
3588         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
3589         (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
3590         * platform/sql/SQLiteFileSystem.cpp:
3591         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
3592         * platform/text/LocaleICU.cpp:
3593         (WebCore::LocaleICU::dateFormat):
3594         (WebCore::getFormatForSkeleton):
3595         * platform/text/LocaleNone.cpp:
3596         (WebCore::LocaleNone::dateFormat):
3597         (WebCore::LocaleNone::monthFormat):
3598         (WebCore::LocaleNone::shortMonthFormat):
3599         (WebCore::LocaleNone::timeFormat):
3600         (WebCore::LocaleNone::shortTimeFormat):
3601         (WebCore::LocaleNone::dateTimeFormatWithSeconds):
3602         (WebCore::LocaleNone::dateTimeFormatWithoutSeconds):
3603         * platform/text/LocaleToScriptMappingDefault.cpp:
3604         (WebCore::scriptNameToCode):
3605         (WebCore::localeToScriptCodeForFontSelection):
3606         * platform/text/TextEncodingRegistry.cpp:
3607         (WebCore::defaultTextEncodingNameForSystemLanguage):
3608         * platform/win/FileSystemWin.cpp:
3609         (WebCore::FileSystem::bundleName):
3610         * platform/wpe/RenderThemeWPE.cpp:
3611         (WebCore::RenderThemeWPE::mediaControlsStyleSheet):
3612         * rendering/RenderMenuList.cpp:
3613         (RenderMenuList::setText):
3614         * rendering/RenderThemeIOS.mm:
3615         (WebCore::RenderThemeIOS::extraDefaultStyleSheet):
3616         * svg/SVGComponentTransferFunctionElement.h:
3617         (WebCore::SVGPropertyTraits<ComponentTransferType>::toString):
3618         * svg/SVGFEColorMatrixElement.h:
3619         (WebCore::SVGPropertyTraits<ColorMatrixType>::toString):
3620         * svg/SVGFECompositeElement.h:
3621         (WebCore::SVGPropertyTraits<CompositeOperationType>::toString):
3622         * svg/SVGFEConvolveMatrixElement.h:
3623         (WebCore::SVGPropertyTraits<EdgeModeType>::toString):
3624         * svg/SVGFEDisplacementMapElement.h:
3625         (WebCore::SVGPropertyTraits<ChannelSelectorType>::toString):
3626         * svg/SVGFEMorphologyElement.h:
3627         (WebCore::SVGPropertyTraits<MorphologyOperatorType>::toString):
3628         * svg/SVGFETurbulenceElement.h:
3629         (WebCore::SVGPropertyTraits<SVGStitchOptions>::toString):
3630         (WebCore::SVGPropertyTraits<TurbulenceType>::toString):
3631         * svg/SVGGradientElement.h:
3632         (WebCore::SVGPropertyTraits<SVGSpreadMethodType>::toString):
3633         * svg/SVGLocatable.cpp:
3634         (WebCore::SVGLocatable::getTransformToElement):
3635         * svg/SVGMarkerTypes.h:
3636         (WebCore::SVGPropertyTraits<SVGMarkerUnitsType>::toString):
3637         * svg/SVGMatrixValue.h:
3638         * svg/SVGSVGElement.cpp:
3639         (WebCore::SVGSVGElement::SVGSVGElement):
3640         (WebCore::SVGSVGElement::parseAttribute):
3641         * svg/SVGTextContentElement.h:
3642         (WebCore::SVGPropertyTraits<SVGLengthAdjustType>::toString):
3643         * svg/SVGTextPathElement.h:
3644         (WebCore::SVGPropertyTraits<SVGTextPathMethodType>::toString):
3645         (WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::toString):
3646         * svg/SVGToOTFFontConversion.cpp:
3647         (WebCore::SVGToOTFFontConverter::appendCFFTable):
3648         * svg/SVGUnitTypes.h:
3649         (WebCore::SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::toString):
3650         * svg/SVGUseElement.cpp:
3651         (WebCore::SVGUseElement::toClipPath):
3652         * svg/graphics/SVGImage.cpp:
3653         (WebCore::SVGImage::filenameExtension const):
3654         * testing/InternalSettings.cpp:
3655         (WebCore::InternalSettings::userInterfaceDirectionPolicy):
3656         (WebCore::InternalSettings::systemLayoutDirection):
3657         * testing/Internals.cpp:
3658         (WebCore::Internals::areSVGAnimationsPaused const):
3659         (WebCore::Internals::accessKeyModifiers const):
3660         (WebCore::Internals::setMediaDeviceState):
3661         (WebCore::Internals::audioSessionCategory const):
3662         (WebCore::Internals::systemPreviewRelType):
3663         * testing/MockCDMFactory.cpp:
3664         (WebCore::MockCDM::sanitizeResponse const):
3665         (WebCore::MockCDMInstance::updateLicense):
3666         * testing/MockContentFilter.cpp:
3667         (WebCore::MockContentFilter::unblockRequestDeniedScript const):
3668         * testing/MockCredentialsMessenger.cpp:
3669         (WebCore::MockCredentialsMessenger::~MockCredentialsMessenger):
3670         (WebCore::MockCredentialsMessenger::makeCredential):
3671         (WebCore::MockCredentialsMessenger::getAssertion):
3672         * testing/MockPaymentCoordinator.cpp:
3673         (WebCore::MockPaymentCoordinator::showPaymentUI):
3674         * workers/WorkerRunLoop.cpp:
3675         (WebCore::WorkerRunLoop::debuggerMode):
3676         * workers/WorkerScriptLoader.cpp:
3677         (WebCore::WorkerScriptLoader::loadSynchronously):
3678         (WebCore::WorkerScriptLoader::createResourceRequest):
3679         (WebCore::WorkerScriptLoader::didReceiveData):
3680         * workers/service/ExtendableEvent.cpp:
3681         (WebCore::ExtendableEvent::waitUntil):
3682         * workers/service/FetchEvent.cpp:
3683         (WebCore::FetchEvent::~FetchEvent):
3684         (WebCore::FetchEvent::respondWith):
3685         (WebCore::FetchEvent::promiseIsSettled):
3686         * workers/service/SWClientConnection.cpp:
3687         (WebCore::SWClientConnection::clearPendingJobs):
3688         * workers/service/ServiceWorker.cpp:
3689         (WebCore::ServiceWorker::postMessage):
3690         * workers/service/ServiceWorkerClients.cpp:
3691         (WebCore::ServiceWorkerClients::openWindow):
3692         (WebCore::ServiceWorkerClients::claim):
3693         * workers/service/ServiceWorkerContainer.cpp:
3694         (WebCore::ServiceWorkerContainer::addRegistration):
3695         (WebCore::ServiceWorkerContainer::getRegistration):
3696         (WebCore::ServiceWorkerContainer::startScriptFetchForJob):
3697         * workers/service/ServiceWorkerJob.cpp:
3698         (WebCore::ServiceWorkerJob::fetchScriptWithContext):
3699         (WebCore::ServiceWorkerJob::didReceiveResponse):
3700         * workers/service/ServiceWorkerRegistration.cpp:
3701         (WebCore::ServiceWorkerRegistration::update):
3702         * workers/service/ServiceWorkerWindowClient.cpp:
3703         (WebCore::ServiceWorkerWindowClient::focus):
3704         (WebCore::ServiceWorkerWindowClient::navigate):
3705         * workers/service/context/ServiceWorkerDebuggable.h:
3706         * workers/service/context/ServiceWorkerFetch.cpp:
3707         (WebCore::ServiceWorkerFetch::dispatchFetchEvent):
3708         * workers/service/server/RegistrationDatabase.cpp:
3709         (WebCore::RegistrationDatabase::doPushChanges):
3710         (WebCore::RegistrationDatabase::importRecords):
3711         * workers/service/server/SWServerJobQueue.cpp:
3712         (WebCore::SWServerJobQueue::runRegisterJob):
3713         (WebCore::SWServerJobQueue::runUnregisterJob):
3714         (WebCore::SWServerJobQueue::runUpdateJob):
3715         * xml/XMLErrors.cpp:
3716         (WebCore::createXHTMLParserErrorHeader):
3717         (WebCore::XMLErrors::insertErrorMessageBlock):
3718         * xml/XMLHttpRequest.cpp:
3719         (WebCore::XMLHttpRequest::send):
3720         (WebCore::XMLHttpRequest::responseMIMEType const):
3721         * xml/XMLTreeViewer.cpp:
3722         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3723         * xml/XPathPredicate.cpp:
3724         (WebCore::XPath::evaluatePredicate):
3725         * xml/XPathValue.cpp:
3726         (WebCore::XPath::Value::toString const):
3727         * xml/parser/CharacterReferenceParserInlines.h:
3728         (WebCore::consumeCharacterReference):
3729
3730 2018-06-22  Youenn Fablet  <youenn@apple.com>
3731
3732         Disable WebSocket in WatchOS
3733         https://bugs.webkit.org/show_bug.cgi?id=186931
3734         <rdar://problem/39584458>
3735
3736         Reviewed by Wenson Hsieh.
3737
3738         Add a runtime flag to enable/disable WebSocket.
3739         By default, flag is on for all platforms except for WatchOS.
3740
3741         Test: fast/dom/Window/watchos/websocket/watchos/no-websocket-in-watchos.html
3742
3743         * Modules/websockets/WebSocket.idl:
3744         * page/RuntimeEnabledFeatures.cpp:
3745         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
3746         * page/RuntimeEnabledFeatures.h:
3747         (WebCore::RuntimeEnabledFeatures::setWebSocketEnabled):
3748         (WebCore::RuntimeEnabledFeatures::webSocketEnabled const):
3749
3750 2018-06-22  Woodrow Wang  <woodrow_wang@apple.com>
3751
3752         SubresourceLoader::didFail() should only log message if state is Initialized
3753         https://bugs.webkit.org/show_bug.cgi?id=185124
3754
3755         Reviewed by Daniel Bates.
3756
3757         Functionality does not change. Moved console logging to be 
3758         after checking state of subresource loader. We only need to 
3759         log if the state is initialized. This is consistent with other
3760         functions in the file. We can also remove a null check for the 
3761         frame pointer (m_frame). The superclass ResourceLoader constructor
3762         takes an lvalue reference and initializes m_frame, ensuring
3763         m_frame cannot be null. It is only set to null by 
3764         ResourceLoader::releaseResources(), which is only called after the 
3765         resource finishes loading or fails to load. Thus, in didFail(), 
3766         m_frame must be non-null when we're logging and up until the end of the function.  
3767
3768         * loader/SubresourceLoader.cpp:
3769         (WebCore::SubresourceLoader::didFail):
3770
3771 2018-06-22  Timothy Hatcher  <timothy@apple.com>
3772
3773         Corner of two scroll bars is white with dark mode enabled.
3774         https://bugs.webkit.org/show_bug.cgi?id=186819
3775         rdar://problem/40434350
3776
3777         Reviewed by Tim Horton.
3778
3779         * Configurations/WebCore.xcconfig:
3780         * WebCore.xcodeproj/project.pbxproj:
3781         * inspector/InspectorOverlay.cpp:
3782         (WebCore::InspectorOverlay::paint): Added LocalDefaultSystemAppearance.
3783         * page/Page.h:
3784         * platform/ScrollView.cpp:
3785         (WebCore::ScrollView::paintScrollCorner): Dropped ScrollView argument.
3786         * platform/ScrollbarTheme.h:
3787         (WebCore::ScrollbarTheme::paintScrollCorner): Ditto.
3788         * platform/ScrollbarThemeComposite.cpp:
3789         (WebCore::ScrollbarThemeComposite::paintScrollCorner): Deleted. Default is the same.
3790         * platform/ScrollbarThemeComposite.h:
3791         * platform/mac/LocalDefaultSystemAppearance.h:
3792         * platform/mac/LocalDefaultSystemAppearance.mm:
3793         (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance): Added recursion early return.
3794         (WebCore::LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance): Ditto.
3795         * platform/mac/ScrollbarThemeMac.h:
3796         * platform/mac/ScrollbarThemeMac.mm:
3797         (WebCore::ScrollbarThemeMac::paintScrollCorner): Added.
3798         * rendering/RenderLayer.cpp:
3799         (WebCore::RenderLayer::paintScrollCorner): Call ScrollbarTheme::paintScrollCorner.
3800         * rendering/RenderLayerBacking.cpp:
3801         (WebCore::RenderLayerBacking::paintContents): Added LocalDefaultSystemAppearance.
3802         * rendering/RenderLayerCompositor.cpp:
3803         (WebCore::RenderLayerCompositor::paintContents): Added LocalDefaultSystemAppearance.
3804         * rendering/RenderScrollbarTheme.cpp:
3805         (WebCore::RenderScrollbarTheme::paintScrollCorner): Call ScrollbarTheme::paintScrollCorner.
3806         * rendering/RenderScrollbarTheme.h:
3807         * svg/graphics/SVGImage.cpp:
3808         (WebCore::SVGImage::draw): Added LocalDefaultSystemAppearance.
3809
3810 2018-06-22  Tim Horton  <timothy_horton@apple.com>
3811
3812         Make it possible to add a border around loading or failed-to-load images
3813         https://bugs.webkit.org/show_bug.cgi?id=186614
3814         <rdar://problem/39050152>
3815
3816         Reviewed by Zalan Bujtas.
3817
3818         Tests: http/tests/images/loading-image-border.html
3819                http/tests/images/loading-image-no-border.html
3820
3821         * rendering/RenderImage.cpp:
3822         (WebCore::RenderImage::paintIncompleteImageOutline):
3823         (WebCore::RenderImage::paintReplaced):
3824         * rendering/RenderImage.h:
3825         Factor the missing-image outline out, and - if desired - paint it in
3826         cases where the image is still loading or otherwise pending, not just
3827         when the image fails to load.
3828
3829         * page/Settings.yaml:
3830         * testing/InternalSettings.cpp:
3831         (WebCore::InternalSettings::Backup::Backup):
3832         (WebCore::InternalSettings::Backup::restoreTo):
3833         (WebCore::InternalSettings::setIncompleteImageBorderEnabled):
3834         * testing/InternalSettings.h:
3835         * testing/InternalSettings.idl:
3836         Add and expose a setting to enable the feature.
3837
3838 2018-06-22  Brady Eidson  <beidson@apple.com>
3839
3840         WKURLSchemeHandler doesn't handle sync XHR.
3841         <rdar://problem/40955884> and https://bugs.webkit.org/show_bug.cgi?id=186902
3842
3843         Reviewed by Chris Dumez.
3844
3845         * English.lproj/Localizable.strings:
3846
3847 2018-06-22  Jer Noble  <jer.noble@apple.com>
3848
3849         [Fullscreen] Restore ASSERT_NOT_REACHED() checks in exit fullscreen handler after r231924
3850         https://bugs.webkit.org/show_bug.cgi?id=186945
3851         <rdar://problem/37277469>
3852
3853         Reviewed by Simon Fraser.
3854
3855         * platform/ios/VideoFullscreenInterfaceAVKit.mm:
3856         (VideoFullscreenInterfaceAVKit::exitFullscreen):
3857         (VideoFullscreenInterfaceAVKit::exitFullscreenHandler):
3858         (VideoFullscreenInterfaceAVKit::cleanupFullscreen):
3859
3860 2018-06-22  Per Arne Vollan  <pvollan@apple.com>
3861
3862         Unreviewed build fix on Windows.
3863
3864         * testing/Internals.h:
3865
3866 2018-06-22  Youenn Fablet  <youenn@apple.com>
3867
3868         Incoming G722 doesn't work
3869         https://bugs.webkit.org/show_bug.cgi?id=186307
3870         <rdar://problem/40809745>
3871
3872         Reviewed by Eric Carlson.
3873
3874         WebRTC backends usually does the following:
3875         - Initially call RealtimeIncomingAudioSource with 16KHz data
3876         - Switch to 48KHz when actual data is decoded.
3877         We added a check that was discarding any 16KHz data, but in case of G722, the data remains as 16KHz and is then never read.
3878         The solution is to remove the check that discards 16KHz information.
3879         We then need to fix a bug in AudioTrackPrivateMediaStreamCocoa that was preventing proper handling of change of audio data configuration.
3880
3881         Test: webrtc/audio-peer-connection-g722.html
3882
3883         * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
3884         (WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
3885         * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp:
3886         (WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
3887
3888 2018-06-22  Timothy Hatcher  <timothy@apple.com>
3889
3890         Recalc styles every time defaultAppearance changes.
3891         https://bugs.webkit.org/show_bug.cgi?id=186866
3892         rdar://problem/41309805
3893
3894         Reviewed by Tim Horton.
3895
3896         * page/Page.cpp:
3897         (WebCore::Page::setUseSystemAppearance): Added. Recalc styles and update system colors.
3898         (WebCore::Page::setDefaultAppearance): Added. Ditto.
3899         * page/Page.h:
3900         (WebCore::Page::setUseSystemAppearance): Deleted impl.
3901         (WebCore::Page::setDefaultAppearance): Deleted impl.
3902
3903 2018-06-22  Thibault Saunier  <tsaunier@igalia.com>
3904
3905         [GStreamer] Avoid sending SELECT_STREAM events when nothing changed
3906         https://bugs.webkit.org/show_bug.cgi?id=186678
3907
3908         Reviewed by Philippe Normand.
3909
3910         This avoid extra work in decodebin3 and should work around a crash
3911         in decodebin3 when we send spurious SELECT_STREAM in the mediastream
3912         layout tests.
3913
3914         GStreamer was also missing safe guards in the GstStream APIs which have been
3915         added in gstreamer core in 8833ca942ea21c58c0f63822f0e2b61695b39447
3916         "stream: Add some missing API safe guards".
3917
3918         Should fix following flakes:
3919           - fast/mediastream/MediaStream-video-element-track-stop.html
3920           - fast/mediastream/change-tracks-media-stream-being-played.html
3921
3922         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3923         (WebCore::MediaPlayerPrivateGStreamer::enableTrack):
3924
3925 2018-06-22  Michael Catanzaro  <mcatanzaro@igalia.com>
3926
3927         REGRESSION(r230950): [GTK] WebKit::CoordinatedBackingStoreTile::setBackBuffer(): WebKitWebProcess killed by SIGSEGV (ASSERTION FAILED: it != m_tiles.end())
3928         https://bugs.webkit.org/show_bug.cgi?id=186206
3929
3930         Unreviewed manual rollout of r230950
3931
3932         * platform/graphics/texmap/TextureMapperLayer.h:
3933         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3934         (WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore const):
3935
3936 2018-06-20  Darin Adler  <darin@apple.com>
3937
3938         [Cocoa] Use the isDirectory: variants of NSURL methods more to eliminate unnecessary file system activity
3939         https://bugs.webkit.org/show_bug.cgi?id=186875
3940
3941         Reviewed by Anders Carlsson.
3942
3943         * platform/cocoa/ThemeCocoa.mm:
3944         (WebCore::passKitBundle): Use isDirectory:YES when creating a URL pointing to a framework,
3945         since frameworks are directories.
3946
3947 2018-06-22  Miguel Gomez  <magomez@igalia.com>
3948
3949         [WPE][ThreadedRendering] WPE crashes rendering SVG content when using ThreadedRendering
3950         https://bugs.webkit.org/show_bug.cgi?id=186914
3951
3952         Reviewed by Carlos Garcia Campos.
3953
3954         Add GraphicsContextImpl::clipToImageBuffer() to the interface and the implementors. Forward
3955         the call to GraphicsContext::clipToImageBuffer() to the implementation if&